@teamix/pro 1.5.40 → 1.5.42
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.
- package/dist/pro.js +431 -470
- package/dist/pro.min.js +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/sidebar/components/tree/index.js +8 -2
- package/es/sidebar/components/tree-node/index.js +1 -1
- package/es/table/components/Cell/index.js +1 -13
- package/es/table/components/Filter/index.js +15 -13
- package/es/table/components/ToolBar/FilterColumnIcon.js +5 -1
- package/es/table/index.js +9 -9
- package/es/table/typing.d.ts +2 -0
- package/es/table/utils/useTableSelection.js +7 -5
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/sidebar/components/tree/index.js +8 -2
- package/lib/sidebar/components/tree-node/index.js +1 -1
- package/lib/table/components/Cell/index.js +1 -13
- package/lib/table/components/Filter/index.js +15 -13
- package/lib/table/components/ToolBar/FilterColumnIcon.js +5 -1
- package/lib/table/index.js +8 -8
- package/lib/table/typing.d.ts +2 -0
- package/lib/table/utils/useTableSelection.js +7 -5
- package/package.json +1 -1
package/es/index.d.ts
CHANGED
@@ -30,5 +30,5 @@ export * from './sidebar';
|
|
30
30
|
export * from './utils';
|
31
31
|
export * from './timeline';
|
32
32
|
export * from './image';
|
33
|
-
declare const version = "1.5.
|
33
|
+
declare const version = "1.5.42";
|
34
34
|
export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, TeamixIcon, ProImage, hooks, nocode, templates, utils, };
|
package/es/index.js
CHANGED
@@ -247,7 +247,7 @@ var ProSidebarTree = function ProSidebarTree(props) {
|
|
247
247
|
if (extra === null || extra === void 0 ? void 0 : (_extra$event = extra.event) === null || _extra$event === void 0 ? void 0 : (_extra$event$target = _extra$event.target) === null || _extra$event$target === void 0 ? void 0 : (_extra$event$target$c = _extra$event$target.closest) === null || _extra$event$target$c === void 0 ? void 0 : _extra$event$target$c.call(_extra$event$target, '.teamix-pro-sidebar-delete-overlay')) {
|
248
248
|
return;
|
249
249
|
}
|
250
|
-
if (!
|
250
|
+
if (!selectedKeysProp) {
|
251
251
|
setSelectedKeys(value);
|
252
252
|
}
|
253
253
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, extra);
|
@@ -264,6 +264,12 @@ var ProSidebarTree = function ProSidebarTree(props) {
|
|
264
264
|
setExpandedKeys(key);
|
265
265
|
setAutoExpandParent(false);
|
266
266
|
};
|
267
|
+
var renderTreeNodeGroup = function renderTreeNodeGroup() {
|
268
|
+
if (onBeforeRenderNodeEvent) {
|
269
|
+
return renderTreeNodeDependenceValue(dataSource, onBeforeRenderNodeEvent, checkedKeys, selectedKeys);
|
270
|
+
}
|
271
|
+
return renderTreeNode(dataSource);
|
272
|
+
};
|
267
273
|
return /*#__PURE__*/React.createElement("div", {
|
268
274
|
className: cls({
|
269
275
|
'': true,
|
@@ -283,6 +289,6 @@ var ProSidebarTree = function ProSidebarTree(props) {
|
|
283
289
|
className: "".concat(cls({
|
284
290
|
checkable: others.checkable
|
285
291
|
}), " ").concat(className)
|
286
|
-
}, others),
|
292
|
+
}, others), renderTreeNodeGroup()));
|
287
293
|
};
|
288
294
|
export default ProSidebarTree;
|
@@ -170,7 +170,7 @@ export function renderTreeNode(data) {
|
|
170
170
|
return /*#__PURE__*/React.createElement(Tree.Node, _objectSpread({
|
171
171
|
key: item.value,
|
172
172
|
label: /*#__PURE__*/React.createElement(ProSideBarTreeNode, _objectSpread({}, labelProps))
|
173
|
-
}, nodeProps), item.children && item.children.length > 0 && renderTreeNode(item.children));
|
173
|
+
}, nodeProps), (item === null || item === void 0 ? void 0 : item.children) && item.children.length > 0 && renderTreeNode(item.children));
|
174
174
|
});
|
175
175
|
}
|
176
176
|
// 渲染树节点 依赖 value
|
@@ -197,7 +197,7 @@ var equalColumns = function equalColumns(prevProps, nextProps) {
|
|
197
197
|
return false;
|
198
198
|
}
|
199
199
|
// 操作列的时候强制刷新 || 当 value 值拿不到的时候
|
200
|
-
if (preValue === false
|
200
|
+
if (preValue === false || nextValue === false || preValue === undefined || nextValue === undefined) {
|
201
201
|
return false;
|
202
202
|
}
|
203
203
|
// 如果不是 string 类型,全部刷新
|
@@ -207,18 +207,6 @@ var equalColumns = function equalColumns(prevProps, nextProps) {
|
|
207
207
|
if (preValue === nextValue) {
|
208
208
|
return true;
|
209
209
|
}
|
210
|
-
// 针对 value 是数组类型的判断 value 是否和原来相等,相等则不渲染
|
211
|
-
if (Array.isArray(nextValue) && Array.isArray(preValue)) {
|
212
|
-
var nextValueStr = nextValue.map(function (item) {
|
213
|
-
return item.TagValue;
|
214
|
-
});
|
215
|
-
var preValueStr = preValue.map(function (item) {
|
216
|
-
return item.TagValue;
|
217
|
-
});
|
218
|
-
if (nextValueStr.toString() === preValueStr.toString()) {
|
219
|
-
return true;
|
220
|
-
}
|
221
|
-
}
|
222
210
|
return false;
|
223
211
|
};
|
224
212
|
export default /*#__PURE__*/React.memo(Cell, equalColumns);
|
@@ -23,20 +23,22 @@ var CheckboxItem = Menu.CheckboxItem;
|
|
23
23
|
var cls = usePrefixCls('teamix-pro-table-toolbar-filter');
|
24
24
|
var RadioItem = Menu.RadioItem;
|
25
25
|
var Filter = function Filter(props) {
|
26
|
-
var _urlState$split, _urlState, _urlState$split2;
|
26
|
+
var _ref3, _urlState$split, _urlState, _urlState$split2;
|
27
27
|
var column = props.column,
|
28
28
|
actionRef = props.actionRef,
|
29
29
|
switchCardView = props.switchCardView,
|
30
30
|
bindUrlProps = props.bindUrlProps,
|
31
31
|
bindUrl = props.bindUrl;
|
32
32
|
var _column$filtersWidth = column.filtersWidth,
|
33
|
-
filtersWidth = _column$filtersWidth === void 0 ? 130 : _column$filtersWidth
|
33
|
+
filtersWidth = _column$filtersWidth === void 0 ? 130 : _column$filtersWidth,
|
34
|
+
_column$defaultFilter = column.defaultFilterSelectedKeys,
|
35
|
+
defaultFilterSelectedKeys = _column$defaultFilter === void 0 ? [] : _column$defaultFilter;
|
34
36
|
var _ref = bindUrl ? useUrlState() : [],
|
35
37
|
_ref2 = _slicedToArray(_ref, 2),
|
36
38
|
urlState = _ref2[0],
|
37
39
|
setUrlState = _ref2[1];
|
38
40
|
// 选中过滤项
|
39
|
-
var _useState = useState((_urlState$split = urlState === null || urlState === void 0 ? void 0 : (_urlState = urlState["filter".concat(column === null || column === void 0 ? void 0 : column.dataIndex)]) === null || _urlState === void 0 ? void 0 : (_urlState$split2 = _urlState.split) === null || _urlState$split2 === void 0 ? void 0 : _urlState$split2.call(_urlState, ',')) !== null && _urlState$split !== void 0 ? _urlState$split : []),
|
41
|
+
var _useState = useState((_ref3 = (_urlState$split = urlState === null || urlState === void 0 ? void 0 : (_urlState = urlState["filter".concat(column === null || column === void 0 ? void 0 : column.dataIndex)]) === null || _urlState === void 0 ? void 0 : (_urlState$split2 = _urlState.split) === null || _urlState$split2 === void 0 ? void 0 : _urlState$split2.call(_urlState, ',')) !== null && _urlState$split !== void 0 ? _urlState$split : defaultFilterSelectedKeys) !== null && _ref3 !== void 0 ? _ref3 : []),
|
40
42
|
_useState2 = _slicedToArray(_useState, 2),
|
41
43
|
selected = _useState2[0],
|
42
44
|
setSelected = _useState2[1];
|
@@ -61,11 +63,11 @@ var Filter = function Filter(props) {
|
|
61
63
|
var filters = column.dataSource;
|
62
64
|
// 转换 valueEnum 为 options
|
63
65
|
if (!Array.isArray(column.dataSource)) {
|
64
|
-
filters = Object.entries(column.dataSource).map(function (
|
66
|
+
filters = Object.entries(column.dataSource).map(function (_ref4) {
|
65
67
|
var _nv$label, _nv$color;
|
66
|
-
var
|
67
|
-
k =
|
68
|
-
v =
|
68
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
69
|
+
k = _ref5[0],
|
70
|
+
v = _ref5[1];
|
69
71
|
var nv = v;
|
70
72
|
return _objectSpread(_objectSpread({
|
71
73
|
value: k
|
@@ -145,10 +147,10 @@ var Filter = function Filter(props) {
|
|
145
147
|
};
|
146
148
|
// 渲染单选
|
147
149
|
var renderSingle = function renderSingle() {
|
148
|
-
return filters === null || filters === void 0 ? void 0 : filters.map(function (
|
150
|
+
return filters === null || filters === void 0 ? void 0 : filters.map(function (_ref6) {
|
149
151
|
var _value$toString;
|
150
|
-
var label =
|
151
|
-
value =
|
152
|
+
var label = _ref6.label,
|
153
|
+
value = _ref6.value;
|
152
154
|
var valueStr = (_value$toString = value === null || value === void 0 ? void 0 : value.toString()) !== null && _value$toString !== void 0 ? _value$toString : '';
|
153
155
|
return /*#__PURE__*/React.createElement(RadioItem, {
|
154
156
|
id: valueStr,
|
@@ -168,10 +170,10 @@ var Filter = function Filter(props) {
|
|
168
170
|
};
|
169
171
|
// 渲染多选
|
170
172
|
var renderMultiple = function renderMultiple() {
|
171
|
-
return filters === null || filters === void 0 ? void 0 : filters.map(function (
|
173
|
+
return filters === null || filters === void 0 ? void 0 : filters.map(function (_ref7) {
|
172
174
|
var _value$toString2;
|
173
|
-
var label =
|
174
|
-
value =
|
175
|
+
var label = _ref7.label,
|
176
|
+
value = _ref7.value;
|
175
177
|
var valueStr = (_value$toString2 = value === null || value === void 0 ? void 0 : value.toString()) !== null && _value$toString2 !== void 0 ? _value$toString2 : '';
|
176
178
|
return /*#__PURE__*/React.createElement(CheckboxItem, {
|
177
179
|
key: valueStr,
|
@@ -124,7 +124,11 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
|
|
124
124
|
// 重置
|
125
125
|
var restColumns = function restColumns(e) {
|
126
126
|
e.stopPropagation();
|
127
|
-
var keyNewColumns = processColumns(columns)
|
127
|
+
var keyNewColumns = processColumns(columns).map(function (item) {
|
128
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
129
|
+
columnFilters: (item === null || item === void 0 ? void 0 : item.columnFilters) === undefined ? true : item === null || item === void 0 ? void 0 : item.columnFilters
|
130
|
+
});
|
131
|
+
});
|
128
132
|
notifyTableRender(keyNewColumns);
|
129
133
|
};
|
130
134
|
// 修改
|
package/es/table/index.js
CHANGED
@@ -16,7 +16,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
16
16
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
17
17
|
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; }
|
18
18
|
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; }
|
19
|
-
import React, { useState, useEffect, useRef, useMemo
|
19
|
+
import React, { useState, useEffect, useRef, useMemo } from 'react';
|
20
20
|
import { Table, Checkbox } from '@alicloudfe/components';
|
21
21
|
import Pagination from './components/Pagination';
|
22
22
|
import TableContent from './components/TableContent';
|
@@ -815,7 +815,7 @@ var ProTable = function ProTable(props) {
|
|
815
815
|
}
|
816
816
|
});
|
817
817
|
// 请求函数
|
818
|
-
var _request =
|
818
|
+
var _request = function _request(params, noLoading, filterParams, isReset) {
|
819
819
|
var _dataFilterFormRef$cu2, _actionRef$current$ge, _actionRef$current6, _actionRef$current6$g, _objectSpread4;
|
820
820
|
// 首次渲染表格,获取 urlState 上的 表头 filter 数据
|
821
821
|
if (bindUrl && (bindUrlProps === null || bindUrlProps === void 0 ? void 0 : bindUrlProps.headerFilters) !== false && dataRef.current.flag) {
|
@@ -930,12 +930,12 @@ var ProTable = function ProTable(props) {
|
|
930
930
|
getData.run(requestData);
|
931
931
|
}
|
932
932
|
}
|
933
|
-
}
|
934
|
-
var onSort =
|
933
|
+
};
|
934
|
+
var onSort = function onSort(dataIndex, order) {
|
935
935
|
var nextSort = _defineProperty({}, dataIndex, order);
|
936
936
|
setSort(nextSort);
|
937
937
|
_request(targetFormatSort(nextSort));
|
938
|
-
}
|
938
|
+
};
|
939
939
|
// 处理 dataFilter 中的 onFilter、onReset
|
940
940
|
var dataFilter = useMemo(function () {
|
941
941
|
return _objectSpread(_objectSpread({
|
@@ -1092,7 +1092,7 @@ var ProTable = function ProTable(props) {
|
|
1092
1092
|
})));
|
1093
1093
|
} else return footerAction;
|
1094
1094
|
};
|
1095
|
-
var onChangePagination =
|
1095
|
+
var onChangePagination = function onChangePagination(currentPage) {
|
1096
1096
|
var _objectSpread5;
|
1097
1097
|
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
1098
1098
|
// 翻页默认清空选择
|
@@ -1102,8 +1102,8 @@ var ProTable = function ProTable(props) {
|
|
1102
1102
|
}
|
1103
1103
|
setCurrentPage(currentPage);
|
1104
1104
|
_request(_objectSpread((_objectSpread5 = {}, _defineProperty(_objectSpread5, targetPageKey, currentPage), _defineProperty(_objectSpread5, "pageSize", pageSize), _objectSpread5), params));
|
1105
|
-
}
|
1106
|
-
var onChangePaginationSize =
|
1105
|
+
};
|
1106
|
+
var onChangePaginationSize = function onChangePaginationSize(currentPageSize) {
|
1107
1107
|
var _request10;
|
1108
1108
|
// 翻页默认清空选择
|
1109
1109
|
if (!reserveSelectedRecords) {
|
@@ -1113,7 +1113,7 @@ var ProTable = function ProTable(props) {
|
|
1113
1113
|
setPageSize(currentPageSize);
|
1114
1114
|
setCurrentPage(1);
|
1115
1115
|
_request((_request10 = {}, _defineProperty(_request10, targetPageSizeKey, currentPageSize), _defineProperty(_request10, targetPageKey, 1), _request10));
|
1116
|
-
}
|
1116
|
+
};
|
1117
1117
|
var renderFooter = function renderFooter() {
|
1118
1118
|
function renderRowSelection() {
|
1119
1119
|
if (rowSelection) {
|
package/es/table/typing.d.ts
CHANGED
@@ -56,6 +56,8 @@ export declare type ProTableColumnProps = {
|
|
56
56
|
filters?: boolean | ProTableColumnsFilterItemProps[];
|
57
57
|
/** 表头的过滤菜单项过滤方式 single 单选 multiple 多选 */
|
58
58
|
filtersMode?: 'single' | 'multiple';
|
59
|
+
/** 表头的过滤菜单项默认值 */
|
60
|
+
defaultFilterSelectedKeys?: string[];
|
59
61
|
/** 表头的过滤菜单项在搜索之前的参数操作 */
|
60
62
|
beforeFilter?: (rules: string[]) => string;
|
61
63
|
/** 表头的过滤菜单宽度 */
|
@@ -42,8 +42,9 @@ function useTableSelection() {
|
|
42
42
|
var _config$selectedRowKe;
|
43
43
|
setSelectedRowKeys((_config$selectedRowKe = config === null || config === void 0 ? void 0 : config.selectedRowKeys) !== null && _config$selectedRowKe !== void 0 ? _config$selectedRowKe : []);
|
44
44
|
}, [config.selectedRowKeys]);
|
45
|
-
function _onChange(value, records) {
|
45
|
+
function _onChange(value, records, checked, record) {
|
46
46
|
if (primaryKey) {
|
47
|
+
var _config$onSelect;
|
47
48
|
var newValue = value.filter(function (v) {
|
48
49
|
return !selectedRowKeys.includes(v);
|
49
50
|
});
|
@@ -69,8 +70,11 @@ function useTableSelection() {
|
|
69
70
|
});
|
70
71
|
}
|
71
72
|
setSelectedRecords(nextSelectedRecords);
|
73
|
+
config === null || config === void 0 ? void 0 : (_config$onSelect = config.onSelect) === null || _config$onSelect === void 0 ? void 0 : _config$onSelect.call(config, checked, record, nextSelectedRecords);
|
72
74
|
} else {
|
75
|
+
var _config$onSelect2;
|
73
76
|
setSelectedRecords(records);
|
77
|
+
config === null || config === void 0 ? void 0 : (_config$onSelect2 = config.onSelect) === null || _config$onSelect2 === void 0 ? void 0 : _config$onSelect2.call(config, checked, record, records);
|
74
78
|
}
|
75
79
|
setSelectedRowKeys(value);
|
76
80
|
if (config.onChange) {
|
@@ -84,14 +88,12 @@ function useTableSelection() {
|
|
84
88
|
return /*#__PURE__*/React.createElement(Checkbox, _objectSpread({
|
85
89
|
checked: selectedRowKeys.includes(primaryKey),
|
86
90
|
onChange: function onChange(checked) {
|
87
|
-
var _config$onSelect;
|
88
|
-
config === null || config === void 0 ? void 0 : (_config$onSelect = config.onSelect) === null || _config$onSelect === void 0 ? void 0 : _config$onSelect.call(config, checked, record, records);
|
89
91
|
if (checked) {
|
90
|
-
_onChange === null || _onChange === void 0 ? void 0 : _onChange([].concat(_toConsumableArray(selectedRowKeys), [primaryKey]), [record]);
|
92
|
+
_onChange === null || _onChange === void 0 ? void 0 : _onChange([].concat(_toConsumableArray(selectedRowKeys), [primaryKey]), [record], checked, record);
|
91
93
|
} else {
|
92
94
|
_onChange === null || _onChange === void 0 ? void 0 : _onChange(selectedRowKeys.filter(function (item) {
|
93
95
|
return item !== primaryKey;
|
94
|
-
}), [record]);
|
96
|
+
}), [record], checked, record);
|
95
97
|
}
|
96
98
|
}
|
97
99
|
}, others));
|
package/lib/index.d.ts
CHANGED
@@ -30,5 +30,5 @@ export * from './sidebar';
|
|
30
30
|
export * from './utils';
|
31
31
|
export * from './timeline';
|
32
32
|
export * from './image';
|
33
|
-
declare const version = "1.5.
|
33
|
+
declare const version = "1.5.42";
|
34
34
|
export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, TeamixIcon, ProImage, hooks, nocode, templates, utils, };
|
package/lib/index.js
CHANGED
@@ -299,7 +299,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
299
299
|
if (!((_window = window) === null || _window === void 0 ? void 0 : _window.TEAMIXPRO_WITHOUT_ICON)) {
|
300
300
|
_icon.default.setConfig(_utils.default.getTeamixIconConfig());
|
301
301
|
}
|
302
|
-
var version = '1.5.
|
302
|
+
var version = '1.5.42';
|
303
303
|
// By TeamixTest
|
304
304
|
exports.version = version;
|
305
305
|
window.postMessage({
|
@@ -256,7 +256,7 @@ var ProSidebarTree = function ProSidebarTree(props) {
|
|
256
256
|
if (extra === null || extra === void 0 ? void 0 : (_extra$event = extra.event) === null || _extra$event === void 0 ? void 0 : (_extra$event$target = _extra$event.target) === null || _extra$event$target === void 0 ? void 0 : (_extra$event$target$c = _extra$event$target.closest) === null || _extra$event$target$c === void 0 ? void 0 : _extra$event$target$c.call(_extra$event$target, '.teamix-pro-sidebar-delete-overlay')) {
|
257
257
|
return;
|
258
258
|
}
|
259
|
-
if (!
|
259
|
+
if (!selectedKeysProp) {
|
260
260
|
setSelectedKeys(value);
|
261
261
|
}
|
262
262
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, extra);
|
@@ -273,6 +273,12 @@ var ProSidebarTree = function ProSidebarTree(props) {
|
|
273
273
|
setExpandedKeys(key);
|
274
274
|
setAutoExpandParent(false);
|
275
275
|
};
|
276
|
+
var renderTreeNodeGroup = function renderTreeNodeGroup() {
|
277
|
+
if (onBeforeRenderNodeEvent) {
|
278
|
+
return (0, _treeNode.renderTreeNodeDependenceValue)(dataSource, onBeforeRenderNodeEvent, checkedKeys, selectedKeys);
|
279
|
+
}
|
280
|
+
return (0, _treeNode.renderTreeNode)(dataSource);
|
281
|
+
};
|
276
282
|
return /*#__PURE__*/_react.default.createElement("div", {
|
277
283
|
className: cls({
|
278
284
|
'': true,
|
@@ -292,7 +298,7 @@ var ProSidebarTree = function ProSidebarTree(props) {
|
|
292
298
|
className: "".concat(cls({
|
293
299
|
checkable: others.checkable
|
294
300
|
}), " ").concat(className)
|
295
|
-
}, others),
|
301
|
+
}, others), renderTreeNodeGroup()));
|
296
302
|
};
|
297
303
|
var _default = ProSidebarTree;
|
298
304
|
exports.default = _default;
|
@@ -181,7 +181,7 @@ function renderTreeNode(data) {
|
|
181
181
|
return /*#__PURE__*/_react.default.createElement(_components.Tree.Node, _objectSpread({
|
182
182
|
key: item.value,
|
183
183
|
label: /*#__PURE__*/_react.default.createElement(ProSideBarTreeNode, _objectSpread({}, labelProps))
|
184
|
-
}, nodeProps), item.children && item.children.length > 0 && renderTreeNode(item.children));
|
184
|
+
}, nodeProps), (item === null || item === void 0 ? void 0 : item.children) && item.children.length > 0 && renderTreeNode(item.children));
|
185
185
|
});
|
186
186
|
}
|
187
187
|
// 渲染树节点 依赖 value
|
@@ -201,7 +201,7 @@ var equalColumns = function equalColumns(prevProps, nextProps) {
|
|
201
201
|
return false;
|
202
202
|
}
|
203
203
|
// 操作列的时候强制刷新 || 当 value 值拿不到的时候
|
204
|
-
if (preValue === false
|
204
|
+
if (preValue === false || nextValue === false || preValue === undefined || nextValue === undefined) {
|
205
205
|
return false;
|
206
206
|
}
|
207
207
|
// 如果不是 string 类型,全部刷新
|
@@ -211,18 +211,6 @@ var equalColumns = function equalColumns(prevProps, nextProps) {
|
|
211
211
|
if (preValue === nextValue) {
|
212
212
|
return true;
|
213
213
|
}
|
214
|
-
// 针对 value 是数组类型的判断 value 是否和原来相等,相等则不渲染
|
215
|
-
if (Array.isArray(nextValue) && Array.isArray(preValue)) {
|
216
|
-
var nextValueStr = nextValue.map(function (item) {
|
217
|
-
return item.TagValue;
|
218
|
-
});
|
219
|
-
var preValueStr = preValue.map(function (item) {
|
220
|
-
return item.TagValue;
|
221
|
-
});
|
222
|
-
if (nextValueStr.toString() === preValueStr.toString()) {
|
223
|
-
return true;
|
224
|
-
}
|
225
|
-
}
|
226
214
|
return false;
|
227
215
|
};
|
228
216
|
var _default = /*#__PURE__*/_react.default.memo(Cell, equalColumns);
|
@@ -32,20 +32,22 @@ var CheckboxItem = _components.Menu.CheckboxItem;
|
|
32
32
|
var cls = (0, _utils.usePrefixCls)('teamix-pro-table-toolbar-filter');
|
33
33
|
var RadioItem = _components.Menu.RadioItem;
|
34
34
|
var Filter = function Filter(props) {
|
35
|
-
var _urlState$split, _urlState, _urlState$split2;
|
35
|
+
var _ref3, _urlState$split, _urlState, _urlState$split2;
|
36
36
|
var column = props.column,
|
37
37
|
actionRef = props.actionRef,
|
38
38
|
switchCardView = props.switchCardView,
|
39
39
|
bindUrlProps = props.bindUrlProps,
|
40
40
|
bindUrl = props.bindUrl;
|
41
41
|
var _column$filtersWidth = column.filtersWidth,
|
42
|
-
filtersWidth = _column$filtersWidth === void 0 ? 130 : _column$filtersWidth
|
42
|
+
filtersWidth = _column$filtersWidth === void 0 ? 130 : _column$filtersWidth,
|
43
|
+
_column$defaultFilter = column.defaultFilterSelectedKeys,
|
44
|
+
defaultFilterSelectedKeys = _column$defaultFilter === void 0 ? [] : _column$defaultFilter;
|
43
45
|
var _ref = bindUrl ? (0, _hooks.useUrlState)() : [],
|
44
46
|
_ref2 = _slicedToArray(_ref, 2),
|
45
47
|
urlState = _ref2[0],
|
46
48
|
setUrlState = _ref2[1];
|
47
49
|
// 选中过滤项
|
48
|
-
var _useState = (0, _react.useState)((_urlState$split = urlState === null || urlState === void 0 ? void 0 : (_urlState = urlState["filter".concat(column === null || column === void 0 ? void 0 : column.dataIndex)]) === null || _urlState === void 0 ? void 0 : (_urlState$split2 = _urlState.split) === null || _urlState$split2 === void 0 ? void 0 : _urlState$split2.call(_urlState, ',')) !== null && _urlState$split !== void 0 ? _urlState$split : []),
|
50
|
+
var _useState = (0, _react.useState)((_ref3 = (_urlState$split = urlState === null || urlState === void 0 ? void 0 : (_urlState = urlState["filter".concat(column === null || column === void 0 ? void 0 : column.dataIndex)]) === null || _urlState === void 0 ? void 0 : (_urlState$split2 = _urlState.split) === null || _urlState$split2 === void 0 ? void 0 : _urlState$split2.call(_urlState, ',')) !== null && _urlState$split !== void 0 ? _urlState$split : defaultFilterSelectedKeys) !== null && _ref3 !== void 0 ? _ref3 : []),
|
49
51
|
_useState2 = _slicedToArray(_useState, 2),
|
50
52
|
selected = _useState2[0],
|
51
53
|
setSelected = _useState2[1];
|
@@ -70,11 +72,11 @@ var Filter = function Filter(props) {
|
|
70
72
|
var filters = column.dataSource;
|
71
73
|
// 转换 valueEnum 为 options
|
72
74
|
if (!Array.isArray(column.dataSource)) {
|
73
|
-
filters = Object.entries(column.dataSource).map(function (
|
75
|
+
filters = Object.entries(column.dataSource).map(function (_ref4) {
|
74
76
|
var _nv$label, _nv$color;
|
75
|
-
var
|
76
|
-
k =
|
77
|
-
v =
|
77
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
78
|
+
k = _ref5[0],
|
79
|
+
v = _ref5[1];
|
78
80
|
var nv = v;
|
79
81
|
return _objectSpread(_objectSpread({
|
80
82
|
value: k
|
@@ -154,10 +156,10 @@ var Filter = function Filter(props) {
|
|
154
156
|
};
|
155
157
|
// 渲染单选
|
156
158
|
var renderSingle = function renderSingle() {
|
157
|
-
return filters === null || filters === void 0 ? void 0 : filters.map(function (
|
159
|
+
return filters === null || filters === void 0 ? void 0 : filters.map(function (_ref6) {
|
158
160
|
var _value$toString;
|
159
|
-
var label =
|
160
|
-
value =
|
161
|
+
var label = _ref6.label,
|
162
|
+
value = _ref6.value;
|
161
163
|
var valueStr = (_value$toString = value === null || value === void 0 ? void 0 : value.toString()) !== null && _value$toString !== void 0 ? _value$toString : '';
|
162
164
|
return /*#__PURE__*/_react.default.createElement(RadioItem, {
|
163
165
|
id: valueStr,
|
@@ -177,10 +179,10 @@ var Filter = function Filter(props) {
|
|
177
179
|
};
|
178
180
|
// 渲染多选
|
179
181
|
var renderMultiple = function renderMultiple() {
|
180
|
-
return filters === null || filters === void 0 ? void 0 : filters.map(function (
|
182
|
+
return filters === null || filters === void 0 ? void 0 : filters.map(function (_ref7) {
|
181
183
|
var _value$toString2;
|
182
|
-
var label =
|
183
|
-
value =
|
184
|
+
var label = _ref7.label,
|
185
|
+
value = _ref7.value;
|
184
186
|
var valueStr = (_value$toString2 = value === null || value === void 0 ? void 0 : value.toString()) !== null && _value$toString2 !== void 0 ? _value$toString2 : '';
|
185
187
|
return /*#__PURE__*/_react.default.createElement(CheckboxItem, {
|
186
188
|
key: valueStr,
|
@@ -131,7 +131,11 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
|
|
131
131
|
// 重置
|
132
132
|
var restColumns = function restColumns(e) {
|
133
133
|
e.stopPropagation();
|
134
|
-
var keyNewColumns = processColumns(columns)
|
134
|
+
var keyNewColumns = processColumns(columns).map(function (item) {
|
135
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
136
|
+
columnFilters: (item === null || item === void 0 ? void 0 : item.columnFilters) === undefined ? true : item === null || item === void 0 ? void 0 : item.columnFilters
|
137
|
+
});
|
138
|
+
});
|
135
139
|
notifyTableRender(keyNewColumns);
|
136
140
|
};
|
137
141
|
// 修改
|
package/lib/table/index.js
CHANGED
@@ -836,7 +836,7 @@ var ProTable = function ProTable(props) {
|
|
836
836
|
}
|
837
837
|
});
|
838
838
|
// 请求函数
|
839
|
-
var _request =
|
839
|
+
var _request = function _request(params, noLoading, filterParams, isReset) {
|
840
840
|
var _dataFilterFormRef$cu2, _actionRef$current$ge, _actionRef$current6, _actionRef$current6$g, _objectSpread4;
|
841
841
|
// 首次渲染表格,获取 urlState 上的 表头 filter 数据
|
842
842
|
if (bindUrl && (bindUrlProps === null || bindUrlProps === void 0 ? void 0 : bindUrlProps.headerFilters) !== false && dataRef.current.flag) {
|
@@ -951,12 +951,12 @@ var ProTable = function ProTable(props) {
|
|
951
951
|
getData.run(requestData);
|
952
952
|
}
|
953
953
|
}
|
954
|
-
}
|
955
|
-
var onSort =
|
954
|
+
};
|
955
|
+
var onSort = function onSort(dataIndex, order) {
|
956
956
|
var nextSort = _defineProperty({}, dataIndex, order);
|
957
957
|
setSort(nextSort);
|
958
958
|
_request(targetFormatSort(nextSort));
|
959
|
-
}
|
959
|
+
};
|
960
960
|
// 处理 dataFilter 中的 onFilter、onReset
|
961
961
|
var dataFilter = (0, _react.useMemo)(function () {
|
962
962
|
return _objectSpread(_objectSpread({
|
@@ -1113,7 +1113,7 @@ var ProTable = function ProTable(props) {
|
|
1113
1113
|
})));
|
1114
1114
|
} else return footerAction;
|
1115
1115
|
};
|
1116
|
-
var onChangePagination =
|
1116
|
+
var onChangePagination = function onChangePagination(currentPage) {
|
1117
1117
|
var _objectSpread5;
|
1118
1118
|
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
1119
1119
|
// 翻页默认清空选择
|
@@ -1123,8 +1123,8 @@ var ProTable = function ProTable(props) {
|
|
1123
1123
|
}
|
1124
1124
|
setCurrentPage(currentPage);
|
1125
1125
|
_request(_objectSpread((_objectSpread5 = {}, _defineProperty(_objectSpread5, targetPageKey, currentPage), _defineProperty(_objectSpread5, "pageSize", pageSize), _objectSpread5), params));
|
1126
|
-
}
|
1127
|
-
var onChangePaginationSize =
|
1126
|
+
};
|
1127
|
+
var onChangePaginationSize = function onChangePaginationSize(currentPageSize) {
|
1128
1128
|
var _request10;
|
1129
1129
|
// 翻页默认清空选择
|
1130
1130
|
if (!reserveSelectedRecords) {
|
@@ -1134,7 +1134,7 @@ var ProTable = function ProTable(props) {
|
|
1134
1134
|
setPageSize(currentPageSize);
|
1135
1135
|
setCurrentPage(1);
|
1136
1136
|
_request((_request10 = {}, _defineProperty(_request10, targetPageSizeKey, currentPageSize), _defineProperty(_request10, targetPageKey, 1), _request10));
|
1137
|
-
}
|
1137
|
+
};
|
1138
1138
|
var renderFooter = function renderFooter() {
|
1139
1139
|
function renderRowSelection() {
|
1140
1140
|
if (rowSelection) {
|
package/lib/table/typing.d.ts
CHANGED
@@ -56,6 +56,8 @@ export declare type ProTableColumnProps = {
|
|
56
56
|
filters?: boolean | ProTableColumnsFilterItemProps[];
|
57
57
|
/** 表头的过滤菜单项过滤方式 single 单选 multiple 多选 */
|
58
58
|
filtersMode?: 'single' | 'multiple';
|
59
|
+
/** 表头的过滤菜单项默认值 */
|
60
|
+
defaultFilterSelectedKeys?: string[];
|
59
61
|
/** 表头的过滤菜单项在搜索之前的参数操作 */
|
60
62
|
beforeFilter?: (rules: string[]) => string;
|
61
63
|
/** 表头的过滤菜单宽度 */
|
@@ -47,8 +47,9 @@ function useTableSelection() {
|
|
47
47
|
var _config$selectedRowKe;
|
48
48
|
setSelectedRowKeys((_config$selectedRowKe = config === null || config === void 0 ? void 0 : config.selectedRowKeys) !== null && _config$selectedRowKe !== void 0 ? _config$selectedRowKe : []);
|
49
49
|
}, [config.selectedRowKeys]);
|
50
|
-
function _onChange(value, records) {
|
50
|
+
function _onChange(value, records, checked, record) {
|
51
51
|
if (primaryKey) {
|
52
|
+
var _config$onSelect;
|
52
53
|
var newValue = value.filter(function (v) {
|
53
54
|
return !selectedRowKeys.includes(v);
|
54
55
|
});
|
@@ -74,8 +75,11 @@ function useTableSelection() {
|
|
74
75
|
});
|
75
76
|
}
|
76
77
|
setSelectedRecords(nextSelectedRecords);
|
78
|
+
config === null || config === void 0 ? void 0 : (_config$onSelect = config.onSelect) === null || _config$onSelect === void 0 ? void 0 : _config$onSelect.call(config, checked, record, nextSelectedRecords);
|
77
79
|
} else {
|
80
|
+
var _config$onSelect2;
|
78
81
|
setSelectedRecords(records);
|
82
|
+
config === null || config === void 0 ? void 0 : (_config$onSelect2 = config.onSelect) === null || _config$onSelect2 === void 0 ? void 0 : _config$onSelect2.call(config, checked, record, records);
|
79
83
|
}
|
80
84
|
setSelectedRowKeys(value);
|
81
85
|
if (config.onChange) {
|
@@ -89,14 +93,12 @@ function useTableSelection() {
|
|
89
93
|
return /*#__PURE__*/_react.default.createElement(_components.Checkbox, _objectSpread({
|
90
94
|
checked: selectedRowKeys.includes(primaryKey),
|
91
95
|
onChange: function onChange(checked) {
|
92
|
-
var _config$onSelect;
|
93
|
-
config === null || config === void 0 ? void 0 : (_config$onSelect = config.onSelect) === null || _config$onSelect === void 0 ? void 0 : _config$onSelect.call(config, checked, record, records);
|
94
96
|
if (checked) {
|
95
|
-
_onChange === null || _onChange === void 0 ? void 0 : _onChange([].concat(_toConsumableArray(selectedRowKeys), [primaryKey]), [record]);
|
97
|
+
_onChange === null || _onChange === void 0 ? void 0 : _onChange([].concat(_toConsumableArray(selectedRowKeys), [primaryKey]), [record], checked, record);
|
96
98
|
} else {
|
97
99
|
_onChange === null || _onChange === void 0 ? void 0 : _onChange(selectedRowKeys.filter(function (item) {
|
98
100
|
return item !== primaryKey;
|
99
|
-
}), [record]);
|
101
|
+
}), [record], checked, record);
|
100
102
|
}
|
101
103
|
}
|
102
104
|
}, others));
|