es-grid-template 1.1.6 → 1.1.7

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.
@@ -207,7 +207,7 @@ const GridEdit = props => {
207
207
  return {
208
208
  row,
209
209
  col,
210
- value: data[row][columnKey]
210
+ value: dataSource[row][columnKey]
211
211
  };
212
212
  });
213
213
 
@@ -763,9 +763,7 @@ const GridEdit = props => {
763
763
  }, /*#__PURE__*/React.createElement("form", {
764
764
  onSubmit: handleSubmit(onSubmit)
765
765
  }, /*#__PURE__*/React.createElement(TableGrid, _extends({}, rest, {
766
- t: t
767
- // key={updateKey}
768
- ,
766
+ t: t,
769
767
  tableRef: tableRef,
770
768
  dataSource: dataSource,
771
769
  components: {
@@ -103,9 +103,8 @@ export type ColumnType<RecordType> = Omit<RcColumnType<RecordType>, 'headerTempl
103
103
  commandItems?: CommandItem[];
104
104
  children?: ColumnType<RecordType>[];
105
105
  };
106
- export type ColumnEditType<RecordType> = ColumnType<RecordType> & {
106
+ export type ColumnEditType<RecordType> = Omit<ColumnType<RecordType>, 'children'> & {
107
107
  editType?: EditType | ((rowData?: any) => EditType);
108
- template?: ReactNode | ReactElement | ((value: any, record: RecordType, index: number) => ReactNode | ReactElement);
109
108
  disable?: boolean | ((rowData: any) => boolean);
110
109
  isClearable?: boolean;
111
110
  maxDate?: any;
@@ -115,6 +114,7 @@ export type ColumnEditType<RecordType> = ColumnType<RecordType> & {
115
114
  max?: number;
116
115
  min?: number;
117
116
  editSelectSettings?: IEditSelectSettings;
117
+ children?: ColumnEditType<RecordType>[];
118
118
  };
119
119
  export type ColumnsType<RecordType = AnyObject> = ColumnType<RecordType>[];
120
120
  export type ColumnsEditType<RecordType = AnyObject> = ColumnEditType<RecordType>[];
@@ -11,7 +11,7 @@ type Props = {
11
11
  showFilter?: boolean;
12
12
  onSelect?: (value: any) => void;
13
13
  selectedKeys: string[];
14
- locale: TableLocale;
14
+ locale?: TableLocale;
15
15
  filterMode?: 'menu' | 'tree';
16
16
  searchValue: string;
17
17
  setSearchValue: (value: any) => void;
@@ -115,7 +115,7 @@ const CheckboxFilter = props => {
115
115
  });
116
116
  const empty = /*#__PURE__*/React.createElement(_rcMasterUi.Empty, {
117
117
  image: _rcMasterUi.Empty.PRESENTED_IMAGE_SIMPLE,
118
- description: locale.filterEmptyText,
118
+ description: locale?.filterEmptyText,
119
119
  imageStyle: {
120
120
  height: 24
121
121
  },
@@ -202,7 +202,7 @@ const CheckboxFilter = props => {
202
202
  indeterminate: selectedKeys.length > 0 && selectedKeys.length < (0, _useFilter.flattenKeys)(options).length,
203
203
  className: `${tablePrefixCls}-filter-dropdown-checkall`,
204
204
  onChange: onCheckAll
205
- }, locale.filterCheckall) : /*#__PURE__*/React.createElement(_rcMasterUi.Empty, null), /*#__PURE__*/React.createElement(_antd.Tree, {
205
+ }, locale?.filterCheckall) : /*#__PURE__*/React.createElement(_rcMasterUi.Empty, null), /*#__PURE__*/React.createElement(_antd.Tree, {
206
206
  checkable: true,
207
207
  selectable: false,
208
208
  blockNode: true,
@@ -104,9 +104,7 @@ const ContextMenu = props => {
104
104
  items: contextMenuItems,
105
105
  style: {
106
106
  minWidth: 200,
107
- maxWidth: 400,
108
- maxHeight: pos.viewportHeight - 20,
109
- width: 200
107
+ maxHeight: pos.viewportHeight - 20
110
108
  },
111
109
  rootClassName: 'popup-context-menu',
112
110
  onClick: e => {
@@ -6,7 +6,7 @@ interface FilterSearchProps<RecordType = AnyObject> {
6
6
  onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
7
7
  filterSearch: FilterSearchType<RecordType>;
8
8
  tablePrefixCls: string;
9
- locale: TableLocale;
9
+ locale?: TableLocale;
10
10
  }
11
11
  declare const FilterSearch: <RecordType extends AnyObject = AnyObject>(props: FilterSearchProps<RecordType>) => React.JSX.Element;
12
12
  export default FilterSearch;
@@ -29,7 +29,7 @@ const FilterSearch = props => {
29
29
  }
30
30
  }, /*#__PURE__*/React.createElement(_rcMasterUi.Input, {
31
31
  suffix: /*#__PURE__*/React.createElement(_SearchOutlined.default, null),
32
- placeholder: locale.filterSearchPlaceholder,
32
+ placeholder: locale?.filterSearchPlaceholder,
33
33
  onChange: onChange,
34
34
  value: value,
35
35
  autoFocus: true
@@ -25,6 +25,8 @@ var _GridEdit = _interopRequireDefault(require("./table/GridEdit"));
25
25
  var _Grid = _interopRequireDefault(require("./table/Grid"));
26
26
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
27
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
28
+ // import useMergedState from "rc-util/lib/hooks/useMergedState";
29
+
28
30
  _dayjs.default.extend(_customParseFormat.default);
29
31
  const ResizableTitle = props => {
30
32
  const {
@@ -59,6 +61,7 @@ const InternalTable = props => {
59
61
  t,
60
62
  columns: propsColumns,
61
63
  lang,
64
+ locale,
62
65
  dataSource,
63
66
  allowResizing,
64
67
  dataSourceFilter: propDataSourceFilter,
@@ -68,22 +71,35 @@ const InternalTable = props => {
68
71
  format,
69
72
  onDataChange,
70
73
  sortMultiple,
74
+ expandable,
71
75
  ...rest
72
76
  } = props;
73
- const locale = lang && lang === 'en' ? _en_US.default : _vi_VN.default;
77
+ const local = lang && lang === 'en' ? _en_US.default : _vi_VN.default;
74
78
  const buddhistLocale = {
75
- ...locale,
79
+ ...local,
76
80
  lang: {
77
- ...locale.lang
81
+ ...local.lang
78
82
  }
79
83
  };
84
+
85
+ // const [mergedColumns, setMergedColumns] = useMergedState(
86
+ // propsColumns,
87
+ // {
88
+ // value: propsColumns,
89
+ // },
90
+ // );
91
+
92
+ // console.log('mergedColumns', mergedColumns)
93
+
80
94
  const tableRef = (0, _react.useRef)(null);
81
- const [data, setData] = (0, _react.useState)(dataSource);
95
+ const [data, setData] = (0, _react.useState)([]);
82
96
  const [columns, setColumns] = (0, _react.useState)([]);
83
97
  const [isManualUpdate, setIsManualUpdate] = (0, _react.useState)(false);
98
+ // const [expandKeys, setExpandKeys] = useState<string[]>([]);
84
99
  const [dataSourceFilter, setDataSourceFilter] = (0, _react.useState)(propDataSourceFilter ?? []);
85
100
  (0, _react.useEffect)(() => {
86
101
  const rs = propsColumns ? [_rcMasterUi.Table.SELECTION_COLUMN, ...propsColumns] : [];
102
+ // const rs = propsColumns ? [...propsColumns] : []
87
103
  setColumns(rs);
88
104
  }, [propsColumns]);
89
105
  (0, _react.useEffect)(() => {
@@ -91,7 +107,14 @@ const InternalTable = props => {
91
107
  setData(dataSource || []);
92
108
  }
93
109
  setIsManualUpdate(false);
94
- }, [dataSource]);
110
+ }, [dataSource, isManualUpdate]);
111
+
112
+ // const [columns, setColumns] = useMergedState(
113
+ // propsColumns ? [Table.SELECTION_COLUMN, ...propsColumns] : [],
114
+ // {
115
+ // value: propsColumns ? [Table.SELECTION_COLUMN, ...propsColumns] : [],
116
+ // },
117
+ // );
95
118
 
96
119
  // ============================ RowKey ============================
97
120
  const getRowKey = _react.default.useMemo(() => {
@@ -101,6 +124,12 @@ const InternalTable = props => {
101
124
  // @ts-ignore
102
125
  return record => record?.[rowKey];
103
126
  }, [rowKey]);
127
+
128
+ // useEffect(() => {
129
+ // const rrr = findAllChildrenKeys<any>(dataSource, getRowKey, 'children');
130
+ // setExpandKeys(rrr as any)
131
+ // }, [dataSource, getRowKey])
132
+
104
133
  const handleSearch = (selectedKeys, confirm) => {
105
134
  confirm();
106
135
  };
@@ -138,7 +167,7 @@ const InternalTable = props => {
138
167
  minWidth: 275
139
168
  },
140
169
  onKeyDown: e => e.stopPropagation()
141
- }, (column?.showOperator !== false || column?.typeFilter !== 'DateRange' && column?.typeFilter !== 'NumberRange') && /*#__PURE__*/_react.default.createElement("div", {
170
+ }, column?.showOperator !== false && column?.typeFilter !== 'DateRange' && column?.typeFilter !== 'NumberRange' && /*#__PURE__*/_react.default.createElement("div", {
142
171
  className: 'mb-1'
143
172
  }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Select, {
144
173
  options: (0, _hooks.translateOption)(_hooks.numberOperator, t),
@@ -154,7 +183,7 @@ const InternalTable = props => {
154
183
  style: {
155
184
  marginBottom: 8
156
185
  }
157
- }, (0, _useColumns.renderFilter)(column, selectedKeys, setSelectedKeys, confirm, visible, searchValue, setSearchValue, dataSourceFilter, buddhistLocale)), /*#__PURE__*/_react.default.createElement(_antd.Space, {
186
+ }, (0, _useColumns.renderFilter)(column, selectedKeys, setSelectedKeys, confirm, visible, searchValue, setSearchValue, dataSourceFilter, buddhistLocale, locale, t)), /*#__PURE__*/_react.default.createElement(_antd.Space, {
158
187
  style: {
159
188
  justifyContent: 'end',
160
189
  width: '100%'
@@ -196,7 +225,7 @@ const InternalTable = props => {
196
225
  }
197
226
  }
198
227
  }
199
- }), [onFilterCallback, onFilterClick, _useColumns.renderFilter, t]);
228
+ }), [buddhistLocale, dataSourceFilter, onFilterCallback, onFilterClick, t]);
200
229
  const handleResize = indexPath => (e, {
201
230
  size
202
231
  }) => {
@@ -264,6 +293,9 @@ const InternalTable = props => {
264
293
  if (["index", "#"].includes(transformedColumn.dataIndex)) {
265
294
  return {
266
295
  ...transformedColumn,
296
+ onCell: () => ({
297
+ className: 'cell-number'
298
+ }),
267
299
  render: (_, __, rowIndex) => rowIndex + 1
268
300
  };
269
301
  }
@@ -311,13 +343,17 @@ const InternalTable = props => {
311
343
  const triggerChangeData = newData => {
312
344
  setIsManualUpdate(true);
313
345
  setData(newData);
346
+ // setMergedData(newData)
314
347
  onDataChange?.(newData);
315
348
  };
316
349
  const TableComponent = editAble ? _GridEdit.default : _Grid.default;
317
350
  return /*#__PURE__*/_react.default.createElement(TableComponent, (0, _extends2.default)({}, rest, {
318
351
  t: t,
352
+ locale: locale,
319
353
  tableRef: tableRef,
320
- dataSource: data,
354
+ dataSource: data
355
+ // mergedData={mergedData}
356
+ ,
321
357
  components: {
322
358
  header: {
323
359
  cell: allowResizing ? ResizableTitle : undefined
@@ -325,7 +361,7 @@ const InternalTable = props => {
325
361
  },
326
362
  format: format,
327
363
  columns: mergedColumns
328
- // columns={columns}
364
+ // defaultColumns={mergedColumns}
329
365
  ,
330
366
  showSorterTooltip: {
331
367
  target: 'sorter-icon'
@@ -95,6 +95,9 @@ const TableGrid = props => {
95
95
  columns,
96
96
  tableRef,
97
97
  dataSource,
98
+ locale,
99
+ expandable,
100
+ // mergedData,
98
101
  title,
99
102
  format,
100
103
  virtual = true,
@@ -140,6 +143,12 @@ const TableGrid = props => {
140
143
  const menuRef = (0, _react.useRef)(null);
141
144
  const viewportWidth = window.innerWidth;
142
145
  const viewportHeight = window.innerHeight;
146
+
147
+ // const defaultSelected = useMemo(() => {
148
+ // return defaultSelectedRowKeys ?? []
149
+ //
150
+ // }, [defaultSelectedRowKeys])
151
+
143
152
  const [menuVisible, setMenuVisible] = _react.default.useState(false);
144
153
  const [selectedRowData, setSelectedRowData] = _react.default.useState(null);
145
154
  const [position, setPosition] = _react.default.useState({
@@ -231,6 +240,8 @@ const TableGrid = props => {
231
240
  }
232
241
  };
233
242
  const handleRowClick = () => () => {
243
+ // const key = getRowKey(record, index);
244
+
234
245
  if (checkboxOnly !== true) {
235
246
  if (type === 'single') {}
236
247
  }
@@ -238,7 +249,6 @@ const TableGrid = props => {
238
249
 
239
250
  // @ts-ignore
240
251
  clickRef.current = setTimeout(() => {
241
- // console.log("Single Click:", record);
242
252
  clickRef.current = null;
243
253
  }, 250);
244
254
  };
@@ -270,6 +280,7 @@ const TableGrid = props => {
270
280
  rowData: selectedRow
271
281
  });
272
282
  } else {
283
+ // @ts-ignore
273
284
  setMergedSelectedKeys(keys);
274
285
  rowSelected?.({
275
286
  selected: selectedRows,
@@ -301,7 +312,15 @@ const TableGrid = props => {
301
312
  contextMenuClick: contextMenuClick,
302
313
  rowData: selectedRowData
303
314
  }), /*#__PURE__*/_react.default.createElement(_rcMasterUi.Table, (0, _extends2.default)({
304
- ref: tableRef,
315
+ ref: tableRef
316
+ }, rest, {
317
+ locale: {
318
+ ...locale,
319
+ emptyText: /*#__PURE__*/_react.default.createElement(_rcMasterUi.Empty, {
320
+ image: _rcMasterUi.Empty.PRESENTED_IMAGE_SIMPLE,
321
+ description: locale?.emptyText
322
+ })
323
+ },
305
324
  loading: {
306
325
  spinning: columns && columns.length === 0 || loading === true,
307
326
  indicator: /*#__PURE__*/_react.default.createElement(_LoadingSpinner.default, null)
@@ -396,7 +415,7 @@ const TableGrid = props => {
396
415
  // @ts-ignore
397
416
  , {
398
417
  style: {
399
- width: pagination && pagination.onChange && pagination?.position && pagination?.position[0] === 'topRight' ? `calc(100% - 650px` : `calc(100% - 50px`
418
+ width: `calc(100% - 650px`
400
419
  },
401
420
  items: toolbarItems ?? [],
402
421
  mode: 'scroll'
@@ -419,8 +438,40 @@ const TableGrid = props => {
419
438
  t: t,
420
439
  triggerChangeColumns: triggerChangeColumns
421
440
  }))));
441
+ },
442
+ expandable: {
443
+ expandIconColumnIndex: 3,
444
+ defaultExpandAllRows: true,
445
+ indentSize: 25,
446
+ ...expandable,
447
+ expandIcon: args => {
448
+ const {
449
+ record,
450
+ expanded,
451
+ onExpand
452
+ } = args;
453
+
454
+ // @ts-ignore
455
+ if (record?.children && record?.children?.length > 0 || record?.isChildren) {
456
+ return expanded ? /*#__PURE__*/_react.default.createElement("button", {
457
+ onClick: e => {
458
+ e.preventDefault();
459
+ e.stopPropagation();
460
+ onExpand(record, e);
461
+ },
462
+ className: 'ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-expanded'
463
+ }) : /*#__PURE__*/_react.default.createElement("button", {
464
+ onClick: e => {
465
+ e.preventDefault();
466
+ e.stopPropagation();
467
+ onExpand(record, e);
468
+ },
469
+ className: 'ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed'
470
+ });
471
+ }
472
+ }
422
473
  }
423
- }, rest)), pagination && pagination.onChange && !pagination.position && /*#__PURE__*/_react.default.createElement(_pagination.default
474
+ })), pagination && pagination.onChange && !pagination.position && /*#__PURE__*/_react.default.createElement(_pagination.default
424
475
  // style={{padding: '0.75rem 1rem'}}
425
476
  , (0, _extends2.default)({
426
477
  showSizeChanger: true,
@@ -1,6 +1,7 @@
1
1
  import type { ColumnsType, ColumnType, IFormat } from "../../type";
2
2
  import React from "react";
3
+ import { TableLocale } from "rc-master-ui/lib/table/interface";
3
4
  export declare function flatColumns<RecordType>(columns: ColumnsType<RecordType>, parentKey?: string): ColumnType<RecordType>[];
4
5
  export declare const getValueCell: <T>(column: ColumnType<T>, value: any, format?: IFormat) => any;
5
6
  export declare const renderContent: <RecordType>(column: ColumnType<RecordType>, value: any, record: RecordType, index: number, format?: IFormat) => React.JSX.Element;
6
- export declare const renderFilter: <RecordType>(column: ColumnType<RecordType>, selectedKeys: string[], setSelectedKeys: any, confirm: any, visible: boolean, searchValue: string, setSearchValue: any, dataSourceFilter: any[], buddhistLocale: any) => React.JSX.Element;
7
+ export declare const renderFilter: <RecordType>(column: ColumnType<RecordType>, selectedKeys: string[], setSelectedKeys: any, confirm: any, visible: boolean, searchValue: string, setSearchValue: any, dataSourceFilter: any[], buddhistLocale: any, locale?: TableLocale, t?: any) => React.JSX.Element;
@@ -105,7 +105,7 @@ const renderContent = (column, value, record, index, format) => {
105
105
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, column?.template ? typeof column.template === "function" ? column.template(value, record, index) : column.template : content);
106
106
  };
107
107
  exports.renderContent = renderContent;
108
- const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, searchValue, setSearchValue, dataSourceFilter, buddhistLocale) => {
108
+ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, searchValue, setSearchValue, dataSourceFilter, buddhistLocale, locale, t) => {
109
109
  const type = (0, _utils.getTypeFilter)(column);
110
110
  const dateFormat = (0, _utils.getDatepickerFormat)(column?.typeFilter ?? column?.type, column) ?? 'DD/MM/YYYY';
111
111
  const dateRangeFormat = (0, _utils.getDatepickerFormat)(column?.type, column) ?? 'DD/MM/YYYY';
@@ -148,7 +148,7 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
148
148
  // onChangeValueFilter(type, values.floatValue, 'min')
149
149
  // }}
150
150
  ,
151
- placeholder: 'Min',
151
+ placeholder: t ? t('Min') : 'Min',
152
152
  autoFocus: true
153
153
  })), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactNumericComponent.NumericFormat, {
154
154
  value: selectedKeys[1]
@@ -161,7 +161,7 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
161
161
  onValueChange: () => {
162
162
  // onChangeValueFilter(type, values.floatValue, 'max')
163
163
  },
164
- placeholder: 'Max'
164
+ placeholder: t ? t('Max') : 'Max'
165
165
  })))));
166
166
  case 'Date':
167
167
  const dateValue = selectedKeys[0] ? (0, _utils.convertDateToDayjs)(new Date(selectedKeys[0]), dateFormat) : null;
@@ -198,7 +198,9 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
198
198
  // defaultValue={dateRangeValue}
199
199
  ,
200
200
  value: dateRangeValue,
201
- placeholder: ['Ngày bắt đầu', 'Ngày kết thúc'],
201
+ locale: buddhistLocale
202
+ // placeholder={['Ngày bắt đầu', 'Ngày kết thúc']}
203
+ ,
202
204
  popupStyle: {
203
205
  zIndex: 9999
204
206
  },
@@ -349,6 +351,10 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
349
351
  marginBottom: 8
350
352
  },
351
353
  value: selectedKeys[0],
354
+ notFoundContent: /*#__PURE__*/_react.default.createElement(_rcMasterUi.Empty, {
355
+ image: _rcMasterUi.Empty.PRESENTED_IMAGE_SIMPLE,
356
+ description: locale?.emptyText
357
+ }),
352
358
  onChange: val => {
353
359
  // setOperatorKey(val)
354
360
  setSelectedKeys(val ? [val] : []);
@@ -407,13 +413,12 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
407
413
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
408
414
  className: 'mb-1'
409
415
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_CheckboxFilter.default
410
- // column={column}
416
+ // locale={{
417
+ // filterTitle: 'Chọn tất cả',
418
+ // filterCheckall: 'Chọn tất cả'
419
+ // }}
411
420
  , {
412
- locale: {
413
- filterTitle: 'Chọn tất cả',
414
- filterCheckall: 'Chọn tất cả'
415
- },
416
- showFilter: column.showFilterSearch,
421
+ locale: locale,
417
422
  selectedKeys: selectedKeys,
418
423
  onSelect: setSelectedKeys,
419
424
  options: options,
@@ -427,7 +432,7 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
427
432
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
428
433
  className: 'mb-1'
429
434
  }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Input, {
430
- placeholder: `Search`,
435
+ placeholder: t ? t('Search') : `Search`,
431
436
  value: selectedKeys[0],
432
437
  onChange: e => setSelectedKeys(e.target.value ? [e.target.value] : [])
433
438
  // onPressEnter={() => handleSearch(selectedKeys as string[], confirm)}
@@ -1,9 +1,10 @@
1
1
  import type * as React from "react";
2
2
  import dayjs from "dayjs";
3
3
  import type { EditType, IColumnType, TypeFilter } from "rc-master-ui";
4
- import type { ColumnEditType, ColumnsType, ColumnTable } from "../type";
4
+ import type { ColumnEditType, ColumnsType, ColumnTable, GetRowKey } from "../type";
5
5
  import type { SelectionSettings } from "../type";
6
6
  import type { AnyObject } from "../type";
7
+ import { Key } from "react";
7
8
  export declare const newGuid: () => any;
8
9
  export declare const sumDataByField: (data: any[], field: string) => any;
9
10
  export declare const checkThousandSeparator: (thousandSeparator: string | undefined, decimalSeparator: string | undefined) => string;
@@ -35,3 +36,4 @@ export declare const getColumnsVisible: <T>(columns: ColumnsType<T>, index: numb
35
36
  export declare const updateData: <Record_1 = AnyObject>(initData: Record_1[], rows: Record_1[], key: keyof Record_1) => Record_1[];
36
37
  export declare const parseBooleanToValue: (value: boolean, type: 'boolean' | 'number') => number | boolean;
37
38
  export declare const genPresets: (presets?: import("@ant-design/colors").PalettesProps) => import("antd/es/color-picker/interface").PresetsItem[];
39
+ export declare function findAllChildrenKeys<RecordType>(data: readonly RecordType[], getRowKey: GetRowKey<RecordType>, childrenColumnName: string): Key[];
@@ -4,7 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.getEditType = exports.getDatepickerFormat = exports.getDateString = exports.getColumnsVisible = exports.getAllVisibleKeys = exports.genPresets = exports.customWeekStartEndFormat = exports.convertLabelToTitle = exports.convertDayjsToDate = exports.convertDateToDayjs = exports.convertArrayWithIndent = exports.checkThousandSeparator = exports.checkFieldKey = exports.checkDecimalSeparator = void 0;
7
+ exports.customWeekStartEndFormat = exports.convertLabelToTitle = exports.convertDayjsToDate = exports.convertDateToDayjs = exports.convertArrayWithIndent = exports.checkThousandSeparator = exports.checkFieldKey = exports.checkDecimalSeparator = void 0;
8
+ exports.findAllChildrenKeys = findAllChildrenKeys;
9
+ exports.getEditType = exports.getDatepickerFormat = exports.getDateString = exports.getColumnsVisible = exports.getAllVisibleKeys = exports.genPresets = void 0;
8
10
  exports.getHiddenParentKeys = getHiddenParentKeys;
9
11
  exports.updateData = exports.updateColumns = exports.updateArrayByKey = exports.totalFixedWidth = exports.sumDataByField = exports.parseBooleanToValue = exports.newGuid = exports.isObjEmpty = exports.isNullOrUndefined = exports.isNameColor = exports.isEmpty = exports.isDisable = exports.isColor = exports.getVisibleColumnKeys = exports.getTypeFilter = exports.getTemplate = void 0;
10
12
  var _dayjs = _interopRequireDefault(require("dayjs"));
@@ -367,4 +369,15 @@ const genPresets = (presets = _colors.presetPalettes) => {
367
369
  key: label
368
370
  }));
369
371
  };
370
- exports.genPresets = genPresets;
372
+ exports.genPresets = genPresets;
373
+ function findAllChildrenKeys(data, getRowKey, childrenColumnName) {
374
+ const keys = [];
375
+ function dig(list) {
376
+ (list || []).forEach((item, index) => {
377
+ keys.push(getRowKey(item, index));
378
+ dig(item[childrenColumnName]);
379
+ });
380
+ }
381
+ dig(data);
382
+ return keys;
383
+ }