File manager - Edit - /home/gzbnyc5/pty-app/realstate/public/js/pty.datatable.v2.js
Back
//== Class definition console.log(11111) const ptyInitDataTable = function() { //== Private functions let instance; // basic demo const initTable = function() { $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); var table = $('.pty-datatable-v2'); var dataUrl = table.data('pty-data-url'), dataCols = JSONfn.parse(JSONfn.stringify(table.data('pty-data-cols'))), dataUrlOptions = table.data('pty-data-url-options'), dataUrlDownload = table.data('pty-data-url-download'), dataUrlRetrieveDoc = table.data('pty-data-url-retrieve'), dataMethod = table.data('pty-data-method') || 'GET', dataTranslation = table.data('pty-data-translation') || {}, dataToolbarDuplicated = table.data('pty-data-toolbar-duplicated') || false, dataOnLayoutUpdated = JSONfn.parse(JSONfn.stringify(table.data('pty-data-on-layout-updated')) || '{"onLayoutUpdated":"function() { }"}'); var query = {}; if( $('#generalSearch').val().length > 0 ) { query.generalSearch = $('#generalSearch').val(); } let ptyFilters = $('.pty-table-filter'); ptyFilters.each(function(i,e) { let element = $(e); if( element.val().length > 0 ) { query[element.data('pty-filter')] = element.val(); } }); const columnDefs = []; const actionTemplate = ` <a href="#" class="btn btn-light btn-active-light-primary btn-sm" data-kt-menu-trigger="click" data-kt-menu-placement="bottom-end" data-kt-menu-flip="top-end">Actions <!--begin::Svg Icon | path: icons/duotone/Navigation/Angle-down.svg--> <span class="svg-icon svg-icon-5 m-0"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 24 24" version="1.1"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <polygon points="0 0 24 0 24 24 0 24" /> <path d="M6.70710678,15.7071068 C6.31658249,16.0976311 5.68341751,16.0976311 5.29289322,15.7071068 C4.90236893,15.3165825 4.90236893,14.6834175 5.29289322,14.2928932 L11.2928932,8.29289322 C11.6714722,7.91431428 12.2810586,7.90106866 12.6757246,8.26284586 L18.6757246,13.7628459 C19.0828436,14.1360383 19.1103465,14.7686056 18.7371541,15.1757246 C18.3639617,15.5828436 17.7313944,15.6103465 17.3242754,15.2371541 L12.0300757,10.3841378 L6.70710678,15.7071068 Z" fill="#000000" fill-rule="nonzero" transform="translate(12.000003, 11.999999) rotate(-180.000000) translate(-12.000003, -11.999999)" /> </g> </svg> </span> <!--end::Svg Icon--></a> <!--begin::Menu--> <div class="menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-600 menu-state-bg-light-primary fw-bold fs-7 w-125px py-4" data-kt-menu="true"> {actions} </div> <!--end::Menu--> ` for(const dataCol of dataCols) { const col = {}; col.data = function ( row, type, val, meta ) { if(dataCol.template) { const templateHtml = dataCol.template(row, type, val, meta); console.log(templateHtml); return dataCol.field == 'actions' ? actionTemplate.replace("{actions}", templateHtml) : templateHtml; } else return row[dataCol.field] } col.title = dataCol.title; col.className = dataCol.class_name columnDefs.push(col) } console.log(dataCols) const datatable = $('.pty-datatable-v2').DataTable({ ajax: { method: dataMethod, url: dataUrl, headers: { 'X-CSRF-TOKEN': $('meta[name=”csrf-token”]').attr('content') }, params : { initialQuery : query }, map: function(raw) { // sample data mapping var dataSet = raw; if (typeof raw.data !== 'undefined') { dataSet = raw.data; } if( $('#pty-table-results-total').length > 0 ) { let totals = raw.meta.total; if( raw.count_substract && ! isNaN(raw.count_substract) ) { totals -= raw.count_substract; } $('#pty-table-results-total').text(totals); } table.trigger('pty-datatable-data-received', raw); return dataSet; }, }, // layout definition // layout: { // theme: 'default', // datatable theme // class: '', // custom wrapper class // scroll: false, // enable/disable datatable scroll both horizontal and vertical when needed. // footer: false // display/hide footer // }, // column sorting sortable: true, pagination: true, toolbar: { // toolbar items duplicated : dataToolbarDuplicated, items: { // pagination pagination: { // page size select pageSizeSelect: [...[100, 250, 500], ...(typeof isAdminUser !== "undefined" && isAdminUser ? [1000] : [] )], }, }, }, translate: dataTranslation, search: { input: $('#generalSearch'), }, // columns definition columns: columnDefs, "initComplete": function(settings, json) { $('.pty-datatable-v2').addClass('table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer'); $('.pty-datatable-v2 thead tr').addClass('text-start text-muted fw-bolder fs-7 text-uppercase gs-0'); } }); $(document).on('change', '.pty-table-filter', function() { var col = $(this).data('pty-filter'); if(col != null) { datatable.search($(this).val(), col); } }); // $('.m-bootstrap-select').not('[multiple]').selectpicker(); var scrollTop; var isClearClicked = false; $('.m-bootstrap-select[multiple]').each(function() { var ph = $(this).attr('placeholder'); $(this).select2({ placeholder: ph, width: 'resolve', closeOnSelect: false, }) .on("select2:selecting", function( event ){ var $pr = $( '[id="' + event.params.args.data._resultId + '"]').parent(); scrollTop = $pr.prop('scrollTop'); }) .on("select2:select", function( event ){ var $pr = $( '[id="' + event.params.data._resultId + '"]').parent(); $pr.prop('scrollTop', scrollTop ); }) .on('select2:opening', function(e) { if (window['isClearClicked']) { e.preventDefault(); window['isClearClicked'] = false; } }).on('select2:unselect', function(e) { window['isClearClicked'] = true; }); }); datatable.on('m-datatable--on-check m-datatable--on-uncheck m-datatable--on-layout-updated', function(e) { if(dataOnLayoutUpdated && dataOnLayoutUpdated.onLayoutUpdated ) { dataOnLayoutUpdated.onLayoutUpdated(datatable); } var checkedNodes = datatable.rows('.m-datatable__row--active').nodes(); var count = checkedNodes.length; $('#m_datatable_selected_number').html(count); if (count > 0) { $('#m_datatable_group_action_form').collapse('show'); } else { $('#m_datatable_group_action_form').collapse('hide'); } }); $(document).on('click','.pty-row-image',function() { var imgUrl = $(this).data('pty-image-url') || ''; if(imgUrl.length > 0) { $('#modal-image').modal('show'); $('#pty-agent-image').attr('src',imgUrl); } }); $(document).on('click','.pty-row-document',function() { var docUrl = $(this).data('pty-document') || ''; var notyOpt = { layout: 'topCenter', type: 'info', theme: 'mint', }; if(docUrl.length > 0) { var ext = docUrl.split('.').pop(); var id = $(this).data('pty-document-id') || 0; var postData = { id: id, _token: $('[name="_token"]').val() }; if(ext == 'png' || ext == 'jpg' || ext == 'jpeg' || ext == 'gif') { postData.opt = 'image'; $.ajax({ url: dataUrlRetrieveDoc, data: postData, method: 'POST', dataType: 'JSON', success: function(data) { if(data.error == 0) { $('#pty-document-image').attr('src','data:image/png;base64,' + data.image_data); $('#modal-document').modal('show'); } else { notyOpt.text = data.message, notyOpt.type = 'error', notyOpt.timeout = 2000; showNoty(notyOpt); } }, error: function(data) { } }); } else { postData.opt = 'document'; $.ajax({ url: dataUrlRetrieveDoc, data: postData, method: 'POST', dataType: 'JSON', success: function(data) { if(data.error == 0) { var tempForm = $('<form action="'+dataUrlRetrieveDoc+'" method="POST">' + '<input type="hidden" name="id" value="' + postData.id + '">' + '<input type="hidden" name="_token" value="' + postData._token + '">' + '</form>'); $('body').append(tempForm); tempForm.submit(); tempForm.remove(); } else { notyOpt.text = data.message, notyOpt.type = 'error', notyOpt.timeout = 2000; showNoty(notyOpt); } }, error: function(data) { } }); } } }) $(document).on('click','[data-pty-row-option]',function() { var opt = $( this ).data('pty-row-option'); var id = $( this ).data('pty-model-id'); var text = $( this ).data('pty-row-option-process'); var notyOpt = { layout: 'topCenter', type: 'info', text: text, theme: 'mint', }; var data = { option: opt, ids: id, _token: $('[name="_token"]').val() }; if(opt == 'archive' || opt == 'unarchive') { executeAction(notyOpt, dataUrlOptions, data); } else if(opt == 'delete') { var nD = new Noty({ type: 'warning', text: globalTranslations.warning_delete_verification, layout: 'center', theme: 'mint', buttons: [ Noty.button(globalTranslations.yes, 'btn btn-success pty-noty-buttons', function () { nD.close(); executeAction(notyOpt, dataUrlOptions, data); }, {id: 'button1', 'data-status': 'ok'}), Noty.button(globalTranslations.no, 'btn btn-error pty-noty-buttons', function () { nD.close(); }) ] }).show(); } }); $(document).on('change', '[data-pty-filter]', function() { var field = $( this ).data('pty-filter') || ''; var fieldValue = '"' + this.value + '"'; if( field.length == 0) return; var related = $('[data-pty-visible-when-field="'+field+'"]'); related.each(function(i, e) { var visibleWhen = $(this).data('pty-visible-when') || ''; if(visibleWhen.length == 0) return; var conditions = visibleWhen.split(','); if ( eval( fieldValue + ' ' + conditions[1] + ' ' + conditions[2]) ) { $(this).removeClass('pty-hidden'); } else { $(this).addClass('pty-hidden'); } }); }); $(document).on('click','[data-pty-table-option]', function() { var opt = $( this ).data('pty-table-option'); var ids = datatable.rows('.m-datatable__row--active'). nodes(). find('.m-checkbox--single > [type="checkbox"]'). map(function(i, chk) { return $(chk).val(); }).get().join(','); var text = $( this ).data('pty-table-option-process'); var notyOpt = { layout: 'topCenter', type: 'info', text: text, theme: 'mint', }; var data = { option: opt, ids: ids, _token: $('[name="_token"]').val() }; if(opt == 'archive' || opt == 'unarchive') { executeAction(notyOpt, dataUrlOptions, data); } else if( opt == 'delete' ) { var nD = new Noty({ type: 'warning', text: globalTranslations.warning_delete_verification_p, layout: 'center', theme: 'mint', buttons: [ Noty.button(globalTranslations.yes, 'btn btn-success pty-noty-buttons', function () { nD.close(); executeAction(notyOpt, dataUrlOptions, data); }, {id: 'button1', 'data-status': 'ok'}), Noty.button(globalTranslations.no, 'btn btn-error pty-noty-buttons', function () { nD.close(); }) ] }).show(); } else if( opt == 'export_csv' || opt == 'export_xls' ) { executeAction(notyOpt, dataUrlOptions, data, true); } }); function executeAction(notyOpt, dataUrlOptions, data, exportFile = false) { disableAllButtons(); var n = showNoty(notyOpt); $.ajax({ url: dataUrlOptions, data: data, method: 'POST', dataType: 'JSON', success: function(data) { var type = 'success', text = globalTranslations.process_completed; if(data.error != 0) { type = 'error', text = globalTranslations.error_processing_request; } else { if( ! exportFile) datatable.search(); else downloadFile(data.file_name); } n.close(); notyOpt.text = text, notyOpt.type = type, notyOpt.timeout = 2000; showNoty(notyOpt); enableAllButtons(); }, error: function(data) { n.close(); notyOpt.text = globalTranslations.error_processing_request, notyOpt.type = 'error', notyOpt.timeout = 2000; showNoty(notyOpt); enableAllButtons(); }, }); } function disableAllButtons() { $('button, a', $('.m-content')).prop('disabled',true).addClass('disabled'); } function enableAllButtons() { $('button, a', $('.m-content')).prop('disabled',false).removeClass('disabled'); } function downloadFile(fileName) { window.location = dataUrlDownload + '/export_table/' + fileName; } instance = datatable; var event = new CustomEvent("ptyDatatableInitialized"); document.dispatchEvent(event); return datatable; }; return { // public functions init: function() { return initTable(); }, getInstance : function() { return instance; } }; }(); // fix to avoid history when back button is pressed document.addEventListener('ptyDatatableInitialized', function () { var ibackbutton = document.getElementById("backbuttonstate"); var currentScroll = "", scrollTimeout; $(".pty-scroll-horizontal-top").scroll(function(){ if(currentScroll == "table" ) return; clearTimeout(scrollTimeout); currentScroll = "top"; $(".m-datatable__table").scrollLeft($(".pty-scroll-horizontal-top").scrollLeft()); scrollTimeout = setTimeout(function() { currentScroll = ""; clearTimeout(scrollTimeout); }, 250); }); $(".m-datatable__table").scroll(function(){ if(currentScroll == "top" ) return; clearTimeout(scrollTimeout); currentScroll = "table"; const left = $(".m-datatable__table:not(.pty-floating-header)").scrollLeft(); $(".pty-scroll-horizontal-top, .m-datatable__table.pty-floating-header").scrollLeft(left); scrollTimeout = setTimeout(function() { currentScroll = ""; clearTimeout(scrollTimeout); }, 250); }); if( $('.pty-floating-header').length > 0 ) { const evaluateItems = function(isVisible) { if( ! isVisible) { $('.pty-scroll-horizontal-top').css('position', 'fixed'); $('.pty-floating-header').show(); $(".pty-scroll-horizontal-top, .m-datatable__table.pty-floating-header").scrollLeft($(".m-datatable__table:not(.pty-floating-header)").scrollLeft()); } else { $('.pty-scroll-horizontal-top').css('position', 'unset'); $('.pty-floating-header').hide(); } } const isVisible = (isScrolledIntoView($(".m-datatable__table:not(.pty-floating-header) thead"))); evaluateItems(isVisible); $('.pty-floating-header').hide(); $('.pty-scroll-horizontal-top').css('position', 'unset'); $(window).scroll(function() { const isVisible = (isScrolledIntoView($(".m-datatable__table:not(.pty-floating-header) thead"))); evaluateItems(isVisible); }) } // if (ibackbutton.value == "0") { // ibackbutton.value = "1"; // } else { // let dtInstance = ptyInitDataTable.getInstance(); // var query = {}; // if( $('#generalSearch').val().length > 0 ) { // query.generalSearch = $('#generalSearch').val(); // } // let ptyFilters = $('.pty-table-filter'); // ptyFilters.each(function(i,e) { // let element = $(e); // if( element.val().length > 0 ) { // query[element.data('pty-filter')] = element.val(); // } // }); // console.log(query); // dtInstance.setDataSourceParam('query', query); // dtInstance.load(); // } }, false);
| ver. 1.4 |
Github
|
.
| PHP 8.2.31 | Generation time: 0 |
proxy
|
phpinfo
|
Settings