es-grid-template 1.1.5 → 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.
Files changed (37) hide show
  1. package/es/grid-component/CheckboxFilter.d.ts +1 -1
  2. package/es/grid-component/CheckboxFilter.js +2 -2
  3. package/es/grid-component/ContextMenu.js +1 -3
  4. package/es/grid-component/FilterSearch.d.ts +1 -1
  5. package/es/grid-component/FilterSearch.js +1 -1
  6. package/es/grid-component/InternalTable.js +83 -30
  7. package/es/grid-component/TableGrid.d.ts +0 -1
  8. package/es/grid-component/TableGrid.js +104 -65
  9. package/es/grid-component/hooks/constant.js +14 -14
  10. package/es/grid-component/hooks/useColumns/index.d.ts +2 -1
  11. package/es/grid-component/hooks/useColumns/index.js +21 -19
  12. package/es/grid-component/hooks/utils.d.ts +3 -1
  13. package/es/grid-component/hooks/utils.js +12 -1
  14. package/es/grid-component/styles.scss +701 -651
  15. package/es/grid-component/table/Grid.d.ts +1 -4
  16. package/es/grid-component/table/Grid.js +6 -70
  17. package/es/grid-component/table/GridEdit.js +35 -22
  18. package/es/grid-component/type.d.ts +6 -6
  19. package/lib/grid-component/CheckboxFilter.d.ts +1 -1
  20. package/lib/grid-component/CheckboxFilter.js +2 -2
  21. package/lib/grid-component/ContextMenu.js +1 -3
  22. package/lib/grid-component/FilterSearch.d.ts +1 -1
  23. package/lib/grid-component/FilterSearch.js +1 -1
  24. package/lib/grid-component/InternalTable.js +79 -28
  25. package/lib/grid-component/TableGrid.d.ts +0 -1
  26. package/lib/grid-component/TableGrid.js +103 -66
  27. package/lib/grid-component/hooks/constant.js +14 -14
  28. package/lib/grid-component/hooks/useColumns/index.d.ts +2 -1
  29. package/lib/grid-component/hooks/useColumns/index.js +20 -18
  30. package/lib/grid-component/hooks/utils.d.ts +3 -1
  31. package/lib/grid-component/hooks/utils.js +15 -2
  32. package/lib/grid-component/styles.scss +701 -651
  33. package/lib/grid-component/table/Grid.d.ts +1 -4
  34. package/lib/grid-component/table/Grid.js +5 -69
  35. package/lib/grid-component/table/GridEdit.js +35 -22
  36. package/lib/grid-component/type.d.ts +6 -6
  37. package/package.json +105 -102
@@ -23,21 +23,6 @@ var _ColumnsChoose = require("./ColumnsChoose");
23
23
  var _useMergedState = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
24
24
  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); }
25
25
  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; }
