es-grid-template 1.3.0 → 1.3.2

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 (51) hide show
  1. package/assets/index.css +16 -0
  2. package/assets/index.scss +37 -3
  3. package/es/grid-component/CheckboxFilter.js +4 -0
  4. package/es/grid-component/CheckboxFilter2.d.ts +20 -0
  5. package/es/grid-component/CheckboxFilter2.js +248 -0
  6. package/es/grid-component/ColumnsGroup/ColumnsGroup.js +4 -4
  7. package/es/grid-component/ContextMenu.js +1 -0
  8. package/es/grid-component/ConvertColumnTable.js +1 -0
  9. package/es/grid-component/EditableCell.js +11 -8
  10. package/es/grid-component/InternalTable.js +47 -11
  11. package/es/grid-component/TableGrid.d.ts +3 -0
  12. package/es/grid-component/TableGrid.js +71 -7
  13. package/es/grid-component/hooks/columns/index.js +14 -45
  14. package/es/grid-component/hooks/content/HeaderContent.js +54 -58
  15. package/es/grid-component/hooks/useColumns.d.ts +4 -2
  16. package/es/grid-component/hooks/useColumns.js +32 -13
  17. package/es/grid-component/hooks/utils.d.ts +9 -0
  18. package/es/grid-component/hooks/utils.js +278 -1
  19. package/es/grid-component/number-range/index.d.ts +10 -0
  20. package/es/grid-component/number-range/index.js +59 -0
  21. package/es/grid-component/styles.scss +24 -0
  22. package/es/grid-component/table/Grid.d.ts +3 -0
  23. package/es/grid-component/table/GridEdit.js +360 -106
  24. package/es/grid-component/table/Group.d.ts +1 -0
  25. package/es/grid-component/table/Group.js +1 -1
  26. package/es/grid-component/type.d.ts +2 -1
  27. package/lib/grid-component/CheckboxFilter.js +4 -0
  28. package/lib/grid-component/CheckboxFilter2.d.ts +20 -0
  29. package/lib/grid-component/CheckboxFilter2.js +257 -0
  30. package/lib/grid-component/ColumnsGroup/ColumnsGroup.js +4 -4
  31. package/lib/grid-component/ContextMenu.js +1 -0
  32. package/lib/grid-component/ConvertColumnTable.js +1 -0
  33. package/lib/grid-component/EditableCell.js +11 -8
  34. package/lib/grid-component/InternalTable.js +41 -10
  35. package/lib/grid-component/TableGrid.d.ts +3 -0
  36. package/lib/grid-component/TableGrid.js +68 -7
  37. package/lib/grid-component/hooks/columns/index.js +14 -45
  38. package/lib/grid-component/hooks/content/HeaderContent.js +53 -55
  39. package/lib/grid-component/hooks/useColumns.d.ts +4 -2
  40. package/lib/grid-component/hooks/useColumns.js +31 -12
  41. package/lib/grid-component/hooks/utils.d.ts +9 -0
  42. package/lib/grid-component/hooks/utils.js +293 -4
  43. package/lib/grid-component/number-range/index.d.ts +10 -0
  44. package/lib/grid-component/number-range/index.js +67 -0
  45. package/lib/grid-component/styles.scss +24 -0
  46. package/lib/grid-component/table/Grid.d.ts +3 -0
  47. package/lib/grid-component/table/GridEdit.js +358 -104
  48. package/lib/grid-component/table/Group.d.ts +1 -0
  49. package/lib/grid-component/table/Group.js +1 -1
  50. package/lib/grid-component/type.d.ts +2 -1
  51. package/package.json +109 -108
@@ -21,6 +21,7 @@ var _LoadingSpinner = _interopRequireDefault(require("./LoadingSpinner"));
21
21
  var _ColumnsChoose = require("./ColumnsChoose");
22
22
  var _useMergedState = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
23
23
  var _AdvanceFilter = _interopRequireDefault(require("./AdvanceFilter"));
24
+ var _reactTooltip = require("react-tooltip");
24
25
  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
26
  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
27
  // import {ConfigProvider} from "antd";
@@ -48,6 +49,40 @@ const convertFilters = filters => {
48
49
  predicate: "and",
49
50
  operator: "lessthanorequal"
50
51
  });
