Skip to content

Commit e48533e

Browse files
vsillikVojtěch Sillik
andauthored
Reset filter buttons (#1165)
Co-authored-by: Vojtěch Sillik <vojtech.sillik@logmanager.com>
1 parent dd6a3dc commit e48533e

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

assets/datagrid.ts

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)