slick-table 1.1.73 → 1.1.75

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.
Files changed (23) hide show
  1. package/dist/index.cjs.js +73 -73
  2. package/dist/index.es.js +2947 -2922
  3. package/dist/types/shared/lib/localStrore/model/classes/ColumnWidths.d.ts +8 -0
  4. package/dist/types/shared/lib/localStrore/model/classes/ColumnWidths.d.ts.map +1 -0
  5. package/dist/types/shared/lib/localStrore/model/classes/index.d.ts +1 -0
  6. package/dist/types/shared/lib/localStrore/model/classes/index.d.ts.map +1 -1
  7. package/dist/types/shared/lib/localStrore/model/enums/EStorageKey.d.ts +1 -0
  8. package/dist/types/shared/lib/localStrore/model/enums/EStorageKey.d.ts.map +1 -1
  9. package/dist/types/shared/lib/localStrore/model/localStore.d.ts +2 -1
  10. package/dist/types/shared/lib/localStrore/model/localStore.d.ts.map +1 -1
  11. package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/getOnColumnResized.d.ts +3 -0
  12. package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/getOnColumnResized.d.ts.map +1 -0
  13. package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/index.d.ts +1 -0
  14. package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/index.d.ts.map +1 -1
  15. package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/useGrid.d.ts.map +1 -1
  16. package/package.json +1 -1
  17. package/src/shared/lib/localStrore/model/classes/ColumnWidths.ts +21 -0
  18. package/src/shared/lib/localStrore/model/classes/index.ts +1 -0
  19. package/src/shared/lib/localStrore/model/enums/EStorageKey.ts +1 -0
  20. package/src/shared/lib/localStrore/model/localStore.ts +2 -1
  21. package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/getOnColumnResized.ts +19 -0
  22. package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/callbacks/index.ts +1 -0
  23. package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/useGrid.ts +11 -3
@@ -0,0 +1,8 @@
1
+ export declare class ColumnWidths {
2
+ get(tableId: string): TColumnWidths;
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;IAInC,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,4 +1,5 @@
1
1
  export { ColumnFilters } from './ColumnFilters';
2
+ export { ColumnWidths } from './ColumnWidths';
2
3
  export { HiddenColumns } from './HiddenColumns';
3
4
  export { Sorting } from './Sorting';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -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,5 +1,6 @@
1
1
  export declare enum EStorageKey {
2
2
  columnFilters = "column-filters",
3
+ columnWidths = "column-widths",
3
4
  hiddenColumnIds = "hidden-column-ids",
4
5
  slickTable = "slick-table",
5
6
  sorting = "sorting"
@@ -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;AAElE,cAAM,UAAU;IACf,aAAa,gBAAuB;IACpC,aAAa,gBAAuB;IACpC,OAAO,UAAiB;CACxB;AAED,eAAO,MAAM,UAAU,YAAmB,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"}
@@ -0,0 +1,3 @@
1
+ import { Handler, OnColumnsResizedEventArgs } from 'slickgrid';
2
+ export declare function getOnColumnResized(tableId: string): Handler<OnColumnsResizedEventArgs>;
3
+ //# sourceMappingURL=getOnColumnResized.d.ts.map
@@ -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,2 +1,3 @@
1
+ export { getOnColumnResized } from './getOnColumnResized';
1
2
  export { onAddNewRow } from './onAddNewRow';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAYnB,OAAO,EAAE,KAAK,EAAkB,MAAM,aAAa,CAAC;AAEpD,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,QA2HA"}
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,QAiIA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slick-table",
3
- "version": "1.1.73",
3
+ "version": "1.1.75",
4
4
  "description": "Enhanced version of SlickGrid library",
5
5
  "private": false,
6
6
  "type": "module",
@@ -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 {
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,3 +1,4 @@
1
1
  export { ColumnFilters } from "./ColumnFilters";
2
+ export { ColumnWidths } from "./ColumnWidths";
2
3
  export { HiddenColumns } from "./HiddenColumns";
3
4
  export { Sorting } from "./Sorting";
@@ -1,5 +1,6 @@
1
1
  export enum EStorageKey {
2
2
  columnFilters = "column-filters",
3
+ columnWidths = "column-widths",
3
4
  hiddenColumnIds = "hidden-column-ids",
4
5
  slickTable = "slick-table",
5
6
  sorting = "sorting",
@@ -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
+ }
@@ -1 +1,2 @@
1
+ export { getOnColumnResized } from "./getOnColumnResized";
1
2
  export { onAddNewRow } from "./onAddNewRow";
@@ -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,21 @@ export function useGrid({
139
142
  const grid = table.grid;
140
143
  if (!grid) return;
141
144
  if (!columns.length) return;
142
- if (columns[0].id === CHECKBOX_SELECTOR) {
145
+ const columnWidths = localStore.columnWidths.get(table.id);
146
+ const columnsWithRestoredWidth = columns.map((column) => ({
147
+ ...column,
148
+ width: columnWidths[column.id] || column.width,
149
+ }));
150
+ if (columnsWithRestoredWidth[0].id === CHECKBOX_SELECTOR) {
143
151
  const checkboxSelector = new SlickCheckboxSelectColumn();
144
152
  grid.setColumns([
145
153
  // @ts-ignore
146
154
  { ...checkboxSelector.getColumnDefinition(), focusable: false },
147
- ...columns.slice(1),
155
+ ...columnsWithRestoredWidth.slice(1),
148
156
  ]);
149
157
  grid.registerPlugin(checkboxSelector);
150
158
  } else {
151
- grid.setColumns(columns);
159
+ grid.setColumns(columnsWithRestoredWidth);
152
160
  }
153
161
  if (table.columnPicker) {
154
162
  table.columnPicker.setInitialColumns(grid.getColumns(), table.id);