@@ -78,23 +78,27 @@ export class Datagrid extends EventTarget {
7878 this . ajax . addEventListener ( "success" , ( { detail : { payload} } ) => {
7979 // todo: maybe move?
8080 if ( payload . _datagrid_name && payload . _datagrid_name === this . name ) {
81- this . el . querySelector < HTMLElement > ( "[data-datagrid-reset-filter-by-column]" )
82- ?. classList . add ( "hidden" ) ;
81+ const getColumnName = ( el : HTMLElement ) => el . getAttribute (
82+ "data-datagrid-reset-filter-by-column"
83+ )
8384
84- if ( payload . non_empty_filters && payload . non_empty_filters . length >= 1 ) {
85- const resets = Array . from < HTMLElement > ( this . el . querySelectorAll (
86- `[data-datagrid-reset-filter-by-column]`
87- ) ) ;
85+ const resets = Array . from < HTMLElement > ( this . el . querySelectorAll (
86+ `[data-datagrid-reset-filter-by-column]`
87+ ) ) ;
8888
89- const getColumnName = ( el : HTMLElement ) => el . getAttribute (
90- "data-datagrid-reset-filter-by-column"
91- )
89+ const nonEmptyFilters = payload . non_empty_filters ? payload . non_empty_filters : [ ] as string [ ] ;
9290
93- /// tf?
94- for ( const columnName of payload . non_empty_filters ) {
95- resets . find ( getColumnName ) ?. classList . remove ( "hidden" ) ;
91+ resets . forEach ( ( el ) => {
92+ const columnName = getColumnName ( el ) ;
93+
94+ if ( columnName && nonEmptyFilters . includes ( columnName ) ) {
95+ el . classList . remove ( "hidden" ) ;
96+ } else {
97+ el . classList . add ( "hidden" ) ;
9698 }
99+ } ) ;
97100
101+ if ( nonEmptyFilters . length > 0 ) {
98102 const href = this . el . querySelector ( ".reset-filter" )
99103 ?. getAttribute ( "href" ) ;
100104
0 commit comments