52
+ } else if (column?.typeFilter === "NumberRange") {
53
+ if ((filteredKeys[0] || filteredKeys[0] === 0) && !filteredKeys[1]) {
54
+ result.push({
55
+ key,
56
+ field: column?.dataIndex,
57
+ value: filteredKeys[0],
58
+ predicate: "and",
59
+ operator: "greaterthanorequal"
60
+ });
61
+ }
62
+ if ((filteredKeys[1] || filteredKeys[1] === 0) && !filteredKeys[0]) {
63
+ result.push({
64
+ key,
65
+ field: column?.dataIndex,
66
+ value: filteredKeys[1],
67
+ predicate: "and",
68
+ operator: "lessthanorequal"
69
+ });
70
+ }
71
+ if ((filteredKeys[0] || filteredKeys[0] === 0) && (filteredKeys[1] || filteredKeys[1] === 0)) {
72
+ result.push({
73
+ key,
74
+ field: column?.dataIndex,
75
+ value: filteredKeys[0],
76
+ predicate: "and",
77
+ operator: "greaterthanorequal"
78
+ }, {
79
+ key,
80
+ field: column?.dataIndex,
81
+ value: filteredKeys[1],
82
+ predicate: "and",
83
+ operator: "lessthanorequal"
84
+ });
85
+ }
51
86
  } else if (column?.typeFilter === 'Checkbox') {
52
87
  filteredKeys.forEach(value => {
53
88
  result.push({
@@ -115,6 +150,7 @@ const TableGrid = props => {
115
150
  showColumnChoose,
116
151
  showAdvanceFilter,
117
152
  onFilter,
153
+ triggerFilter,
118
154
  selectionSettings,
119
155
  rowSelection,
120
156
  rowSelected,
@@ -136,6 +172,7 @@ const TableGrid = props => {
136
172
  groupColumns,
137
173
  groupToolbar,
138
174
  showEmptyText,
175
+ setIsFilter,
139
176
  ...rest
140
177
  } = props;
141
178
  const {
@@ -162,6 +199,7 @@ const TableGrid = props => {
162
199
  viewportWidth,
163
200
  viewportHeight
164
201
  });
202
+ const [filterStates, setFilterState] = _react.default.useState(null);
165
203
 
166
204
  // const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>(defaultSelected);
167
205
 
@@ -298,6 +336,18 @@ const TableGrid = props => {
298
336
  const handleChange = sorter => {
299
337
  onSorter?.(sorter);
300
338
  };
339
+ const handleOnFilter = queries => {
340
+ if (onFilter) {
341
+ onFilter?.(convertFilters(queries));
342
+ } else {
343
+ setFilterState(convertFilters(queries));
344
+ if (queries && queries.length > 0) {
345
+ setIsFilter?.(true);
346
+ } else {
347
+ setIsFilter?.(false);
348
+ }
349
+ }
350
+ };
301
351
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_ContextMenu.default, {
302
352
  open: menuVisible,
303
353
  pos: position,
@@ -309,6 +359,9 @@ const TableGrid = props => {
309
359
  }), /*#__PURE__*/_react.default.createElement(_rcMasterUi.Table, (0, _extends2.default)({
310
360
  ref: tableRef
311
361
  }, rest, {
362
+ tableLayout: 'fixed'
363
+ // id={newGuid()}
364
+ ,
312
365
  locale: {
313
366
  ...locale,
314
367
  emptyText: showEmptyText !== false ? /*#__PURE__*/_react.default.createElement(_rcMasterUi.Empty, {
@@ -320,7 +373,8 @@ const TableGrid = props => {
320
373
  spinning: columns && columns.length === 0 || loading === true,
321
374
  indicator: /*#__PURE__*/_react.default.createElement(_LoadingSpinner.default, null)
322
375
  },
323
- dataSource: columns && columns.length > 0 && loading !== true ? dataSource : []
376
+ dataSource: columns && columns.length > 0 && loading !== true ? (0, _hooks.filterDataByColumns3)(dataSource, filterStates) : []
377
+ // dataSource={columns && columns.length > 0 && loading !== true ? dataSource : []}
324
378
  // className={styles.customTable}
325
379
  ,
326
380
  className: (0, _classnames.default)(className, {
@@ -355,10 +409,13 @@ const TableGrid = props => {
355
409
  // checkStrictly: false,
356
410
 
357
411
  hideSelectAll: !type || type === 'single' || selectionSettings?.mode === 'radio' ? true : hideSelectAll ?? type !== 'multiple'
358
- },
359
- onScroll: () => {
360
- setMenuVisible(false);
361
- },
412
+ }
413
+
414
+ // onScroll={() => {
415
+ // setMenuVisible(false)
416
+ // }}
417
+ ,
418
+
362
419
  summary: () => {
363
420
  if (typeof summary === 'function') {
364
421
  return summary(dataSource);
@@ -397,7 +454,9 @@ const TableGrid = props => {
397
454
  ...pagination
398
455
  },
399
456
  onFilter: val => {
400
- onFilter?.(convertFilters(val));
457
+ handleOnFilter(val);
458
+ // triggerFilter?.(convertFilters(val))
459
+ // onFilter?.(convertFilters(val))
401
460
  },
402
461
  onChange: (paging, filters, sorter) => handleChange(sorter),
403
462
  title: showToolbar === false ? undefined : () => {
@@ -459,6 +518,8 @@ const TableGrid = props => {
459
518
  // @ts-ignore
460
519
  ,
461
520
  showTotal: (total, range) => `${range[0]}-${range[1]} / ${total} ${t ? t(pagination?.locale?.items ?? 'items') : 'items'}`
462
- }, pagination)), bottomToolbar?.());
521
+ }, pagination)), bottomToolbar?.(), /*#__PURE__*/_react.default.createElement(_reactTooltip.Tooltip, {
522
+ id: "tooltip-header"
523
+ }));
463
524
  };
464
525
  var _default = exports.default = TableGrid;
@@ -15,6 +15,7 @@ var _react = _interopRequireWildcard(require("react"));
15
15
  var _rcMasterUi = require("rc-master-ui");
16
16
  var _CheckboxFilter = _interopRequireDefault(require("../../CheckboxFilter"));
17
17
  var _useSelection = require("rc-master-ui/es/table/hooks/useSelection");
18
+ var _numberRange = _interopRequireDefault(require("../../number-range"));
18
19
  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); }
19
20
  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; }
20
21
  const {
@@ -144,11 +145,6 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
144
145
  const dateRangeFormat = (0, _utils.getDatepickerFormat)(column?.type, column) ?? 'DD/MM/YYYY';
145
146
  const find = dataSourceFilter?.find(it => it.key === column?.field);
146
147
  const options = find ? find.data : [];
147
-
148
- // console.log('dataSourceFilter', dataSourceFilter)
149
- // console.log('options', options)
150
- // console.log('column', column)
151
-
152
148
  switch (type) {
153
149
  case 'Number':
154
150
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
@@ -168,39 +164,15 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
168
164
  }
169
165
  }))));
170
166
  case 'NumberRange':
171
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
172
- className: 'mb-1 d-flex flex-column gap-1'
173
- }, /*#__PURE__*/_react.default.createElement("div", {
174
- style: {
175
- marginBottom: 8
167
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_numberRange.default, {
168
+ t: t,
169
+ min: selectedKeys[0],
170
+ max: selectedKeys[1],
171
+ onChange: vals => {
172
+ console.log('NumberRange', vals);
173
+ setSelectedKeys(vals);
176
174
  }
177
- }, /*#__PURE__*/_react.default.createElement(_reactNumericComponent.NumericFormat, {
178
- value: selectedKeys[0]
179
- // thousandSeparator={checkThousandSeparator(thousandSeparator, decimalSeparator)}
180
- // decimalSeparator={checkDecimalSeparator(thousandSeparator, decimalSeparator)}
181
- ,
182
- allowNegative: true,
183
- customInput: _rcMasterUi.Input,
184
- className: ' rounded-0 input-element form-control'
185
- // onValueChange={(values: any) => {
186
- // onChangeValueFilter(type, values.floatValue, 'min')
187
- // }}
188
- ,
189
- placeholder: t ? t('Min') : 'Min',
190
- autoFocus: true
191
- })), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactNumericComponent.NumericFormat, {
192
- value: selectedKeys[1]
193
- // thousandSeparator={checkThousandSeparator(thousandSeparator, decimalSeparator)}
194
- // decimalSeparator={checkDecimalSeparator(thousandSeparator, decimalSeparator)}
195
- ,
196
- allowNegative: true,
197
- customInput: _rcMasterUi.Input,
198
- className: ' rounded-0 input-element form-control',
199
- onValueChange: () => {
200
- // onChangeValueFilter(type, values.floatValue, 'max')
201
- },
202
- placeholder: t ? t('Max') : 'Max'
203
- })))));
175
+ })));
204
176
  case 'Date':
