@snack-uikit/table 0.14.18 → 0.15.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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
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.15.0 (2024-03-28)
7
+
8
+
9
+ ### Features
10
+
11
+ * **PDS-0000:** add getRowId prop into table ([3e1a0a7](https://github.com/cloud-ru-tech/snack-uikit/commit/3e1a0a72fe6b54b24275cf553779063b01c62149))
12
+
13
+
14
+
15
+
16
+
6
17
  ## 0.14.18 (2024-03-26)
7
18
 
8
19
  ### Only dependencies have been changed
package/README.md CHANGED
@@ -138,6 +138,7 @@ const columnDefinitions: ColumnDefinition<TableData>[] = [
138
138
  | manualSorting | `boolean` | - | |
139
139
  | manualPagination | `boolean` | - | |
140
140
  | manualFiltering | `boolean` | - | |
141
+ | getRowId | `(originalRow: TData, index: number, parent?: Row<TData>) => string` | - | Дополнительная функция используется для получения уникального идентификатора для любой заданной строки |
141
142
  | scrollRef | `RefObject<HTMLElement>` | - | Ссылка на элемент, обозначающий самый конец прокручиваемого списка |
142
143
  | scrollContainerRef | `RefObject<HTMLElement>` | - | Ссылка на контейнер, который скроллится |
143
144
  ## Table.getStatusColumnDef
@@ -188,6 +189,7 @@ const columnDefinitions: ColumnDefinition<TableData>[] = [
188
189
  | manualSorting | `boolean` | true | |
189
190
  | manualPagination | `boolean` | true | |
190
191
  | manualFiltering | `boolean` | true | |
192
+ | getRowId | `(originalRow: TData, index: number, parent?: Row<TData>) => string` | - | Дополнительная функция используется для получения уникального идентификатора для любой заданной строки |
191
193
  | scrollRef | `RefObject<HTMLElement>` | - | Ссылка на элемент, обозначающий самый конец прокручиваемого списка |
192
194
  | scrollContainerRef | `RefObject<HTMLElement>` | - | Ссылка на контейнер, который скроллится |
193
195
  | items | `TData[]` | - | Данные для отрисовки |
@@ -1,6 +1,6 @@
1
1
  import { TableProps } from '../types';
2
2
  /** Компонент таблицы */
3
- export declare function Table<TData extends object>({ data, columnDefinitions, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, onDelete, pageSize, pageCount, loading, outline, moreActions, exportFileName, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar, toolbarBefore, toolbarAfter, suppressPagination, manualSorting, manualPagination, manualFiltering, scrollRef, scrollContainerRef, ...rest }: TableProps<TData>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function Table<TData extends object>({ data, columnDefinitions, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, onDelete, pageSize, pageCount, loading, outline, moreActions, exportFileName, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar, toolbarBefore, toolbarAfter, suppressPagination, manualSorting, manualPagination, manualFiltering, scrollRef, scrollContainerRef, getRowId, ...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: {
@@ -27,7 +27,7 @@ import { useStateControl } from './hooks/useStateControl';
27
27
  import styles from './styles.module.css';
28
28
  /** Компонент таблицы */
29
29
  export function Table(_a) {
30
- var { data, columnDefinitions, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, onDelete, pageSize = DEFAULT_PAGE_SIZE, pageCount, loading = false, outline = false, moreActions, exportFileName, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar = false, toolbarBefore, toolbarAfter, suppressPagination = false, manualSorting = false, manualPagination = false, manualFiltering = false, scrollRef, scrollContainerRef } = _a, rest = __rest(_a, ["data", "columnDefinitions", "rowSelection", "search", "sorting", "columnFilters", "pagination", "className", "onRowClick", "onRefresh", "onDelete", "pageSize", "pageCount", "loading", "outline", "moreActions", "exportFileName", "dataFiltered", "dataError", "noDataState", "noResultsState", "errorDataState", "suppressToolbar", "toolbarBefore", "toolbarAfter", "suppressPagination", "manualSorting", "manualPagination", "manualFiltering", "scrollRef", "scrollContainerRef"]);
30
+ var { data, columnDefinitions, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, onDelete, pageSize = DEFAULT_PAGE_SIZE, pageCount, loading = false, outline = false, moreActions, exportFileName, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar = false, toolbarBefore, toolbarAfter, suppressPagination = false, manualSorting = false, manualPagination = false, manualFiltering = false, scrollRef, scrollContainerRef, getRowId } = _a, rest = __rest(_a, ["data", "columnDefinitions", "rowSelection", "search", "sorting", "columnFilters", "pagination", "className", "onRowClick", "onRefresh", "onDelete", "pageSize", "pageCount", "loading", "outline", "moreActions", "exportFileName", "dataFiltered", "dataError", "noDataState", "noResultsState", "errorDataState", "suppressToolbar", "toolbarBefore", "toolbarAfter", "suppressPagination", "manualSorting", "manualPagination", "manualFiltering", "scrollRef", "scrollContainerRef", "getRowId"]);
31
31
  const { state: globalFilter, onStateChange: onGlobalFilterChange } = useStateControl(search, '');
32
32
  const { state: rowSelection, onStateChange: onRowSelectionChange } = useStateControl(rowSelectionProp, {});
33
33
  const defaultPaginationState = useMemo(() => ({
@@ -77,6 +77,7 @@ export function Table(_a) {
77
77
  manualFiltering,
78
78
  globalFilterFn: fuzzyFilter,
79
79
  onGlobalFilterChange,
80
+ getRowId,
80
81
  onRowSelectionChange,
81
82
  enableRowSelection: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.enable,
82
83
  enableMultiRowSelection: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.multiRow,
@@ -1,4 +1,4 @@
1
- import { PaginationState, RowSelectionOptions, RowSelectionState, SortingState } from '@tanstack/react-table';
1
+ import { PaginationState, Row, RowSelectionOptions, RowSelectionState, SortingState } from '@tanstack/react-table';
2
2
  import { ReactNode, RefObject } from 'react';
3
3
  import { ToolbarProps } from '@snack-uikit/toolbar';
4
4
  import { WithSupportProps } from '@snack-uikit/utils';
@@ -101,6 +101,8 @@ export type TableProps<TData extends object> = WithSupportProps<{
101
101
  manualSorting?: boolean;
102
102
  manualPagination?: boolean;
103
103
  manualFiltering?: boolean;
104
+ /** Дополнительная функция используется для получения уникального идентификатора для любой заданной строки */
105
+ getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string;
104
106
  /** Ссылка на элемент, обозначающий самый конец прокручиваемого списка */
105
107
  scrollRef?: RefObject<HTMLElement>;
106
108
  /** Ссылка на контейнер, который скроллится */
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "title": "Table",
7
- "version": "0.14.18",
7
+ "version": "0.15.0",
8
8
  "sideEffects": [
9
9
  "*.css",
10
10
  "*.woff",
@@ -58,5 +58,5 @@
58
58
  "peerDependencies": {
59
59
  "@snack-uikit/locale": "*"
60
60
  },
61
- "gitHead": "234be77560f8bd1b3a4b567e2ec88f3a89c3631f"
61
+ "gitHead": "f3c3682c0026d9f78f51af0b9c8095a9377d6513"
62
62
  }
@@ -75,6 +75,7 @@ export function Table<TData extends object>({
75
75
  manualFiltering = false,
76
76
  scrollRef,
77
77
  scrollContainerRef,
78
+ getRowId,
78
79
 
79
80
  ...rest
80
81
  }: TableProps<TData>) {
@@ -141,6 +142,7 @@ export function Table<TData extends object>({
141
142
  globalFilterFn: fuzzyFilter,
142
143
  onGlobalFilterChange,
143
144
 
145
+ getRowId,
144
146
  onRowSelectionChange,
145
147
  enableRowSelection: rowSelectionProp?.enable,
146
148
  enableMultiRowSelection: rowSelectionProp?.multiRow,
@@ -1,4 +1,4 @@
1
- import { PaginationState, RowSelectionOptions, RowSelectionState, SortingState } from '@tanstack/react-table';
1
+ import { PaginationState, Row, RowSelectionOptions, RowSelectionState, SortingState } from '@tanstack/react-table';
2
2
  import { ReactNode, RefObject } from 'react';
3
3
 
4
4
  import { ToolbarProps } from '@snack-uikit/toolbar';
@@ -122,6 +122,9 @@ export type TableProps<TData extends object> = WithSupportProps<{
122
122
  manualPagination?: boolean;
123
123
  manualFiltering?: boolean;
124
124
 
125
+ /** Дополнительная функция используется для получения уникального идентификатора для любой заданной строки */
126
+ getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string;
127
+
125
128
  /** Ссылка на элемент, обозначающий самый конец прокручиваемого списка */
126
129
  scrollRef?: RefObject<HTMLElement>;
127
130
  /** Ссылка на контейнер, который скроллится */