Skip to content

Commit f6708dc

Browse files
loivseniOvergaard
authored andcommitted
Bugfix: Templating Query Builder
1 parent 8fe0aa2 commit f6708dc

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/packages/templating/templates/modals/query-builder/query-builder-filter.element.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ export class UmbTemplateQueryBuilderFilterElement extends UmbLitElement {
5151

5252
#resetFilter() {
5353
this.filter = <TemplateQueryExecuteFilterPresentationModel>{};
54+
this.dispatchEvent(new Event('remove-filter'));
5455
}
5556

5657
#removeOrReset() {

src/packages/templating/templates/modals/query-builder/query-builder-modal.element.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,19 @@ export default class UmbTemplateQueryBuilderModalElement extends UmbModalBaseEle
167167
};
168168

169169
#updateFilters = () => {
170-
this.#updateQueryRequest({ filters: Array.from(this._filterElements)?.map((filter) => filter.filter) ?? [] });
170+
// Only use the filter from elements that have everything set
171+
const ready = Array.from(this._filterElements)?.filter((element) => element.isFilterValid);
172+
this.#updateQueryRequest({ filters: ready?.map((element) => element.filter) ?? [] });
171173
};
172174

173175
#removeFilter = (event: Event) => {
174-
const target = event.target as UmbTemplateQueryBuilderFilterElement;
175-
this._filterContainer?.removeChild(target);
176+
if (this._filterElements.length > 1) {
177+
const target = event.target as UmbTemplateQueryBuilderFilterElement;
178+
this._filterContainer?.removeChild(target);
179+
if (this._filterElements.length === 1) {
180+
this._filterElements[0].unremovable = true;
181+
}
182+
}
176183
this.#updateFilters();
177184
};
178185

0 commit comments

Comments
 (0)