205
177
  const dateValue = selectedKeys[0] ? (0, _utils.convertDateToDayjs)(new Date(selectedKeys[0]), dateFormat) : null;
206
178
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
@@ -451,16 +423,13 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
451
423
  case 'Checkbox':
452
424
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
453
425
  className: 'mb-1'
454
- }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_CheckboxFilter.default
455
- // locale={{
456
- // filterTitle: 'Chọn tất cả',
457
- // filterCheckall: 'Chọn tất cả'
458
- // }}
459
- , {
426
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_CheckboxFilter.default, {
460
427
  locale: locale,
461
428
  selectedKeys: selectedKeys,
462
- onSelect: setSelectedKeys,
463
- options: options,
429
+ onSelect: setSelectedKeys
430
+ // options={options}
431
+ ,
432
+ options: column.source ? column.source : options ?? [],
464
433
  filterMultiple: true,
465
434
  open: visible,
466
435
  searchValue: searchValue,
@@ -5,18 +5,25 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
8
  var _react = _interopRequireWildcard(require("react"));
10
9
  var _classnames = _interopRequireDefault(require("classnames"));
11
- var _react2 = require("@floating-ui/react");
12
- var _styledComponents = _interopRequireDefault(require("styled-components"));
13
10
  var _utils = require("../utils");
14
11
  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); }
