es-grid-template 1.8.65 → 1.8.67

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 (162) hide show
  1. package/es/grid-component/TempTable.d.ts +2 -2
  2. package/es/grid-component/TempTable.js +3 -3
  3. package/es/grid-component/hooks/constant.d.ts +1 -0
  4. package/es/grid-component/hooks/constant.js +2 -1
  5. package/es/grid-component/hooks/index.js +0 -1
  6. package/es/grid-component/hooks/useLazyKVMap.d.ts +1 -1
  7. package/es/grid-component/hooks/useLazyKVMap.js +0 -4
  8. package/es/grid-component/hooks/utils.d.ts +3 -4
  9. package/es/grid-component/hooks/utils.js +2 -1
  10. package/es/grid-component/styles.scss +1394 -1394
  11. package/es/grid-component/type.d.ts +0 -414
  12. package/es/grid-component/type.js +490 -1
  13. package/es/table-component/TableContainerEdit.js +2 -127
  14. package/es/table-component/body/TableBodyCellEdit.js +2 -9
  15. package/es/table-component/header/TableHeadCell.js +1 -10
  16. package/es/table-component/header/TableHeadCell2.js +1 -1
  17. package/es/table-component/type.d.ts +3 -1
  18. package/es/table-virtuoso/ColumnsGroup/ColumnsGroup.js +1 -3
  19. package/es/table-virtuoso/InternalTable.js +6 -28
  20. package/es/table-virtuoso/body/TableBodyCell.js +0 -9
  21. package/es/table-virtuoso/body/TableBodyRow.js +0 -4
  22. package/es/table-virtuoso/style.js +2 -1
  23. package/es/table-virtuoso/style.scss +2 -1
  24. package/es/table-virtuoso/table/Grid.js +0 -4
  25. package/es/table-virtuoso/table/TableContainer.js +31 -44
  26. package/es/table-virtuoso/table/TableWrapper.d.ts +2 -0
  27. package/es/table-virtuoso/table/TableWrapper.js +5 -2
  28. package/lib/grid-component/TempTable.d.ts +2 -2
  29. package/lib/grid-component/TempTable.js +3 -5
  30. package/lib/grid-component/hooks/constant.d.ts +1 -0
  31. package/lib/grid-component/hooks/constant.js +3 -2
  32. package/lib/grid-component/hooks/useLazyKVMap.d.ts +1 -1
  33. package/lib/grid-component/hooks/useLazyKVMap.js +0 -3
  34. package/lib/grid-component/hooks/utils.d.ts +3 -4
  35. package/lib/grid-component/hooks/utils.js +3 -0
  36. package/lib/grid-component/styles.scss +1394 -1394
  37. package/lib/grid-component/type.d.ts +0 -414
  38. package/lib/grid-component/type.js +490 -4
  39. package/lib/table-component/TableContainerEdit.js +1 -126
  40. package/lib/table-component/body/TableBodyCellEdit.js +5 -11
  41. package/lib/table-component/header/TableHeadCell.js +4 -13
  42. package/lib/table-component/header/TableHeadCell2.js +4 -4
  43. package/lib/table-component/type.d.ts +3 -1
  44. package/lib/table-virtuoso/ColumnsGroup/ColumnsGroup.js +1 -3
  45. package/lib/table-virtuoso/InternalTable.js +6 -28
  46. package/lib/table-virtuoso/body/TableBodyCell.js +0 -9
  47. package/lib/table-virtuoso/body/TableBodyRow.js +0 -5
  48. package/lib/table-virtuoso/style.js +2 -1
  49. package/lib/table-virtuoso/style.scss +2 -1
  50. package/lib/table-virtuoso/table/Grid.js +0 -4
  51. package/lib/table-virtuoso/table/TableContainer.js +29 -42
  52. package/lib/table-virtuoso/table/TableWrapper.d.ts +2 -0
  53. package/lib/table-virtuoso/table/TableWrapper.js +4 -2
  54. package/package.json +1 -1
  55. package/es/grid-component/AdvanceFilter.d.ts +0 -14
  56. package/es/grid-component/AdvanceFilter.js +0 -454
  57. package/es/grid-component/CheckboxFilter.d.ts +0 -20
  58. package/es/grid-component/CheckboxFilter.js +0 -244
  59. package/es/grid-component/CheckboxFilter2.d.ts +0 -20
  60. package/es/grid-component/CheckboxFilter2.js +0 -244
  61. package/es/grid-component/ColumnsChoose.d.ts +0 -10
  62. package/es/grid-component/ColumnsChoose.js +0 -230
  63. package/es/grid-component/ColumnsGroup/ColumnsGroup.d.ts +0 -12
  64. package/es/grid-component/ColumnsGroup/ColumnsGroup.js +0 -232
  65. package/es/grid-component/ColumnsGroup/index.d.ts +0 -1
  66. package/es/grid-component/ColumnsGroup/index.js +0 -1
  67. package/es/grid-component/Command.d.ts +0 -8
  68. package/es/grid-component/Command.js +0 -80
  69. package/es/grid-component/ContextMenu.d.ts +0 -20
  70. package/es/grid-component/ContextMenu.js +0 -130
  71. package/es/grid-component/EditForm/EditForm.d.ts +0 -27
  72. package/es/grid-component/EditForm/EditForm.js +0 -394
  73. package/es/grid-component/EditForm/index.d.ts +0 -1
  74. package/es/grid-component/EditForm/index.js +0 -1
  75. package/es/grid-component/EditableCell.d.ts +0 -20
  76. package/es/grid-component/EditableCell.js +0 -1030
  77. package/es/grid-component/FilterSearch.d.ts +0 -12
  78. package/es/grid-component/FilterSearch.js +0 -33
  79. package/es/grid-component/GridStyle.d.ts +0 -8
  80. package/es/grid-component/GridStyle.js +0 -5
  81. package/es/grid-component/TableGrid.d.ts +0 -21
  82. package/es/grid-component/TableGrid.js +0 -493
  83. package/es/grid-component/async-select/index.d.ts +0 -11
  84. package/es/grid-component/async-select/index.js +0 -38
  85. package/es/grid-component/async-table-select/index.d.ts +0 -11
  86. package/es/grid-component/async-table-select/index.js +0 -40
  87. package/es/grid-component/checkbox-control/index.d.ts +0 -13
  88. package/es/grid-component/checkbox-control/index.js +0 -40
  89. package/es/grid-component/hooks/columns/index.d.ts +0 -10
  90. package/es/grid-component/hooks/columns/index.js +0 -503
  91. package/es/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  92. package/es/grid-component/hooks/content/ControlCheckbox.js +0 -87
  93. package/es/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  94. package/es/grid-component/hooks/content/HeaderContent.js +0 -44
  95. package/es/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  96. package/es/grid-component/hooks/content/TooltipContent.js +0 -74
  97. package/es/grid-component/hooks/useColumns.d.ts +0 -19
  98. package/es/grid-component/hooks/useColumns.js +0 -317
  99. package/es/grid-component/number/index.d.ts +0 -10
  100. package/es/grid-component/number/index.js +0 -39
  101. package/es/grid-component/number-range/index.d.ts +0 -11
  102. package/es/grid-component/number-range/index.js +0 -63
  103. package/es/grid-component/useContext.d.ts +0 -34
  104. package/es/grid-component/useContext.js +0 -8
  105. package/es/table-component/hook/constant.d.ts +0 -73
  106. package/es/table-component/hook/constant.js +0 -240
  107. package/es/table-virtuoso/body/TableBody.d.ts +0 -14
  108. package/es/table-virtuoso/body/TableBody.js +0 -84
  109. package/lib/grid-component/AdvanceFilter.d.ts +0 -14
  110. package/lib/grid-component/AdvanceFilter.js +0 -463
  111. package/lib/grid-component/CheckboxFilter.d.ts +0 -20
  112. package/lib/grid-component/CheckboxFilter.js +0 -253
  113. package/lib/grid-component/CheckboxFilter2.d.ts +0 -20
  114. package/lib/grid-component/CheckboxFilter2.js +0 -253
  115. package/lib/grid-component/ColumnsChoose.d.ts +0 -10
  116. package/lib/grid-component/ColumnsChoose.js +0 -240
  117. package/lib/grid-component/ColumnsGroup/ColumnsGroup.d.ts +0 -12
  118. package/lib/grid-component/ColumnsGroup/ColumnsGroup.js +0 -243
  119. package/lib/grid-component/ColumnsGroup/index.d.ts +0 -1
  120. package/lib/grid-component/ColumnsGroup/index.js +0 -16
  121. package/lib/grid-component/Command.d.ts +0 -8
  122. package/lib/grid-component/Command.js +0 -88
  123. package/lib/grid-component/ContextMenu.d.ts +0 -20
  124. package/lib/grid-component/ContextMenu.js +0 -140
  125. package/lib/grid-component/EditForm/EditForm.d.ts +0 -27
  126. package/lib/grid-component/EditForm/EditForm.js +0 -404
  127. package/lib/grid-component/EditForm/index.d.ts +0 -1
  128. package/lib/grid-component/EditForm/index.js +0 -16
  129. package/lib/grid-component/EditableCell.d.ts +0 -20
  130. package/lib/grid-component/EditableCell.js +0 -1032
  131. package/lib/grid-component/FilterSearch.d.ts +0 -12
  132. package/lib/grid-component/FilterSearch.js +0 -42
  133. package/lib/grid-component/GridStyle.d.ts +0 -8
  134. package/lib/grid-component/GridStyle.js +0 -12
  135. package/lib/grid-component/TableGrid.d.ts +0 -21
  136. package/lib/grid-component/TableGrid.js +0 -493
  137. package/lib/grid-component/async-select/index.d.ts +0 -11
  138. package/lib/grid-component/async-select/index.js +0 -47
  139. package/lib/grid-component/async-table-select/index.d.ts +0 -11
  140. package/lib/grid-component/async-table-select/index.js +0 -49
  141. package/lib/grid-component/checkbox-control/index.d.ts +0 -13
  142. package/lib/grid-component/checkbox-control/index.js +0 -48
  143. package/lib/grid-component/hooks/columns/index.d.ts +0 -10
  144. package/lib/grid-component/hooks/columns/index.js +0 -518
  145. package/lib/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  146. package/lib/grid-component/hooks/content/ControlCheckbox.js +0 -95
  147. package/lib/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  148. package/lib/grid-component/hooks/content/HeaderContent.js +0 -53
  149. package/lib/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  150. package/lib/grid-component/hooks/content/TooltipContent.js +0 -81
  151. package/lib/grid-component/hooks/useColumns.d.ts +0 -19
  152. package/lib/grid-component/hooks/useColumns.js +0 -328
  153. package/lib/grid-component/number/index.d.ts +0 -10
  154. package/lib/grid-component/number/index.js +0 -47
  155. package/lib/grid-component/number-range/index.d.ts +0 -11
  156. package/lib/grid-component/number-range/index.js +0 -71
  157. package/lib/grid-component/useContext.d.ts +0 -34
  158. package/lib/grid-component/useContext.js +0 -13
  159. package/lib/table-component/hook/constant.d.ts +0 -73
  160. package/lib/table-component/hook/constant.js +0 -247
  161. package/lib/table-virtuoso/body/TableBody.d.ts +0 -14
  162. package/lib/table-virtuoso/body/TableBody.js +0 -95
