@teamix/pro 1.2.19 → 1.2.23

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 (103) hide show
  1. package/dist/212.js +49 -49
  2. package/dist/pro.css +1 -1
  3. package/dist/pro.js +3400 -880
  4. package/dist/pro.min.css +1 -1
  5. package/dist/pro.min.js +1 -1
  6. package/es/actions/dialog.js +10 -24
  7. package/es/actions/index.d.ts +10 -0
  8. package/es/actions/index.js +11 -16
  9. package/es/form/Components/LightFilter/componentMap.js +2 -1
  10. package/es/form/Components/LightFilter/index.js +16 -4
  11. package/es/form/Components/LightFilter/index.scss +1 -1
  12. package/es/form/Components/SelectTable/index.d.ts +24 -0
  13. package/es/form/Components/SelectTable/index.js +135 -0
  14. package/es/form/Components/SelectTable/index.scss +28 -0
  15. package/es/form/Components/SelectTable/table.d.ts +6 -0
  16. package/es/form/Components/SelectTable/table.js +64 -0
  17. package/es/form/Filter/AdvancedFilter.d.ts +7 -0
  18. package/es/form/Filter/AdvancedFilter.js +114 -0
  19. package/es/form/Filter/LightFilter.d.ts +7 -0
  20. package/es/form/Filter/LightFilter.js +79 -0
  21. package/es/form/Filter/SimpleFilter.d.ts +7 -0
  22. package/es/form/Filter/SimpleFilter.js +74 -0
  23. package/es/form/Filter/index2.js +203 -257
  24. package/es/form/ProForm/index.js +12 -9
  25. package/es/form/ProForm/index.scss +40 -6
  26. package/es/form/ProForm/useFormDisplayValues.js +4 -2
  27. package/es/form/SchemaForm/index.js +16 -10
  28. package/es/form/SchemaForm/initializeDataSource.d.ts +2 -2
  29. package/es/form/SchemaForm/initializeDataSource.js +4 -9
  30. package/es/form/SchemaForm/initializeRequest.d.ts +2 -2
  31. package/es/form/SchemaForm/initializeRequest.js +4 -10
  32. package/es/form/SchemaForm/initializeRules.d.ts +7 -1
  33. package/es/form/SchemaForm/initializeRules.js +9 -13
  34. package/es/form/SchemaForm/reactions.d.ts +5 -5
  35. package/es/form/SchemaForm/reactions.js +27 -29
  36. package/es/form/global.scss +1 -0
  37. package/es/form/typing.d.ts +7 -3
  38. package/es/form/utils.d.ts +8 -7
  39. package/es/form/utils.js +5 -4
  40. package/es/index.d.ts +1 -1
  41. package/es/index.js +1 -1
  42. package/es/table/components/Filter/index.js +1 -0
  43. package/es/table/components/Layout/index.js +22 -12
  44. package/es/table/components/Pagination/index.d.ts +7 -0
  45. package/es/table/components/Pagination/index.js +245 -0
  46. package/es/table/components/Pagination/index.scss +50 -0
  47. package/es/table/components/ToolBar/FilterColumnIcon.js +41 -7
  48. package/es/table/components/ToolBar/index.scss +17 -6
  49. package/es/table/index.js +96 -37
  50. package/es/table/index.scss +7 -1
  51. package/es/table/typing.d.ts +9 -2
  52. package/es/table/utils/columnRender.js +2 -1
  53. package/es/table/utils/index.d.ts +7 -0
  54. package/es/table/utils/index.js +38 -4
  55. package/lib/actions/dialog.js +9 -23
  56. package/lib/actions/index.d.ts +10 -0
  57. package/lib/actions/index.js +11 -16
  58. package/lib/form/Components/LightFilter/componentMap.js +2 -1
  59. package/lib/form/Components/LightFilter/index.js +15 -4
  60. package/lib/form/Components/LightFilter/index.scss +1 -1
  61. package/lib/form/Components/SelectTable/index.d.ts +24 -0
  62. package/lib/form/Components/SelectTable/index.js +157 -0
  63. package/lib/form/Components/SelectTable/index.scss +28 -0
  64. package/lib/form/Components/SelectTable/table.d.ts +6 -0
  65. package/lib/form/Components/SelectTable/table.js +76 -0
  66. package/lib/form/Filter/AdvancedFilter.d.ts +7 -0
  67. package/lib/form/Filter/AdvancedFilter.js +134 -0
  68. package/lib/form/Filter/LightFilter.d.ts +7 -0
  69. package/lib/form/Filter/LightFilter.js +99 -0
  70. package/lib/form/Filter/SimpleFilter.d.ts +7 -0
  71. package/lib/form/Filter/SimpleFilter.js +93 -0
  72. package/lib/form/Filter/index2.js +207 -258
  73. package/lib/form/ProForm/index.js +11 -9
  74. package/lib/form/ProForm/index.scss +40 -6
  75. package/lib/form/ProForm/useFormDisplayValues.js +3 -1
  76. package/lib/form/SchemaForm/index.js +16 -9
  77. package/lib/form/SchemaForm/initializeDataSource.d.ts +2 -2
  78. package/lib/form/SchemaForm/initializeDataSource.js +4 -11
  79. package/lib/form/SchemaForm/initializeRequest.d.ts +2 -2
  80. package/lib/form/SchemaForm/initializeRequest.js +4 -11
  81. package/lib/form/SchemaForm/initializeRules.d.ts +7 -1
  82. package/lib/form/SchemaForm/initializeRules.js +9 -16
  83. package/lib/form/SchemaForm/reactions.d.ts +5 -5
  84. package/lib/form/SchemaForm/reactions.js +29 -31
  85. package/lib/form/global.scss +1 -0
  86. package/lib/form/typing.d.ts +7 -3
  87. package/lib/form/utils.d.ts +8 -7
  88. package/lib/form/utils.js +6 -5
  89. package/lib/index.d.ts +1 -1
  90. package/lib/index.js +1 -1
  91. package/lib/table/components/Layout/index.js +21 -11
  92. package/lib/table/components/Pagination/index.d.ts +7 -0
  93. package/lib/table/components/Pagination/index.js +265 -0
  94. package/lib/table/components/Pagination/index.scss +50 -0
  95. package/lib/table/components/ToolBar/FilterColumnIcon.js +40 -6
  96. package/lib/table/components/ToolBar/index.scss +17 -6
  97. package/lib/table/index.js +96 -36
  98. package/lib/table/index.scss +7 -1
  99. package/lib/table/typing.d.ts +9 -2
  100. package/lib/table/utils/columnRender.js +2 -1
  101. package/lib/table/utils/index.d.ts +7 -0
  102. package/lib/table/utils/index.js +46 -4
  103. package/package.json +2 -2
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _components = require("@alicloudfe/components");
13
+
14
+ var _utils = require("@teamix/utils");
15
+
16
+ var _hooks = require("@teamix/hooks");
17
+
18
+ require("./index.scss");
19
+
20
+ var _excluded = ["className", "onChange", "total", "totalRender", "pageSize", "current", "pageSizeList", "pageSizeSelector", "type", "onPageSizeChange", "responsivePaginationType"];
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
+
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
+
30
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
31
+
32
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
33
+
34
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
35
+
36
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
37
+
38
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
39
+
40
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
41
+
42
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
43
+
44
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
45
+
46
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
47
+
48
+ var cls = (0, _utils.baseClass)('teamix-pro-pagination');
49
+
50
+ var _default = function _default(props) {
51
+ var className = props.className,
52
+ propsOnChange = props.onChange,
53
+ total = props.total,
54
+ totalRender = props.totalRender,
55
+ pageSize = props.pageSize,
56
+ current = props.current,
57
+ pageSizeList = props.pageSizeList,
58
+ pageSizeSelector = props.pageSizeSelector,
59
+ type = props.type,
60
+ onPageSizeChange = props.onPageSizeChange,
61
+ responsivePaginationType = props.responsivePaginationType,
62
+ otherProps = _objectWithoutProperties(props, _excluded);
63
+
64
+ var _useResponsiveProps = (0, _hooks.useResponsiveProps)([480, 590, 700], ['mini', 'small', 'simple', 'normal']),
65
+ responsiveProps = _useResponsiveProps.responsiveProps,
66
+ paginationWrapperRef = _useResponsiveProps.ref;
67
+
68
+ var _useState = (0, _react.useState)(false),
69
+ _useState2 = _slicedToArray(_useState, 2),
70
+ visible = _useState2[0],
71
+ setVisible = _useState2[1];
72
+
73
+ var _useState3 = (0, _react.useState)(current),
74
+ _useState4 = _slicedToArray(_useState3, 2),
75
+ currentPage = _useState4[0],
76
+ setCurrentPage = _useState4[1];
77
+
78
+ var commonPaginationProps = {
79
+ className: className,
80
+ onChange: propsOnChange,
81
+ total: total,
82
+ pageSize: pageSize,
83
+ shape: 'arrow-only',
84
+ pageSizeList: pageSizeList,
85
+ pageSizeSelector: pageSizeSelector,
86
+ pageSizePosition: 'end',
87
+ onPageSizeChange: onPageSizeChange
88
+ }; // 自定义总数,用于 small、mini
89
+
90
+ var customTotalRender = function customTotalRender(total) {
91
+ return /*#__PURE__*/_react.default.createElement(_components.Balloon, {
92
+ visible: visible,
93
+ closable: false,
94
+ onVisibleChange: function onVisibleChange(visible) {
95
+ return setVisible(visible);
96
+ },
97
+ align: "t",
98
+ // triggerType="click"
99
+ trigger: /*#__PURE__*/_react.default.createElement(_components.Button, {
100
+ text: true,
101
+ onMouseEnter: function onMouseEnter() {
102
+ return setVisible(true);
103
+ }
104
+ }, (0, _utils.getMessage)('total', {
105
+ total: total
106
+ }))
107
+ }, /*#__PURE__*/_react.default.createElement("div", {
108
+ className: cls('custom-total-content')
109
+ }, /*#__PURE__*/_react.default.createElement("div", {
110
+ className: "title"
111
+ }, (0, _utils.getMessage)('pageSize')), /*#__PURE__*/_react.default.createElement(_components.Select, {
112
+ className: cls('custom-page-size-selector'),
113
+ dataSource: pageSizeList,
114
+ defaultValue: pageSize,
115
+ followTrigger: true,
116
+ menuProps: {
117
+ hasSelectedIcon: false
118
+ },
119
+ onChange: function onChange(value) {
120
+ setVisible(false);
121
+ setCurrentPage(1);
122
+ onPageSizeChange === null || onPageSizeChange === void 0 ? void 0 : onPageSizeChange(value);
123
+ }
124
+ })));
125
+ }; // 获取页总数
126
+
127
+
128
+ function getTotalPage(total, currentPageSize) {
129
+ var totalPage = Math.ceil(total / currentPageSize);
130
+ return totalPage <= 0 ? 1 : totalPage;
131
+ } // 自定义翻页,用于 mini
132
+
133
+
134
+ var customJumpRender = function customJumpRender() {
135
+ var handleInputChange = function handleInputChange(value, e) {
136
+ setCurrentPage(value);
137
+ }; // 回车触发跳转
138
+
139
+
140
+ var handleJump = function handleJump(e) {
141
+ var totalPage = getTotalPage(total, pageSize);
142
+ var value = Number(currentPage);
143
+
144
+ if (isNaN(value)) {
145
+ value = '';
146
+ } else if (value < 1) {
147
+ value = 1;
148
+ } else if (value > totalPage) {
149
+ value = totalPage;
150
+ }
151
+
152
+ if (value && value !== current) {
153
+ setCurrentPage(value);
154
+ propsOnChange === null || propsOnChange === void 0 ? void 0 : propsOnChange(value, e);
155
+ }
156
+ };
157
+
158
+ var handlePrevClick = function handlePrevClick(e) {
159
+ setCurrentPage(currentPage - 1);
160
+ propsOnChange === null || propsOnChange === void 0 ? void 0 : propsOnChange(currentPage - 1, e);
161
+ };
162
+
163
+ var handleNextClick = function handleNextClick(e) {
164
+ setCurrentPage(currentPage + 1);
165
+ propsOnChange === null || propsOnChange === void 0 ? void 0 : propsOnChange(currentPage + 1, e);
166
+ };
167
+
168
+ return /*#__PURE__*/_react.default.createElement("div", {
169
+ className: cls('custom-jumper')
170
+ }, /*#__PURE__*/_react.default.createElement(_components.Button, {
171
+ className: "next-prev next-pagination-item",
172
+ onClick: handlePrevClick,
173
+ disabled: Number(currentPage) <= 1
174
+ }, /*#__PURE__*/_react.default.createElement(_components.Icon, {
175
+ size: "small",
176
+ type: "arrow-left"
177
+ })), /*#__PURE__*/_react.default.createElement(_components.Input, {
178
+ className: "jump-input",
179
+ value: currentPage,
180
+ onChange: handleInputChange,
181
+ onKeyDown: function onKeyDown(e) {
182
+ if (e.keyCode === 13) {
183
+ handleJump(e);
184
+ }
185
+ }
186
+ }), /*#__PURE__*/_react.default.createElement("div", {
187
+ className: "total"
188
+ }, /*#__PURE__*/_react.default.createElement("span", {
189
+ style: {
190
+ marginRight: 4
191
+ }
192
+ }, "/"), getTotalPage(total, pageSize)), /*#__PURE__*/_react.default.createElement(_components.Button, {
193
+ className: "next-next next-pagination-item",
194
+ onClick: handleNextClick,
195
+ //@ts-ignore
196
+ disabled: total && Number(currentPage) >= getTotalPage(total, pageSize)
197
+ }, /*#__PURE__*/_react.default.createElement(_components.Icon, {
198
+ size: "small",
199
+ type: "arrow-right"
200
+ })));
201
+ };
202
+
203
+ var renderMiniPagination = function renderMiniPagination() {
204
+ if (total && pageSize) {
205
+ if (total / pageSize <= 2) {
206
+ return /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), {}, {
207
+ type: "simple"
208
+ }, otherProps));
209
+ } else {
210
+ return /*#__PURE__*/_react.default.createElement("div", {
211
+ className: "".concat(cls('custom-mini-pagination'), " next-pagination")
212
+ }, customTotalRender(total), customJumpRender());
213
+ }
214
+ }
215
+ };
216
+
217
+ var renderPagination = function renderPagination() {
218
+ switch (responsivePaginationType || responsiveProps) {
219
+ case 'normal':
220
+ return /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), {}, {
221
+ totalRender: function totalRender(total) {
222
+ return (0, _utils.getMessage)('total', {
223
+ total: total
224
+ });
225
+ }
226
+ }, otherProps));
227
+
228
+ case 'simple':
229
+ return /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), {}, {
230
+ pageShowCount: 3,
231
+ totalRender: function totalRender(total) {
232
+ return (0, _utils.getMessage)('total', {
233
+ total: total
234
+ });
235
+ }
236
+ }, otherProps));
237
+
238
+ case 'small':
239
+ return /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), {}, {
240
+ pageShowCount: 3,
241
+ pageSizeSelector: false,
242
+ totalRender: function totalRender(total) {
243
+ return customTotalRender(total);
244
+ }
245
+ }, otherProps));
246
+
247
+ case 'mini':
248
+ return renderMiniPagination();
249
+
250
+ default:
251
+ return /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread(_objectSpread({}, commonPaginationProps), otherProps));
252
+ }
253
+ };
254
+
255
+ return (
256
+ /*#__PURE__*/
257
+ // 用于获取翻页器响应式 ref
258
+ _react.default.createElement("div", {
259
+ ref: paginationWrapperRef,
260
+ className: cls('wrapper')
261
+ }, renderPagination())
262
+ );
263
+ };
264
+
265
+ exports.default = _default;
@@ -0,0 +1,50 @@
1
+ $prefix: 'teamix-pro-pagination';
2
+
3
+ .#{$prefix} {
4
+ &-custom-total {
5
+ &-content {
6
+ display: flex;
7
+ align-items: center;
8
+ .next-menu {
9
+ min-width: 56px !important;
10
+ .next-menu-item.next-select-menu-item {
11
+ padding: 0 8px !important;
12
+ }
13
+ }
14
+ }
15
+ }
16
+ &-custom-mini-pagination {
17
+ display: flex;
18
+ align-items: center;
19
+ }
20
+ &-custom-jumper {
21
+ display: flex;
22
+ align-items: center;
23
+ .jump-input {
24
+ width: 36px;
25
+ input {
26
+ padding: 0 3px;
27
+ text-align: center;
28
+ line-height: 30px;
29
+ }
30
+ }
31
+ .total {
32
+ margin-left: 8px;
33
+ margin-right: 4px;
34
+ color: var(--color-text1-2);
35
+ }
36
+ .next-prev {
37
+ margin-left: 8px;
38
+ margin-right: 4px;
39
+ }
40
+ .next-pagination-item:disabled i {
41
+ color: var(--btn-pure-normal-color-disabled, #CCCCCC) !important;
42
+ }
43
+ }
44
+ &-custom-page-size-selector.next-select-trigger {
45
+ min-width: 56px;
46
+ .next-select-inner {
47
+ min-width: 56px;
48
+ }
49
+ }
50
+ }
@@ -71,7 +71,8 @@ var processColumns = function processColumns(columns) {
71
71
  var FilterColumnIcon = function FilterColumnIcon(props) {
72
72
  var _props$columns = props.columns,
73
73
  columns = _props$columns === void 0 ? [] : _props$columns,
74
- actionRef = props.actionRef;
74
+ actionRef = props.actionRef,
75
+ filterColumnType = props.filterColumnType;
75
76
 
76
77
  var _useState = (0, _react.useState)(true),
77
78
  _useState2 = _slicedToArray(_useState, 2),
@@ -101,6 +102,26 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
101
102
  dropdownVisible = _useState10[0],
102
103
  setDropdownVisible = _useState10[1];
103
104
 
105
+ (0, _react.useEffect)(function () {
106
+ _utils2.on === null || _utils2.on === void 0 ? void 0 : (0, _utils2.on)(function (stateFilterColumns) {
107
+ if (stateFilterColumns && stateFilterColumns.length > 0) {
108
+ var showDataIndex = stateFilterColumns.map(function (item) {
109
+ return item.dataIndex;
110
+ });
111
+ var stateColumns = (0, _utils2.cloneDeep)(processColumns(columns)).map(function (item) {
112
+ if (!showDataIndex.includes(item.dataIndex)) {
113
+ item.columnFilters = false;
114
+ }
115
+
116
+ return item;
117
+ });
118
+ setNewColumns(stateColumns);
119
+ }
120
+ }, 'refreshFilterState');
121
+ return function () {
122
+ (0, _utils2.off)('refreshFilterState');
123
+ };
124
+ });
104
125
  (0, _react.useEffect)(function () {
105
126
  setNewColumns(processColumns(columns));
106
127
  }, [columns]); // 全选
@@ -212,7 +233,7 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
212
233
 
213
234
  calculateSelectAllState(columns);
214
235
  setNewColumns(columns);
215
- (_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : (_actionRef$current$se = _actionRef$current.setColumn) === null || _actionRef$current$se === void 0 ? void 0 : _actionRef$current$se.call(_actionRef$current, columns);
236
+ (_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : (_actionRef$current$se = _actionRef$current.setColumn) === null || _actionRef$current$se === void 0 ? void 0 : _actionRef$current$se.call(_actionRef$current, columns, false);
216
237
  }; // 计算全选状态
217
238
 
218
239
 
@@ -258,7 +279,9 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
258
279
  align: "tr br"
259
280
  }, /*#__PURE__*/_react.default.createElement("div", {
260
281
  className: cls()
261
- }, /*#__PURE__*/_react.default.createElement(_components.Menu, null, /*#__PURE__*/_react.default.createElement(CheckboxItem, {
282
+ }, /*#__PURE__*/_react.default.createElement(_components.Menu, {
283
+ className: cls('all-select')
284
+ }, /*#__PURE__*/_react.default.createElement(CheckboxItem, {
262
285
  indeterminate: indeterminate,
263
286
  checked: allVisible,
264
287
  onChange: onChangeAllColumns
@@ -271,7 +294,9 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
271
294
  type: "primary"
272
295
  }, (0, _utils.getMessage)('reset'))), /*#__PURE__*/_react.default.createElement(_components.Menu.Divider, {
273
296
  key: "divider"
274
- }), newColumns.map(function (_ref9, index) {
297
+ })), /*#__PURE__*/_react.default.createElement(_components.Menu, {
298
+ className: cls('checkbox-group')
299
+ }, newColumns.map(function (_ref9, index) {
275
300
  var _newColumns$find;
276
301
 
277
302
  var dataIndex = _ref9.dataIndex,
@@ -329,7 +354,8 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
329
354
  onOk: onChangeColumnsForDialog,
330
355
  onCancel: dialogOnClose,
331
356
  onClose: dialogOnClose,
332
- width: 480
357
+ width: 480,
358
+ className: cls('dialog')
333
359
  }, /*#__PURE__*/_react.default.createElement(Row, {
334
360
  gutter: 20,
335
361
  wrap: true,
@@ -366,7 +392,15 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
366
392
  }))));
367
393
  };
368
394
 
369
- if (newColumns.length > 10) {
395
+ if (filterColumnType === 'dialog') {
396
+ return renderDialog();
397
+ }
398
+
399
+ if (filterColumnType === 'dropdown') {
400
+ return renderDropdown();
401
+ }
402
+
403
+ if (newColumns.length >= 20) {
370
404
  return renderDialog();
371
405
  }
372
406
 
@@ -18,10 +18,14 @@
18
18
  // FilterColumn
19
19
  .teamix-pro-table-toolbar-filter-column {
20
20
  min-width: 180px;
21
- max-height: 350px;
22
- overflow: auto;
23
21
  box-shadow: var(--popup-local-shadow, 0px 6px 24px 0px rgba(0, 0, 0, 0.1));
24
22
  background: var(--menu-background);
23
+
24
+ &-dialog {
25
+ .next-checkbox-label {
26
+ line-height: var(--checkbox-size,16px);
27
+ }
28
+ }
25
29
  &-reset {
26
30
  position: absolute;
27
31
  right: 16px;
@@ -40,7 +44,6 @@
40
44
  visibility: visible;
41
45
  cursor: pointer;
42
46
  }
43
-
44
47
  }
45
48
  }
46
49
  .next-menu-item-text {
@@ -76,6 +79,14 @@
76
79
  align-items: center;
77
80
  }
78
81
  }
82
+ .teamix-pro-table-toolbar-filter-column-all-select.teamix-pro-table-toolbar-filter-column-all-select {
83
+ padding-bottom: 0;
84
+ }
85
+ .teamix-pro-table-toolbar-filter-column-checkbox-group.teamix-pro-table-toolbar-filter-column-checkbox-group {
86
+ padding-top: 0;
87
+ max-height: 310px;
88
+ overflow: auto;
89
+ }
79
90
 
80
91
  // fullscreen
81
92
  .teamix-pro-table-full-screen {
@@ -88,7 +99,7 @@
88
99
  background-color: var(--balloon-tooltip-color-bg, #292929);
89
100
  border-color: var(--balloon-tooltip-color-border, transparent);
90
101
  box-shadow: var(--balloon-tooltip-shadow, none);
91
- color: var(--balloon-tooltip-color, #FFFFFF);
102
+ color: var(--balloon-tooltip-color, #ffffff);
92
103
  display: flex;
93
104
  align-items: center;
94
105
  height: 36px;
@@ -99,7 +110,7 @@
99
110
  display: none;
100
111
  }
101
112
  .next-message-content {
102
- color: var(--balloon-tooltip-color, #FFFFFF);
113
+ color: var(--balloon-tooltip-color, #ffffff);
103
114
  padding: 0;
104
115
  }
105
116
  .teamix-pro-table-full-screen-message-esc {
@@ -108,7 +119,7 @@
108
119
  padding: 0 2px;
109
120
  position: relative;
110
121
  // box-shadow: inset 0 0 1px 1px var(--color-fill1-1);
111
- border: 1px solid var(--balloon-tooltip-color, #FFFFFF);
122
+ border: 1px solid var(--balloon-tooltip-color, #ffffff);
112
123
  display: inline-block;
113
124
  line-height: 1;
114
125
  &-title {