@@ -35,7 +35,14 @@ function start_local_datatables() {
3535
3636// Datatable
3737function start_datatables ( $elements ) {
38- start_local_datatables ( ) ;
38+ // Inizializza le tabelle locali solo se ce ne sono di non inizializzate
39+ let uninitializedLocalTables = $ ( '.datatables' ) . filter ( function ( ) {
40+ return ! $ . fn . DataTable . isDataTable ( $ ( this ) ) ;
41+ } ) ;
42+
43+ if ( uninitializedLocalTables . length > 0 ) {
44+ start_local_datatables ( ) ;
45+ }
3946
4047 $elements . each ( function ( ) {
4148 const $this = $ ( this ) ;
@@ -104,6 +111,7 @@ function start_datatables( $elements ) {
104111 url : "ajax_dataload.php?id_module=" + id_module + "&id_plugin=" + id_plugin + "&id_parent=" + id_parent ,
105112 type : 'GET' ,
106113 dataSrc : "data" ,
114+
107115 } ,
108116 initComplete : initComplete ,
109117 drawCallback : drawCallback ,
@@ -317,7 +325,6 @@ function initComplete(settings) {
317325 var table = wrapper . datatable ;
318326 var row_ids = wrapper . getSelectedRows ( ) ;
319327 wrapper . removeSelectedRows ( row_ids ) ;
320- table . clear ( ) . draw ( ) ;
321328
322329 setTableSearch ( module_id , field , search_value ) ;
323330 column . search ( search_value ) . draw ( ) ;
@@ -460,7 +467,10 @@ function getTable(selector) {
460467
461468 initDatatable : function ( ) {
462469 if ( table . hasClass ( 'datatables' ) ) {
463- start_local_datatables ( ) ;
470+ // Inizializza solo se non è già stata inizializzata
471+ if ( ! $ . fn . DataTable . isDataTable ( table ) ) {
472+ start_local_datatables ( ) ;
473+ }
464474 } else {
465475 start_datatables ( $ ( '.main-records' ) ) ;
466476 }
0 commit comments