es-grid-template 1.8.65 → 1.8.66

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 (146) 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/index.js +0 -1
  4. package/es/grid-component/hooks/useLazyKVMap.d.ts +1 -1
  5. package/es/grid-component/hooks/useLazyKVMap.js +0 -4
  6. package/es/grid-component/hooks/utils.d.ts +3 -4
  7. package/es/grid-component/hooks/utils.js +2 -1
  8. package/es/grid-component/styles.scss +1394 -1394
  9. package/es/grid-component/type.d.ts +0 -414
  10. package/es/grid-component/type.js +490 -1
  11. package/es/table-component/type.d.ts +2 -0
  12. package/es/table-virtuoso/ColumnsGroup/ColumnsGroup.js +1 -3
  13. package/es/table-virtuoso/InternalTable.js +6 -28
  14. package/es/table-virtuoso/body/TableBodyCell.js +0 -9
  15. package/es/table-virtuoso/body/TableBodyRow.js +0 -4
  16. package/es/table-virtuoso/style.js +2 -1
  17. package/es/table-virtuoso/style.scss +2 -1
  18. package/es/table-virtuoso/table/Grid.js +0 -4
  19. package/es/table-virtuoso/table/TableContainer.js +31 -44
  20. package/es/table-virtuoso/table/TableWrapper.d.ts +2 -0
  21. package/es/table-virtuoso/table/TableWrapper.js +5 -2
  22. package/lib/grid-component/TempTable.d.ts +2 -2
  23. package/lib/grid-component/TempTable.js +3 -5
  24. package/lib/grid-component/hooks/useLazyKVMap.d.ts +1 -1
  25. package/lib/grid-component/hooks/useLazyKVMap.js +0 -3
  26. package/lib/grid-component/hooks/utils.d.ts +3 -4
  27. package/lib/grid-component/hooks/utils.js +3 -0
  28. package/lib/grid-component/styles.scss +1394 -1394
  29. package/lib/grid-component/type.d.ts +0 -414
  30. package/lib/grid-component/type.js +490 -4
  31. package/lib/table-component/type.d.ts +2 -0
  32. package/lib/table-virtuoso/ColumnsGroup/ColumnsGroup.js +1 -3
  33. package/lib/table-virtuoso/InternalTable.js +6 -28
  34. package/lib/table-virtuoso/body/TableBodyCell.js +0 -9
  35. package/lib/table-virtuoso/body/TableBodyRow.js +0 -5
  36. package/lib/table-virtuoso/style.js +2 -1
  37. package/lib/table-virtuoso/style.scss +2 -1
  38. package/lib/table-virtuoso/table/Grid.js +0 -4
  39. package/lib/table-virtuoso/table/TableContainer.js +29 -42
  40. package/lib/table-virtuoso/table/TableWrapper.d.ts +2 -0
  41. package/lib/table-virtuoso/table/TableWrapper.js +4 -2
  42. package/package.json +1 -1
  43. package/es/grid-component/AdvanceFilter.d.ts +0 -14
  44. package/es/grid-component/AdvanceFilter.js +0 -454
  45. package/es/grid-component/CheckboxFilter.d.ts +0 -20
  46. package/es/grid-component/CheckboxFilter.js +0 -244
  47. package/es/grid-component/CheckboxFilter2.d.ts +0 -20
  48. package/es/grid-component/CheckboxFilter2.js +0 -244
  49. package/es/grid-component/ColumnsChoose.d.ts +0 -10
  50. package/es/grid-component/ColumnsChoose.js +0 -230
  51. package/es/grid-component/ColumnsGroup/ColumnsGroup.d.ts +0 -12
  52. package/es/grid-component/ColumnsGroup/ColumnsGroup.js +0 -232
  53. package/es/grid-component/ColumnsGroup/index.d.ts +0 -1
  54. package/es/grid-component/ColumnsGroup/index.js +0 -1
  55. package/es/grid-component/Command.d.ts +0 -8
  56. package/es/grid-component/Command.js +0 -80
  57. package/es/grid-component/ContextMenu.d.ts +0 -20
  58. package/es/grid-component/ContextMenu.js +0 -130
  59. package/es/grid-component/EditForm/EditForm.d.ts +0 -27
  60. package/es/grid-component/EditForm/EditForm.js +0 -394
  61. package/es/grid-component/EditForm/index.d.ts +0 -1
  62. package/es/grid-component/EditForm/index.js +0 -1
  63. package/es/grid-component/EditableCell.d.ts +0 -20
  64. package/es/grid-component/EditableCell.js +0 -1030
  65. package/es/grid-component/FilterSearch.d.ts +0 -12
  66. package/es/grid-component/FilterSearch.js +0 -33
  67. package/es/grid-component/GridStyle.d.ts +0 -8
  68. package/es/grid-component/GridStyle.js +0 -5
  69. package/es/grid-component/TableGrid.d.ts +0 -21
  70. package/es/grid-component/TableGrid.js +0 -493
  71. package/es/grid-component/async-select/index.d.ts +0 -11
  72. package/es/grid-component/async-select/index.js +0 -38
  73. package/es/grid-component/async-table-select/index.d.ts +0 -11
  74. package/es/grid-component/async-table-select/index.js +0 -40
  75. package/es/grid-component/checkbox-control/index.d.ts +0 -13
  76. package/es/grid-component/checkbox-control/index.js +0 -40
  77. package/es/grid-component/hooks/columns/index.d.ts +0 -10
  78. package/es/grid-component/hooks/columns/index.js +0 -503
  79. package/es/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  80. package/es/grid-component/hooks/content/ControlCheckbox.js +0 -87
  81. package/es/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  82. package/es/grid-component/hooks/content/HeaderContent.js +0 -44
  83. package/es/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  84. package/es/grid-component/hooks/content/TooltipContent.js +0 -74
  85. package/es/grid-component/hooks/useColumns.d.ts +0 -19
  86. package/es/grid-component/hooks/useColumns.js +0 -317
  87. package/es/grid-component/number/index.d.ts +0 -10
  88. package/es/grid-component/number/index.js +0 -39
  89. package/es/grid-component/number-range/index.d.ts +0 -11
  90. package/es/grid-component/number-range/index.js +0 -63
  91. package/es/grid-component/useContext.d.ts +0 -34
  92. package/es/grid-component/useContext.js +0 -8
  93. package/es/table-virtuoso/body/TableBody.d.ts +0 -14
  94. package/es/table-virtuoso/body/TableBody.js +0 -84
  95. package/lib/grid-component/AdvanceFilter.d.ts +0 -14
  96. package/lib/grid-component/AdvanceFilter.js +0 -463
  97. package/lib/grid-component/CheckboxFilter.d.ts +0 -20
  98. package/lib/grid-component/CheckboxFilter.js +0 -253
  99. package/lib/grid-component/CheckboxFilter2.d.ts +0 -20
  100. package/lib/grid-component/CheckboxFilter2.js +0 -253
  101. package/lib/grid-component/ColumnsChoose.d.ts +0 -10
  102. package/lib/grid-component/ColumnsChoose.js +0 -240
  103. package/lib/grid-component/ColumnsGroup/ColumnsGroup.d.ts +0 -12
  104. package/lib/grid-component/ColumnsGroup/ColumnsGroup.js +0 -243
  105. package/lib/grid-component/ColumnsGroup/index.d.ts +0 -1
  106. package/lib/grid-component/ColumnsGroup/index.js +0 -16
  107. package/lib/grid-component/Command.d.ts +0 -8
  108. package/lib/grid-component/Command.js +0 -88
  109. package/lib/grid-component/ContextMenu.d.ts +0 -20
  110. package/lib/grid-component/ContextMenu.js +0 -140
  111. package/lib/grid-component/EditForm/EditForm.d.ts +0 -27
  112. package/lib/grid-component/EditForm/EditForm.js +0 -404
  113. package/lib/grid-component/EditForm/index.d.ts +0 -1
  114. package/lib/grid-component/EditForm/index.js +0 -16
  115. package/lib/grid-component/EditableCell.d.ts +0 -20
  116. package/lib/grid-component/EditableCell.js +0 -1032
  117. package/lib/grid-component/FilterSearch.d.ts +0 -12
  118. package/lib/grid-component/FilterSearch.js +0 -42
  119. package/lib/grid-component/GridStyle.d.ts +0 -8
  120. package/lib/grid-component/GridStyle.js +0 -12
  121. package/lib/grid-component/TableGrid.d.ts +0 -21
  122. package/lib/grid-component/TableGrid.js +0 -493
  123. package/lib/grid-component/async-select/index.d.ts +0 -11
  124. package/lib/grid-component/async-select/index.js +0 -47
  125. package/lib/grid-component/async-table-select/index.d.ts +0 -11
  126. package/lib/grid-component/async-table-select/index.js +0 -49
  127. package/lib/grid-component/checkbox-control/index.d.ts +0 -13
  128. package/lib/grid-component/checkbox-control/index.js +0 -48
  129. package/lib/grid-component/hooks/columns/index.d.ts +0 -10
  130. package/lib/grid-component/hooks/columns/index.js +0 -518
  131. package/lib/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  132. package/lib/grid-component/hooks/content/ControlCheckbox.js +0 -95
  133. package/lib/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  134. package/lib/grid-component/hooks/content/HeaderContent.js +0 -53
  135. package/lib/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  136. package/lib/grid-component/hooks/content/TooltipContent.js +0 -81
  137. package/lib/grid-component/hooks/useColumns.d.ts +0 -19
  138. package/lib/grid-component/hooks/useColumns.js +0 -328
  139. package/lib/grid-component/number/index.d.ts +0 -10
  140. package/lib/grid-component/number/index.js +0 -47
  141. package/lib/grid-component/number-range/index.d.ts +0 -11
  142. package/lib/grid-component/number-range/index.js +0 -71
  143. package/lib/grid-component/useContext.d.ts +0 -34
  144. package/lib/grid-component/useContext.js +0 -13
  145. package/lib/table-virtuoso/body/TableBody.d.ts +0 -14
  146. 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;