@linzjs/step-ag-grid 29.14.1 → 29.16.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/Grid.d.ts +2 -1
- package/dist/src/components/gridFilter/GridFilterColumnsMultiSelect.d.ts +2 -1
- package/dist/step-ag-grid.cjs +23 -8
- package/dist/step-ag-grid.cjs.map +1 -1
- package/dist/step-ag-grid.esm.js +23 -8
- package/dist/step-ag-grid.esm.js.map +1 -1
- package/package.json +22 -25
- package/src/components/Grid.tsx +3 -0
- package/src/components/gridFilter/GridFilterColumnsMultiSelect.tsx +23 -4
- package/src/stories/grid/GridCopy.stories.tsx +1 -12
- package/src/stories/grid/GridFilterColumnsMultiSelect.stories.tsx +9 -5
package/dist/step-ag-grid.esm.js
CHANGED
|
@@ -3257,7 +3257,7 @@ defaultPostSort = true, rowData, rowHeight = theme === 'ag-theme-step-default' ?
|
|
|
3257
3257
|
// ─── Selection ────────────────────────────────
|
|
3258
3258
|
autoSelectFirstRow, enableRangeSelection = false, externalSelectedIds, externalSelectedItems, selectColumnPinned = 'left', selectable, setExternalSelectedIds, setExternalSelectedItems,
|
|
3259
3259
|
// ─── Editing ──────────────────────────────────
|
|
3260
|
-
singleClickEdit = false,
|
|
3260
|
+
singleClickEdit = false, stopEditingWhenCellsLoseFocus = false,
|
|
3261
3261
|
// ─── Context Menu ─────────────────────────────
|
|
3262
3262
|
contextMenuSelectRow = false, contextMenu,
|
|
3263
3263
|
// ─── Callbacks / Events ───────────────────────
|
|
@@ -3971,7 +3971,7 @@ maxInitialWidth,
|
|
|
3971
3971
|
headerCheckbox: false,
|
|
3972
3972
|
}),
|
|
3973
3973
|
}
|
|
3974
|
-
: undefined, selectionColumnDef: selectionColumnDef, suppressCellFocus: params.suppressCellFocus, suppressClickEdit: true, suppressColumnVirtualisation: suppressColumnVirtualization, suppressStartEditOnTab: true }) })] }));
|
|
3974
|
+
: undefined, stopEditingWhenCellsLoseFocus: stopEditingWhenCellsLoseFocus, selectionColumnDef: selectionColumnDef, suppressCellFocus: params.suppressCellFocus, suppressClickEdit: true, suppressColumnVirtualisation: suppressColumnVirtualization, suppressStartEditOnTab: true }) })] }));
|
|
3975
3975
|
};
|
|
3976
3976
|
const quickFilterParser = (filterStr) => {
|
|
3977
3977
|
// filter is exact matches exactly groups separated by commas
|
|
@@ -4247,10 +4247,18 @@ class GridFilterColumnsMultiSelect {
|
|
|
4247
4247
|
const norm = this.normalizeCellValue(raw);
|
|
4248
4248
|
values.add(norm);
|
|
4249
4249
|
});
|
|
4250
|
+
const { customOrder } = this.params;
|
|
4251
|
+
const orderMap = customOrder?.length ? new Map(customOrder.map((val, idx) => [val, idx])) : null;
|
|
4250
4252
|
return Array.from(values).sort((a, b) => {
|
|
4251
|
-
if (
|
|
4252
|
-
|
|
4253
|
-
|
|
4253
|
+
if (orderMap) {
|
|
4254
|
+
const aIdx = orderMap.get(a) ?? Infinity;
|
|
4255
|
+
const bIdx = orderMap.get(b) ?? Infinity;
|
|
4256
|
+
if (aIdx !== bIdx)
|
|
4257
|
+
return aIdx - bIdx;
|
|
4258
|
+
}
|
|
4259
|
+
if (a === EMPTY_KEY)
|
|
4260
|
+
return b === EMPTY_KEY ? 0 : -1;
|
|
4261
|
+
if (b === EMPTY_KEY)
|
|
4254
4262
|
return 1;
|
|
4255
4263
|
return a.localeCompare(b);
|
|
4256
4264
|
});
|
|
@@ -4297,9 +4305,12 @@ class GridFilterColumnsMultiSelect {
|
|
|
4297
4305
|
return this.gui;
|
|
4298
4306
|
}
|
|
4299
4307
|
isFilterActive() {
|
|
4300
|
-
return this.selectedValues.size
|
|
4308
|
+
return this.selectedValues.size !== this.allValues.length;
|
|
4301
4309
|
}
|
|
4302
4310
|
doesFilterPass(p) {
|
|
4311
|
+
if (this.selectedValues.size === 0) {
|
|
4312
|
+
return false;
|
|
4313
|
+
}
|
|
4303
4314
|
const field = this.params.colDef.field;
|
|
4304
4315
|
if (!p.data || typeof p.data !== 'object') {
|
|
4305
4316
|
return this.selectedValues.has(EMPTY_KEY);
|
|
@@ -4309,7 +4320,10 @@ class GridFilterColumnsMultiSelect {
|
|
|
4309
4320
|
return this.selectedValues.has(norm);
|
|
4310
4321
|
}
|
|
4311
4322
|
getModel() {
|
|
4312
|
-
|
|
4323
|
+
if (this.selectedValues.size !== this.allValues.length) {
|
|
4324
|
+
return { values: Array.from(this.selectedValues) };
|
|
4325
|
+
}
|
|
4326
|
+
return null;
|
|
4313
4327
|
}
|
|
4314
4328
|
setModel(model) {
|
|
4315
4329
|
this.selectedValues = new Set(model?.values || []);
|
|
@@ -4322,9 +4336,10 @@ class GridFilterColumnsMultiSelect {
|
|
|
4322
4336
|
}
|
|
4323
4337
|
}
|
|
4324
4338
|
}
|
|
4325
|
-
const createCheckboxMultiFilterParams = (labels = {}, labelFormatter) => ({
|
|
4339
|
+
const createCheckboxMultiFilterParams = (labels = {}, labelFormatter, customOrder) => ({
|
|
4326
4340
|
labels: { [EMPTY_KEY]: DEFAULT_EMPTY_LABEL, ...labels },
|
|
4327
4341
|
labelFormatter,
|
|
4342
|
+
customOrder,
|
|
4328
4343
|
});
|
|
4329
4344
|
|
|
4330
4345
|
const GridFilterHeaderIconButton = forwardRef(function columnsButton({ icon, title, onClick, buttonProps, disabled = false, size = 'md' }, ref) {
|