15
12
  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; }
16
- const TooltipStyle = _styledComponents.default.div.withConfig({
17
- displayName: "TooltipStyle",
18
- componentId: "es-grid-template__sc-ibhq66-0"
19
- })(["width:max-content;background-color:#444;color:white;font-size:90%;padding:4px 8px;border-radius:4px;opacity:0.9;z-index:9999;max-width:450px;"]);
13
+ // import styled from "styled-components";
14
+
15
+ // const TooltipStyle = styled.div`
16
+ // width: max-content;
17
+ // background-color: #444;
18
+ // color: white;
19
+ // font-size: 90%;
20
+ // padding: 4px 8px;
21
+ // border-radius: 4px;
22
+ // opacity: 0.9;
23
+ // z-index: 9999;
24
+ // max-width: 450px;
25
+ // `
26
+
20
27
  const HeaderContent = props => {
21
28
  const {
22
29
  t
@@ -33,54 +40,45 @@ const HeaderContent = props => {
33
40
  const tooltip = _react.default.useMemo(() => {
34
41
  return headerTooltip ?? columnGroupText ?? headerText;
35
42
  }, [columnGroupText, headerText, headerTooltip]);
36
- const [isOpen, setIsOpen] = (0, _react.useState)(false);
37
- const {
38
- refs,
39
- floatingStyles,
40
- context
41
- } = (0, _react2.useFloating)({
42
- open: isOpen,
43
- onOpenChange: setIsOpen,
44
- placement: "top",
45
- whileElementsMounted: _react2.autoUpdate,
46
- middleware: [(0, _react2.offset)(5), (0, _react2.flip)({
47
- fallbackAxisSideDirection: "start"
48
- }), (0, _react2.shift)()]
49
- });
50
- const hover = (0, _react2.useHover)(context, {
51
- move: false
52
- });
53
- const focus = (0, _react2.useFocus)(context);
54
- const dismiss = (0, _react2.useDismiss)(context);
55
- const role = (0, _react2.useRole)(context, {
56
- role: "tooltip"
57
- });
58
- const {
59
- getReferenceProps,
60
- getFloatingProps
61
- } = (0, _react2.useInteractions)([hover, focus, dismiss, role]);
62
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
63
- ref: refs.setReference
64
- }, getReferenceProps(), {
65
- tabIndex: -1,
66
- style: {
67
- flex: 1,
68
- overflow: 'hidden',
69
- textOverflow: 'ellipsis',
70
- wordBreak: 'keep-all'
71
- }
43
+ //
44
+ //
45
+ // const [isOpen, setIsOpen] = useState(false)
46
+ //
47
+ // const { refs, floatingStyles, context } = useFloating({
48
+ // open: isOpen,
49
+ // onOpenChange: setIsOpen,
50
+ // placement: "top",
51
+ // whileElementsMounted: autoUpdate,
52
+ // middleware: [
53
+ // offset(5),
54
+ // flip({
55
+ // fallbackAxisSideDirection: "start"
56
+ // }),
57
+ // shift()
58
+ // ]
59
+ // })
60
+ //
61
+ // const hover = useHover(context, { move: false })
62
+ // const focus = useFocus(context)
63
+ // const dismiss = useDismiss(context)
64
+ // const role = useRole(context, { role: "tooltip" })
65
+ //
66
+ // const { getReferenceProps, getFloatingProps } = useInteractions([
67
+ // hover,
68
+ // focus,
69
+ // dismiss,
70
+ // role
71
+ // ])
72
+
73
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
74
+ // ref={refs.setReference}
75
+ // tabIndex={-1}
76
+ // style={{flex: 1, overflow: 'hidden', textOverflow: 'ellipsis', wordBreak: 'keep-all'}}
72
77
  // style={{flex: 1}}
73
- ,
74
- className: (0, _classnames.default)('', {})
75
- }), headerTemplate ? (0, _utils.getTemplate)(headerTemplate) : t ? t(text) : text), isOpen && (headerTooltip !== false || headerTemplate || headerTooltip || columnGroupText || headerText) && /*#__PURE__*/_react.default.createElement(_react2.FloatingPortal, {
76
- root: document.body
77
- }, /*#__PURE__*/_react.default.createElement(TooltipStyle, (0, _extends2.default)({
78
- className: "Tooltip",
79
- ref: refs.setFloating,
80
- style: {
81
- ...floatingStyles,
82
- zIndex: 1999
83
- }
84
- }, getFloatingProps()), headerTooltip && typeof headerTooltip === 'function' ? headerTooltip() : t ? t(tooltip) : tooltip)));
78
+ className: (0, _classnames.default)('', {}),
79
+ "data-tooltip-id": "tooltip-header",
80
+ "data-tooltip-content": tooltip,
81
+ "data-tooltip-offset": 16
82
+ }, headerTemplate ? (0, _utils.getTemplate)(headerTemplate) : t ? t(text) : text));
85
83
  };