26
- // import type {CheckboxProps} from "rc-master-ui";
27
-
28
- // import { conductCheck } from 'rc-tree/lib/utils/conductUtil';
29
- // import { devUseWarning } from '../../_util/warning';
30
- // import { arrAdd, arrDel } from 'rc-tree/lib/util';
31
-
32
- // import {useMergedState} from "rc-util";
33
-
34
- // import {convertDataToEntities} from "rc-tree/lib/utils/treeUtil";
35
- // import type {DataNode} from "rc-tree/lib/interface";
36
- // import {devUseWarning} from "antd/es/_util/warning";
37
- // import type {GetCheckDisabled} from "rc-tree/es/interface";
38
- // import useLazyKVMap from "antd/es/table/hooks/useLazyKVMap";
39
- // import useMultipleSelect from "rc-master-ui/es/_util/hooks/useMultipleSelect";
40
-
41
26
  const convertFilters = filters => {
42
27
  const result = [];
43
28
  filters.forEach(({
@@ -105,26 +90,14 @@ const useStyle = (0, _antdStyle.createStyles)(({
105
90
  // type OnChange = NonNullable<TableProps<any>['onChange']>;
106
91
 
107
92
  const EMPTY_LIST = [];
108
-
109
- // const flattenData = <RecordType extends AnyObject = AnyObject>(
110
- // childrenColumnName: keyof RecordType,
111
- // data?: RecordType[],
112
- // ): RecordType[] => {
113
- // let list: RecordType[] = [];
114
- // (data || []).forEach((record) => {
115
- // list.push(record);
116
- // if (record && typeof record === 'object' && childrenColumnName in record) {
117
- // list = [...list, ...flattenData<RecordType>(childrenColumnName, record[childrenColumnName])];
118
- // }
119
- // });
120
- // return list;
121
- // };
122
-
123
93
  const TableGrid = props => {
124
94
  const {
125
95
  columns,
126
96
  tableRef,
127
97
  dataSource,
98
+ locale,
99
+ expandable,
100
+ // mergedData,
128
101
  title,
129
102
  format,
130
103
  virtual = true,
@@ -142,7 +115,7 @@ const TableGrid = props => {
142
115
  selectionSettings,
143
116
  rowSelection,
144
117
  rowSelected,
145
- rowKey,
118
+ rowKey = 'id',
146
119
  pagination,
147
120
  scroll,
148
121
  onFilterClick,
@@ -150,7 +123,7 @@ const TableGrid = props => {
150
123
  loading,
151
124
  triggerChangeColumns,
152
125
  summary,
153
- getRowKey,
126
+ showToolbar,
154
127
  onSorter,
155
128
  ...rest
156
129
  } = props;
@@ -160,18 +133,22 @@ const TableGrid = props => {
160
133
  const {
161
134
  mode,
162
135
  type,
163
- // checkboxOnly,
136
+ checkboxOnly,
164
137
  hideSelectAll,
165
138
  columnWidth,
166
139
  selectedRowKeys,
167
140
  defaultSelectedRowKeys
168
- // getCheckboxProps,
169
- // checkStrictly = true
170
141
  } = selectionSettings || {};
171
142
  const clickRef = (0, _react.useRef)(null);
172
143
  const menuRef = (0, _react.useRef)(null);
173
144
  const viewportWidth = window.innerWidth;
174
145
  const viewportHeight = window.innerHeight;
146
+
147
+ // const defaultSelected = useMemo(() => {
148
+ // return defaultSelectedRowKeys ?? []
149
+ //
150
+ // }, [defaultSelectedRowKeys])
151
+
175
152
  const [menuVisible, setMenuVisible] = _react.default.useState(false);
176
153
  const [selectedRowData, setSelectedRowData] = _react.default.useState(null);
177
154
  const [position, setPosition] = _react.default.useState({
@@ -181,10 +158,15 @@ const TableGrid = props => {
181
158
  viewportHeight
182
159
  });
183
160
 
161
+ // const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>(defaultSelected);
162
+
184
163
  // ========================= Keys =========================
185
164
  const [mergedSelectedKeys, setMergedSelectedKeys] = (0, _useMergedState.default)(selectedRowKeys || defaultSelectedRowKeys || EMPTY_LIST, {
186
165
  value: selectedRowKeys
187
166
  });
167
+
168
+ // Reset if rowSelection reset
169
+
188
170
  _react.default.useEffect(() => {
189
171
  if (!selectionSettings) {
190
172
  setMergedSelectedKeys(EMPTY_LIST);
@@ -257,6 +239,19 @@ const TableGrid = props => {
257
239
  });
258
240
  }
259
241
  };
242
+ const handleRowClick = () => () => {
243
+ // const key = getRowKey(record, index);
244
+
245
+ if (checkboxOnly !== true) {
246
+ if (type === 'single') {}
247
+ }
248
+ if (clickRef.current) return;
249
+
250
+ // @ts-ignore
251
+ clickRef.current = setTimeout(() => {
252
+ clickRef.current = null;
253
+ }, 250);
254
+ };
260
255
  const handleRowDoubleClick = (record, index) => e => {
261
256
  if (clickRef.current) {
262
257
  clearTimeout(clickRef.current);
@@ -288,7 +283,7 @@ const TableGrid = props => {
288
283
  // @ts-ignore
289
284
  setMergedSelectedKeys(keys);
290
285
  rowSelected?.({
291
- selected: [selectedRow],
286
+ selected: selectedRows,
292
287
  type: 'rowSelected',
293
288
  rowData: selectedRow
294
289
  });
@@ -297,8 +292,6 @@ const TableGrid = props => {
297
292
  };
298
293
  const handleChange = sorter => {
299
294
  onSorter?.(sorter);
300
- // setFilteredInfo(filters);
301
- // setSortedInfo(sorter as Sorts);
302
295
  };
303
296
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.ConfigProvider, {
304
297
  theme: {
@@ -319,7 +312,15 @@ const TableGrid = props => {
319
312
  contextMenuClick: contextMenuClick,
320
313
  rowData: selectedRowData
321
314
  }), /*#__PURE__*/_react.default.createElement(_rcMasterUi.Table, (0, _extends2.default)({
322
- 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
+ },
323
324
  loading: {
324
325
  spinning: columns && columns.length === 0 || loading === true,
325
326
  indicator: /*#__PURE__*/_react.default.createElement(_LoadingSpinner.default, null)
@@ -328,7 +329,7 @@ const TableGrid = props => {
328
329
  // className={styles.customTable}
329
330
  ,
330
331
  className: (0, _classnames.default)(className, {
331
- 'table-none-column-select': mode === undefined && type !== 'multiple'
332
+ 'table-none-column-select': selectionSettings?.mode === undefined && selectionSettings?.type !== 'multiple'
332
333
  }, styles.customTable),
333
334
  bordered: true,
334
335
  virtual: virtual,
@@ -342,18 +343,17 @@ const TableGrid = props => {
342
343
  onRow: (data, index) => {
343
344
  return {
344
345
  onDoubleClick: handleRowDoubleClick(data, index),
345
- // onClick: handleRowClick(data, index),
346
+ // onClick: handleRowClick,
347
+ onClick: handleRowClick(),
346
348
  onContextMenu: onContextMenu(data)
347
349
  };
348
350
  },
349
351
  rowSelection: {
350
352
  ...selectionSettings,
351
- type: mode === 'checkbox' || type === 'multiple' ? 'checkbox' : "radio",
353
+ type: selectionSettings?.mode === 'checkbox' || type === 'multiple' ? 'checkbox' : "radio",
352
354
  columnWidth: !mode ? 0.0000001 : columnWidth ?? 50,
353
355
  onChange: onSelectChange,
354
356
  // selectedRowKeys: mode === 'checkbox' && type === 'single' ? selectedRowKeys : undefined,
355
- // selectedRowKeys: mode === 'checkbox' && type === 'single' ? mergedSelectedKeys : undefined,
356
-
357
357
  selectedRowKeys: mergedSelectedKeys,
358
358
  defaultSelectedRowKeys: selectionSettings?.defaultSelectedRowKeys,
359
359
  preserveSelectedRowKeys: true,
@@ -404,43 +404,80 @@ const TableGrid = props => {
404
404
  onFilter?.(convertFilters(val));
405
405
  },
406
406
  onChange: (paging, filters, sorter) => handleChange(sorter),
407
- title: () => {
408
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, title?.(dataSource)), (toolbarItems || showColumnChoose !== false) && /*#__PURE__*/_react.default.createElement("div", {
407
+ title: showToolbar === false ? undefined : () => {
408
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, title?.(dataSource)), /*#__PURE__*/_react.default.createElement("div", {
409
409
  style: {
410
410
  display: 'flex',
411
- justifyContent: 'space-between'
411
+ justifyContent: 'space-between',
412
+ alignItems: 'center'
412
413
  }
413
- }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Toolbar, {
414
+ }, toolbarItems && toolbarItems?.length > 0 && /*#__PURE__*/_react.default.createElement(_rcMasterUi.Toolbar
415
+ // @ts-ignore
416
+ , {
414
417
  style: {
415
- width: '100%'
418
+ width: `calc(100% - 650px`
416
419
  },
417
420
  items: toolbarItems ?? [],
418
- mode: 'responsive'
419
- // mode={'scroll'}
420
- // onClick={(val: any) => {
421
- // }}
422
- }), showColumnChoose && /*#__PURE__*/_react.default.createElement(_ColumnsChoose.ColumnsChoose, {
421
+ mode: 'scroll'
422
+ }), /*#__PURE__*/_react.default.createElement("div", {
423
+ style: {
424
+ display: 'flex',
425
+ justifyContent: 'space-between',
426
+ alignItems: 'center'
427
+ }
428
+ }, pagination && pagination.onChange && pagination?.position && pagination?.position[0] === 'topRight' && /*#__PURE__*/_react.default.createElement(_pagination.default, (0, _extends2.default)({
429
+ showSizeChanger: true,
430
+ responsive: true,
431
+ size: 'small',
432
+ rootClassName: 'top-pagination'
433
+ // @ts-ignore
434
+ ,
435
+ showTotal: (total, range) => `${range[0]}-${range[1]} / ${total} ${t ? t(pagination?.locale?.items ?? 'items') : 'items'}`
436
+ }, pagination)), showColumnChoose && /*#__PURE__*/_react.default.createElement(_ColumnsChoose.ColumnsChoose, {
423
437
  columns: columns,
424
438
  t: t,
425
439
  triggerChangeColumns: triggerChangeColumns
426
- }), /*#__PURE__*/_react.default.createElement("div", null)));
427
- }
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;
428
453
 
429
- // rowClassName={(record) => (selectionSettings?.getCheckboxProps(record).disabled ? "row-disabled" : "")}
430
- ,
431
- rowClassName: record => {
432
- const originalOnCell = selectionSettings?.getCheckboxProps?.(record) || {};
433
- return originalOnCell.disabled ? 'row-disabled' : '';
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
+ }
434
473
  }
435
- }, rest)), pagination && pagination.onChange && /*#__PURE__*/_react.default.createElement(_pagination.default
474
+ })), pagination && pagination.onChange && !pagination.position && /*#__PURE__*/_react.default.createElement(_pagination.default
436
475
  // style={{padding: '0.75rem 1rem'}}
437
476
  , (0, _extends2.default)({
438
477
  showSizeChanger: true,
439
478
  responsive: true,
440
- size: 'small'
441
- // @ts-ignore
442
- ,
443
- showTotal: (total, range) => `${range[0]}-${range[1]} / ${total} ${t ? t(pagination?.locale?.items ?? 'items') : 'items'}`
479
+ size: 'small',
480
+ showTotal: (total, range) => `${range[0]}-${range[1]} / ${total} items`
444
481
  }, pagination))));
445
482
  };
446
483
  var _default = exports.default = TableGrid;
@@ -16,29 +16,29 @@ const numberOperator = exports.numberOperator = [{
16
16
  key: '>'
17
17
  }, {
18
18
  value: 'greaterthanorequal',
19
- label: 'Greater than or equal',
19
+ label: 'Greater Than or Equal',
20
20
  key: '>='
21
21
  }, {
22
22
  value: 'lessthan',
23
- label: 'Less than',
23
+ label: 'Less Than',
24
24
  key: '<'
25
25
  }, {
26
26
  value: 'lessthanorequal',
27
- label: 'Less than or equal',
27
+ label: 'Less Than Or Equal',
28
28
  key: '<='
29
29
  }, {
30
30
  value: 'notequal',
31
- label: 'Not equal',
31
+ label: 'Not Equal',
32
32
  key: '!='
33
33
  }];
34
34
  const stringOperator = exports.stringOperator = [{
35
35
  value: 'startswith',
36
36
  key: '_=',
37
- label: 'Starts with'
37
+ label: 'Starts With'
38
38
  }, {
39
39
  value: 'endswith',
40
40
  key: '|=',
41
- label: 'Ends with'
41
+ label: 'Ends With'
42
42
  }, {
43
43
  value: 'contains',
44
44
  key: '~=',
@@ -50,7 +50,7 @@ const stringOperator = exports.stringOperator = [{
50
50
  }, {
51
51
  value: 'notequal',
52
52
  key: '!=',
53
- label: 'Not equal'
53
+ label: 'Not Equal'
54
54
  }];
55
55
  const dateOperator = exports.dateOperator = [{
56
56
  value: 'equal',
@@ -59,15 +59,15 @@ const dateOperator = exports.dateOperator = [{
59
59
  }, {
60
60
  value: 'notequal',
61
61
  key: '!=',
62
- label: 'Not equal'
62
+ label: 'Not Equal'
63
63
  }, {
64
64
  value: 'greaterthan',
65
65
  key: '>',
66
- label: 'Greater than'
66
+ label: 'Greater Than'
67
67
  }, {
68
68
  value: 'lessthan',
69
69
  key: '<',
70
- label: 'Less than'
70
+ label: 'Less Than'
71
71
  }];
72
72
  const dateTimeOperator = exports.dateTimeOperator = [{
73
73
  value: 'equal',
@@ -76,15 +76,15 @@ const dateTimeOperator = exports.dateTimeOperator = [{
76
76
  }, {
77
77
  value: 'notequal',
78
78
  key: '!=',
79
- label: 'Not equal'
79
+ label: 'Not Equal'
80
80
  }, {
81
81
  value: 'greaterthan',
82
82
  key: '>',
83
- label: 'Greater than'
83
+ label: 'Greater Than'
84
84
  }, {
85
85
  value: 'lessthan',
86
86
  key: '<',
87
- label: 'Less than'
87
+ label: 'Less Than'
88
88
  }];
89
89
  const booleanOperator = exports.booleanOperator = [{
90
90
  value: 'equal',
@@ -93,7 +93,7 @@ const booleanOperator = exports.booleanOperator = [{
93
93
  }, {
94
94
  value: 'notequal',
95
95
  key: '!=',
96
- label: 'Not equal'
96
+ label: 'Not Equal'
97
97
  }];
98
98
  const translateOption = (options, t) => {
99
99
  if (!t) {
@@ -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,11 +105,11 @@ 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
- const dateRangeFormat = 'DD/MM/YYYY';
112
- const find = dataSourceFilter?.find(it => it.key === (column?.field || column.dataIndex));
111
+ const dateRangeFormat = (0, _utils.getDatepickerFormat)(column?.type, column) ?? 'DD/MM/YYYY';
112
+ const find = dataSourceFilter?.find(it => it.key === column?.key);
113
113
  const options = find ? find.data : [];
114
114
  switch (type) {
115
115
  case 'Number':
@@ -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;
@@ -194,12 +194,13 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
194
194
  format: {
195
195
  format: dateRangeFormat,
196
196
  type: 'mask'
197
- },
198
- locale: buddhistLocale
197
+ }
199
198
  // defaultValue={dateRangeValue}
200
199
  ,
201
200
  value: dateRangeValue,
202
- 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
+ ,
203
204
  popupStyle: {
204
205
  zIndex: 9999
205
206
  },
@@ -350,6 +351,10 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
350
351
  marginBottom: 8
351
352
  },
352
353
  value: selectedKeys[0],
354
+ notFoundContent: /*#__PURE__*/_react.default.createElement(_rcMasterUi.Empty, {
355
+ image: _rcMasterUi.Empty.PRESENTED_IMAGE_SIMPLE,
356
+ description: locale?.emptyText
357
+ }),
353
358
  onChange: val => {
354
359
  // setOperatorKey(val)
355
360
  setSelectedKeys(val ? [val] : []);
@@ -408,18 +413,15 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
408
413
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
409
414
  className: 'mb-1'
410
415
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_CheckboxFilter.default
411
- // column={column}
416
+ // locale={{
417
+ // filterTitle: 'Chọn tất cả',
418
+ // filterCheckall: 'Chọn tất cả'
419
+ // }}
412
420
  , {
413
- locale: {
414
- filterTitle: 'Chọn tất cả',
415
- filterCheckall: 'Chọn tất cả'
416
- },
417
- showFilter: column.showFilterSearch,
421
+ locale: locale,
418
422
  selectedKeys: selectedKeys,
419
423
  onSelect: setSelectedKeys,
420
- options: options
421
- // options={[]}
422
- ,
424
+ options: options,
423
425
  filterMultiple: true,
424
426
  open: visible,
425
427
  searchValue: searchValue,
@@ -430,7 +432,7 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
430
432
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
431
433
  className: 'mb-1'
432
434
  }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Input, {
433
- placeholder: `Search`,
435
+ placeholder: t ? t('Search') : `Search`,
434
436
  value: selectedKeys[0],
435
437
  onChange: e => setSelectedKeys(e.target.value ? [e.target.value] : [])
436
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
+ }