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,244 +0,0 @@
1
- import * as React from "react";
2
- import classNames from "classnames";
3
- import FilterSearch from "./FilterSearch";
4
- import { Checkbox, Menu, Radio, Empty } from "rc-master-ui";
5
- import { Tree } from "antd";
6
- import { flattenKeys } from "rc-master-ui/es/table/hooks/useFilter";
7
- // import Tree from "rc-master-ui/es/tree";
8
-
9
- function searchValueMatched(searchValue, text) {
10
- if (typeof text === 'string' || typeof text === 'number') {
11
- return text?.toString().toLowerCase().includes(searchValue.trim().toLowerCase());
12
- }
13
- return false;
14
- }
15
- function renderFilterItems({
16
- filters,
17
- prefixCls,
18
- filteredKeys,
19
- filterMultiple,
20
- searchValue,
21
- filterSearch
22
- }) {
23
- return filters.map((filter, index) => {
24
- const key = String(filter.value);
25
- if (filter.children) {
26
- return {
27
- key: key || index,
28
- label: filter.text,
29
- popupClassName: `${prefixCls}-dropdown-submenu`,
30
- children: renderFilterItems({
31
- filters: filter.children,
32
- prefixCls,
33
- filteredKeys,
34
- filterMultiple,
35
- searchValue,
36
- filterSearch
37
- })
38
- };
39
- }
40
- const Component = filterMultiple ? Checkbox : Radio;
41
- const item = {
42
- key: filter.value !== undefined ? key : index,
43
- label: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Component, {
44
- checked: filteredKeys.includes(key)
45
- }), /*#__PURE__*/React.createElement("span", null, filter.text))
46
- };
47
- if (searchValue.trim()) {
48
- if (typeof filterSearch === 'function') {
49
- return filterSearch(searchValue, filter) ? item : null;
50
- }
51
- return searchValueMatched(searchValue, filter.text) ? item : null;
52
- }
53
- return item;
54
- });
55
- }
56
- function hasSubMenu(filters) {
57
- return filters.some(({
58
- children
59
- }) => children);
60
- }
61
- const CheckboxFilter = props => {
62
- const {
63
- // column,
64
- filterSearch = true,
65
- tablePrefixCls = 'ui-rc-table',
66
- prefixCls = 'ui-rc-table-filter',
67
- dropdownPrefixCls = 'ui-rc-dropdown',
68
- filterMultiple,
69
- selectedKeys,
70
- locale,
71
- options,
72
- filterMode = 'tree',
73
- // open,
74
- searchValue,
75
- showFilter,
76
- setSearchValue,
77
- onSelect
78
- } = props;
79
-
80
- // const [searchValue, setSearchValue] = React.useState('');
81
-
82
- const [openKeys, setOpenKeys] = React.useState([]);
83
-
84
- // clear search value after close filter dropdown
85
- // React.useEffect(() => {
86
- // // if (visible) {
87
- // setSearchValue('');
88
- // // }
89
- // }, [open]);
90
-
91
- const onOpenChange = keys => {
92
- setOpenKeys(keys);
93
- };
94
- const items = renderFilterItems({
95
- // filters: column.filters || [],
96
- filters: options || [],
97
- filterSearch,
98
- prefixCls,
99
- filteredKeys: selectedKeys ?? [],
100
- filterMultiple,
101
- searchValue
102
- });
103
- const dropdownMenuClass = classNames({
104
- // [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(column.filters || []),
105
- [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(options || [])
106
- });
107
- const empty = /*#__PURE__*/React.createElement(Empty, {
108
- image: Empty.PRESENTED_IMAGE_SIMPLE,
109
- description: locale?.filterEmptyText,
110
- imageStyle: {
111
- height: 24
112
- },
113
- style: {
114
- margin: 0,
115
- padding: '16px 0'
116
- }
117
- });
118
- const isEmpty = items.every(item => item === null);
119
- const onSearch = e => {
120
- const {
121
- value
122
- } = e.target;
123
- setSearchValue(value);
124
- };
125
-
126
- // if ((column.filters || []).length === 0) {
127
- // return empty;
128
- // }
129
-
130
- const getTreeData = ({
131
- filters
132
- }) => (filters || []).map((filter, index) => {
133
- const key = String(filter.value);
134
- const item = {
135
- title: filter.text,
136
- key: filter.value !== undefined ? key : String(index)
137
- };
138
- if (filter.children) {
139
- item.children = getTreeData({
140
- filters: filter.children
141
- });
142
- }
143
- return item;
144
- });
145
- const getFilterData = node => ({
146
- ...node,
147
- text: node.title,
148
- value: node.key,
149
- children: node.children?.map(item => getFilterData(item)) || []
150
- });
151
- const onCheckAll = e => {
152
- if (e.target.checked) {
153
- const allFilterKeys = flattenKeys(options).map(key => String(key));
154
-
155
- // setFilteredKeysSync(allFilterKeys);
156
- onSelect?.(allFilterKeys);
157
- } else {
158
- onSelect?.([]);
159
- // setFilteredKeysSync([]);
160
- }
161
- };
162
- const onCheck = (keys, {
163
- node,
164
- checked
165
- }) => {
166
- if (!filterMultiple) {
167
- // onSelectKeys({ selectedKeys: checked && node.key ? [node.key] : [] });
168
- onSelect?.(checked && node.key ? [node.key] : []);
169
- } else {
170
- // onSelectKeys({ selectedKeys: keys });
171
- onSelect?.(keys);
172
- }
173
- };
174
- if (filterMode === 'tree') {
175
- return /*#__PURE__*/React.createElement(React.Fragment, null, showFilter && /*#__PURE__*/React.createElement(FilterSearch, {
176
- filterSearch: filterSearch,
177
- value: searchValue,
178
- onChange: onSearch,
179
- tablePrefixCls: tablePrefixCls,
180
- locale: locale
181
- }), /*#__PURE__*/React.createElement("div", {
182
- className: `${tablePrefixCls}-filter-dropdown-tree`
183
- }, filterMultiple && options.length > 0 ? /*#__PURE__*/React.createElement(Checkbox
184
- // checked={selectedKeys.length === flattenKeys(column.filters).length}
185
- , {
186
- checked: selectedKeys.length === flattenKeys(options).length
187
- // indeterminate={
188
- // selectedKeys.length > 0 &&
189
- // selectedKeys.length < flattenKeys(column.filters).length
190
- // }
191
- ,
192
-
193
- indeterminate: selectedKeys.length > 0 && selectedKeys.length < flattenKeys(options).length,
194
- className: `${tablePrefixCls}-filter-dropdown-checkall`,
195
- onChange: onCheckAll
196
- }, locale?.filterCheckall) : /*#__PURE__*/React.createElement(Empty, null), /*#__PURE__*/React.createElement(Tree, {
197
- checkable: true,
198
- selectable: false,
199
- blockNode: true,
200
- multiple: filterMultiple,
201
- checkStrictly: !filterMultiple,
202
- className: `${dropdownPrefixCls}-menu`,
203
- onCheck: onCheck,
204
- checkedKeys: selectedKeys,
205
- selectedKeys: selectedKeys,
206
- showIcon: false
207
- // treeData={getTreeData({ filters: column.filters })}
208
- ,
209
- treeData: getTreeData({
210
- filters: options
211
- }),
212
- autoExpandParent: true,
213
- defaultExpandAll: true,
214
- filterTreeNode: searchValue.trim() ? node => {
215
- if (typeof filterSearch === 'function') {
216
- // @ts-ignore
217
- return filterSearch(searchValue, getFilterData(node));
218
- }
219
- return searchValueMatched(searchValue, node.title);
220
- } : undefined
221
- })));
222
- }
223
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {
224
- filterSearch: filterSearch,
225
- value: searchValue,
226
- onChange: onSearch,
227
- tablePrefixCls: tablePrefixCls,
228
- locale: locale
229
- }), isEmpty ? empty : /*#__PURE__*/React.createElement(Menu, {
230
- selectable: true,
231
- multiple: filterMultiple,
232
- prefixCls: `${dropdownPrefixCls}-menu`,
233
- className: dropdownMenuClass,
234
- onSelect: onSelect,
235
- onDeselect: onSelect,
236
- selectedKeys: selectedKeys
237
- // getPopupContainer={getPopupContainer}
238
- ,
239
- openKeys: openKeys,
240
- onOpenChange: onOpenChange,
241
- items: items
242
- }));
243
- };
244
- export 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,244 +0,0 @@
1
- import * as React from "react";
2
- import classNames from "classnames";
3
- import FilterSearch from "./FilterSearch";
4
- import { Checkbox, Menu, Radio, Empty } from "rc-master-ui";
5
- import { Tree } from "antd";
6
- import { flattenKeys } from "rc-master-ui/es/table/hooks/useFilter";
7
- // import Tree from "rc-master-ui/es/tree";
8
-
9
- function searchValueMatched(searchValue, text) {
10
- if (typeof text === 'string' || typeof text === 'number') {
11
- return text?.toString().toLowerCase().includes(searchValue.trim().toLowerCase());
12
- }
13
- return false;
14
- }
15
- function renderFilterItems({
16
- filters,
17
- prefixCls,
18
- filteredKeys,
19
- filterMultiple,
20
- searchValue,
21
- filterSearch
22
- }) {
23
- return filters.map((filter, index) => {
24
- const key = String(filter.value);
25
- if (filter.children) {
26
- return {
27
- key: key || index,
28
- label: filter.text,
29
- popupClassName: `${prefixCls}-dropdown-submenu`,
30
- children: renderFilterItems({
31
- filters: filter.children,
32
- prefixCls,
33
- filteredKeys,
34
- filterMultiple,
35
- searchValue,
36
- filterSearch
37
- })
38
- };
39
- }
40
- const Component = filterMultiple ? Checkbox : Radio;
41
- const item = {
42
- key: filter.value !== undefined ? key : index,
43
- label: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Component, {
44
- checked: filteredKeys.includes(key)
45
- }), /*#__PURE__*/React.createElement("span", null, filter.text))
46
- };
47
- if (searchValue.trim()) {
48
- if (typeof filterSearch === 'function') {
49
- return filterSearch(searchValue, filter) ? item : null;
50
- }
51
- return searchValueMatched(searchValue, filter.text) ? item : null;
52
- }
53
- return item;
54
- });
55
- }
56
- function hasSubMenu(filters) {
57
- return filters.some(({
58
- children
59
- }) => children);
60
- }
61
- const CheckboxFilter = props => {
62
- const {
63
- // column,
64
- filterSearch = true,
65
- tablePrefixCls = 'ui-rc-table',
66
- prefixCls = 'ui-rc-table-filter',
67
- dropdownPrefixCls = 'ui-rc-dropdown',
68
- filterMultiple,
69
- selectedKeys,
70
- locale,
71
- options,
72
- filterMode = 'tree',
73
- // open,
74
- searchValue,
75
- showFilter,
76
- setSearchValue,
77
- onSelect
78
- } = props;
79
-
80
- // const [searchValue, setSearchValue] = React.useState('');
81
-
82
- const [openKeys, setOpenKeys] = React.useState([]);
83
-
84
- // clear search value after close filter dropdown
85
- // React.useEffect(() => {
86
- // // if (visible) {
87
- // setSearchValue('');
88
- // // }
89
- // }, [open]);
90
-
91
- const onOpenChange = keys => {
92
- setOpenKeys(keys);
93
- };
94
- const items = renderFilterItems({
95
- // filters: column.filters || [],
96
- filters: options || [],
97
- filterSearch,
98
- prefixCls,
99
- filteredKeys: selectedKeys ?? [],
100
- filterMultiple,
101
- searchValue
102
- });
103
- const dropdownMenuClass = classNames({
104
- // [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(column.filters || []),
105
- [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(options || [])
106
- });
107
- const empty = /*#__PURE__*/React.createElement(Empty, {
108
- image: Empty.PRESENTED_IMAGE_SIMPLE,
109
- description: locale?.filterEmptyText,
110
- imageStyle: {
111
- height: 24
112
- },
113
- style: {
114
- margin: 0,
115
- padding: '16px 0'
116
- }
117
- });
118
- const isEmpty = items.every(item => item === null);
119
- const onSearch = e => {
120
- const {
121
- value
122
- } = e.target;
123
- setSearchValue(value);
124
- };
125
-
126
- // if ((column.filters || []).length === 0) {
127
- // return empty;
128
- // }
129
-
130
- const getTreeData = ({
131
- filters
132
- }) => (filters || []).map((filter, index) => {
133
- const key = String(filter.value);
134
- const item = {
135
- title: filter.text,
136
- key: filter.value !== undefined ? key : String(index)
137
- };
138
- if (filter.children) {
139
- item.children = getTreeData({
140
- filters: filter.children
141
- });
142
- }
143
- return item;
144
- });
145
- const getFilterData = node => ({
146
- ...node,
147
- text: node.title,
148
- value: node.key,
149
- children: node.children?.map(item => getFilterData(item)) || []
150
- });
151
- const onCheckAll = e => {
152
- if (e.target.checked) {
153
- const allFilterKeys = flattenKeys(options).map(key => String(key));
154
-
155
- // setFilteredKeysSync(allFilterKeys);
156
- onSelect?.(allFilterKeys);
157
- } else {
158
- onSelect?.([]);
159
- // setFilteredKeysSync([]);
160
- }
161
- };
162
- const onCheck = (keys, {
163
- node,
164
- checked
165
- }) => {
166
- if (!filterMultiple) {
167
- // onSelectKeys({ selectedKeys: checked && node.key ? [node.key] : [] });
168
- onSelect?.(checked && node.key ? [node.key] : []);
169
- } else {
170
- // onSelectKeys({ selectedKeys: keys });
171
- onSelect?.(keys);
172
- }
173
- };
174
- if (filterMode === 'tree') {
175
- return /*#__PURE__*/React.createElement(React.Fragment, null, showFilter && /*#__PURE__*/React.createElement(FilterSearch, {
176
- filterSearch: filterSearch,
177
- value: searchValue,
178
- onChange: onSearch,
179
- tablePrefixCls: tablePrefixCls,
180
- locale: locale
181
- }), /*#__PURE__*/React.createElement("div", {
182
- className: `${tablePrefixCls}-filter-dropdown-tree`
183
- }, filterMultiple && options.length > 0 ? /*#__PURE__*/React.createElement(Checkbox
184
- // checked={selectedKeys.length === flattenKeys(column.filters).length}
185
- , {
186
- checked: selectedKeys.length === flattenKeys(options).length
187
- // indeterminate={
188
- // selectedKeys.length > 0 &&
189
- // selectedKeys.length < flattenKeys(column.filters).length
190
- // }
191
- ,
192
-
193
- indeterminate: selectedKeys.length > 0 && selectedKeys.length < flattenKeys(options).length,
194
- className: `${tablePrefixCls}-filter-dropdown-checkall`,
195
- onChange: onCheckAll
196
- }, locale?.filterCheckall) : /*#__PURE__*/React.createElement(Empty, null), /*#__PURE__*/React.createElement(Tree, {
197
- checkable: true,
198
- selectable: false,
199
- blockNode: true,
200
- multiple: filterMultiple,
201
- checkStrictly: !filterMultiple,
202
- className: `${dropdownPrefixCls}-menu`,
203
- onCheck: onCheck,
204
- checkedKeys: selectedKeys,
205
- selectedKeys: selectedKeys,
206
- showIcon: false
207
- // treeData={getTreeData({ filters: column.filters })}
208
- ,
209
- treeData: getTreeData({
210
- filters: options
211
- }),
212
- autoExpandParent: true,
213
- defaultExpandAll: true,
214
- filterTreeNode: searchValue.trim() ? node => {
215
- if (typeof filterSearch === 'function') {
216
- // @ts-ignore
217
- return filterSearch(searchValue, getFilterData(node));
218
- }
219
- return searchValueMatched(searchValue, node.title);
220
- } : undefined
221
- })));
222
- }
223
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {
224
- filterSearch: filterSearch,
225
- value: searchValue,
226
- onChange: onSearch,
227
- tablePrefixCls: tablePrefixCls,
228
- locale: locale
229
- }), isEmpty ? empty : /*#__PURE__*/React.createElement(Menu, {
230
- selectable: true,
231
- multiple: filterMultiple,
232
- prefixCls: `${dropdownPrefixCls}-menu`,
233
- className: dropdownMenuClass,
234
- onSelect: onSelect,
235
- onDeselect: onSelect,
236
- selectedKeys: selectedKeys
237
- // getPopupContainer={getPopupContainer}
238
- ,
239
- openKeys: openKeys,
240
- onOpenChange: onOpenChange,
241
- items: items
242
- }));
243
- };
244
- export 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;