slick-table 1.1.67 → 1.1.69

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 (68) hide show
  1. package/dist/index.cjs.js +88 -88
  2. package/dist/index.es.js +4274 -4221
  3. package/dist/types/features/header-context-menu/lib/index.d.ts +1 -1
  4. package/dist/types/features/header-context-menu/lib/index.d.ts.map +1 -1
  5. package/dist/types/features/header-context-menu/lib/visibility/getHidableColumnIds.d.ts +3 -0
  6. package/dist/types/features/header-context-menu/lib/visibility/getHidableColumnIds.d.ts.map +1 -0
  7. package/dist/types/features/header-context-menu/lib/visibility/hideColumns.d.ts +1 -1
  8. package/dist/types/features/header-context-menu/lib/visibility/hideColumns.d.ts.map +1 -1
  9. package/dist/types/features/header-context-menu/lib/visibility/index.d.ts +1 -0
  10. package/dist/types/features/header-context-menu/lib/visibility/index.d.ts.map +1 -1
  11. package/dist/types/features/header-context-menu/ui/ButtonCheckAll/ButtonCheckAll.d.ts +1 -1
  12. package/dist/types/features/header-context-menu/ui/ButtonCheckAll/ButtonCheckAll.d.ts.map +1 -1
  13. package/dist/types/features/header-context-menu/ui/ButtonUncheckAll/ButtonUncheckAll.d.ts +1 -2
  14. package/dist/types/features/header-context-menu/ui/ButtonUncheckAll/ButtonUncheckAll.d.ts.map +1 -1
  15. package/dist/types/features/header-context-menu/ui/HeaderContextMenu.d.ts.map +1 -1
  16. package/dist/types/features/header-context-menu/ui/Item/Item.d.ts +2 -2
  17. package/dist/types/features/header-context-menu/ui/Item/Item.d.ts.map +1 -1
  18. package/dist/types/index.d.ts +1 -1
  19. package/dist/types/index.d.ts.map +1 -1
  20. package/dist/types/shared/lib/localStrore/lib/getFromStorage.d.ts +4 -0
  21. package/dist/types/shared/lib/localStrore/lib/getFromStorage.d.ts.map +1 -0
  22. package/dist/types/shared/lib/localStrore/lib/index.d.ts +2 -2
  23. package/dist/types/shared/lib/localStrore/lib/index.d.ts.map +1 -1
  24. package/dist/types/shared/lib/localStrore/lib/updateStorage.d.ts +4 -0
  25. package/dist/types/shared/lib/localStrore/lib/updateStorage.d.ts.map +1 -0
  26. package/dist/types/shared/lib/localStrore/model/classes/HiddenColumns.d.ts +5 -0
  27. package/dist/types/shared/lib/localStrore/model/classes/HiddenColumns.d.ts.map +1 -0
  28. package/dist/types/shared/lib/localStrore/model/classes/Sorting.d.ts +7 -0
  29. package/dist/types/shared/lib/localStrore/model/classes/Sorting.d.ts.map +1 -0
  30. package/dist/types/shared/lib/localStrore/model/classes/index.d.ts +3 -0
  31. package/dist/types/shared/lib/localStrore/model/classes/index.d.ts.map +1 -0
  32. package/dist/types/shared/lib/localStrore/model/enums/EStorageKey.d.ts +1 -0
  33. package/dist/types/shared/lib/localStrore/model/enums/EStorageKey.d.ts.map +1 -1
  34. package/dist/types/shared/lib/localStrore/model/localStore.d.ts +3 -4
  35. package/dist/types/shared/lib/localStrore/model/localStore.d.ts.map +1 -1
  36. package/dist/types/shared/lib/slickgrid/model/SlickTable/column-picker/ColumnPicker.d.ts +5 -11
  37. package/dist/types/shared/lib/slickgrid/model/SlickTable/column-picker/ColumnPicker.d.ts.map +1 -1
  38. package/dist/types/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/useGrid.d.ts.map +1 -1
  39. package/dist/types/shared/model/types/IColumnPicker.d.ts +3 -2
  40. package/dist/types/shared/model/types/IColumnPicker.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/src/features/header-context-menu/lib/index.ts +1 -1
  43. package/src/features/header-context-menu/lib/visibility/getHidableColumnIds.ts +8 -0
  44. package/src/features/header-context-menu/lib/visibility/hideColumns.ts +5 -5
  45. package/src/features/header-context-menu/lib/visibility/index.ts +1 -0
  46. package/src/features/header-context-menu/ui/ButtonCheckAll/ButtonCheckAll.tsx +4 -11
  47. package/src/features/header-context-menu/ui/ButtonUncheckAll/ButtonUncheckAll.tsx +11 -9
  48. package/src/features/header-context-menu/ui/HeaderContextMenu.tsx +18 -26
  49. package/src/features/header-context-menu/ui/Item/Item.tsx +11 -11
  50. package/src/index.ts +2 -0
  51. package/src/shared/lib/localStrore/lib/getFromStorage.ts +8 -0
  52. package/src/shared/lib/localStrore/lib/index.ts +2 -2
  53. package/src/shared/lib/localStrore/lib/updateStorage.ts +11 -0
  54. package/src/shared/lib/localStrore/model/classes/HiddenColumns.ts +14 -0
  55. package/src/shared/lib/localStrore/model/classes/Sorting.ts +20 -0
  56. package/src/shared/lib/localStrore/model/classes/index.ts +2 -0
  57. package/src/shared/lib/localStrore/model/enums/EStorageKey.ts +1 -0
  58. package/src/shared/lib/localStrore/model/localStore.ts +3 -23
  59. package/src/shared/lib/slickgrid/lib/sorting/ColumnSorter.ts +3 -3
  60. package/src/shared/lib/slickgrid/model/SlickTable/column-picker/ColumnPicker.ts +13 -23
  61. package/src/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/useGrid.ts +2 -8
  62. package/src/shared/model/types/IColumnPicker.ts +3 -2
  63. package/dist/types/shared/lib/localStrore/lib/getSorting.d.ts +0 -3
  64. package/dist/types/shared/lib/localStrore/lib/getSorting.d.ts.map +0 -1
  65. package/dist/types/shared/lib/localStrore/lib/setSorting.d.ts +0 -3
  66. package/dist/types/shared/lib/localStrore/lib/setSorting.d.ts.map +0 -1
  67. package/src/shared/lib/localStrore/lib/getSorting.ts +0 -5
  68. package/src/shared/lib/localStrore/lib/setSorting.ts +0 -8
