Skip to content

Commit 1cc5bad

Browse files
committed
fix: update setListFilter to modify existing filters instead of throwing an error
1 parent ea0633a commit 1cc5bad

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

adminforth/spa/src/adminforth.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,21 @@ class FrontendAPI implements FrontendAPIInterface {
126126

127127
setListFilter(filter: FilterParams): void {
128128
if(this.listFilterValidation(filter)){
129-
if(this.filtersStore.filters.some((f: any) => {return f.field === filter.field && f.operator === filter.operator})){
130-
throw new Error(`Filter ${filter.field} with operator ${filter.operator} already exists`)
129+
const existingFilterIndex = this.filtersStore.filters.findIndex((f: any) => {
130+
return f.field === filter.field && f.operator === filter.operator
131+
});
132+
133+
if(existingFilterIndex !== -1){
134+
// Update existing filter instead of throwing error
135+
const filters = [...this.filtersStore.filters];
136+
if (filter.value === undefined) {
137+
filters.splice(existingFilterIndex, 1);
138+
} else {
139+
filters[existingFilterIndex] = filter;
140+
}
141+
this.filtersStore.setFilters(filters);
131142
} else {
132-
this.filtersStore.setFilter(filter)
143+
this.filtersStore.setFilter(filter);
133144
}
134145
}
135146
}

0 commit comments

Comments
 (0)