@@ -1,253 +0,0 @@
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
- const [openKeys, setOpenKeys] = React.useState([]);
92
-
93
- // clear search value after close filter dropdown
94
- // React.useEffect(() => {
95
- // // if (visible) {
96
- // setSearchValue('');
97
- // // }
98
- // }, [open]);
99
-
100
- const onOpenChange = keys => {
101
- setOpenKeys(keys);
102
- };
103
- const items = renderFilterItems({
104
- // filters: column.filters || [],
105
- filters: options || [],
106
- filterSearch,
107
- prefixCls,
108
- filteredKeys: selectedKeys ?? [],
109
- filterMultiple,
110
- searchValue
111
- });
112
- const dropdownMenuClass = (0, _classnames.default)({
113
- // [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(column.filters || []),
114
- [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(options || [])
115
- });
116
- const empty = /*#__PURE__*/React.createElement(_rcMasterUi.Empty, {
117
- image: _rcMasterUi.Empty.PRESENTED_IMAGE_SIMPLE,
118
- description: locale?.filterEmptyText,
119
- imageStyle: {
120
- height: 24
121
- },
122
- style: {
123
- margin: 0,
124
- padding: '16px 0'
125
- }
126
- });
127
- const isEmpty = items.every(item => item === null);
128
- const onSearch = e => {
129
- const {
130
- value
131
- } = e.target;
132
- setSearchValue(value);
133
- };
134
-
135
- // if ((column.filters || []).length === 0) {
136
- // return empty;
137
- // }
138
-
139
- const getTreeData = ({
140
- filters
141
- }) => (filters || []).map((filter, index) => {
142
- const key = String(filter.value);
143
- const item = {
144
- title: filter.text,
145
- key: filter.value !== undefined ? key : String(index)
146
- };
147
- if (filter.children) {
148
- item.children = getTreeData({
149
- filters: filter.children
150
- });
151
- }
152
- return item;
153
- });
154
- const getFilterData = node => ({
155
- ...node,
156
- text: node.title,
157
- value: node.key,
158
- children: node.children?.map(item => getFilterData(item)) || []
159
- });
160
- const onCheckAll = e => {
161
- if (e.target.checked) {
162
- const allFilterKeys = (0, _useFilter.flattenKeys)(options).map(key => String(key));
163
-
164
- // setFilteredKeysSync(allFilterKeys);
165
- onSelect?.(allFilterKeys);
166
- } else {
167
- onSelect?.([]);
168
- // setFilteredKeysSync([]);
169
- }
170
- };
171
- const onCheck = (keys, {
172
- node,
173
- checked
174
- }) => {
175
- if (!filterMultiple) {
176
- // onSelectKeys({ selectedKeys: checked && node.key ? [node.key] : [] });
177
- onSelect?.(checked && node.key ? [node.key] : []);
178
- } else {
179
- // onSelectKeys({ selectedKeys: keys });
180
- onSelect?.(keys);
181
- }
182
- };
183
- if (filterMode === 'tree') {
184
- return /*#__PURE__*/React.createElement(React.Fragment, null, showFilter && /*#__PURE__*/React.createElement(_FilterSearch.default, {
185
- filterSearch: filterSearch,
186
- value: searchValue,
187
- onChange: onSearch,
188
- tablePrefixCls: tablePrefixCls,
189
- locale: locale
190
- }), /*#__PURE__*/React.createElement("div", {
191
- className: `${tablePrefixCls}-filter-dropdown-tree`
192
- }, filterMultiple && options.length > 0 ? /*#__PURE__*/React.createElement(_rcMasterUi.Checkbox
193
- // checked={selectedKeys.length === flattenKeys(column.filters).length}
194
- , {
195
- checked: selectedKeys.length === (0, _useFilter.flattenKeys)(options).length
196
- // indeterminate={
197
- // selectedKeys.length > 0 &&
198
- // selectedKeys.length < flattenKeys(column.filters).length
199
- // }
200
- ,
201
-
202
- indeterminate: selectedKeys.length > 0 && selectedKeys.length < (0, _useFilter.flattenKeys)(options).length,
203
- className: `${tablePrefixCls}-filter-dropdown-checkall`,
204
- onChange: onCheckAll
205
- }, locale?.filterCheckall) : /*#__PURE__*/React.createElement(_rcMasterUi.Empty, null), /*#__PURE__*/React.createElement(_antd.Tree, {
206
- checkable: true,
207
- selectable: false,
208
- blockNode: true,
209
- multiple: filterMultiple,
210
- checkStrictly: !filterMultiple,
211
- className: `${dropdownPrefixCls}-menu`,
212
- onCheck: onCheck,
213
- checkedKeys: selectedKeys,
214
- selectedKeys: selectedKeys,
215
- showIcon: false
216
- // treeData={getTreeData({ filters: column.filters })}
217
- ,
218
- treeData: getTreeData({
219
- filters: options
220
- }),
221
- autoExpandParent: true,
222
- defaultExpandAll: true,
223
- filterTreeNode: searchValue.trim() ? node => {
224
- if (typeof filterSearch === 'function') {
225
- // @ts-ignore
226
- return filterSearch(searchValue, getFilterData(node));
227
- }
228
- return searchValueMatched(searchValue, node.title);
229
- } : undefined
230
- })));
231
- }
232
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_FilterSearch.default, {
233
- filterSearch: filterSearch,
234
- value: searchValue,
235
- onChange: onSearch,
236
- tablePrefixCls: tablePrefixCls,
237
- locale: locale
238
- }), isEmpty ? empty : /*#__PURE__*/React.createElement(_rcMasterUi.Menu, {
239
- selectable: true,
240
- multiple: filterMultiple,
241
- prefixCls: `${dropdownPrefixCls}-menu`,
242
- className: dropdownMenuClass,
243
- onSelect: onSelect,
244
- onDeselect: onSelect,
245
- selectedKeys: selectedKeys
246
- // getPopupContainer={getPopupContainer}
247
- ,
248
- openKeys: openKeys,
249
- onOpenChange: onOpenChange,
250
- items: items
251
- }));
252
- };
253
- var _default = exports.default = CheckboxFilter;
@@ -1,20 +0,0 @@
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;
@@ -1,253 +0,0 @@
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
- const [openKeys, setOpenKeys] = React.useState([]);
92
-
93
- // clear search value after close filter dropdown
94
- // React.useEffect(() => {
95
- // // if (visible) {
96
- // setSearchValue('');
97
- // // }
98
- // }, [open]);
99
-
100
- const onOpenChange = keys => {
101
- setOpenKeys(keys);
102
- };
103
- const items = renderFilterItems({
104
- // filters: column.filters || [],
105
- filters: options || [],
106
- filterSearch,
107
- prefixCls,
108
- filteredKeys: selectedKeys ?? [],
109
- filterMultiple,
110
- searchValue
111
- });
112
- const dropdownMenuClass = (0, _classnames.default)({
113
- // [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(column.filters || []),
114
- [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(options || [])
115
- });
116
- const empty = /*#__PURE__*/React.createElement(_rcMasterUi.Empty, {
117
- image: _rcMasterUi.Empty.PRESENTED_IMAGE_SIMPLE,
118
- description: locale?.filterEmptyText,
119
- imageStyle: {
120
- height: 24
121
- },
122
- style: {
123
- margin: 0,
124
- padding: '16px 0'
125
- }
126
- });
127
- const isEmpty = items.every(item => item === null);
128
- const onSearch = e => {
129
- const {
130
- value
131
- } = e.target;
132
- setSearchValue(value);
133
- };
134
-
135
- // if ((column.filters || []).length === 0) {
136
- // return empty;
137
- // }
138
-
139
- const getTreeData = ({
140
- filters
141
- }) => (filters || []).map((filter, index) => {
142
- const key = String(filter.value);
143
- const item = {
144
- title: filter.text,
145
- key: filter.value !== undefined ? key : String(index)
146
- };
147
- if (filter.children) {
148
- item.children = getTreeData({
149
- filters: filter.children
150
- });
151
- }
152
- return item;
153
- });
154
- const getFilterData = node => ({
155
- ...node,
156
- text: node.title,
157
- value: node.key,
158
- children: node.children?.map(item => getFilterData(item)) || []
159
- });
160
- const onCheckAll = e => {
161
- if (e.target.checked) {
162
- const allFilterKeys = (0, _useFilter.flattenKeys)(options).map(key => String(key));
163
-
164
- // setFilteredKeysSync(allFilterKeys);
165
- onSelect?.(allFilterKeys);
166
- } else {
167
- onSelect?.([]);
168
- // setFilteredKeysSync([]);
169
- }
170
- };
171
- const onCheck = (keys, {
172
- node,
173
- checked
174
- }) => {
175
- if (!filterMultiple) {
176
- // onSelectKeys({ selectedKeys: checked && node.key ? [node.key] : [] });
177
- onSelect?.(checked && node.key ? [node.key] : []);
178
- } else {
179
- // onSelectKeys({ selectedKeys: keys });
180
- onSelect?.(keys);
181
- }
182
- };
183
- if (filterMode === 'tree') {
184
- return /*#__PURE__*/React.createElement(React.Fragment, null, showFilter && /*#__PURE__*/React.createElement(_FilterSearch.default, {
185
- filterSearch: filterSearch,
186
- value: searchValue,
187
- onChange: onSearch,
188
- tablePrefixCls: tablePrefixCls,
189
- locale: locale
190
- }), /*#__PURE__*/React.createElement("div", {
191
- className: `${tablePrefixCls}-filter-dropdown-tree`
192
- }, filterMultiple && options.length > 0 ? /*#__PURE__*/React.createElement(_rcMasterUi.Checkbox
193
- // checked={selectedKeys.length === flattenKeys(column.filters).length}
194
- , {
195
- checked: selectedKeys.length === (0, _useFilter.flattenKeys)(options).length
196
- // indeterminate={
197
- // selectedKeys.length > 0 &&
198
- // selectedKeys.length < flattenKeys(column.filters).length
199
- // }
200
- ,
201
-
202
- indeterminate: selectedKeys.length > 0 && selectedKeys.length < (0, _useFilter.flattenKeys)(options).length,
203
- className: `${tablePrefixCls}-filter-dropdown-checkall`,
204
- onChange: onCheckAll
205
- }, locale?.filterCheckall) : /*#__PURE__*/React.createElement(_rcMasterUi.Empty, null), /*#__PURE__*/React.createElement(_antd.Tree, {
206
- checkable: true,
207
- selectable: false,
208
- blockNode: true,
209
- multiple: filterMultiple,
210
- checkStrictly: !filterMultiple,
211
- className: `${dropdownPrefixCls}-menu`,
212
- onCheck: onCheck,
213
- checkedKeys: selectedKeys,
214
- selectedKeys: selectedKeys,
215
- showIcon: false
216
- // treeData={getTreeData({ filters: column.filters })}
217
- ,
218
- treeData: getTreeData({
219
- filters: options
220
- }),
221
- autoExpandParent: true,
222
- defaultExpandAll: true,
223
- filterTreeNode: searchValue.trim() ? node => {
224
- if (typeof filterSearch === 'function') {
225
- // @ts-ignore
226
- return filterSearch(searchValue, getFilterData(node));
227
- }
228
- return searchValueMatched(searchValue, node.title);
229
- } : undefined
230
- })));
231
- }
232
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_FilterSearch.default, {
233
- filterSearch: filterSearch,
234
- value: searchValue,
235
- onChange: onSearch,
236
- tablePrefixCls: tablePrefixCls,
237
- locale: locale
238
- }), isEmpty ? empty : /*#__PURE__*/React.createElement(_rcMasterUi.Menu, {
239
- selectable: true,
240
- multiple: filterMultiple,
241
- prefixCls: `${dropdownPrefixCls}-menu`,
242
- className: dropdownMenuClass,
243
- onSelect: onSelect,
244
- onDeselect: onSelect,
245
- selectedKeys: selectedKeys
246
- // getPopupContainer={getPopupContainer}
247
- ,
248
- openKeys: openKeys,
249
- onOpenChange: onOpenChange,
250
- items: items
251
- }));
252
- };
253
- var _default = exports.default = CheckboxFilter;
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import type { ColumnsTable } from "./type";
3
- export type IColumnsChoose<RecordType> = {
4
- columns: ColumnsTable<RecordType>;
5
- columnsGroup?: string[];
6
- triggerChangeColumns?: (columns: ColumnsTable<RecordType>, type: string) => void;
7
- t?: any;
8
- triggerChangeKeys?: any;
9
- };
10
- export declare const ColumnsChoose: <RecordType extends object>(props: IColumnsChoose<RecordType>) => React.JSX.Element;