@@ -13,23 +13,29 @@ $(document).ready(function () {
1313 autoWidth : false ,
1414 order : [ [ 4 , 'desc' ] ] , // Last Seen desc (index 4 after Name, IP, Guid, FirstSeen, LastSeen)
1515 stateSaveParams : function ( settings , data ) {
16- data . _playersStructureVersion = 3 ; // bump when changing column/filter persistence structure
16+ data . _playersStructureVersion = 4 ; // bump when changing column/filter persistence structure
17+ if ( data . columns ) data . columns . forEach ( function ( c ) { delete c . visible ; } ) ;
1718 if ( playersFilterSel ) data . playersFilter = playersFilterSel . value || 'UsernameAndGuid' ;
1819 const gtSel = document . getElementById ( 'filterGameType' ) ;
1920 if ( gtSel ) data . gameType = gtSel . value || '' ;
2021 } ,
2122 stateLoadParams : function ( settings , data ) {
22- if ( data . _playersStructureVersion !== 3 ) return false ; // invalidate older structures
23+ if ( data . _playersStructureVersion !== 4 ) {
24+ var key = 'DataTables_dataTable_' + window . location . pathname ;
25+ try { localStorage . removeItem ( key ) ; } catch ( e ) { /* ignore */ }
26+ return false ;
27+ }
28+ if ( data . columns ) data . columns . forEach ( function ( c ) { delete c . visible ; } ) ;
2329 if ( playersFilterSel && data . playersFilter ) playersFilterSel . value = data . playersFilter ;
2430 const gtSel = document . getElementById ( 'filterGameType' ) ;
2531 if ( gtSel && typeof data . gameType !== 'undefined' ) gtSel . value = data . gameType ;
2632 } ,
2733 columnDefs : [
2834 { targets : 0 , responsivePriority : 1 , visible : true } , // Name (force visible)
29- { targets : 1 , responsivePriority : 5 } , // Player IP
30- { targets : 2 , responsivePriority : 3 } , // Guid
31- { targets : 3 , responsivePriority : 4 } , // First Seen
32- { targets : 4 , responsivePriority : 2 } // Last Seen
35+ { targets : 1 , responsivePriority : 2 , visible : true } , // Player IP (force visible)
36+ { targets : 2 , responsivePriority : 4 } , // Guid
37+ { targets : 3 , responsivePriority : 5 } , // First Seen
38+ { targets : 4 , responsivePriority : 3 } // Last Seen
3339 ] ,
3440 ajax : {
3541 url : dataUrl ,
@@ -95,8 +101,14 @@ $(document).ready(function () {
95101 } catch { /* swallow */ }
96102 }
97103
98- table . on ( 'init.dt' , function ( ) { relocateSearch ( ) ; } ) ;
99- setTimeout ( relocateSearch , 1000 ) ;
104+ table . on ( 'init.dt' , function ( ) {
105+ relocateSearch ( ) ;
106+ table . columns . adjust ( ) . responsive . recalc ( ) ;
107+ } ) ;
108+ setTimeout ( function ( ) {
109+ relocateSearch ( ) ;
110+ if ( table . responsive ) table . columns . adjust ( ) . responsive . recalc ( ) ;
111+ } , 1000 ) ;
100112
101113 function reloadTable ( ) { table . ajax . reload ( null , false ) ; }
102114
0 commit comments