@@ -1,28 +1,8 @@
1
- import { getSlickTable, getSorting, setSorting } from "../lib";
2
- import { ILastSorting, ISlickTable } from "./types";
1
+ import { HiddenColumns, Sorting } from "./classes";
3
2
 
4
3
  class LocalStore {
5
- getTableSorting(tableId: string): ILastSorting | undefined {
6
- const slickTable: ISlickTable = getSlickTable();
7
- const sorting = getSorting(slickTable);
8
- return sorting[tableId];
9
- }
10
- resetTableSorting(tableId: string): void {
11
- const slickTable = getSlickTable();
12
- const sorting = getSorting(slickTable);
13
- delete sorting[tableId];
14
- setSorting(slickTable, sorting);
15
- }
16
- setTableSorting(
17
- tableId: string,
18
- columnId: string | number,
19
- isAscending: boolean,
20
- ): void {
21
- const slickTable = getSlickTable();
22
- const sorting = getSorting(slickTable);
23
- sorting[tableId] = { columnId, isAscending };
24
- setSorting(slickTable, sorting);
25
- }
4
+ hiddenColumns = new HiddenColumns();
5
+ sorting = new Sorting();
26
6
  }
27
7
 
28
8
  export const localStore = new LocalStore();
@@ -38,13 +38,13 @@ export class ColumnSorter implements IColumnSorter {
38
38
  const dataView: SlickDataView = grid.getData();
39
39
  if (sortAsc && sortedColumnId === sortCol?.id) {
40
40
  resetSorting = true;
41
- localStore.resetTableSorting(tableId);
41
+ localStore.sorting.reset(tableId);
42
42
  grid.setSortColumns([]);
43
43
  sortedColumnId = "";
44
44
  } else {
45
45
  resetSorting = false;
46
46
  sortedColumnId = columnId as string;
47
- localStore.setTableSorting(tableId, columnId, sortAsc);
47
+ localStore.sorting.set(tableId, columnId, sortAsc);
48
48
  }
49
49
 
50
50
  const sign = sortAsc ? -1 : 1;
@@ -105,7 +105,7 @@ export class ColumnSorter implements IColumnSorter {
105
105
  public restoreSorting(table: ISlickTable): void {
106
106
  const grid = table.grid;
107
107
  if (!grid) return;
108
- const params = localStore.getTableSorting(table.id);
108
+ const params = localStore.sorting.get(table.id);
109
109
  if (params) {
110
110
  const { columnId, isAscending } = params;
111
111
  const sortFunction = this.getSortFunction(table.id);
@@ -1,35 +1,25 @@
1
+ import { localStore } from "shared/lib/localStrore";
1
2
  import { IColumn, IColumnPicker } from "shared/model/types";
2
3
 
3
4
  export class ColumnPicker implements IColumnPicker {
4
5
  private _initialColumns: IColumn[] = [];
5
- private _visibleColumnIds: string[] = [];
6
6
  private _hiddenColumnIds: string[] = [];
7
+ private _tableId = "";
7
8
 
8
- constructor({ hiddenColumnIds }: IOptions = {}) {
9
- if (hiddenColumnIds) this._hiddenColumnIds = hiddenColumnIds;
10
- }
11
-
12
- get visibleColumnIds() {
13
- return this._visibleColumnIds;
14
- }
15
- set visibleColumnIds(ids) {
16
- this._visibleColumnIds = ids;
17
- }
18
-
19
- get initialColumns() {
9
+ getInitialColumns(): IColumn[] {
20
10
  return this._initialColumns;
21
11
  }
22
- set initialColumns(columns) {
23
- if (!this.visibleColumnIds.length) {
24
- this.visibleColumnIds = columns
25
- .map(({ id }) => id as string)
26
- .filter((id) => !this._hiddenColumnIds.includes(id));
27
- }
12
+ setInitialColumns(columns: IColumn[], tableId: string): void {
28
13
  this._initialColumns = columns;
14
+ this._tableId = tableId;
15
+ this.hiddenColumnIds = localStore.hiddenColumns.get(tableId);
29
16
  }
30
- }
31
17
 
32
- interface IOptions {
33
- /** Columns with specified IDs will be initially hidden. */
34
- hiddenColumnIds?: string[];
18
+ get hiddenColumnIds() {
19
+ return this._hiddenColumnIds;
20
+ }
21
+ set hiddenColumnIds(columnIds) {
22
+ this._hiddenColumnIds = columnIds;
23
+ localStore.hiddenColumns.set(this._tableId, columnIds);
24
+ }
35
25
  }
@@ -151,17 +151,11 @@ export function useGrid({
151
151
  grid.setColumns(columns);
152
152
  }
153
153
  if (table.columnPicker) {
154
- table.columnPicker.initialColumns = grid.getColumns();
155
- if (!table.columnPicker.visibleColumnIds.length) {
156
- table.columnPicker.visibleColumnIds = grid
157
- .getColumns()
158
- .map(({ id }) => id as string);
159
- }
154
+ table.columnPicker.setInitialColumns(grid.getColumns(), table.id);
160
155
  grid.setColumns(
161
156
  grid.getColumns().filter(({ id }) => {
162
157
  if (!table.columnPicker) return true;
163
- if (!table.columnPicker.visibleColumnIds.length) return true;
164
- return table.columnPicker.visibleColumnIds.includes(id as string);
158
+ return !table.columnPicker.hiddenColumnIds.includes(id as string);
165
159
  }),
166
160
  );
167
161
  }
@@ -1,6 +1,7 @@
1
1
  import { IColumn } from "./IColumn";
2
2
 
3
3
  export interface IColumnPicker {
4
- initialColumns: IColumn[];
5
- visibleColumnIds: string[];
4
+ hiddenColumnIds: string[];
5
+ getInitialColumns(): IColumn[];
6
+ setInitialColumns(columns: IColumn[], tableId: string): void;
6
7
  }
@@ -1,3 +0,0 @@
1
- import { ISlickTable, ISorting } from '../model';
2
- export declare function getSorting(slickTable: ISlickTable): ISorting;
3
- //# sourceMappingURL=getSorting.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSorting.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/lib/localStrore/lib/getSorting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAgB,UAAU,CAAC,UAAU,EAAE,WAAW,GAAG,QAAQ,CAE5D"}
@@ -1,3 +0,0 @@
1
- import { ISlickTable, ISorting } from '../model';
2
- export declare function setSorting(slickTable: ISlickTable, sorting: ISorting): void;
3
- //# sourceMappingURL=setSorting.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setSorting.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/lib/localStrore/lib/setSorting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAgB,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,CAK3E"}
@@ -1,5 +0,0 @@
1
- import { EStorageKey, ISlickTable, ISorting } from "../model";
2
-
3
- export function getSorting(slickTable: ISlickTable): ISorting {
4
- return slickTable[EStorageKey.sorting] || {};
5
- }
@@ -1,8 +0,0 @@
1
- import { EStorageKey, ISlickTable, ISorting } from "../model";
2
-
3
- export function setSorting(slickTable: ISlickTable, sorting: ISorting): void {
4
- localStorage.setItem(
5
- EStorageKey.slickTable,
6
- JSON.stringify({ ...slickTable, sorting }),
7
- );
8
- }