@@ -822,6 +822,55 @@ TableTmpComp = withMethodExposing(TableTmpComp, [
822
822
}
823
823
} ,
824
824
}
825
+ ,
826
+ {
827
+ method : {
828
+ name : "hideColumns" ,
829
+ description : "Hide specified columns by dataIndex or title" ,
830
+ params : [
831
+ { name : "columns" , type : "arrayString" } ,
832
+ ] ,
833
+ } ,
834
+ execute : ( comp , values ) => {
835
+ const columns = values [ 0 ] ;
836
+ if ( ! isArray ( columns ) ) {
837
+ return Promise . reject ( "hideColumns expects an array of strings, e.g. ['id','name']" ) ;
838
+ }
839
+ const targets = new Set ( ( columns as any [ ] ) . map ( ( c ) => String ( c ) ) ) ;
840
+ comp . children . columns . getView ( ) . forEach ( ( c ) => {
841
+ const view = c . getView ( ) ;
842
+ if ( targets . has ( view . dataIndex ) || targets . has ( view . title ) ) {
843
+ // Ensure both persistent and temporary flags are updated
844
+ c . children . hide . dispatchChangeValueAction ( true ) ;
845
+ c . children . tempHide . dispatchChangeValueAction ( true ) ;
846
+ }
847
+ } ) ;
848
+ } ,
849
+ }
850
+ ,
851
+ {
852
+ method : {
853
+ name : "showColumns" ,
854
+ description : "Show specified columns by dataIndex or title" ,
855
+ params : [
856
+ { name : "columns" , type : "arrayString" } ,
857
+ ] ,
858
+ } ,
859
+ execute : ( comp , values ) => {
860
+ const columns = values [ 0 ] ;
861
+ if ( ! isArray ( columns ) ) {
862
+ return Promise . reject ( "showColumns expects an array of strings, e.g. ['id','name']" ) ;
863
+ }
864
+ const targets = new Set ( ( columns as any [ ] ) . map ( ( c ) => String ( c ) ) ) ;
865
+ comp . children . columns . getView ( ) . forEach ( ( c ) => {
866
+ const view = c . getView ( ) ;
867
+ if ( targets . has ( view . dataIndex ) || targets . has ( view . title ) ) {
868
+ c . children . hide . dispatchChangeValueAction ( false ) ;
869
+ c . children . tempHide . dispatchChangeValueAction ( false ) ;
870
+ }
871
+ } ) ;
872
+ } ,
873
+ }
825
874
] ) ;
826
875
827
876
// exposing data
@@ -1052,6 +1101,30 @@ export const TableComp = withExposingConfigs(TableTmpComp, [
1052
1101
} ,
1053
1102
trans ( "table.displayDataDesc" )
1054
1103
) ,
1104
+ new CompDepsConfig (
1105
+ "hiddenColumns" ,
1106
+ ( comp ) => {
1107
+ return {
1108
+ dataIndexes : comp . children . columns . getColumnsNode ( "dataIndex" ) ,
1109
+ hides : comp . children . columns . getColumnsNode ( "hide" ) ,
1110
+ tempHides : comp . children . columns . getColumnsNode ( "tempHide" ) ,
1111
+ columnSetting : comp . children . toolbar . children . columnSetting . node ( ) ,
1112
+ } ;
1113
+ } ,
1114
+ ( input ) => {
1115
+ const hidden : string [ ] = [ ] ;
1116
+ _ . forEach ( input . dataIndexes , ( dataIndex , idx ) => {
1117
+ const isHidden = columnHide ( {
1118
+ hide : input . hides [ idx ] . value ,
1119
+ tempHide : input . tempHides [ idx ] ,
1120
+ enableColumnSetting : input . columnSetting . value ,
1121
+ } ) ;
1122
+ if ( isHidden ) hidden . push ( dataIndex ) ;
1123
+ } ) ;
1124
+ return hidden ;
1125
+ } ,
1126
+ trans ( "table.displayDataDesc" )
1127
+ ) ,
1055
1128
new DepsConfig (
1056
1129
"filter" ,
1057
1130
( children ) => {
0 commit comments