From a0c6c617b0ee946a14711d62efc922e815818720 Mon Sep 17 00:00:00 2001 From: imnavajas Date: Sat, 22 Jul 2023 21:53:56 +0200 Subject: [PATCH] Salvar cambios en ui-delete modal & alaerts --- .../themes/_commonPartialsBs/_alertBoxes.php | 31 +- .../_form_validation_errors.php | 1 - .../themes/_commonPartialsBs/datatables.php | 296 +++++++++--------- .../tarifas/acabado/viewTarifaAcabadoForm.php | 1 + .../tarifas/acabado/viewTarifaAcabadoList.php | 9 +- 5 files changed, 174 insertions(+), 164 deletions(-) diff --git a/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php b/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php index 5d5ab740..72f110eb 100644 --- a/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php +++ b/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php @@ -62,14 +62,27 @@ if (session()->has('error')) { - diff --git a/ci4/app/Views/themes/_commonPartialsBs/datatables.php b/ci4/app/Views/themes/_commonPartialsBs/datatables.php index c11b8dc4..6ee8d97d 100644 --- a/ci4/app/Views/themes/_commonPartialsBs/datatables.php +++ b/ci4/app/Views/themes/_commonPartialsBs/datatables.php @@ -17,167 +17,165 @@ section('additionalInlineJs') ?> - moment.locale('defaultLocale ?>'); + moment.locale('defaultLocale ?>'); - // Pipelining function for DataTables. To be used to the `ajax` option of DataTables - $.fn.dataTable.pipeline = function (opts) { - // Configuration options - let conf = $.extend({ - pages: 5, // number of pages to cache - url: '', - method: 'POST', - headers: {'X-Requested-With': 'XMLHttpRequest'} - }, opts); + // Pipelining function for DataTables. To be used to the `ajax` option of DataTables + $.fn.dataTable.pipeline = function (opts) { + // Configuration options + let conf = $.extend({ + pages: 5, // number of pages to cache + url: '', + method: 'POST', + headers: {'X-Requested-With': 'XMLHttpRequest'} + }, opts); - // Private variables for storing the cache - let cacheLower = -1; - let cacheUpper = null; - let cacheLastRequest = null; - let cacheLastJson = null; + // Private variables for storing the cache + let cacheLower = -1; + let cacheUpper = null; + let cacheLastRequest = null; + let cacheLastJson = null; - return function (request, drawCallback, settings) { - let ajax = false; - let requestStart = request.start; - let drawStart = request.start; - let requestLength = request.length; - let requestEnd = requestStart + requestLength; + return function (request, drawCallback, settings) { + let ajax = false; + let requestStart = request.start; + let drawStart = request.start; + let requestLength = request.length; + let requestEnd = requestStart + requestLength; - if (settings.clearCache) { - // API requested that the cache be cleared - ajax = true; - settings.clearCache = false; - } else if (cacheLower < 0 || requestStart < cacheLower || requestEnd > cacheUpper) { - // outside cached data - need to make a request - ajax = true; - } else if (JSON.stringify(request.order) !== JSON.stringify(cacheLastRequest.order) || - JSON.stringify(request.columns) !== JSON.stringify(cacheLastRequest.columns) || - JSON.stringify(request.search) !== JSON.stringify(cacheLastRequest.search) - ) { - // properties changed (ordering, columns, searching) - ajax = true; - } - - // Store the request for checking next time around - cacheLastRequest = $.extend(true, {}, request); - - if (ajax) { - // Need data from the server - if (requestStart < cacheLower) { - requestStart = requestStart - (requestLength * (conf.pages - 1)); - - if (requestStart < 0) { - requestStart = 0; - } - } - - cacheLower = requestStart; - cacheUpper = requestStart + (requestLength * conf.pages); - - request.start = requestStart; - request.length = requestLength * conf.pages; - - // Provide the same `data` options as DataTables. - if (typeof conf.data === 'function') { - // As a function it is executed with the data object as an arg - // for manipulation. If an object is returned, it is used as the - // data object to submit - let d = conf.data(request); - if (d) { - $.extend(request, d); - } - } else if ($.isPlainObject(conf.data)) { - // As an object, the data given extends the default - $.extend(request, conf.data); - } - - request. = v; - - return $.ajax({ - "type": conf.method, - "url": conf.url, - "data": request, - "dataType": "json", - "cache": false, - "success": function (json) { - cacheLastJson = $.extend(true, {}, json); - - if (cacheLower != drawStart) { - json.data.splice(0, drawStart - cacheLower); - } - if (requestLength >= -1) { - json.data.splice(requestLength, json.data.length); - } - - drawCallback(json); - - yeniden(json.token); - }, - error: function (jqXHR, textStatus, errorThrown) { - - $('.dataTables_processing').hide(); - const theData = jqXHR.responseJSON; - drawCallback(theData); - Toast.fire({ - icon: 'error', - title: errorThrown, - }); - } - }); - } else { - let json = $.extend(true, {}, cacheLastJson); - json.draw = request.draw; // Update the echo for each response - json.data.splice(0, requestStart - cacheLower); - json.data.splice(requestLength, json.data.length); - - drawCallback(json); - } + if (settings.clearCache) { + // API requested that the cache be cleared + ajax = true; + settings.clearCache = false; + } else if (cacheLower < 0 || requestStart < cacheLower || requestEnd > cacheUpper) { + // outside cached data - need to make a request + ajax = true; + } else if (JSON.stringify(request.order) !== JSON.stringify(cacheLastRequest.order) || + JSON.stringify(request.columns) !== JSON.stringify(cacheLastRequest.columns) || + JSON.stringify(request.search) !== JSON.stringify(cacheLastRequest.search) + ) { + // properties changed (ordering, columns, searching) + ajax = true; } - }; - // Register an API method that will empty the pipelined data, forcing an Ajax - // fetch on the next draw (i.e. `table.clearPipeline().draw()`) - $.fn.dataTable.Api.register('clearPipeline()', function () { - return this.iterator('table', function (settings) { - settings.clearCache = true; - }); + // Store the request for checking next time around + cacheLastRequest = $.extend(true, {}, request); + + if (ajax) { + // Need data from the server + if (requestStart < cacheLower) { + requestStart = requestStart - (requestLength * (conf.pages - 1)); + + if (requestStart < 0) { + requestStart = 0; + } + } + + cacheLower = requestStart; + cacheUpper = requestStart + (requestLength * conf.pages); + + request.start = requestStart; + request.length = requestLength * conf.pages; + + // Provide the same `data` options as DataTables. + if (typeof conf.data === 'function') { + // As a function it is executed with the data object as an arg + // for manipulation. If an object is returned, it is used as the + // data object to submit + let d = conf.data(request); + if (d) { + $.extend(request, d); + } + } else if ($.isPlainObject(conf.data)) { + // As an object, the data given extends the default + $.extend(request, conf.data); + } + + request. = v; + + return $.ajax({ + "type": conf.method, + "url": conf.url, + "data": request, + "dataType": "json", + "cache": false, + "success": function (json) { + cacheLastJson = $.extend(true, {}, json); + + if (cacheLower != drawStart) { + json.data.splice(0, drawStart - cacheLower); + } + if (requestLength >= -1) { + json.data.splice(requestLength, json.data.length); + } + + drawCallback(json); + + yeniden(json.token); + }, + error: function (jqXHR, textStatus, errorThrown) { + + $('.dataTables_processing').hide(); + const theData = jqXHR.responseJSON; + drawCallback(theData); + Toast.fire({ + icon: 'error', + title: errorThrown, + }); + } + }); + } else { + let json = $.extend(true, {}, cacheLastJson); + json.draw = request.draw; // Update the echo for each response + json.data.splice(0, requestStart - cacheLower); + json.data.splice(requestLength, json.data.length); + + drawCallback(json); + } + } + }; + + // Register an API method that will empty the pipelined data, forcing an Ajax + // fetch on the next draw (i.e. `table.clearPipeline().draw()`) + $.fn.dataTable.Api.register('clearPipeline()', function () { + return this.iterator('table', function (settings) { + settings.clearCache = true; }); + }); - let lastColNr = $(".using-data-table").find("tr:first th").length - 1; - theTable = $('.using-data-table').DataTable({ - "responsive": true, - "paging": true, - "lengthMenu": [ 5, 10, 25, 50, 75, 100, 250, 500, 1000, 2500 ], - "pageLength": 10, - "lengthChange": true, - "searching": true, - "ordering": true, - "info": true, - "autoWidth": true, - "scrollX": true, - "stateSave": true, - "language": { - url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/languages[$currentLocale] ?? config('Basics')->i18n ?>.json" - }, - "columnDefs": [ - { - orderable: false, - searchable: false, - targets: [0,lastColNr] - } - ] - }); - + let lastColNr = $(".using-data-table").find("tr:first th").length - 1; + theTable = $('.using-data-table').DataTable({ + "responsive": true, + "paging": true, + "lengthMenu": [ 5, 10, 25, 50, 75, 100, 250, 500, 1000, 2500 ], + "pageLength": 10, + "lengthChange": true, + "searching": true, + "ordering": true, + "info": true, + "autoWidth": true, + "scrollX": true, + "stateSave": true, + "language": { + url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/languages[$currentLocale] ?? config('Basics')->i18n ?>.json" + }, + "columnDefs": [ + { + orderable: false, + searchable: false, + targets: [0,lastColNr] + } + ] + }); - $('#confirm2delete').on('show.bs.modal', function (e) { - $(this).find('.btn-confirm').attr('href', $(e.relatedTarget).data('href')); - }); - + $('#confirm2delete').on('show.bs.modal', function (e) { + $(this).find('.btn-confirm').attr('href', $(e.relatedTarget).data('href')); + }); - function toggleAllCheckboxes($cssClass, $io=null) { - $('.'+$cssClass).prop('checked', $io); - } + function toggleAllCheckboxes($cssClass, $io=null) { + $('.'+$cssClass).prop('checked', $io); + } endSection() ?> \ No newline at end of file diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php index 5522b7dc..6922c51f 100644 --- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php +++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php @@ -2,6 +2,7 @@ include("themes/_commonPartialsBs/select2bs5") ?> include("themes/_commonPartialsBs/sweetalert") ?> extend('themes/backend/vuexy/main/defaultlayout') ?> + section("content") ?>
diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoList.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoList.php index 3c0a69c3..32d34dec 100644 --- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoList.php +++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoList.php @@ -43,11 +43,12 @@ const lastColNr = $('#tableOfTarifasacabado').find("tr:first th").length - 1; return `
- - + +
`; }; + theTable = $('#tableOfTarifasacabado').DataTable({ processing: true, serverSide: true, @@ -123,9 +124,7 @@ const lastColNr = $('#tableOfTarifasacabado').find("tr:first th").length - 1; } }); -$('#imn-alert').on('click', function (e) { -$(this).toggleClass('d-none'); -}); + endSection() ?>