@snack-uikit/table 0.37.2 → 0.37.3-preview-20442bcb.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/README.md CHANGED
@@ -123,7 +123,7 @@ const columnDefinitions: ColumnDefinition<TableData>[] = [
123
123
  | enableSelectPinned | `boolean` | - | Параметр отвечает за чекбокс выбора закрепленных строк |
124
124
  | sorting | `{ initialState?: SortingState; state?: SortingState; onChange?(state: SortingState): void; }` | - | Параметры отвечают за возможность сортировки, их стоит использовать если нужно отслеживать состояние <br> <strong>initialState</strong>: Начальное состояние сортировки <br> <strong>state</strong>: Состояние сортировки, жестко устанавливаемое снаружи <br> <strong>onChange</strong>: Колбэк на изменение сортировки |
125
125
  | columnsSettings | `{ enableDrag?: boolean; enableSettingsMenu?: boolean; }` | - | Параметры отвечают за настройки колонок <br> <strong>enableDrag</strong>: Включение сортировки порядка столбцов вручную перетаскиванием <br> <strong>enableSettingsMenu</strong>: Включение настроек показа колонок <br> |
126
- | expanding | `{ getSubRows: (element: TData) => TData[]; expandingColumnDefinition: TreeColumnDefinitionProps<TData>; }` | - | Параметр отвечает за общие настройки раскрывающихся строк |
126
+ | expanding | `{ getSubRows: (element: TData) => TData[]; expandingColumnDefinition: TreeColumnDefinitionProps<TData>; state?: ExpandedState; onExpandedChange?(state: ExpandedState): void; }` | - | Параметр отвечает за общие настройки раскрывающихся строк <br> <strong>getSubRows</strong>: Метод отвечает за получение дочерних строк <br> <strong>expandingColumnDefinition</strong>: Описание колонок для дочерних строк <br> <strong>state</strong>: Состояние открытых строк <br> <strong>onExpandedChange</strong>: Колбэк на раскрытие строк <br> |
127
127
  | rowSelection | `{ initialState?: RowSelectionState; state?: RowSelectionState; enable?: boolean \| ((row: Row<TData>) => boolean); multiRow?: boolean; onChange?(state: RowSelectionState): void; }` | - | Параметры отвечают за возможность выбора строк <br> <strong>initialState</strong>: Начальное состояние выбора строк <br> <strong>state</strong>: Состояние выбора строк, жестко устанавливаемое снаружи <br> <strong>enable</strong>: Колбэк определяющий можно ли выбрать строку <br> <strong>multiRow</strong>: Мульти-выбор строк (включен по-умолчанию, когда включается выбор) <br> <strong>onChange</strong>: Колбэк на выбор строк |
128
128
  | search | `{ initialState?: string; state?: string; placeholder?: string; loading?: boolean; onChange?(value: string): void; }` | 'Search'<br> <strong>loading</strong>: Состояние загрузки в строке поиска <br> <strong>onChange</strong>: Колбэк на изменение данных в строке поиска | Параметры отвечают за глобальный поиск в таблице <br> <strong>initialState</strong>: Начальное состояние строки поиска <br> <strong>state</strong>: Состояние строки поиска, жестко устанавливаемое снаружи <br> <strong>placeholder</strong>: Placeholder строки поиска |
129
129
  | enableFuzzySearch | `boolean` | - | Включить нечеткий поиск |
@@ -196,7 +196,7 @@ const columnDefinitions: ColumnDefinition<TableData>[] = [
196
196
  | copyPinnedRows | `boolean` | false | Параметр отвечает за сохранение закрепленных строк в теле таблицы |
197
197
  | enableSelectPinned | `boolean` | - | Параметр отвечает за чекбокс выбора закрепленных строк |
198
198
  | columnsSettings | `{ enableDrag?: boolean; enableSettingsMenu?: boolean; }` | - | Параметры отвечают за настройки колонок <br> <strong>enableDrag</strong>: Включение сортировки порядка столбцов вручную перетаскиванием <br> <strong>enableSettingsMenu</strong>: Включение настроек показа колонок <br> |
199
- | expanding | `{ getSubRows: (element: TData) => TData[]; expandingColumnDefinition: TreeColumnDefinitionProps<TData>; }` | - | Параметр отвечает за общие настройки раскрывающихся строк |
199
+ | expanding | `{ getSubRows: (element: TData) => TData[]; expandingColumnDefinition: TreeColumnDefinitionProps<TData>; state?: ExpandedState; onExpandedChange?(state: ExpandedState): void; }` | - | Параметр отвечает за общие настройки раскрывающихся строк <br> <strong>getSubRows</strong>: Метод отвечает за получение дочерних строк <br> <strong>expandingColumnDefinition</strong>: Описание колонок для дочерних строк <br> <strong>state</strong>: Состояние открытых строк <br> <strong>onExpandedChange</strong>: Колбэк на раскрытие строк <br> |
200
200
  | rowSelection | `{ initialState?: RowSelectionState; state?: RowSelectionState; enable?: boolean \| ((row: Row<TData>) => boolean); multiRow?: boolean; onChange?(state: RowSelectionState): void; }` | - | Параметры отвечают за возможность выбора строк <br> <strong>initialState</strong>: Начальное состояние выбора строк <br> <strong>state</strong>: Состояние выбора строк, жестко устанавливаемое снаружи <br> <strong>enable</strong>: Колбэк определяющий можно ли выбрать строку <br> <strong>multiRow</strong>: Мульти-выбор строк (включен по-умолчанию, когда включается выбор) <br> <strong>onChange</strong>: Колбэк на выбор строк |
201
201
  | enableFuzzySearch | `boolean` | - | Включить нечеткий поиск |
202
202
  | rowAutoHeight | `boolean` | - | |
@@ -94,6 +94,7 @@ function Table(_a) {
94
94
  pageSize
95
95
  }), [pageSize]);
