@linzjs/step-ag-grid 30.0.0 → 30.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/gridFilter/GridFilterColumnsMultiSelect.d.ts +4 -0
- package/dist/step-ag-grid.cjs +27 -0
- package/dist/step-ag-grid.cjs.map +1 -1
- package/dist/step-ag-grid.esm.js +27 -0
- package/dist/step-ag-grid.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/gridFilter/GridFilterColumnsMultiSelect.tsx +30 -2
- package/src/stories/grid/GridFilterColumnsMultiSelect.stories.tsx +5 -1
|
@@ -16,9 +16,13 @@ export declare class GridFilterColumnsMultiSelect implements IFilterComp {
|
|
|
16
16
|
private gui;
|
|
17
17
|
private labelFormatter?;
|
|
18
18
|
private reactRoot;
|
|
19
|
+
private filterButtonClickListener;
|
|
20
|
+
private filterButton;
|
|
21
|
+
private hasOpened;
|
|
19
22
|
private normalizeCellValue;
|
|
20
23
|
private loadFieldValues;
|
|
21
24
|
init(params: CheckboxMultiFilterParams): void;
|
|
25
|
+
private setupFilterButtonListener;
|
|
22
26
|
private render;
|
|
23
27
|
private handleToggleAll;
|
|
24
28
|
private handleToggleOne;
|
package/dist/step-ag-grid.cjs
CHANGED
|
@@ -62084,6 +62084,9 @@ class GridFilterColumnsMultiSelect {
|
|
|
62084
62084
|
gui;
|
|
62085
62085
|
labelFormatter;
|
|
62086
62086
|
reactRoot = null;
|
|
62087
|
+
filterButtonClickListener = null;
|
|
62088
|
+
filterButton = null;
|
|
62089
|
+
hasOpened = false;
|
|
62087
62090
|
normalizeCellValue(value) {
|
|
62088
62091
|
if (typeof value === 'string')
|
|
62089
62092
|
return value.trim() === '' ? EMPTY_KEY : value;
|
|
@@ -62126,6 +62129,25 @@ class GridFilterColumnsMultiSelect {
|
|
|
62126
62129
|
this.gui = document.createElement('div');
|
|
62127
62130
|
this.reactRoot = client.createRoot(this.gui);
|
|
62128
62131
|
this.render();
|
|
62132
|
+
this.setupFilterButtonListener();
|
|
62133
|
+
}
|
|
62134
|
+
setupFilterButtonListener() {
|
|
62135
|
+
const columnId = this.params.column.getColId();
|
|
62136
|
+
this.filterButton = document.querySelector(`[col-id="${columnId}"] .ag-header-cell-filter-button`);
|
|
62137
|
+
if (this.filterButton) {
|
|
62138
|
+
this.filterButtonClickListener = (e) => {
|
|
62139
|
+
if (this.hasOpened) {
|
|
62140
|
+
e.stopPropagation();
|
|
62141
|
+
e.preventDefault();
|
|
62142
|
+
this.params.api.hidePopupMenu();
|
|
62143
|
+
this.hasOpened = false;
|
|
62144
|
+
}
|
|
62145
|
+
else {
|
|
62146
|
+
this.hasOpened = true;
|
|
62147
|
+
}
|
|
62148
|
+
};
|
|
62149
|
+
this.filterButton.addEventListener('click', this.filterButtonClickListener, true);
|
|
62150
|
+
}
|
|
62129
62151
|
}
|
|
62130
62152
|
render() {
|
|
62131
62153
|
if (!this.reactRoot)
|
|
@@ -62181,6 +62203,11 @@ class GridFilterColumnsMultiSelect {
|
|
|
62181
62203
|
this.render();
|
|
62182
62204
|
}
|
|
62183
62205
|
destroy() {
|
|
62206
|
+
if (this.filterButtonClickListener && this.filterButton) {
|
|
62207
|
+
this.filterButton.removeEventListener('click', this.filterButtonClickListener, true);
|
|
62208
|
+
this.filterButtonClickListener = null;
|
|
62209
|
+
this.filterButton = null;
|
|
62210
|
+
}
|
|
62184
62211
|
if (this.reactRoot) {
|
|
62185
62212
|
this.reactRoot.unmount();
|
|
62186
62213
|
this.reactRoot = null;
|