PHP Classes

File: public/asset/js/pages/admin.settings.js

Recommend this page to a friend!
  Classes of fathurrahman   mnTemplate   public/asset/js/pages/admin.settings.js   Download  
File: public/asset/js/pages/admin.settings.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: mnTemplate
Route HTTP requests to callback functions
Author: By
Last change:
Date: 1 year ago
Size: 13,084 bytes
 

Contents

Class file image Download
$(document).ready( async function(){ var data = await persiapan_data(); add_eventlistener(data); inisialisasi(data); }); async function persiapan_data(){ var data = {}; data.carouselItem = await fetch(path + 'uihelper/carousel/get').then(res => res.json()).then(res => res.data); data.toasCofig = { wrapper: '.modal', id: 'toast-penjual', delay: 3000, autohide: true, show: true, bg: 'bg-danger', textColor: 'text-white', time: waktu(null, 'HH:mm'), toastId: 'logout-error', title: 'Gagal, Terjadi kesalahan', type: 'danger', hancurkan: true } data.atur_carousel = function(){ var gambar = $("#gambar-carousel").val(); var arrayGambar = gambar.split(';'); var carousel = ''; arrayGambar.forEach((e, i) => { carousel += '<div class="col-12">' + '<input type="hidden" name="carousel_img[]" value="'+e+'">'+ '<div class="col-xxl-4 col-xl-6 col-12">' + '<div class="card d-flex flex-row mb-4 media-thumb-container">' + '<img src="'+ path + 'public/assets/img/barang/' + e +'" alt="gambar barang" class="col-6 list-media-thumbnail responsive border-0" />' + '<div class="d-flex flex-grow-1 min-width-zero">' + '<div class="card-body align-self-center d-flex flex-column justify-content-between min-width-zero">' + '<div class="form-group">' + '<label for="">Pilih badge</label>' + '<select name="carousel_badge[]" id="" class="form-control">' + '<option value="">Pilih ..</option>' + '<option value="baru">Baru</option>' + '<option value="terlaris">Terlaris</option>' + '</select>' + '</div>' + '<div class="form-group">' + '<label for="">Berikan text</label>' + '<input type="text" name="carousel_text[]" placeholder="Kosongkan jika tidak ada" class="form-control">' + '</div>' + '</div>' + '</div>' + '</div>' + '</div>' + '</div>'; }); $('#carousel-img').html(carousel) } data.setCarousel = function(){ var cardCarousel = ''; var footer = ''; if(data.carouselItem){ data.carouselItem.forEach(el => { var params = ['text', 'foot1', 'foot2', 'foot3', 'badge1', 'badge2']; params.forEach(p => { if(!el[p]) el[p] = ''; }) cardCarousel += '<div class="card card d-flex flex-row mb-3">' + '<div class="position-relative">' + '<img class="card-img-top" src="'+ path + 'public/assets/img/barang/' + el.img +'" alt="gambar produk">' + '<span class="badge badge-pill badge-theme-1 position-absolute badge-top-left">'+ el.badge + '</span>' + '<span class="badge badge-pill badge-secondary position-absolute badge-top-left-2">'+ el.badge2 +'</span>' + '</div>' + '<div class="card-body">' + '<h1 class="mb-4">'+ el.text +'</h1>' + ' <footer>' + '<h2 class="text-muted mb-0 font-weight-light">'+ el.foot1 +'</h2>' + '<h3 class="text-muted mb-0 font-weight-light">'+ el.foot2 +'</h3>' + '<h4 class="text-muted mb-0 font-weight-light">'+ el.foot3 +'</h4>' + '</footer>' + '</div>' + '</div>'; }); footer = '<div class=" slider-nav text-center">' + '<a href="#" class="left-arrow owl-prev">' + '<i class="simple-icon-arrow-left"></i>' + '</a>'+ '<div class="slider-dot-container"></div>' + '<a href="#" class="right-arrow owl-next">' + '<i class="simple-icon-arrow-right"></i>' + '</a>' + '</div>'; }else{ cardCarousel = '<center><h3 class="text-muted">Tidak ada carousel aktif</h3> </center>'; } $('#carousel-body').html(cardCarousel).after(footer); } data.modal_buka = async function(){ var img = ''; showLoading(); var ids = await fetch(path + 'uihelper/get_files?p=public/assets/img/barang').then(res => res.json()).then(res =>{ if(!res) return; var data = res.data; var idw = []; var idck = []; var keys = Object.keys(res.data); keys.forEach((el, i) => { img += '<div class="col-4">'+ '<div id="wrapper-'+i+'" class="card card-select d-flex flex-row mb-4 media-thumb-container">' + '<img style="width: 80%" class="thumb-lib" src="' + path + '/public/assets/img/barang/' + data[el] +'" alt="uploaded image" class="list-media-thumbnail responsive border-0" />' + '<label style="position: absolute; left: 90%" class="custom-control custom-checkbox mb-0">' + '<input data-img="'+ data[el] +'" id="checkbox-'+i+'" type="checkbox" class="custom-control-input select-img">' + '<span class="custom-control-label"></span>' + '</label>' + '</div> ' + '</div>'; idw.push('#wrapper-' + i); idck.push('#checkbox-' + i); }); if(!img) return; $('#galery-body').html(img); return {'wrapper': idw, 'checkbox': idck}; }); endLoading(); addModalOpen(true); $(ids.checkbox.join()).click(function(){ var ini = $(this); var gambar = ini.data('img'); var gambarTerpilih = $("#gambar-carousel").val(); if(ini.is(':checked')){ if(!gambarTerpilih) $('#gambar-carousel').val(gambar); else $('#gambar-carousel').val(gambarTerpilih + ";" + gambar ); }else{ if(!gambarTerpilih) return; var arrayGambar = gambarTerpilih.split(';'); if(arrayGambar.length > 1){ var index = arrayGambar.indexOf(gambar); if(index < 0) return; arrayGambar.splice(index, 1); $('#gambar-carousel').val(arrayGambar.join(';')) }else if(arrayGambar.length == 0) $('#gambar-carousel').val(''); } }); $(ids.wrapper.join()).click(function(){ var ini = $(this); var id = ini.attr('id'); var index = id.split('-')[1]; $('#checkbox-' + index).trigger('click') }); $('#selanjutnya').click(function () { if(!$("#gambar-carousel").val()){ var toastOpt = data.toasCofig; toastOpt.bg = 'bg-danger'; toastOpt.title = 'Err'; toastOpt.message = "Anda belum memilih gambar, pilih minimal 1"; makeToast(toastOpt); return; } $('#hal-2').show(); $('#hal-1').animate({ height: 'toggle' }); $(this).hide(); $('#submit, #kembali').show(); setTimeout(function () { $('#hal-1').hide(); }, 500) if ($('#hal-2').is(':visible')) $('#kembali').show(); setTimeout(function () { $('body').addClass('modal-open'); }, 500); console.log(data); data.atur_carousel(); }); $('#kembali').click(function () { $('#hal-1, #selanjutnya').show(); $('#hal-2').animate({ height: 'toggle' }); $(this).hide(); $('#submit').hide(); setTimeout(function () { $('#hal-2').hide(); }, 500) if ($('#hal-1').is(':visible')) $('#kembali').hide(); setTimeout(function () { $('body').addClass('modal-open'); }, 500); }); } return data; } function add_eventlistener(data){ $('#btn-set-carousel').click(async function(){ fetch(path + 'uihelper/form?f=forms/carousel').then(res => { if (res.status != 200) return; else return res.text(); }).then(res => { if (!res) return; else { var opt = { type: 'form', clickToClose: false, kembali: false, destroy: true, open: true, ajax: true, modalclick: false, size: 'modal-xl', modalTitle: 'Setting carousel', modalPos: 'def', saatBuka: function () { if (!$('body').hasClass('modal-open')) $('body').addClass('modal-open'); data.modal_buka(); }, submitSuccess: function (res) { $('#submit').prop('disabled', false); $('#form-modal-set-carousel').modal('hide'); endLoading(); res = JSON.parse(res); var toastOpt = data.toasCofig; toastOpt.bg = 'bg-success'; toastOpt.title = 'Berhasil'; toastOpt.message = res.message; makeToast(toastOpt); data.setCarousel(); setTimeout(function () { $('#batal').trigger('click'); }, 2000); }, submitError: function (res) { $('#submit').prop('disabled', false); $('#form-modal-set-carousel').modal('hide'); endLoading(); res = JSON.parse(res.responseText); var toastOpt = data.toasCofig; toastOpt.bg = 'bg-danger'; toastOpt.title = res.message; toastOpt.message = res.err; makeToast(toastOpt); }, sebelumSubmit: function () { $('#submit').prop('disabled', true); showLoading(); }, formOpt: { formId: "form-penjual", formAct: path + "uihelper/carousel/set", formMethod: 'POST', formAttr: '' }, modalBody: { input: [ { type: 'custom', text: res, }, ], buttons: [ { type: 'reset', data: 'data-dismiss="modal"', text: 'Batal', id: "batal", class: "btn btn btn-warning" }, { type: 'button', style:'display:none', text: 'Kembali', id: "kembali", class: "btn btn btn-primary" }, { type: 'button', text: 'Selanjutnya', id: "selanjutnya", class: "btn btn btn-primary" }, { type: 'submit', style: 'display:none', text: 'Simpan', id: "submit", class: "btn btn btn-primary" } ] }, } generateModal('form-modal-set-carousel', 'body', opt) } }) }) $('#btn-delete-carousel').click(async function(){ showLoading(); await fetch(path + 'uihelper/carousel/delete').then(res => res.json()).then(res => { var toastOpt = data.toasCofig; toastOpt.bg = 'bg-success'; toastOpt.title = 'Berhasil'; toastOpt.message = 'Berhasil menghapus seting carousel'; makeToast(toastOpt) }); endLoading(); }); } function inisialisasi(data){ data.setCarousel(); }