96
96
  const [sorting, onSortingChange] = (0, hooks_1.useStateControl)(sortingProp, constants_1.DEFAULT_SORTING);
97
+ const [expanded, onExpandedChange] = (0, hooks_1.useStateControl)(expanding, constants_1.DEFAULT_EXPANDED);
97
98
  const [pagination, onPaginationChange] = (0, hooks_1.useStateControl)(paginationProp, defaultPaginationState);
98
99
  const {
99
100
  filter,
@@ -184,7 +185,8 @@ function Table(_a) {
184
185
  pagination,
185
186
  rowPinning: expanding ? {
186
187
  top: []
187
- } : rowPinning
188
+ } : rowPinning,
189
+ expanded
188
190
  },
189
191
  pageCount,
190
192
  defaultColumn: {
@@ -216,6 +218,7 @@ function Table(_a) {
216
218
  getSubRows: expanding === null || expanding === void 0 ? void 0 : expanding.getSubRows,
217
219
  filterFromLeafRows: Boolean(expanding),
218
220
  enableSubRowSelection: true,
221
+ onExpandedChange,
219
222
  getFilteredRowModel: (0, react_table_1.getFilteredRowModel)(),
220
223
  getExpandedRowModel: (0, react_table_1.getExpandedRowModel)(),
221
224
  enableColumnResizing: true,
@@ -4,7 +4,7 @@ import { FiltersState } from '@snack-uikit/chips';
4
4
  import { FilterRow, ToolbarProps } from '@snack-uikit/toolbar';
5
5
  import { WithSupportProps } from '@snack-uikit/utils';
6
6
  import { EmptyStateProps, ExportButtonProps, RowClickHandler, TreeColumnDefinitionProps } from '../helperComponents';
7
- import { ColumnDefinition } from '../types';
7
+ import { ColumnDefinition, ExpandedState } from '../types';
8
8
  type BulkAction = Omit<NonNullable<ToolbarProps<Record<string, string>>['bulkActions']>[number], 'onClick'> & {
9
9
  onClick?(selectionState: RowSelectionState, resetRowSelection: (defaultState?: boolean) => void): void;
10
10
  };
@@ -37,11 +37,17 @@ type BaseTableProps<TData extends object, TFilters extends FiltersState = Record
37
37
  enableDrag?: boolean;
38
38
  enableSettingsMenu?: boolean;
39
39
  };
40
- /** Параметр отвечает за общие настройки раскрывающихся строк*/
40
+ /** Параметр отвечает за общие настройки раскрывающихся строк <br>
41
+ * <strong>getSubRows</strong>: Метод отвечает за получение дочерних строк <br>
42
+ * <strong>expandingColumnDefinition</strong>: Описание колонок для дочерних строк <br>
43
+ * <strong>state</strong>: Состояние открытых строк <br>
44
+ * <strong>onExpandedChange</strong>: Колбэк на раскрытие строк <br>
45
+ * */
41
46
  expanding?: {
42
- /** Метод отвечает за получение дочерних строк*/
43
47
  getSubRows: (element: TData) => TData[] | undefined;
44
48
  expandingColumnDefinition: TreeColumnDefinitionProps<TData>;
49
+ state?: ExpandedState;
50
+ onExpandedChange?(state: ExpandedState): void;
45
51
  };
46
52
  /** Параметры отвечают за возможность выбора строк <br>
47
53
  * <strong>initialState</strong>: Начальное состояние выбора строк <br>
@@ -43,6 +43,7 @@ export declare const DEFAULT_PAGE_SIZE = 10;
43
43
  export declare const DEFAULT_SORTING: never[];
44
44
  export declare const DEFAULT_FILTER_VISIBILITY: never[];
45
45
  export declare const DEFAULT_ROW_SELECTION: {};
46
+ export declare const DEFAULT_EXPANDED: {};
46
47
  export declare enum DefaultColumns {
47
48
  Status = "snack_predefined_statusColumn",
48
49
  Selection = "selectionCell",
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.DEFAULT_COLUMNS = exports.DefaultColumns = exports.DEFAULT_ROW_SELECTION = exports.DEFAULT_FILTER_VISIBILITY = exports.DEFAULT_SORTING = exports.DEFAULT_PAGE_SIZE = exports.SORT_FN = exports.TEST_IDS = exports.COLUMN_SETTINGS_MODE = exports.COLUMN_ALIGN = exports.COLUMN_PIN_POSITION = void 0;
6
+ exports.DEFAULT_COLUMNS = exports.DefaultColumns = exports.DEFAULT_EXPANDED = exports.DEFAULT_ROW_SELECTION = exports.DEFAULT_FILTER_VISIBILITY = exports.DEFAULT_SORTING = exports.DEFAULT_PAGE_SIZE = exports.SORT_FN = exports.TEST_IDS = exports.COLUMN_SETTINGS_MODE = exports.COLUMN_ALIGN = exports.COLUMN_PIN_POSITION = void 0;
7
7
  exports.COLUMN_PIN_POSITION = {
8
8
  Left: 'left',
9
9
  Right: 'right'
@@ -50,6 +50,7 @@ exports.DEFAULT_PAGE_SIZE = 10;
50
50
  exports.DEFAULT_SORTING = [];
51
51
  exports.DEFAULT_FILTER_VISIBILITY = [];
52
52
  exports.DEFAULT_ROW_SELECTION = {};
53
+ exports.DEFAULT_EXPANDED = {};
53
54
  var DefaultColumns;
54
55
  (function (DefaultColumns) {
55
56
  DefaultColumns["Status"] = "snack_predefined_statusColumn";
@@ -1,4 +1,4 @@
1
- import { CellContext, ColumnDef, ColumnMeta, HeaderContext, PaginationState, RowSelectionOptions, RowSelectionState, SortingState } from '@tanstack/react-table';
1
+ import { CellContext, ColumnDef, ColumnMeta, ExpandedState, HeaderContext, PaginationState, RowSelectionOptions, RowSelectionState, SortingState } from '@tanstack/react-table';
2
2
  import { ReactNode } from 'react';
3
3
  import { ToolbarProps } from '@snack-uikit/toolbar';
4
4
  import { ValueOf } from '@snack-uikit/utils';
@@ -56,4 +56,4 @@ export type FilterableColumnDefinition<TData> = FilterableNormalColumnDefinition
56
56
  export type ColumnDefinition<TData> = NormalColumnDefinition<TData> | PinnedColumnDefinition<TData> | FilterableColumnDefinition<TData>;
57
57
  export type ColumnOrder = string[];
58
58
  export type { RowActionsColumnDefProps, StatusColumnDefinitionProps, RowInfo, RowClickHandler, ActionsGenerator, CopyCellProps, MapStatusToAppearanceFnType, } from './helperComponents';
59
- export type { ColumnPinPosition, PaginationState, SortingState, RowSelectionState, RowSelectionOptions, EmptyStateProps, ToolbarProps, HeaderContext, CellContext, };
59
+ export type { ColumnPinPosition, PaginationState, SortingState, RowSelectionState, RowSelectionOptions, EmptyStateProps, ToolbarProps, HeaderContext, CellContext, ExpandedState, };
@@ -20,7 +20,7 @@ import { SkeletonContextProvider } from '@snack-uikit/skeleton';
20
20
  import { Toolbar } from '@snack-uikit/toolbar';
21
21
  import { TruncateString } from '@snack-uikit/truncate-string';
22
22
  import { extractSupportProps } from '@snack-uikit/utils';
23
- import { DEFAULT_PAGE_SIZE, DEFAULT_ROW_SELECTION, DEFAULT_SORTING, DefaultColumns, TEST_IDS } from '../../constants';
23
+ import { DEFAULT_EXPANDED, DEFAULT_PAGE_SIZE, DEFAULT_ROW_SELECTION, DEFAULT_SORTING, DefaultColumns, TEST_IDS, } from '../../constants';
24
24
  import { CellAutoResizeContext, useCellAutoResizeController } from '../../contexts';
25
25
  import { BodyRow, ColumnsSettings, ExportButton, getColumnId, getRowActionsColumnDef, getStatusColumnDef, HeaderRow, STATUS_APPEARANCE, TableContext, TableEmptyState, TablePagination, useEmptyState, } from '../../helperComponents';
26
26
  import { fuzzyFilter } from '../../utils';
@@ -41,6 +41,7 @@ export function Table(_a) {
41
41
  pageSize,
42
42
  }), [pageSize]);
43
43
  const [sorting, onSortingChange] = useStateControl(sortingProp, DEFAULT_SORTING);
44
+ const [expanded, onExpandedChange] = useStateControl(expanding, DEFAULT_EXPANDED);
44
45
  const [pagination, onPaginationChange] = useStateControl(paginationProp, defaultPaginationState);
45
46
  const { filter, patchedFilter, setFilter, setFilterVisibility } = useFilters({ columnFilters });
46
47
  const validatePersistedState = useMemo(() => (data) => {
@@ -110,6 +111,7 @@ export function Table(_a) {
110
111
  sorting,
111
112
  pagination,
112
113
  rowPinning: expanding ? { top: [] } : rowPinning,
114
+ expanded,
113
115
  },
114
116
  pageCount,
115
117
  defaultColumn: {
@@ -138,6 +140,7 @@ export function Table(_a) {
138
140
  getSubRows: expanding === null || expanding === void 0 ? void 0 : expanding.getSubRows,
139
141
  filterFromLeafRows: Boolean(expanding),
140
142
  enableSubRowSelection: true,
143
+ onExpandedChange,
141
144
  getFilteredRowModel: getFilteredRowModel(),
142
145
  getExpandedRowModel: getExpandedRowModel(),
143
146
  enableColumnResizing: true,
@@ -4,7 +4,7 @@ import { FiltersState } from '@snack-uikit/chips';
4
4
  import { FilterRow, ToolbarProps } from '@snack-uikit/toolbar';
5
5
  import { WithSupportProps } from '@snack-uikit/utils';
6
6
  import { EmptyStateProps, ExportButtonProps, RowClickHandler, TreeColumnDefinitionProps } from '../helperComponents';
7
- import { ColumnDefinition } from '../types';
7
+ import { ColumnDefinition, ExpandedState } from '../types';
8
8
  type BulkAction = Omit<NonNullable<ToolbarProps<Record<string, string>>['bulkActions']>[number], 'onClick'> & {
9
9
  onClick?(selectionState: RowSelectionState, resetRowSelection: (defaultState?: boolean) => void): void;
10
10
  };
@@ -37,11 +37,17 @@ type BaseTableProps<TData extends object, TFilters extends FiltersState = Record
37
37
  enableDrag?: boolean;
38
38
  enableSettingsMenu?: boolean;
39
39
  };
40
- /** Параметр отвечает за общие настройки раскрывающихся строк*/
40
+ /** Параметр отвечает за общие настройки раскрывающихся строк <br>
41
+ * <strong>getSubRows</strong>: Метод отвечает за получение дочерних строк <br>
42
+ * <strong>expandingColumnDefinition</strong>: Описание колонок для дочерних строк <br>
43
+ * <strong>state</strong>: Состояние открытых строк <br>
44
+ * <strong>onExpandedChange</strong>: Колбэк на раскрытие строк <br>
45
+ * */
41
46
  expanding?: {
42
- /** Метод отвечает за получение дочерних строк*/
43
47
  getSubRows: (element: TData) => TData[] | undefined;
44
48
  expandingColumnDefinition: TreeColumnDefinitionProps<TData>;
49
+ state?: ExpandedState;
50
+ onExpandedChange?(state: ExpandedState): void;
45
51
  };
46
52
  /** Параметры отвечают за возможность выбора строк <br>
47
53
  * <strong>initialState</strong>: Начальное состояние выбора строк <br>
@@ -43,6 +43,7 @@ export declare const DEFAULT_PAGE_SIZE = 10;
43
43
  export declare const DEFAULT_SORTING: never[];
44
44
  export declare const DEFAULT_FILTER_VISIBILITY: never[];
45
45
  export declare const DEFAULT_ROW_SELECTION: {};
46
+ export declare const DEFAULT_EXPANDED: {};
46
47
  export declare enum DefaultColumns {
47
48
  Status = "snack_predefined_statusColumn",
48
49
  Selection = "selectionCell",
@@ -44,6 +44,7 @@ export const DEFAULT_PAGE_SIZE = 10;
44
44
  export const DEFAULT_SORTING = [];
45
45
  export const DEFAULT_FILTER_VISIBILITY = [];
46
46
  export const DEFAULT_ROW_SELECTION = {};
47
+ export const DEFAULT_EXPANDED = {};
47
48
  export var DefaultColumns;
48
49
  (function (DefaultColumns) {
49
50
  DefaultColumns["Status"] = "snack_predefined_statusColumn";
@@ -1,4 +1,4 @@
1
- import { CellContext, ColumnDef, ColumnMeta, HeaderContext, PaginationState, RowSelectionOptions, RowSelectionState, SortingState } from '@tanstack/react-table';
1
+ import { CellContext, ColumnDef, ColumnMeta, ExpandedState, HeaderContext, PaginationState, RowSelectionOptions, RowSelectionState, SortingState } from '@tanstack/react-table';
2
2
  import { ReactNode } from 'react';
3
3
  import { ToolbarProps } from '@snack-uikit/toolbar';
4
4
  import { ValueOf } from '@snack-uikit/utils';
@@ -56,4 +56,4 @@ export type FilterableColumnDefinition<TData> = FilterableNormalColumnDefinition
56
56
  export type ColumnDefinition<TData> = NormalColumnDefinition<TData> | PinnedColumnDefinition<TData> | FilterableColumnDefinition<TData>;
57
57
  export type ColumnOrder = string[];
58
58
  export type { RowActionsColumnDefProps, StatusColumnDefinitionProps, RowInfo, RowClickHandler, ActionsGenerator, CopyCellProps, MapStatusToAppearanceFnType, } from './helperComponents';
59
- export type { ColumnPinPosition, PaginationState, SortingState, RowSelectionState, RowSelectionOptions, EmptyStateProps, ToolbarProps, HeaderContext, CellContext, };
59
+ export type { ColumnPinPosition, PaginationState, SortingState, RowSelectionState, RowSelectionOptions, EmptyStateProps, ToolbarProps, HeaderContext, CellContext, ExpandedState, };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "title": "Table",
7
- "version": "0.37.2",
7
+ "version": "0.37.3-preview-20442bcb.0",
8
8
  "sideEffects": [
9
9
  "*.css",
10
10
  "*.woff",
@@ -66,5 +66,5 @@
66
66
  "peerDependencies": {
67
67
  "@snack-uikit/locale": "*"
68
68
  },
69
- "gitHead": "d19049c7017c7753cc6d261afebf555e1aa76661"
69
+ "gitHead": "cb7321ae85233da3b8da83934e39fbbcbb6b0295"
70
70
  }
@@ -2,6 +2,7 @@ import { DndContext } from '@dnd-kit/core';
2
2
  import {
3
3
  CellContext,
4
4
  ColumnPinningState,
5
+ ExpandedState,
5
6
  getCoreRowModel,
6
7
  getExpandedRowModel,
7
8
  getFilteredRowModel,
@@ -24,7 +25,14 @@ import { type PersistedFilterState, Toolbar, ToolbarProps } from '@snack-uikit/t
24
25
  import { TruncateString } from '@snack-uikit/truncate-string';
25
26
  import { extractSupportProps } from '@snack-uikit/utils';
26
27
 
27
- import { DEFAULT_PAGE_SIZE, DEFAULT_ROW_SELECTION, DEFAULT_SORTING, DefaultColumns, TEST_IDS } from '../../constants';
28
+ import {
29
+ DEFAULT_EXPANDED,
30
+ DEFAULT_PAGE_SIZE,
31
+ DEFAULT_ROW_SELECTION,
32
+ DEFAULT_SORTING,
33
+ DefaultColumns,
34
+ TEST_IDS,
35
+ } from '../../constants';
28
36
  import { CellAutoResizeContext, useCellAutoResizeController } from '../../contexts';
29
37
  import {
30
38
  BodyRow,
@@ -134,6 +142,8 @@ export function Table<TData extends object, TFilters extends FiltersState = Reco
134
142
 
135
143
  const [sorting, onSortingChange] = useStateControl<SortingState>(sortingProp, DEFAULT_SORTING);
136
144
 
145
+ const [expanded, onExpandedChange] = useStateControl<ExpandedState>(expanding, DEFAULT_EXPANDED);
146
+
137
147
  const [pagination, onPaginationChange] = useStateControl<PaginationState>(paginationProp, defaultPaginationState);
138
148
 
139
149
  const { filter, patchedFilter, setFilter, setFilterVisibility } = useFilters({ columnFilters });
@@ -235,6 +245,7 @@ export function Table<TData extends object, TFilters extends FiltersState = Reco
235
245
  sorting,
236
246
  pagination,
237
247
  rowPinning: expanding ? { top: [] } : rowPinning,
248
+ expanded,
238
249
  },
239
250
  pageCount,
240
251
  defaultColumn: {
@@ -266,6 +277,7 @@ export function Table<TData extends object, TFilters extends FiltersState = Reco
266
277
  getSubRows: expanding?.getSubRows,
267
278
  filterFromLeafRows: Boolean(expanding),
268
279
  enableSubRowSelection: true,
280
+ onExpandedChange,
269
281
  getFilteredRowModel: getFilteredRowModel(),
270
282
  getExpandedRowModel: getExpandedRowModel(),
271
283
  enableColumnResizing: true,
@@ -13,7 +13,7 @@ import { FilterRow, ToolbarProps } from '@snack-uikit/toolbar';
13
13
  import { WithSupportProps } from '@snack-uikit/utils';
14
14
 
15
15
  import { EmptyStateProps, ExportButtonProps, RowClickHandler, TreeColumnDefinitionProps } from '../helperComponents';
16
- import { ColumnDefinition } from '../types';
16
+ import { ColumnDefinition, ExpandedState } from '../types';
17
17
 
18
18
  type BulkAction = Omit<NonNullable<ToolbarProps<Record<string, string>>['bulkActions']>[number], 'onClick'> & {
19
19
  onClick?(selectionState: RowSelectionState, resetRowSelection: (defaultState?: boolean) => void): void;
@@ -50,11 +50,17 @@ type BaseTableProps<TData extends object, TFilters extends FiltersState = Record
50
50
  enableSettingsMenu?: boolean;
51
51
  };
52
52
 
53
- /** Параметр отвечает за общие настройки раскрывающихся строк*/
53
+ /** Параметр отвечает за общие настройки раскрывающихся строк <br>
54
+ * <strong>getSubRows</strong>: Метод отвечает за получение дочерних строк <br>
55
+ * <strong>expandingColumnDefinition</strong>: Описание колонок для дочерних строк <br>
56
+ * <strong>state</strong>: Состояние открытых строк <br>
57
+ * <strong>onExpandedChange</strong>: Колбэк на раскрытие строк <br>
58
+ * */
54
59
  expanding?: {
55
- /** Метод отвечает за получение дочерних строк*/
56
60
  getSubRows: (element: TData) => TData[] | undefined;
57
61
  expandingColumnDefinition: TreeColumnDefinitionProps<TData>;
62
+ state?: ExpandedState;
63
+ onExpandedChange?(state: ExpandedState): void;
58
64
  };
59
65
  /** Параметры отвечают за возможность выбора строк <br>
60
66
  * <strong>initialState</strong>: Начальное состояние выбора строк <br>
package/src/constants.ts CHANGED
@@ -49,6 +49,7 @@ export const DEFAULT_PAGE_SIZE = 10;
49
49
  export const DEFAULT_SORTING = [];
50
50
  export const DEFAULT_FILTER_VISIBILITY = [];
51
51
  export const DEFAULT_ROW_SELECTION = {};
52
+ export const DEFAULT_EXPANDED = {};
52
53
 
53
54
  export enum DefaultColumns {
54
55
  Status = 'snack_predefined_statusColumn',
package/src/types.ts CHANGED
@@ -2,6 +2,7 @@ import {
2
2
  CellContext,
3
3
  ColumnDef,
4
4
  ColumnMeta,
5
+ ExpandedState,
5
6
  HeaderContext,
6
7
  PaginationState,
7
8
  RowSelectionOptions,
@@ -115,4 +116,5 @@ export type {
115
116
  ToolbarProps,
116
117
  HeaderContext,
117
118
  CellContext,
119
+ ExpandedState,
118
120
  };