86
84
  var _default = exports.default = HeaderContent;
@@ -1,7 +1,8 @@
1
1
  import type { AnyObject, IGroupSetting } from "../type";
2
2
  export declare const SELECTION_COLUMN: {};
3
- interface UseColumnsConfig {
3
+ interface UseColumnsConfig<RecordType> {
4
4
  t?: any;
5
+ dataSource: RecordType[];
5
6
  buddhistLocale?: any;
6
7
  dataSourceFilter?: any;
7
8
  locale?: any;
@@ -11,6 +12,7 @@ interface UseColumnsConfig {
11
12
  groupAble?: boolean;
12
13
  groupSetting?: IGroupSetting;
13
14
  groupColumns?: string[];
15
+ rowKey?: any;
14
16
  }
15
- declare const useColumns: <RecordType extends AnyObject = AnyObject>(config: UseColumnsConfig) => readonly [any];
17
+ declare const useColumns: <RecordType extends AnyObject = AnyObject>(config: UseColumnsConfig<RecordType>) => readonly [any];
16
18
  export default useColumns;
@@ -50,14 +50,31 @@ const useColumns = config => {
50
50
  handleResize,
51
51
  groupAble,
52
52
  groupColumns,
53
- groupSetting
53
+ groupSetting,
54
+ dataSource,
55
+ rowKey
54
56
  } = config;
55
57
 
58
+ // const mergedColumns = React.useMemo(
59
+ // () => getMergedColumns<RecordType>(rawMergedColumns || []),
60
+ // [rawMergedColumns],
61
+ // );
62
+ //
63
+ // const [filterStates, setFilterStates] = React.useState<FilterState<RecordType>[]>(() =>
64
+ // collectFilterStates(mergedColumns, true),
65
+ // );
66
+
56
67
  // ====================== Selections ======================
57
68
 
58
- const handleSearch = (selectedKeys, confirm) => {
59
- confirm();
60
- };
69
+ // const handleSearch = (
70
+ // selectedKeys: string[],
71
+ // confirm: any,
72
+ // ) => {
73
+ //
74
+ // confirm()
75
+ //
76
+ // }
77
+
61
78
  const getColumnSearchProps = (0, _react.useCallback)(column => ({
62
79
  filterDropdown: ({
63
80
  setSelectedKeys,
@@ -104,10 +121,9 @@ const useColumns = config => {
104
121
  }, /*#__PURE__*/React.createElement(_antd.Button, {
105
122
  type: "primary",
106
123
  onClick: () => {
107
- confirm({
108
- closeDropdown: false
109
- });
110
- handleSearch(selectedKeys, confirm);
124
+ // confirm({closeDropdown: false})
125
+ confirm();
126
+ // handleSearch(selectedKeys as string[], confirm)
111
127
  },
112
128
  icon: /*#__PURE__*/React.createElement(_icons.SearchOutlined, null),
113
129
  size: "small",
@@ -149,8 +165,8 @@ const useColumns = config => {
149
165
  const transformColumns = (0, _react.useCallback)(columns => {
150
166
  // >>>>>>>>>>> Support selection
151
167
  const cloneColumns = [...columns];
152
- const firstNonGroupColumn = (0, _columns.flatColumns2)(cloneColumns).find(col => col.field && !groupColumns?.includes(col.field) && col.hidden !== true);
153
- const nonGroupColumns = (0, _columns.flatColumns2)(cloneColumns).filter(col => col.field && !groupColumns?.includes(col.field) && col.hidden !== true);
168
+ const firstNonGroupColumn = (0, _columns.flatColumns2)(cloneColumns).find(col => col.field && col.field !== '#' && col.field !== 'index' && !groupColumns?.includes(col.field) && col.hidden !== true);
169
+ const nonGroupColumns = (0, _columns.flatColumns2)(cloneColumns).filter(col => col.field && col.field !== '#' && col.field !== 'index' && !groupColumns?.includes(col.field) && col.hidden !== true);
154
170
 
155
171
  // ===================== Render =====================
156
172
 
@@ -192,10 +208,13 @@ const useColumns = config => {
192
208
  onCell: () => ({
193
209
  className: 'cell-number'
194
210
  }),
195
- render: (_, __, rowIndex) => rowIndex + 1
211
+ render: (val, record) => {
212
+ // return rowIndex + 1
213
+ return (0, _utils.findItemPath)(dataSource, record, rowKey);
214
+ }
196
215
  };
197
216
  }
198
- if (col.key === 'command') {
217
+ if (col.field === 'command') {
199
218
  return {
200
219
  ...transformedColumn,
201
220
  onCell: () => ({
@@ -71,3 +71,12 @@ export declare const checkChild: (inputArray: any[]) => boolean;
71
71
  export declare const isEditable: <RecordType>(column: ColumnTable, rowData: RecordType) => boolean | ((rowData: any) => boolean);
72
72
  export declare const isArraysEqual: (arr1: any[], arr2: any[]) => boolean;
73
73
  export declare const editAbleColumns: <T>(columns: ColumnsTable<T>) => ColumnTable<T>[];
74
+ export declare const findItemPath: (tree: any[], targetItem: any, rowKey: any) => any;
75
+ export declare const filterDataByColumns: (data: any[], queries: any) => any[];
76
+ export declare const filterDataByColumns2: (data: any[], queries: any) => any[];
77
+ export declare const removeFieldRecursive: (data: any[], field: string) => any[];
78
+ export declare const filterDataByColumns3: (data: any[], queries: any[]) => any[];
79
+ export declare function isDateString(str: any): boolean;
80
+ export declare function compareDates(date1: any, date2: any): boolean;
81
+ export declare function compareDate(itemValue: any, value: any): boolean;
82
+ export declare function invalidDate(date: any): boolean;