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
@@ -8,6 +8,7 @@ type Props<T> = GridTableProps<T> & {
8
8
  getRowKey: GetRowKey<T>;
9
9
  triggerGroupColumns?: (groupedColumns: string[]) => void;
10
10
  triggerPaste?: (pastedRows: T[], pastedColumnsArray: string[], newData: T[]) => void;
11
+ triggerFilter?: (queries: any) => void;
11
12
  };
12
13
  declare const Group: <RecordType extends object>(props: Props<RecordType>) => React.JSX.Element;
13
14
  export default Group;
@@ -67,7 +67,7 @@ const Group = props => {
67
67
  gap: '10px',
68
68
  marginRight: 10
69
69
  }
70
- }, /*#__PURE__*/React.createElement(ColumnsGroup, {
70
+ }, groupSetting?.showGroupIcon !== false && /*#__PURE__*/React.createElement(ColumnsGroup, {
71
71
  t: t
72
72
  // defaultGroupColumns={['name']}
73
73
  ,
@@ -18,7 +18,7 @@ export type ToolbarItem = Omit<RcToolbarItem, 'position' | 'align'> & {
18
18
  align?: ITextAlign;
19
19
  onClick?: (args: any) => void;
20
20
  };
21
- export type ContextMenuItem = ItemType & {};
21
+ export type ContextMenuItem = ItemType;
22
22
  export type ITemplateColumn = {
23
23
  value: any;
24
24
  column: any;
@@ -218,6 +218,7 @@ export type IGroupSetting = {
218
218
  client?: boolean;
219
219
  onGroup?: (props: IOnGroup) => void;
220
220
  hiddenColumnGroup?: boolean;
221
+ showGroupIcon?: boolean;
221
222
  unClearableLevel?: 1 | 2 | 3 | undefined;
222
223
  };
223
224
  type IOnGroup = {
@@ -88,6 +88,7 @@ const CheckboxFilter = props => {
88
88
 
89
89
  // const [searchValue, setSearchValue] = React.useState('');
90
90
 
91
+ console.log('options', options);
91
92
  const [openKeys, setOpenKeys] = React.useState([]);
92
93
 
93
94
  // clear search value after close filter dropdown
@@ -180,6 +181,9 @@ const CheckboxFilter = props => {
180
181
  onSelect?.(keys);
181
182
  }
182
183
  };
184
+ console.log('getTreeData({ filters: options })', getTreeData({
185
+ filters: options
186
+ }));
183
187
  if (filterMode === 'tree') {
184
188
  return /*#__PURE__*/React.createElement(React.Fragment, null, showFilter && /*#__PURE__*/React.createElement(_FilterSearch.default, {
185
189
  filterSearch: filterSearch,
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import type { TableLocale } from "rc-master-ui/es/table/interface";
3
+ type Props = {
4
+ options: any[];
5
+ filterSearch?: boolean;
6
+ open?: boolean;
7
+ tablePrefixCls?: string;
8
+ prefixCls?: string;
9
+ dropdownPrefixCls?: string;
10
+ filterMultiple: boolean;
11
+ showFilter?: boolean;
12
+ onSelect?: (value: any) => void;
13
+ selectedKeys: string[];
14
+ locale?: TableLocale;
15
+ filterMode?: 'menu' | 'tree';
16
+ searchValue: string;
17
+ setSearchValue: (value: any) => void;
18
+ };
19
+ declare const CheckboxFilter: (props: Props) => React.JSX.Element;
20
+ export default CheckboxFilter;
@@ -0,0 +1,257 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _FilterSearch = _interopRequireDefault(require("./FilterSearch"));
11
+ var _rcMasterUi = require("rc-master-ui");
12
+ var _antd = require("antd");
13
+ var _useFilter = require("rc-master-ui/es/table/hooks/useFilter");
14
+ 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
+ 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
+ // import Tree from "rc-master-ui/es/tree";
17
+
18
+ function searchValueMatched(searchValue, text) {
19
+ if (typeof text === 'string' || typeof text === 'number') {
20
+ return text?.toString().toLowerCase().includes(searchValue.trim().toLowerCase());
21
+ }
22
+ return false;
23
+ }
24
+ function renderFilterItems({
25
+ filters,
26
+ prefixCls,
27
+ filteredKeys,
28
+ filterMultiple,
29
+ searchValue,
30
+ filterSearch
31
+ }) {
32
+ return filters.map((filter, index) => {
33
+ const key = String(filter.value);
34
+ if (filter.children) {
35
+ return {
36
+ key: key || index,
37
+ label: filter.text,
38
+ popupClassName: `${prefixCls}-dropdown-submenu`,
39
+ children: renderFilterItems({
40
+ filters: filter.children,
41
+ prefixCls,
42
+ filteredKeys,
43
+ filterMultiple,
44
+ searchValue,
45
+ filterSearch
46
+ })
47
+ };
48
+ }
49
+ const Component = filterMultiple ? _rcMasterUi.Checkbox : _rcMasterUi.Radio;
50
+ const item = {
51
+ key: filter.value !== undefined ? key : index,
52
+ label: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Component, {
53
+ checked: filteredKeys.includes(key)
54
+ }), /*#__PURE__*/React.createElement("span", null, filter.text))
55
+ };
56
+ if (searchValue.trim()) {
57
+ if (typeof filterSearch === 'function') {
58
+ return filterSearch(searchValue, filter) ? item : null;
59
+ }
60
+ return searchValueMatched(searchValue, filter.text) ? item : null;
61
+ }
62
+ return item;
63
+ });
64
+ }
65
+ function hasSubMenu(filters) {
66
+ return filters.some(({
67
+ children
68
+ }) => children);
69
+ }
70
+ const CheckboxFilter = props => {
71
+ const {
72
+ // column,
73
+ filterSearch = true,
74
+ tablePrefixCls = 'ui-rc-table',
75
+ prefixCls = 'ui-rc-table-filter',
76
+ dropdownPrefixCls = 'ui-rc-dropdown',
77
+ filterMultiple,
78
+ selectedKeys,
79
+ locale,
80
+ options,
81
+ filterMode = 'tree',
82
+ // open,
83
+ searchValue,
84
+ showFilter,
85
+ setSearchValue,
86
+ onSelect
87
+ } = props;
88
+
89
+ // const [searchValue, setSearchValue] = React.useState('');
90
+
91
+ console.log('options', options);
92
+ const [openKeys, setOpenKeys] = React.useState([]);
93
+
94
+ // clear search value after close filter dropdown
95
+ // React.useEffect(() => {
96
+ // // if (visible) {
97
+ // setSearchValue('');
98
+ // // }
99
+ // }, [open]);
100
+
101
+ const onOpenChange = keys => {
102
+ setOpenKeys(keys);
103
+ };
104
+ const items = renderFilterItems({
105
+ // filters: column.filters || [],
106
+ filters: options || [],
107
+ filterSearch,
108
+ prefixCls,
109
+ filteredKeys: selectedKeys ?? [],
110
+ filterMultiple,
111
+ searchValue
112
+ });
113
+ const dropdownMenuClass = (0, _classnames.default)({
114
+ // [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(column.filters || []),
115
+ [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(options || [])
116
+ });
117
+ const empty = /*#__PURE__*/React.createElement(_rcMasterUi.Empty, {
118
+ image: _rcMasterUi.Empty.PRESENTED_IMAGE_SIMPLE,
119
+ description: locale?.filterEmptyText,
120
+ imageStyle: {
121
+ height: 24
122
+ },
123
+ style: {
124
+ margin: 0,
125
+ padding: '16px 0'
126
+ }
127
+ });
128
+ const isEmpty = items.every(item => item === null);
129
+ const onSearch = e => {
130
+ const {
131
+ value
132
+ } = e.target;
133
+ setSearchValue(value);
134
+ };
135
+
136
+ // if ((column.filters || []).length === 0) {
137
+ // return empty;
138
+ // }
139
+
140
+ const getTreeData = ({
141
+ filters
142
+ }) => (filters || []).map((filter, index) => {
143
+ const key = String(filter.value);
144
+ const item = {
145
+ title: filter.text,
146
+ key: filter.value !== undefined ? key : String(index)
147
+ };
148
+ if (filter.children) {
149
+ item.children = getTreeData({
150
+ filters: filter.children
151
+ });
152
+ }
153
+ return item;
154
+ });
155
+ const getFilterData = node => ({
156
+ ...node,
157
+ text: node.title,
158
+ value: node.key,
159
+ children: node.children?.map(item => getFilterData(item)) || []
160
+ });
161
+ const onCheckAll = e => {
162
+ if (e.target.checked) {
163
+ const allFilterKeys = (0, _useFilter.flattenKeys)(options).map(key => String(key));
164
+
165
+ // setFilteredKeysSync(allFilterKeys);
166
+ onSelect?.(allFilterKeys);
167
+ } else {
168
+ onSelect?.([]);
169
+ // setFilteredKeysSync([]);
170
+ }
171
+ };
172
+ const onCheck = (keys, {
173
+ node,
174
+ checked
175
+ }) => {
176
+ if (!filterMultiple) {
177
+ // onSelectKeys({ selectedKeys: checked && node.key ? [node.key] : [] });
178
+ onSelect?.(checked && node.key ? [node.key] : []);
179
+ } else {
180
+ // onSelectKeys({ selectedKeys: keys });
181
+ onSelect?.(keys);
182
+ }
183
+ };
184
+ console.log('getTreeData({ filters: options })', getTreeData({
185
+ filters: options
186
+ }));
187
+ if (filterMode === 'tree') {
188
+ return /*#__PURE__*/React.createElement(React.Fragment, null, showFilter && /*#__PURE__*/React.createElement(_FilterSearch.default, {
189
+ filterSearch: filterSearch,
190
+ value: searchValue,
191
+ onChange: onSearch,
192
+ tablePrefixCls: tablePrefixCls,
193
+ locale: locale
194
+ }), /*#__PURE__*/React.createElement("div", {
195
+ className: `${tablePrefixCls}-filter-dropdown-tree`
196
+ }, filterMultiple && options.length > 0 ? /*#__PURE__*/React.createElement(_rcMasterUi.Checkbox
197
+ // checked={selectedKeys.length === flattenKeys(column.filters).length}
198
+ , {
199
+ checked: selectedKeys.length === (0, _useFilter.flattenKeys)(options).length
200
+ // indeterminate={
201
+ // selectedKeys.length > 0 &&
202
+ // selectedKeys.length < flattenKeys(column.filters).length
203
+ // }
204
+ ,
205
+
206
+ indeterminate: selectedKeys.length > 0 && selectedKeys.length < (0, _useFilter.flattenKeys)(options).length,
207
+ className: `${tablePrefixCls}-filter-dropdown-checkall`,
208
+ onChange: onCheckAll
209
+ }, locale?.filterCheckall) : /*#__PURE__*/React.createElement(_rcMasterUi.Empty, null), /*#__PURE__*/React.createElement(_antd.Tree, {
210
+ checkable: true,
211
+ selectable: false,
212
+ blockNode: true,
213
+ multiple: filterMultiple,
214
+ checkStrictly: !filterMultiple,
215
+ className: `${dropdownPrefixCls}-menu`,
216
+ onCheck: onCheck,
217
+ checkedKeys: selectedKeys,
218
+ selectedKeys: selectedKeys,
219
+ showIcon: false
220
+ // treeData={getTreeData({ filters: column.filters })}
221
+ ,
222
+ treeData: getTreeData({
223
+ filters: options
224
+ }),
225
+ autoExpandParent: true,
226
+ defaultExpandAll: true,
227
+ filterTreeNode: searchValue.trim() ? node => {
228
+ if (typeof filterSearch === 'function') {
229
+ // @ts-ignore
230
+ return filterSearch(searchValue, getFilterData(node));
231
+ }
232
+ return searchValueMatched(searchValue, node.title);
233
+ } : undefined
234
+ })));
235
+ }
236
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_FilterSearch.default, {
237
+ filterSearch: filterSearch,
238
+ value: searchValue,
239
+ onChange: onSearch,
240
+ tablePrefixCls: tablePrefixCls,
241
+ locale: locale
242
+ }), isEmpty ? empty : /*#__PURE__*/React.createElement(_rcMasterUi.Menu, {
243
+ selectable: true,
244
+ multiple: filterMultiple,
245
+ prefixCls: `${dropdownPrefixCls}-menu`,
246
+ className: dropdownMenuClass,
247
+ onSelect: onSelect,
248
+ onDeselect: onSelect,
249
+ selectedKeys: selectedKeys
250
+ // getPopupContainer={getPopupContainer}
251
+ ,
252
+ openKeys: openKeys,
253
+ onOpenChange: onOpenChange,
254
+ items: items
255
+ }));
256
+ };
257
+ var _default = exports.default = CheckboxFilter;
@@ -43,7 +43,7 @@ const ColumnsGroup = props => {
43
43
  return rsCol.map(it => ({
44
44
  ...it,
45
45
  value: it.field,
46
- label: t ? t(it.columnGroupText ?? it.headerText ?? it.title) : it.columnGroupText ?? it.headerText ?? it.title
46
+ label: t ? t(it?.columnGroupText ?? it?.headerText) : it?.columnGroupText ?? it?.headerText
47
47
  }));
48
48
  }, [rsCol, t]);
49
49
 
@@ -146,7 +146,7 @@ const ColumnsGroup = props => {
146
146
  ,
147
147
  labelRender: labelProps => {
148
148
  const it = columns.find(col => col.field === labelProps.value);
149
- return t ? t(it.columnGroupText ?? it.headerText ?? it.title) : it.columnGroupText ?? it.headerText ?? it.title;
149
+ return t ? t(it?.columnGroupText ?? it?.headerText) : it?.columnGroupText ?? it?.headerText;
150
150
  }
151
151
  // hideSelectedOptions
152
152
  })), /*#__PURE__*/_react.default.createElement("div", {
@@ -175,7 +175,7 @@ const ColumnsGroup = props => {
175
175
  ,
176
176
  labelRender: labelProps => {
177
177
  const it = columns.find(col => col.field === labelProps.value);
178
- return t ? t(it.columnGroupText ?? it.headerText ?? it.title) : it.columnGroupText ?? it.headerText ?? it.title;
178
+ return t ? t(it?.columnGroupText ?? it?.headerText) : it?.columnGroupText ?? it?.headerText;
179
179
  }
180
180
  })), /*#__PURE__*/_react.default.createElement("div", {
181
181
  className: 'mb-1',
@@ -202,7 +202,7 @@ const ColumnsGroup = props => {
202
202
  ,
203
203
  labelRender: labelProps => {
204
204
  const it = columns.find(col => col.field === labelProps.value);
205
- return t ? t(it.columnGroupText ?? it.headerText ?? it.title) : it.columnGroupText ?? it.headerText ?? it.title;
205
+ return t ? t(it?.columnGroupText ?? it?.headerText) : it?.columnGroupText ?? it?.headerText;
206
206
  }
207
207
  }))), /*#__PURE__*/_react.default.createElement(BoxAction, {
208
208
  className: 'px-1'
@@ -93,6 +93,7 @@ const ContextMenu = props => {
93
93
  React.createElement(_antd.Dropdown, {
94
94
  placement: 'topRight',
95
95
  open: open,
96
+ overlayClassName: 'be-popup-container',
96
97
  overlayStyle: {
97
98
  left: `${pos.x}px`,
98
99
  top: `${pos.y}px`
@@ -113,6 +113,7 @@ const ConvertColumnTable = props => {
113
113
  locale,
114
114
  t,
115
115
  buddhistLocale,
116
+ dataSource,
116
117
  dataSourceFilter: propDataSourceFilter,
117
118
  format,
118
119
  sortMultiple,
@@ -126,7 +126,7 @@ const EditableCell = props => {
126
126
  });
127
127
  }
128
128
  },
129
- placeholder: column.placeholder,
129
+ placeholder: t ? t(column.placeholder ?? 'Select') : column.placeholder ?? 'Select',
130
130
  disabled: (0, _hooks.isDisable)(column, record) ?? false,
131
131
  maxDate: maxDate,
132
132
  minDate: minDate
@@ -166,7 +166,7 @@ const EditableCell = props => {
166
166
  },
167
167
  showTime: true,
168
168
  value: date,
169
- placeholder: column.placeholder,
169
+ placeholder: t ? t(column.placeholder ?? 'Select') : column.placeholder ?? 'Select',
170
170
  disabled: (0, _hooks.isDisable)(column, record) ?? false,
171
171
  maxDate: maxDate,
172
172
  minDate: minDate,
@@ -217,7 +217,7 @@ const EditableCell = props => {
217
217
  height: '100%'
218
218
  },
219
219
  picker: editType,
220
- placeholder: column.placeholder,
220
+ placeholder: t ? t(column.placeholder ?? 'Select') : column.placeholder ?? 'Select',
221
221
  disabled: (0, _hooks.isDisable)(column, record) ?? false,
222
222
  maxDate: maxDateValue1,
223
223
  minDate: minDateValue1,
@@ -234,7 +234,7 @@ const EditableCell = props => {
234
234
  height: '100%'
235
235
  },
236
236
  picker: editType,
237
- placeholder: column.placeholder,
237
+ placeholder: t ? t(column.placeholder ?? 'Select') : column.placeholder ?? 'Select',
238
238
  disabled: (0, _hooks.isDisable)(column, record) ?? false,
239
239
  maxDate: maxWeekValue,
240
240
  minDate: minWeekValue,
@@ -254,6 +254,7 @@ const EditableCell = props => {
254
254
  format: timeFormat,
255
255
  type: 'mask'
256
256
  },
257
+ placeholder: t ? t(column.placeholder ?? 'Select') : column.placeholder ?? 'Select',
257
258
  maxDate: maxTime,
258
259
  minDate: minTime,
259
260
  disabled: (0, _hooks.isDisable)(column, record) ?? false,
@@ -327,7 +328,7 @@ const EditableCell = props => {
327
328
  defaultOpen: column.field === cellEditing?.column.field
328
329
  // autoFocus={true}
329
330
  ,
330
- placeholder: t ? t('Select') : 'Select',
331
+ placeholder: t ? t(column.placeholder ?? 'Select') : column.placeholder ?? 'Select',
331
332
  allowClear: column.isClearable ?? false,
332
333
  maxTagCount: 'responsive',
333
334
  rowKey: keySelect,
@@ -407,7 +408,7 @@ const EditableCell = props => {
407
408
  width: '100%',
408
409
  height: '100%'
409
410
  },
410
- placeholder: t ? t('Select') : 'Select',
411
+ placeholder: t ? t(column.placeholder ?? 'Select') : column.placeholder ?? 'Select',
411
412
  allowClear: column.isClearable ?? false,
412
413
  maxTagCount: 'responsive',
413
414
  popupMatchSelectWidth: menuWidth ? menuWidth + 10 : undefined,
@@ -461,7 +462,7 @@ const EditableCell = props => {
461
462
  width: '100%',
462
463
  height: '100%'
463
464
  },
464
- placeholder: t ? t('Select') : 'Select',
465
+ placeholder: t ? t(column.placeholder ?? 'Select') : column.placeholder ?? 'Select',
465
466
  allowClear: column.isClearable ?? false,
466
467
  maxTagCount: 'responsive',
467
468
  popupMatchSelectWidth: menuWidth ? menuWidth + 10 : undefined,
@@ -531,7 +532,7 @@ const EditableCell = props => {
531
532
  overflow: 'auto'
532
533
  },
533
534
  treeData: newTreeData,
534
- placeholder: t ? t('Select') : 'Select',
535
+ placeholder: t ? t(column.placeholder ?? 'Select') : column.placeholder ?? 'Select',
535
536
  treeDefaultExpandAll: true,
536
537
  defaultOpen: column.field === cellEditing?.column.field
537
538
  // autoFocus={true}
@@ -745,6 +746,7 @@ const EditableCell = props => {
745
746
  customInput: _antd.Input
746
747
  // valueIsNumericString={true}
747
748
  ,
749
+ placeholder: t ? t(column.placeholder ?? 'Enter') : column.placeholder ?? 'Enter',
748
750
  autoComplete: 'off',
749
751
  className: (0, _classnames.default)('be-cell-editing rounded-0 input-element', {
750
752
  'is-invalid': isInvalid,
@@ -788,6 +790,7 @@ const EditableCell = props => {
788
790
  ,
789
791
  disabled: (0, _hooks.isDisable)(column, record) ?? false,
790
792
  className: (0, _classnames.default)('be-cell-editing rounded-0 input-element'),
793
+ placeholder: t ? t(column.placeholder ?? 'Enter') : column.placeholder ?? 'Enter',
791
794
  value: !(0, _hooks.isNullOrUndefined)(value) ? value : '',
792
795
  onBlur: () => {
793
796
  const formState = getValues();
@@ -68,7 +68,8 @@ const InternalTable = props => {
68
68
  dataSource,
69
69
  allowResizing,
70
70
  dataSourceFilter: propDataSourceFilter,
71
- onFilterClick,
71
+ // onFilterClick,
72
+ // onFilter,
72
73
  editAble,
73
74
  rowKey: propRowKey,
74
75
  format,
@@ -97,8 +98,15 @@ const InternalTable = props => {
97
98
  ...local.lang
98
99
  }
99
100
  };
101
+
102
+ // const [filterStates, setFilterState] = React.useState<any>(null)
103
+ // const [isFilter, setIsFilter] = React.useState<boolean>(false);
104
+
100
105
  const mergerdData = _react.default.useMemo(() => {
106
+ // return filterDataByColumns2(addRowIdArray(dataSource), filterStates)
107
+ // return filterDataByColumns3(addRowIdArray(dataSource), filterStates)
101
108
  return (0, _hooks.addRowIdArray)(dataSource);
109
+ // return dataSource
102
110
  }, [dataSource]);
103
111
  const [columns, setColumns] = _react.default.useState([]);
104
112
  const tableRef = _react.default.useRef(null);
@@ -130,9 +138,21 @@ const InternalTable = props => {
130
138
  const newColumns = (0, _hooks.updateArrayByKey)(columns, newColumn, 'field');
131
139
  setColumns(newColumns);
132
140
  };
141
+
142
+ // ============================ RowKey ============================
143
+ const getRowKey = _react.default.useMemo(() => {
144
+ if (typeof rowKey === 'function') {
145
+ return rowKey;
146
+ }
147
+ // @ts-ignore
148
+ return record => record?.[rowKey];
149
+ }, [rowKey]);
133
150
  const [transformSelectionColumns] = (0, _useColumns.default)({
134
151
  locale,
135
152
  t,
153
+ rowKey,
154
+ // dataSource: mergerdData,
155
+ dataSource,
136
156
  buddhistLocale,
137
157
  dataSourceFilter: propDataSourceFilter,
138
158
  format,
@@ -146,15 +166,6 @@ const InternalTable = props => {
146
166
  return transformSelectionColumns(columns);
147
167
  }, [columns, transformSelectionColumns]);
148
168
 
149
- // ============================ RowKey ============================
150
- const getRowKey = _react.default.useMemo(() => {
151
- if (typeof rowKey === 'function') {
152
- return rowKey;
153
- }
154
- // @ts-ignore
155
- return record => record?.[rowKey];
156
- }, [rowKey]);
157
-
158
169
  // const triggerChangeColumns = (newColumns: ColumnsTable<RecordType>) => {
159
170
  const triggerChangeColumns = (newColumns, type) => {
160
171
  setColumns(newColumns);
@@ -209,7 +220,22 @@ const InternalTable = props => {
209
220
  // setData(newData)
210
221
  // setMergedData(newData)
211
222
  onDataChange?.(newData);
223
+ // onDataChange?.(removeFieldRecursive(newData, 'isFilterState'))
212
224
  };
225
+
226
+ // const triggerFilter = (queries: any) => {
227
+ // console.log('queries', queries)
228
+ // // console.log('data', dataSource)
229
+ // setFilterState(queries)
230
+ //
231
+ // if (queries && queries.length > 0) {
232
+ // setIsFilter(true)
233
+ // } else {
234
+ // setIsFilter(false)
235
+ // }
236
+ //
237
+ // }
238
+
213
239
  const triggerCommandClick = args => {
214
240
  const {
215
241
  id,
@@ -368,6 +394,7 @@ const InternalTable = props => {
368
394
  locale: locale,
369
395
  tableRef: tableRef,
370
396
  dataSource: mergerdData
397
+ // dataSource={dataSource}
371
398
  // components={components}
372
399
  ,
373
400
  components: {
@@ -393,6 +420,10 @@ const InternalTable = props => {
393
420
  groupAble: groupAble,
394
421
  groupColumns: groupColumns,
395
422
  commandClick: triggerCommandClick
423
+ // triggerFilter={triggerFilter}
424
+ // isFilter={isFilter}
425
+ // setIsFilter={setIsFilter}
426
+ // onScroll={onScroll}
396
427
  }));
397
428
  };
398
429
  var _default = exports.default = InternalTable;
@@ -5,12 +5,15 @@ import type { ColumnsTable, GetRowKey, GridTableProps } from "./type";
5
5
  type GridProps<T> = GridTableProps<T> & {
6
6
  triggerChangeColumns?: (columns: ColumnsTable<T>, type: string) => void;
7
7
  triggerChangeData?: (newData: T[], type: string) => void;
8
+ triggerFilter?: (queries: any) => void;
8
9
  triggerGroupColumns?: (groupedColumns: string[]) => void;
9
10
  tableRef: any;
10
11
  bottomToolbar?: () => React.ReactElement;
11
12
  getRowKey: GetRowKey<T>;
12
13
  rowSelection?: any;
13
14
  groupToolbar?: () => React.ReactNode;
15
+ isFilter?: boolean;
16
+ setIsFilter?: React.Dispatch<React.SetStateAction<boolean>>;
14
17
  };
15
18
  declare const TableGrid: <RecordType extends object>(props: GridProps<RecordType>) => React.JSX.Element;
16
19
  export default TableGrid;