@snack-uikit/table 0.20.11-preview-1d8237d6.0 → 0.20.11

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/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 0.20.11 (2024-08-13)
7
+
8
+ ### Only dependencies have been changed
9
+ * [@snack-uikit/chips@0.14.19](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/chips/CHANGELOG.md)
10
+ * [@snack-uikit/list@0.15.2](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/list/CHANGELOG.md)
11
+ * [@snack-uikit/toggles@0.10.3](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/toggles/CHANGELOG.md)
12
+ * [@snack-uikit/toolbar@0.7.53](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/toolbar/CHANGELOG.md)
13
+
14
+
15
+
16
+
17
+
6
18
  ## 0.20.10 (2024-08-07)
7
19
 
8
20
  ### Only dependencies have been changed
package/README.md CHANGED
@@ -147,7 +147,6 @@ const columnDefinitions: ColumnDefinition<TableData>[] = [
147
147
  | scrollRef | `RefObject<HTMLElement>` | - | Ссылка на элемент, обозначающий самый конец прокручиваемого списка |
148
148
  | scrollContainerRef | `RefObject<HTMLElement>` | - | Ссылка на контейнер, который скроллится |
149
149
  | rowPinning | `Pick<RowPinningState, "top">` | { top: [], } | Определение какие строки должны быть закреплены в таблице |
150
- | savedState | `{ id: string; resize?: boolean; }` | - | Конфиг для сохранения состояния в localStorage |
151
150
  ## Table.getStatusColumnDef
152
151
  Вспомогательная функция для создания ячейки со статусом
153
152
  ### Props
@@ -207,7 +206,6 @@ const columnDefinitions: ColumnDefinition<TableData>[] = [
207
206
  | scrollRef | `RefObject<HTMLElement>` | - | Ссылка на элемент, обозначающий самый конец прокручиваемого списка |
208
207
  | scrollContainerRef | `RefObject<HTMLElement>` | - | Ссылка на контейнер, который скроллится |
209
208
  | rowPinning | `Pick<RowPinningState, "top">` | - | Определение какие строки должны быть закреплены в таблице |
210
- | savedState | `{ id: string; resize?: boolean; }` | - | Конфиг для сохранения состояния в localStorage |
211
209
  | items | `TData[]` | - | Данные для отрисовки |
212
210
  | total | `number` | 10 | Общее кол-во строк |
213
211
  | limit | `number` | 10 | Кол-во строк на страницу |
@@ -1,6 +1,6 @@
1
1
  import { TableProps } from '../types';
2
2
  /** Компонент таблицы */
3
- export declare function Table<TData extends object>({ data, rowPinning, columnDefinitions, keepPinnedRows, copyPinnedRows, enableSelectPinned, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, onDelete, pageSize, pageCount, loading, outline, moreActions, exportSettings, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar, toolbarBefore, toolbarAfter, suppressPagination, manualSorting, manualPagination, manualFiltering, autoResetPageIndex, scrollRef, scrollContainerRef, getRowId, enableFuzzySearch, savedState, ...rest }: TableProps<TData>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function Table<TData extends object>({ data, rowPinning, columnDefinitions, keepPinnedRows, copyPinnedRows, enableSelectPinned, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, onDelete, pageSize, pageCount, loading, outline, moreActions, exportSettings, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar, toolbarBefore, toolbarAfter, suppressPagination, manualSorting, manualPagination, manualFiltering, autoResetPageIndex, scrollRef, scrollContainerRef, getRowId, enableFuzzySearch, ...rest }: TableProps<TData>): import("react/jsx-runtime").JSX.Element;
4
4
  export declare namespace Table {
5
5
  var getStatusColumnDef: typeof import("../../helperComponents").getStatusColumnDef;
6
6
  var statusAppearances: Record<string, string>;
@@ -25,12 +25,12 @@ import { fuzzyFilter } from '../../utils';
25
25
  import { useLoadingTable, useStateControl } from './hooks';
26
26
  import { usePageReset } from './hooks/usePageReset';
27
27
  import styles from './styles.module.css';
28
- import { getColumnStyleVars, getCurrentlyConfiguredHeaderWidth, getInitColumnSizeFromLocalStorage, saveStateToLocalStorage, } from './utils';
28
+ import { getColumnStyleVars, getCurrentlyConfiguredHeaderWidth } from './utils';
29
29
  /** Компонент таблицы */
30
30
  export function Table(_a) {
31
31
  var { data, rowPinning = {
32
32
  top: [],
33
- }, columnDefinitions, keepPinnedRows = false, copyPinnedRows = false, enableSelectPinned = false, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, onDelete, pageSize = DEFAULT_PAGE_SIZE, pageCount, loading = false, outline = false, moreActions, exportSettings, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar = false, toolbarBefore, toolbarAfter, suppressPagination = false, manualSorting = false, manualPagination = false, manualFiltering = false, autoResetPageIndex = false, scrollRef, scrollContainerRef, getRowId, enableFuzzySearch, savedState } = _a, rest = __rest(_a, ["data", "rowPinning", "columnDefinitions", "keepPinnedRows", "copyPinnedRows", "enableSelectPinned", "rowSelection", "search", "sorting", "columnFilters", "pagination", "className", "onRowClick", "onRefresh", "onDelete", "pageSize", "pageCount", "loading", "outline", "moreActions", "exportSettings", "dataFiltered", "dataError", "noDataState", "noResultsState", "errorDataState", "suppressToolbar", "toolbarBefore", "toolbarAfter", "suppressPagination", "manualSorting", "manualPagination", "manualFiltering", "autoResetPageIndex", "scrollRef", "scrollContainerRef", "getRowId", "enableFuzzySearch", "savedState"]);
33
+ }, columnDefinitions, keepPinnedRows = false, copyPinnedRows = false, enableSelectPinned = false, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, onDelete, pageSize = DEFAULT_PAGE_SIZE, pageCount, loading = false, outline = false, moreActions, exportSettings, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar = false, toolbarBefore, toolbarAfter, suppressPagination = false, manualSorting = false, manualPagination = false, manualFiltering = false, autoResetPageIndex = false, scrollRef, scrollContainerRef, getRowId, enableFuzzySearch } = _a, rest = __rest(_a, ["data", "rowPinning", "columnDefinitions", "keepPinnedRows", "copyPinnedRows", "enableSelectPinned", "rowSelection", "search", "sorting", "columnFilters", "pagination", "className", "onRowClick", "onRefresh", "onDelete", "pageSize", "pageCount", "loading", "outline", "moreActions", "exportSettings", "dataFiltered", "dataError", "noDataState", "noResultsState", "errorDataState", "suppressToolbar", "toolbarBefore", "toolbarAfter", "suppressPagination", "manualSorting", "manualPagination", "manualFiltering", "autoResetPageIndex", "scrollRef", "scrollContainerRef", "getRowId", "enableFuzzySearch"]);
34
34
  const { state: globalFilter, onStateChange: onGlobalFilterChange } = useStateControl(search, '');
35
35
  const { state: rowSelection, onStateChange: onRowSelectionChange } = useStateControl(rowSelectionProp, {});
36
36
  const defaultPaginationState = useMemo(() => ({
@@ -150,15 +150,8 @@ export function Table(_a) {
150
150
  }
151
151
  else {
152
152
  const originalColumnDefSize = originalColDef === null || originalColDef === void 0 ? void 0 : originalColDef.size;
153
- let initSize = originalColumnDefSize ? `${originalColumnDefSize}px` : '100%';
153
+ const initSize = originalColumnDefSize ? `${originalColumnDefSize}px` : '100%';
154
154
  const prevSize = (_a = columnSizeVarsRef.current) === null || _a === void 0 ? void 0 : _a[sizeKey];
155
- const withSaveResizeToStore = (originalColDef === null || originalColDef === void 0 ? void 0 : originalColDef.enableResizing) && (savedState === null || savedState === void 0 ? void 0 : savedState.resize);
156
- if (withSaveResizeToStore) {
157
- const savedSize = getInitColumnSizeFromLocalStorage({ id: savedState.id, columnId: header.id });
158
- if (savedSize) {
159
- initSize = savedSize;
160
- }
161
- }
162
155
  let size = initSize;
163
156
  if (header.column.getCanResize()) {
164
157
  const currentSize = header.getSize();
@@ -170,9 +163,6 @@ export function Table(_a) {
170
163
  size = `${realSize}px`;
171
164
  }
172
165
  }
173
- if (withSaveResizeToStore) {
174
- saveStateToLocalStorage({ id: savedState.id, columnId: header.id, size });
175
- }
176
166
  colSizes[sizeKey] = size;
177
167
  colSizes[flexKey] = size === '100%' ? 'unset' : '0';
178
168
  }
@@ -3,15 +3,3 @@ export declare function getColumnStyleVars(id: string): {
3
3
  sizeKey: string;
4
4
  flexKey: string;
5
5
  };
6
- type GetSavedStateFromLocalStorageProps = {
7
- id: string;
8
- columnId: string;
9
- };
10
- export declare function getInitColumnSizeFromLocalStorage({ id, columnId }: GetSavedStateFromLocalStorageProps): string | undefined;
11
- type SaveStateToLocalStorageProps = {
12
- id: string;
13
- columnId: string;
14
- size: string;
15
- };
16
- export declare function saveStateToLocalStorage({ id, columnId, size }: SaveStateToLocalStorageProps): void;
17
- export {};
@@ -14,17 +14,3 @@ export function getColumnStyleVars(id) {
14
14
  flexKey: `--table-column-${id}-flex`,
15
15
  };
16
16
  }
17
- const RESIZED_KEY = 'RESIZED_COLUMN_KEY';
18
- export function getInitColumnSizeFromLocalStorage({ id, columnId }) {
19
- const savedStateFromStorage = JSON.parse(localStorage.getItem(id || '') || 'null');
20
- if (savedStateFromStorage) {
21
- const currentSize = savedStateFromStorage[`${RESIZED_KEY}-${columnId}`];
22
- return currentSize;
23
- }
24
- }
25
- export function saveStateToLocalStorage({ id, columnId, size }) {
26
- const savedStateFromStorage = JSON.parse(localStorage.getItem(id) || 'null');
27
- const newItem = savedStateFromStorage || {};
28
- newItem[`${RESIZED_KEY}-${columnId}`] = size;
29
- localStorage.setItem(id, JSON.stringify(newItem));
30
- }
@@ -121,11 +121,6 @@ export type TableProps<TData extends object> = WithSupportProps<{
121
121
  scrollContainerRef?: RefObject<HTMLElement>;
122
122
  /** Определение какие строки должны быть закреплены в таблице */
123
123
  rowPinning?: Pick<RowPinningState, 'top'>;
124
- /** Конфиг для сохранения состояния в localStorage */
125
- savedState?: {
126
- id: string;
127
- resize?: boolean;
128
- };
129
124
  }>;
130
125
  export type ServerTableProps<TData extends object> = Omit<TableProps<TData>, 'pageSize' | 'pageCount' | 'pagination' | 'search' | 'data'> & {
131
126
  /** Данные для отрисовки */
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "title": "Table",
7
- "version": "0.20.11-preview-1d8237d6.0",
7
+ "version": "0.20.11",
8
8
  "sideEffects": [
9
9
  "*.css",
10
10
  "*.woff",
@@ -33,16 +33,16 @@
33
33
  "scripts": {},
34
34
  "dependencies": {
35
35
  "@snack-uikit/button": "0.17.3",
36
- "@snack-uikit/chips": "0.14.18",
36
+ "@snack-uikit/chips": "0.14.19",
37
37
  "@snack-uikit/icon-predefined": "0.5.1",
38
38
  "@snack-uikit/icons": "0.22.0",
39
39
  "@snack-uikit/info-block": "0.4.5",
40
- "@snack-uikit/list": "0.15.1",
40
+ "@snack-uikit/list": "0.15.2",
41
41
  "@snack-uikit/pagination": "0.6.11",
42
42
  "@snack-uikit/scroll": "0.6.0",
43
43
  "@snack-uikit/skeleton": "0.3.4",
44
- "@snack-uikit/toggles": "0.10.2",
45
- "@snack-uikit/toolbar": "0.7.52",
44
+ "@snack-uikit/toggles": "0.10.3",
45
+ "@snack-uikit/toolbar": "0.7.53",
46
46
  "@snack-uikit/truncate-string": "0.4.20",
47
47
  "@snack-uikit/typography": "0.6.2",
48
48
  "@snack-uikit/utils": "3.3.0",
@@ -57,5 +57,5 @@
57
57
  "peerDependencies": {
58
58
  "@snack-uikit/locale": "*"
59
59
  },
60
- "gitHead": "b60ec0a02d34700cb646b61e0dc34860f6dd1280"
60
+ "gitHead": "85e564a411e0e9c0d841c5d589e32b0c2b351028"
61
61
  }
@@ -41,12 +41,7 @@ import { TableProps } from '../types';
41
41
  import { useLoadingTable, useStateControl } from './hooks';
42
42
  import { usePageReset } from './hooks/usePageReset';
43
43
  import styles from './styles.module.scss';
44
- import {
45
- getColumnStyleVars,
46
- getCurrentlyConfiguredHeaderWidth,
47
- getInitColumnSizeFromLocalStorage,
48
- saveStateToLocalStorage,
49
- } from './utils';
44
+ import { getColumnStyleVars, getCurrentlyConfiguredHeaderWidth } from './utils';
50
45
 
51
46
  /** Компонент таблицы */
52
47
  export function Table<TData extends object>({
@@ -90,7 +85,6 @@ export function Table<TData extends object>({
90
85
  scrollContainerRef,
91
86
  getRowId,
92
87
  enableFuzzySearch,
93
- savedState,
94
88
 
95
89
  ...rest
96
90
  }: TableProps<TData>) {
@@ -241,18 +235,9 @@ export function Table<TData extends object>({
241
235
  colSizes[flexKey] = '100%';
242
236
  } else {
243
237
  const originalColumnDefSize = originalColDef?.size;
244
- let initSize = originalColumnDefSize ? `${originalColumnDefSize}px` : '100%';
238
+ const initSize = originalColumnDefSize ? `${originalColumnDefSize}px` : '100%';
245
239
  const prevSize = columnSizeVarsRef.current?.[sizeKey];
246
240
 
247
- const withSaveResizeToStore = originalColDef?.enableResizing && savedState?.resize;
248
-
249
- if (withSaveResizeToStore) {
250
- const savedSize = getInitColumnSizeFromLocalStorage({ id: savedState.id, columnId: header.id });
251
- if (savedSize) {
252
- initSize = savedSize;
253
- }
254
- }
255
-
256
241
  let size = initSize;
257
242
 
258
243
  if (header.column.getCanResize()) {
@@ -269,11 +254,6 @@ export function Table<TData extends object>({
269
254
  }
270
255
  }
271
256
 
272
- if (withSaveResizeToStore) {
273
- saveStateToLocalStorage({ id: savedState.id, columnId: header.id, size });
274
- }
275
-
276
-
277
257
  colSizes[sizeKey] = size;
278
258
  colSizes[flexKey] = size === '100%' ? 'unset' : '0';
279
259
  }
@@ -19,34 +19,3 @@ export function getColumnStyleVars(id: string) {
19
19
  flexKey: `--table-column-${id}-flex`,
20
20
  };
21
21
  }
22
-
23
- const RESIZED_KEY = 'RESIZED_COLUMN_KEY';
24
-
25
- type GetSavedStateFromLocalStorageProps = {
26
- id: string;
27
- columnId: string;
28
- };
29
-
30
- export function getInitColumnSizeFromLocalStorage({ id, columnId }: GetSavedStateFromLocalStorageProps) {
31
- const savedStateFromStorage = JSON.parse(localStorage.getItem(id || '') || 'null');
32
-
33
- if (savedStateFromStorage) {
34
- const currentSize = savedStateFromStorage[`${RESIZED_KEY}-${columnId}`] as string | undefined;
35
- return currentSize;
36
- }
37
- }
38
-
39
- type SaveStateToLocalStorageProps = {
40
- id: string;
41
- columnId: string;
42
- size: string;
43
- };
44
-
45
- export function saveStateToLocalStorage({ id, columnId, size }: SaveStateToLocalStorageProps) {
46
- const savedStateFromStorage = JSON.parse(localStorage.getItem(id) || 'null');
47
-
48
- const newItem: Record<string, string> = savedStateFromStorage || {};
49
- newItem[`${RESIZED_KEY}-${columnId}`] = size;
50
-
51
- localStorage.setItem(id, JSON.stringify(newItem));
52
- }
@@ -152,12 +152,6 @@ export type TableProps<TData extends object> = WithSupportProps<{
152
152
  scrollContainerRef?: RefObject<HTMLElement>;
153
153
  /** Определение какие строки должны быть закреплены в таблице */
154
154
  rowPinning?: Pick<RowPinningState, 'top'>;
155
-
156
- /** Конфиг для сохранения состояния в localStorage */
157
- savedState?: {
158
- id: string;
159
- resize?: boolean;
160
- };
161
155
  }>;
162
156
 
163
157
  export type ServerTableProps<TData extends object> = Omit<