PATH:
home
/
rwabteecom
/
project_11
/
resources
/
js
/
Editing: app.js
import './bootstrap'; let table = null; $(function () { $(document).on('submit', "form", function (event) { let form = $(this); let submitBtn = form.find("button[type=submit]"); submitBtn.prop('disabled', true).attr('data-kt-indicator', "on"); if ($(this).find('.card-body').length) { let cardBody = $(this).find('.card-body'); cardBody.append('<div class="overlay-layer bg-dark-o-10"><div class="spinner-border"></div></div>'); $(this).addClass("overlay overlay-block"); } else { form.find('input').not('input[name=_token]').each(function () { $(this) .prop('readonly', true) .removeClass('is-invalid') .addClass('disabled'); }) } }); if ($('#datatables').length) { table = $('#datatables').DataTable({ ordering: true, processing: true, serverSide: true, responsive: true, searchDelay: 1000, language: { url: $("html").attr("lang") === "ar" ? "/backend/datatables-ar.json" : null } }); $('#datatable_search_input').keyup(function () { table.search($(this).val()).draw(); }); } if ($('.openAccordion').length) { $('.openAccordion').parent().parent().parent().addClass("show"); $('.openAccordion').parent().parent().addClass("show"); } const DeleteModel = document.getElementById('delete') const RestoreModel = document.getElementById('restore') if (DeleteModel) { DeleteModel.addEventListener('show.bs.modal', function (e) { $("#delete").find('.delete_form').attr('action', $(e.relatedTarget).data('href')); }); RestoreModel.addEventListener('show.bs.modal', function (e) { $("#restore").find('.restore_form').attr('action', $(e.relatedTarget).data('href')); }); } function showSpinner(el) { el.find('#overlay').addClass("overlay overlay-block"); el.find('#data').html('<div class="overlay-layer bg-dark-o-10"><div class="spinner-border"></div></div>'); el.find('button[type="submit"]').attr('data-kt-indicator', 'on'); } function hideSpinner(el) { el.find('#overlay').removeClass("overlay overlay-block"); el.find('#data').html(''); el.find('button[type="submit"]').attr('data-kt-indicator', 'off'); el.find('button[type="submit"]').attr('disabled', false); } $('#delete .delete_form').submit(function (e) { e.preventDefault(); let form = $(this); let action = form.attr('action'); $.ajax({ url: action, type: 'POST', data: form.serialize(), beforeSend: function () { showSpinner(form) }, success: function success(result) { hideSpinner(form); $('#delete').modal('hide'); $("#datatables").DataTable().ajax.reload(); if (result.success) { toastr.success(result.message); } else { toastr.error(result.message); } }, error: function error(response) { $('#delete').modal('hide'); toastr.error(response.responseJSON.message); hideSpinner(form); } }); }); $('#restore .restore_form').submit(function (e) { e.preventDefault(); let form = $(this); let action = form.attr('action'); $.ajax({ url: action, type: 'POST', data: form.serialize(), beforeSend: function () { showSpinner(form) }, success: function success(result) { hideSpinner(form); $('#restore').modal('hide'); $("#datatables").DataTable().ajax.reload(); if (result.success) { toastr.success(result.message); } else { toastr.error(result.message); } }, error: function error(response) { $('#restore').modal('hide'); toastr.error(response.responseJSON.message); hideSpinner(form); } }); }); $(document).on('click', '.deleteNotification', function () { $(this).prop("disabled", true); let that = $(this); let url = $(this).attr('data-href'); $.ajax({ url: url, method: "POST", data: { _method: "DELETE" }, success: function (response) { toastr.success(response.message) that.parent().remove(); }, error: function error(response) { toastr.error(response.responseJSON.message); } }) }); if ($('#notification_data').length) { $('#notification_data').load(gs.notificationRoute); } $(document).on("change", '.switcher', function (e) { e.preventDefault(); let element = $('#kt_app_content_container .card'); let that = $(this); let action = gs.switcherRoute; $.ajax({ url: action, type: 'POST', data: { model: that.data('model'), model_id: parseInt(that.data('modelid')), column_name: that.data('columnname'), }, beforeSend: function () { element.find('#overlay').addClass("overlay overlay-block"); element.find('#data').html('<div class="overlay-layer bg-dark-o-10"><div class="spinner-border"></div></div>'); }, success: function success(result) { setTimeout(() => { hideSpinner(element); }, 200) if (result.success) { toastr.success(result.message); return; } toastr.error(result.message); that.prop("checked", true); }, error: function error(response) { toastr.error(response.responseJSON.message); setTimeout(() => { hideSpinner(element); }, 200) } }); }); });
SAVE
CANCEL