slick-table 1.1.74 → 1.1.76
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/index.cjs.js +73 -73
- package/dist/index.es.js +2947 -2922
- package/dist/types/shared/lib/localStrore/model/classes/ColumnWidths.d.ts +8 -0
- package/dist/types/shared/lib/localStrore/model/classes/ColumnWidths.d.ts.map +1 -0
- package/dist/types/shared/lib/localStrore/model/classes/index.d.ts +1 -0
- package/dist/types/shared/lib/localStrore/model/classes/index.d.ts.map +1 -1
- package/dist/types/shared/lib/localStrore/model/enums/EStorageKey.d.ts +1 -0
- package/dist/types/shared/lib/localStrore/model/enums/EStorageKey.d.ts.map +1 -1
- package/dist/types/shared/lib/localStrore/model/localStore.d.ts +2 -1
- package/dist/types/shared/lib/localStrore/model/localStore.d.ts.map +1 -1
- package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/getOnColumnResized.d.ts +3 -0
- package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/getOnColumnResized.d.ts.map +1 -0
- package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/index.d.ts +1 -0
- package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/index.d.ts.map +1 -1
- package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/useGrid.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/shared/lib/localStrore/model/classes/ColumnWidths.ts +21 -0
- package/src/shared/lib/localStrore/model/classes/index.ts +1 -0
- package/src/shared/lib/localStrore/model/enums/EStorageKey.ts +1 -0
- package/src/shared/lib/localStrore/model/localStore.ts +2 -1
- package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/getOnColumnResized.ts +19 -0
- package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/index.ts +1 -0
- package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/useGrid.ts +13 -3
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class ColumnWidths {
|
|
2
|
+
get(tableId: string): TColumnWidths | undefined;
|
|
3
|
+
reset(tableId: string): void;
|
|
4
|
+
set(tableId: string, columnWidths: TColumnWidths): void;
|
|
5
|
+
}
|
|
6
|
+
type TColumnWidths = Record<string | number, number | undefined>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=ColumnWidths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnWidths.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/lib/localStrore/model/classes/ColumnWidths.ts"],"names":[],"mappings":"AAGA,qBAAa,YAAY;IACxB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI/C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK5B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,GAAG,IAAI;CAKvD;AAED,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/lib/localStrore/model/classes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/lib/localStrore/model/classes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EStorageKey.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/lib/localStrore/model/enums/EStorageKey.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACtB,aAAa,mBAAmB;IAChC,eAAe,sBAAsB;IACrC,UAAU,gBAAgB;IAC1B,OAAO,YAAY;CACnB"}
|
|
1
|
+
{"version":3,"file":"EStorageKey.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/lib/localStrore/model/enums/EStorageKey.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACtB,aAAa,mBAAmB;IAChC,YAAY,kBAAkB;IAC9B,eAAe,sBAAsB;IACrC,UAAU,gBAAgB;IAC1B,OAAO,YAAY;CACnB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ColumnFilters, HiddenColumns, Sorting } from './classes';
|
|
1
|
+
import { ColumnFilters, ColumnWidths, HiddenColumns, Sorting } from './classes';
|
|
2
2
|
declare class LocalStore {
|
|
3
3
|
columnFilters: ColumnFilters;
|
|
4
|
+
columnWidths: ColumnWidths;
|
|
4
5
|
hiddenColumns: HiddenColumns;
|
|
5
6
|
sorting: Sorting;
|
|
6
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localStore.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/lib/localStrore/model/localStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"localStore.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/lib/localStrore/model/localStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhF,cAAM,UAAU;IACf,aAAa,gBAAuB;IACpC,YAAY,eAAsB;IAClC,aAAa,gBAAuB;IACpC,OAAO,UAAiB;CACxB;AAED,eAAO,MAAM,UAAU,YAAmB,CAAC"}
|
package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/getOnColumnResized.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOnColumnResized.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/getOnColumnResized.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAI/D,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,CAAC,CAYpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGrid.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/useGrid.ts"],"names":[],"mappings":"AACA,OAAO,EACN,OAAO,EACP,oBAAoB,EACpB,qBAAqB,EAOrB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"useGrid.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/useGrid.ts"],"names":[],"mappings":"AACA,OAAO,EACN,OAAO,EACP,oBAAoB,EACpB,qBAAqB,EAOrB,MAAM,WAAW,CAAC;AAanB,OAAO,EAAE,KAAK,EAAkB,MAAM,aAAa,CAAC;AAGpD,wBAAgB,OAAO,CAAC,EACvB,aAAiC,EACjC,kBAAkB,EAClB,SAAiB,EACjB,YAAqB,EACrB,OAAO,EACP,eAAe,EACf,MAAM,EACN,cAAqB,EACrB,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,iBAAkC,EAClC,qBAAqB,EACrB,OAAY,EACZ,KAAK,GACL,EAAE,KAAK,GAAG;IACV,WAAW,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC7C,QAmIA"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { getFromStorage, updateStorage } from "../../lib";
|
|
2
|
+
import { EStorageKey } from "../enums";
|
|
3
|
+
|
|
4
|
+
export class ColumnWidths {
|
|
5
|
+
get(tableId: string): TColumnWidths | undefined {
|
|
6
|
+
const columnFilters = getFromStorage(EStorageKey.columnWidths);
|
|
7
|
+
return columnFilters[tableId];
|
|
8
|
+
}
|
|
9
|
+
reset(tableId: string): void {
|
|
10
|
+
const columnFilters = getFromStorage(EStorageKey.columnWidths);
|
|
11
|
+
columnFilters[tableId] = undefined;
|
|
12
|
+
updateStorage(EStorageKey.columnWidths, columnFilters);
|
|
13
|
+
}
|
|
14
|
+
set(tableId: string, columnWidths: TColumnWidths): void {
|
|
15
|
+
const columnFilters = getFromStorage(EStorageKey.columnWidths);
|
|
16
|
+
columnFilters[tableId] = columnWidths;
|
|
17
|
+
updateStorage(EStorageKey.columnWidths, columnFilters);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
type TColumnWidths = Record<string | number, number | undefined>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { ColumnFilters, HiddenColumns, Sorting } from "./classes";
|
|
1
|
+
import { ColumnFilters, ColumnWidths, HiddenColumns, Sorting } from "./classes";
|
|
2
2
|
|
|
3
3
|
class LocalStore {
|
|
4
4
|
columnFilters = new ColumnFilters();
|
|
5
|
+
columnWidths = new ColumnWidths();
|
|
5
6
|
hiddenColumns = new HiddenColumns();
|
|
6
7
|
sorting = new Sorting();
|
|
7
8
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Handler, OnColumnsResizedEventArgs } from "slickgrid";
|
|
2
|
+
|
|
3
|
+
import { localStore } from "shared/lib/localStrore";
|
|
4
|
+
|
|
5
|
+
export function getOnColumnResized(
|
|
6
|
+
tableId: string,
|
|
7
|
+
): Handler<OnColumnsResizedEventArgs> {
|
|
8
|
+
return function onColumnResized(_event, { grid }) {
|
|
9
|
+
const columns = grid.getColumns();
|
|
10
|
+
const widths = columns.reduce(
|
|
11
|
+
(acc: Record<string | number, number | undefined>, { id, width }) => {
|
|
12
|
+
acc[id] = width;
|
|
13
|
+
return acc;
|
|
14
|
+
},
|
|
15
|
+
{},
|
|
16
|
+
);
|
|
17
|
+
localStore.columnWidths.set(tableId, widths);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
SlickDataView as SlickgridDataView,
|
|
12
12
|
} from "slickgrid";
|
|
13
13
|
|
|
14
|
+
import { localStore } from "shared/lib/localStrore";
|
|
14
15
|
import { CHECKBOX_SELECTOR } from "shared/model/consts";
|
|
15
16
|
|
|
16
17
|
import {
|
|
@@ -22,6 +23,7 @@ import {
|
|
|
22
23
|
} from "../../../../lib";
|
|
23
24
|
import { handleHeaderButtons, headerButtons } from "../../../HeaderButtons";
|
|
24
25
|
import { Props, defaultOptions } from "../../model";
|
|
26
|
+
import { getOnColumnResized } from "../callbacks";
|
|
25
27
|
|
|
26
28
|
export function useGrid({
|
|
27
29
|
SlickDataView = SlickgridDataView,
|
|
@@ -85,6 +87,7 @@ export function useGrid({
|
|
|
85
87
|
onClick && grid.onClick.subscribe(onClick);
|
|
86
88
|
onDblClick && grid.onDblClick.subscribe(onDblClick);
|
|
87
89
|
grid.onSort.subscribe(columnSorter.getSortFunction(table.id));
|
|
90
|
+
grid.onColumnsResized.subscribe(getOnColumnResized(table.id));
|
|
88
91
|
grid.onContextMenu.subscribe(openContextMenu(table));
|
|
89
92
|
table.columnPicker &&
|
|
90
93
|
grid.onHeaderContextMenu.subscribe(openHeaderContextMenu(table));
|
|
@@ -139,16 +142,23 @@ export function useGrid({
|
|
|
139
142
|
const grid = table.grid;
|
|
140
143
|
if (!grid) return;
|
|
141
144
|
if (!columns.length) return;
|
|
142
|
-
|
|
145
|
+
const columnWidths = localStore.columnWidths.get(table.id);
|
|
146
|
+
const columnsWithRestoredWidth = columnWidths
|
|
147
|
+
? columns.map((column) => ({
|
|
148
|
+
...column,
|
|
149
|
+
width: columnWidths[column.id] || column.width,
|
|
150
|
+
}))
|
|
151
|
+
: columns;
|
|
152
|
+
if (columnsWithRestoredWidth[0].id === CHECKBOX_SELECTOR) {
|
|
143
153
|
const checkboxSelector = new SlickCheckboxSelectColumn();
|
|
144
154
|
grid.setColumns([
|
|
145
155
|
// @ts-ignore
|
|
146
156
|
{ ...checkboxSelector.getColumnDefinition(), focusable: false },
|
|
147
|
-
...
|
|
157
|
+
...columnsWithRestoredWidth.slice(1),
|
|
148
158
|
]);
|
|
149
159
|
grid.registerPlugin(checkboxSelector);
|
|
150
160
|
} else {
|
|
151
|
-
grid.setColumns(
|
|
161
|
+
grid.setColumns(columnsWithRestoredWidth);
|
|
152
162
|
}
|
|
153
163
|
if (table.columnPicker) {
|
|
154
164
|
table.columnPicker.setInitialColumns(grid.getColumns(), table.id);
|