@@ -595,13 +595,19 @@ $("#filterby")
595595 var str = "" ;
596596 $ ( "#filterby option:selected" ) . each ( function ( ) {
597597 console . log ( 'Changed to ' + $ ( this ) . text ( ) ) ;
598- //Todo - use array or map? Or createDataTableX methods
599- userDataTable . destroy ( ) ;
598+
599+ // Destroy and recreate userDataTable
600+ if ( userDataTable ) {
601+ userDataTable . destroy ( ) ;
602+ }
600603 userDataTable = $ ( ".usertable" ) . DataTable ( {
601604 select : $ ( '#filterby' ) . val ( ) == 'Users'
602605 } ) ;
603606
604- codeDataTable . destroy ( ) ;
607+ // Destroy and recreate codeDataTable
608+ if ( codeDataTable ) {
609+ codeDataTable . destroy ( ) ;
610+ }
605611 // Need to check if color column exists before recreating the table
606612 let hasColorColumn = $ ( '.codetable thead th' ) . length === 5 ; // 5 columns means Color is present
607613 let codeConfig = {
@@ -642,23 +648,37 @@ $("#filterby")
642648 }
643649 codeDataTable = $ ( ".codetable" ) . DataTable ( codeConfig ) ;
644650
645- sourceDataTable . destroy ( ) ;
651+ // Destroy and recreate sourceDataTable
652+ if ( sourceDataTable ) {
653+ sourceDataTable . destroy ( ) ;
654+ }
646655 sourceDataTable = $ ( ".sourcetable" ) . DataTable ( {
647656 select : $ ( '#filterby' ) . val ( ) == 'Sources'
648657 } ) ;
649658
650- noteDataTable . destroy ( ) ;
659+ // Destroy and recreate annotationDataTable
660+ if ( annotationDataTable ) {
661+ annotationDataTable . destroy ( ) ;
662+ }
663+ annotationDataTable = $ ( ".annotationtable" ) . DataTable ( {
664+ select : $ ( '#filterby' ) . val ( ) == 'Annotations'
665+ } ) ;
666+
667+ // Destroy and recreate noteDataTable
668+ if ( noteDataTable ) {
669+ noteDataTable . destroy ( ) ;
670+ }
651671 noteDataTable = $ ( ".notetable" ) . DataTable ( {
652672 select : $ ( '#filterby' ) . val ( ) == 'Notes'
653- //columnDefs:[{target:0,visible:false,seachable:false}]
654673 } ) ;
655- setDataTable . destroy ( ) ;
674+
675+ // Destroy and recreate setDataTable
676+ if ( setDataTable ) {
677+ setDataTable . destroy ( ) ;
678+ }
656679 setDataTable = $ ( ".settable" ) . DataTable ( {
657680 select : $ ( '#filterby' ) . val ( ) == 'Sets'
658681 } ) ;
659-
660-
661- // userDataTable.draw();
662682 } ) ;
663683 } ) ;
664684
0 commit comments