@teamix/pro 1.3.13 → 1.3.16
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.css +1 -1
- package/dist/pro.js +5531 -720
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/es/actions/index.js +40 -4
- package/es/actions/index.scss +13 -0
- package/es/form/Filter/LightFilter.js +7 -5
- package/es/form/Filter/index.js +171 -55
- package/es/form/Filter/layout.scss +4 -0
- package/es/form/Filter/useBindUrl.d.ts +2 -0
- package/es/form/Filter/useBindUrl.js +118 -0
- package/es/form/ProForm/index.d.ts +2 -3
- package/es/form/ProForm/index.js +51 -10
- package/es/form/ProForm/index.scss +7 -0
- package/es/form/ProForm/useFieldSchema.d.ts +7 -0
- package/es/form/ProForm/useFieldSchema.js +109 -0
- package/es/form/SchemaForm/index.js +2 -38
- package/es/form/SchemaForm/initializeDataSource.d.ts +1 -2
- package/es/form/SchemaForm/initializeDataSource.js +14 -19
- package/es/form/SchemaForm/initializeRequest.js +25 -26
- package/es/form/SchemaForm/initializeRules.d.ts +2 -2
- package/es/form/SchemaForm/initializeRules.js +30 -23
- package/es/form/SchemaForm/initializeSelectTable.js +80 -6
- package/es/form/SchemaForm/reactions.d.ts +4 -4
- package/es/form/SchemaForm/reactions.js +30 -23
- package/es/form/typing.d.ts +16 -6
- package/es/form/utils.d.ts +16 -1
- package/es/form/utils.js +21 -2
- package/es/global.scss +45 -0
- package/es/index.d.ts +2 -1
- package/es/index.js +3 -2
- package/es/page-header/index.d.ts +2 -0
- package/es/page-header/index.js +13 -3
- package/es/page-header/index.scss +8 -0
- package/es/table/components/Layout/index.scss +5 -5
- package/es/table/components/ToolBar/Fullscreen.d.ts +1 -1
- package/es/table/utils/pureColumnRender.d.ts +9 -0
- package/es/table/utils/pureColumnRender.js +201 -0
- package/es/table/utils/pureGenProColumnToColumn.d.ts +7 -0
- package/es/table/utils/pureGenProColumnToColumn.js +36 -0
- package/es/timeline/ProTimeLineItem/index.js +8 -5
- package/es/timeline/typing.d.ts +5 -0
- package/lib/actions/index.js +40 -4
- package/lib/actions/index.scss +13 -0
- package/lib/form/Filter/LightFilter.js +7 -6
- package/lib/form/Filter/index.js +172 -55
- package/lib/form/Filter/layout.scss +4 -0
- package/lib/form/Filter/useBindUrl.d.ts +2 -0
- package/lib/form/Filter/useBindUrl.js +129 -0
- package/lib/form/ProForm/index.d.ts +2 -3
- package/lib/form/ProForm/index.js +57 -9
- package/lib/form/ProForm/index.scss +7 -0
- package/lib/form/ProForm/useFieldSchema.d.ts +7 -0
- package/lib/form/ProForm/useFieldSchema.js +118 -0
- package/lib/form/SchemaForm/index.js +2 -45
- package/lib/form/SchemaForm/initializeDataSource.d.ts +1 -2
- package/lib/form/SchemaForm/initializeDataSource.js +14 -19
- package/lib/form/SchemaForm/initializeRequest.js +26 -26
- package/lib/form/SchemaForm/initializeRules.d.ts +2 -2
- package/lib/form/SchemaForm/initializeRules.js +30 -22
- package/lib/form/SchemaForm/initializeSelectTable.js +85 -6
- package/lib/form/SchemaForm/reactions.d.ts +4 -4
- package/lib/form/SchemaForm/reactions.js +30 -23
- package/lib/form/typing.d.ts +16 -6
- package/lib/form/utils.d.ts +16 -1
- package/lib/form/utils.js +23 -2
- package/lib/global.scss +45 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +3 -1
- package/lib/page-header/index.d.ts +2 -0
- package/lib/page-header/index.js +12 -2
- package/lib/page-header/index.scss +8 -0
- package/lib/table/components/Layout/index.scss +5 -5
- package/lib/table/components/ToolBar/Fullscreen.d.ts +1 -1
- package/lib/table/utils/pureColumnRender.d.ts +9 -0
- package/lib/table/utils/pureColumnRender.js +215 -0
- package/lib/table/utils/pureGenProColumnToColumn.d.ts +7 -0
- package/lib/table/utils/pureGenProColumnToColumn.js +43 -0
- package/lib/timeline/ProTimeLineItem/index.js +8 -5
- package/lib/timeline/typing.d.ts +5 -0
- package/package.json +1 -1
@@ -0,0 +1,36 @@
|
|
1
|
+
var _excluded = ["filters", "dataIndex"];
|
2
|
+
|
3
|
+
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; }
|
4
|
+
|
5
|
+
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; }
|
6
|
+
|
7
|
+
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; }
|
8
|
+
|
9
|
+
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; }
|
10
|
+
|
11
|
+
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; }
|
12
|
+
|
13
|
+
import { renderColumnsTitle, renderCell } from './pureColumnRender';
|
14
|
+
/**
|
15
|
+
* ProColumn => Column,去掉操作列,过滤器相关逻辑
|
16
|
+
* 用于非 ProTable 比如 selectTable
|
17
|
+
*/
|
18
|
+
|
19
|
+
export default function genProColumnToColumn(columns) {
|
20
|
+
return columns.map(function (columnProps) {
|
21
|
+
var filters = columnProps.filters,
|
22
|
+
dataIndex = columnProps.dataIndex,
|
23
|
+
others = _objectWithoutProperties(columnProps, _excluded);
|
24
|
+
|
25
|
+
return _objectSpread(_objectSpread({
|
26
|
+
// 金钱样式默认右对齐
|
27
|
+
align: columnProps.valueType === 'money' ? 'right' : 'left'
|
28
|
+
}, others), {}, {
|
29
|
+
dataIndex: dataIndex === null || dataIndex === void 0 ? void 0 : dataIndex.toString(),
|
30
|
+
title: renderColumnsTitle(columnProps),
|
31
|
+
cell: function cell(value, index, record) {
|
32
|
+
return renderCell(value, columnProps, index, record);
|
33
|
+
}
|
34
|
+
});
|
35
|
+
});
|
36
|
+
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["_comment", "_shape", "status", "image", "icon", "title", "subTitle", "timeLeft", "content", "animation", "discription", "tags", "collapsible", "defaultCollapsed", "collapsed", "onCollapse", "dotRender"];
|
1
|
+
var _excluded = ["_comment", "_shape", "status", "image", "icon", "title", "subTitle", "time", "timeLeft", "content", "animation", "discription", "tags", "collapsible", "defaultCollapsed", "collapsed", "onCollapse", "dotRender"];
|
2
2
|
|
3
3
|
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; }
|
4
4
|
|
@@ -43,6 +43,7 @@ var ProTimeLineItem = function ProTimeLineItem(props) {
|
|
43
43
|
icon = props.icon,
|
44
44
|
title = props.title,
|
45
45
|
subTitle = props.subTitle,
|
46
|
+
time = props.time,
|
46
47
|
timeLeft = props.timeLeft,
|
47
48
|
content = props.content,
|
48
49
|
animation = props.animation,
|
@@ -54,8 +55,10 @@ var ProTimeLineItem = function ProTimeLineItem(props) {
|
|
54
55
|
onCollapse = props.onCollapse,
|
55
56
|
dotRender = props.dotRender,
|
56
57
|
others = _objectWithoutProperties(props, _excluded);
|
57
|
-
/** 内容去折叠相关 */
|
58
58
|
|
59
|
+
var timeRight = time !== null && time !== void 0 ? time : subTitle; // 兼容 subTitle
|
60
|
+
|
61
|
+
/** 内容去折叠相关 */
|
59
62
|
|
60
63
|
var _useState = useState(defaultCollapsed !== undefined ? defaultCollapsed : false),
|
61
64
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -165,9 +168,9 @@ var ProTimeLineItem = function ProTimeLineItem(props) {
|
|
165
168
|
}))
|
166
169
|
}, title), tags && /*#__PURE__*/React.createElement("div", {
|
167
170
|
className: classnames(cls('wrapper-right-top-tag-info'))
|
168
|
-
}, renderTag()),
|
171
|
+
}, renderTag()), timeRight && /*#__PURE__*/React.createElement("div", {
|
169
172
|
className: classnames(cls('wrapper-right-top-subTitle-info'))
|
170
|
-
}, formatTime(
|
173
|
+
}, formatTime(timeRight))), discription && /*#__PURE__*/React.createElement("div", {
|
171
174
|
className: classnames(cls('wrapper-right-discribe-info'))
|
172
175
|
}, discription), /*#__PURE__*/React.createElement("div", {
|
173
176
|
className: classnames(cls('wrapper-right-content-info'))
|
@@ -177,7 +180,7 @@ var ProTimeLineItem = function ProTimeLineItem(props) {
|
|
177
180
|
'wrapper-right-content-info-open': showContent
|
178
181
|
}))
|
179
182
|
}, content))));
|
180
|
-
}, [_shape, timeLeft, image, title, tags,
|
183
|
+
}, [_shape, timeLeft, image, title, tags, timeRight, discription, content, collapsible, collapsed, defaultCollapsed, onCollapseChanged]);
|
181
184
|
/**
|
182
185
|
* 重新渲染 timeline 节点
|
183
186
|
* */
|
package/es/timeline/typing.d.ts
CHANGED
@@ -60,8 +60,13 @@ export declare type ProTimeLineItemProps = {
|
|
60
60
|
dotRender?: (index?: number, status?: string) => ReactNode;
|
61
61
|
/**
|
62
62
|
* 节点副标题
|
63
|
+
* @deprecated 弃用,请使用 `time`
|
63
64
|
*/
|
64
65
|
subTitle?: ReactNode;
|
66
|
+
/**
|
67
|
+
* 右侧时间
|
68
|
+
*/
|
69
|
+
time?: ReactNode;
|
65
70
|
/**
|
66
71
|
* 节点对应描述
|
67
72
|
*/
|
package/lib/actions/index.js
CHANGED
@@ -231,8 +231,18 @@ var ProActionButton = function ProActionButton(props) {
|
|
231
231
|
}, tooltipProps);
|
232
232
|
|
233
233
|
if (tooltip || disabledTooltip) {
|
234
|
-
|
235
|
-
|
234
|
+
if (tooltip && !disabledTooltip) {
|
235
|
+
if (!disabled) {
|
236
|
+
content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), tooltip);
|
237
|
+
}
|
238
|
+
} else if (!tooltip && disabledTooltip) {
|
239
|
+
if (disabled) {
|
240
|
+
content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), disabledTooltip);
|
241
|
+
}
|
242
|
+
} else if (tooltip && disabledTooltip) {
|
243
|
+
var showToolTip = disabled ? disabledTooltip : tooltip;
|
244
|
+
content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), showToolTip);
|
245
|
+
}
|
236
246
|
}
|
237
247
|
|
238
248
|
return content;
|
@@ -248,7 +258,10 @@ var ProActionMenuButtonItem = function ProActionMenuButtonItem(props) {
|
|
248
258
|
_onClick2 = action.onClick,
|
249
259
|
children = action.children,
|
250
260
|
icon = action.icon,
|
251
|
-
disabled = action.disabled
|
261
|
+
disabled = action.disabled,
|
262
|
+
tooltip = action.tooltip,
|
263
|
+
disabledTooltip = action.disabledTooltip,
|
264
|
+
tooltipProps = action.tooltipProps;
|
252
265
|
var menuItemActionConfig = Object.assign({}, config, {
|
253
266
|
trigger: 'onClick'
|
254
267
|
});
|
@@ -262,9 +275,32 @@ var ProActionMenuButtonItem = function ProActionMenuButtonItem(props) {
|
|
262
275
|
return _onClick2(e, context);
|
263
276
|
}
|
264
277
|
}) : _objectSpread({}, menuItemProps);
|
278
|
+
var content = buttonContent(children, icon, undefined, context);
|
279
|
+
|
280
|
+
var baseToolTipProps = _objectSpread({
|
281
|
+
triggerType: 'hover',
|
282
|
+
align: 't',
|
283
|
+
trigger: content
|
284
|
+
}, tooltipProps);
|
285
|
+
|
286
|
+
if (tooltip || disabledTooltip) {
|
287
|
+
if (tooltip && !disabledTooltip) {
|
288
|
+
if (!disabled) {
|
289
|
+
content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), tooltip);
|
290
|
+
}
|
291
|
+
} else if (!tooltip && disabledTooltip) {
|
292
|
+
if (disabled) {
|
293
|
+
content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), disabledTooltip);
|
294
|
+
}
|
295
|
+
} else if (tooltip && disabledTooltip) {
|
296
|
+
var showToolTip = disabled ? disabledTooltip : tooltip;
|
297
|
+
content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), showToolTip);
|
298
|
+
}
|
299
|
+
}
|
300
|
+
|
265
301
|
return /*#__PURE__*/_react.default.createElement("div", _objectSpread({
|
266
302
|
className: (0, _classnames.default)('teamix-pro-action-menu-item', "".concat((0, _utils.usePrefixCls)(), "menu-item"), _defineProperty({}, "".concat((0, _utils.usePrefixCls)(), "disabled"), disabled))
|
267
|
-
}, buttonProps),
|
303
|
+
}, buttonProps), content);
|
268
304
|
};
|
269
305
|
|
270
306
|
function renderCommonActionButtonMenuItem(action, key, context) {
|
package/lib/actions/index.scss
CHANGED
@@ -121,3 +121,16 @@
|
|
121
121
|
}
|
122
122
|
}
|
123
123
|
}
|
124
|
+
|
125
|
+
// 针对弹层内的 table 在暗色模式下适配
|
126
|
+
.next-dialog-body {
|
127
|
+
.teamix-pro-table, .next-table-empty {
|
128
|
+
background: var(--dialog-bg);
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
.next-drawer-body {
|
133
|
+
.teamix-pro-table, .next-table-empty {
|
134
|
+
background: var(--drawer-bg);
|
135
|
+
}
|
136
|
+
}
|
@@ -35,13 +35,9 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
35
35
|
|
36
36
|
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; }
|
37
37
|
|
38
|
-
var lightFilterObs = (0, _reactive.observable)({
|
39
|
-
onFilter: function onFilter() {}
|
40
|
-
});
|
41
38
|
/**
|
42
39
|
* 轻量筛选
|
43
40
|
*/
|
44
|
-
|
45
41
|
var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
46
42
|
var _schema$;
|
47
43
|
|
@@ -54,10 +50,15 @@ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
54
50
|
activeFilterValueRef = props.activeFilterValueRef,
|
55
51
|
otherProps = _objectWithoutProperties(props, _excluded);
|
56
52
|
|
57
|
-
var filterValue = (0, _react.useRef)(defaultFilterValue || ((_schema$ = schema[0]) === null || _schema$ === void 0 ? void 0 : _schema$.name));
|
53
|
+
var filterValue = (0, _react.useRef)(defaultFilterValue || (schema === null || schema === void 0 ? void 0 : (_schema$ = schema[0]) === null || _schema$ === void 0 ? void 0 : _schema$.name));
|
58
54
|
var prefixCls = (0, _utils.usePrefixCls)('', {
|
59
55
|
prefix: 'teamix-pro-form-query-filter-light'
|
60
56
|
});
|
57
|
+
var lightFilterObs = (0, _react.useMemo)(function () {
|
58
|
+
return (0, _reactive.observable)({
|
59
|
+
onFilter: function onFilter() {}
|
60
|
+
});
|
61
|
+
}, []);
|
61
62
|
(0, _react.useEffect)(function () {
|
62
63
|
if (activeFilterValueRef) {
|
63
64
|
activeFilterValueRef.current = filterValue.current;
|
@@ -108,7 +109,7 @@ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
108
109
|
}, [schema, onFilterChange, defaultFilterValue]);
|
109
110
|
(0, _react.useEffect)(function () {
|
110
111
|
lightFilterObs.onFilter = onFilter;
|
111
|
-
}, [
|
112
|
+
}, [onFilter]);
|
112
113
|
return /*#__PURE__*/_react.default.createElement(_ProForm.default, _objectSpread(_objectSpread({}, otherProps), {}, {
|
113
114
|
scope: _objectSpread(_objectSpread({}, otherProps === null || otherProps === void 0 ? void 0 : otherProps.scope), {}, {
|
114
115
|
lightFilterObs: lightFilterObs
|
package/lib/form/Filter/index.js
CHANGED
@@ -43,9 +43,11 @@ var _Layout = require("./Layout");
|
|
43
43
|
|
44
44
|
var _useSpecialProps2 = _interopRequireDefault(require("./useSpecialProps"));
|
45
45
|
|
46
|
+
var _useBindUrl2 = _interopRequireDefault(require("./useBindUrl"));
|
47
|
+
|
46
48
|
require("./index.scss");
|
47
49
|
|
48
|
-
var _excluded = ["addonAfter", "addonBefore", "mode", "purePanel", "expand", "formRef", "defaultFilterValue", "filterValues", "filterDebounce", "onFilter", "onInit", "onReset", "onExpand", "onChange"];
|
50
|
+
var _excluded = ["addonAfter", "addonBefore", "mode", "purePanel", "expand", "formRef", "defaultFilterValue", "filterValues", "filterDebounce", "bindUrl", "onFilter", "onInit", "onReset", "onExpand", "onChange"];
|
49
51
|
|
50
52
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
51
53
|
|
@@ -100,9 +102,10 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
100
102
|
defaultFilterValue = props.defaultFilterValue,
|
101
103
|
filterValues = props.filterValues,
|
102
104
|
filterDebounce = props.filterDebounce,
|
103
|
-
|
104
|
-
|
105
|
-
|
105
|
+
bindUrl = props.bindUrl,
|
106
|
+
outerFilter = props.onFilter,
|
107
|
+
outerInit = props.onInit,
|
108
|
+
outerReset = props.onReset,
|
106
109
|
onExpand = props.onExpand,
|
107
110
|
onChange = props.onChange,
|
108
111
|
otherProps = _objectWithoutProperties(props, _excluded);
|
@@ -121,15 +124,27 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
121
124
|
setTagDataSource = _useState4[1];
|
122
125
|
|
123
126
|
var filterItem = (0, _react.useRef)([]);
|
124
|
-
var
|
125
|
-
var
|
127
|
+
var defaultFormName = mode === 'panel' ? 'advanced' : 'simple';
|
128
|
+
var currentFormName = (0, _react.useRef)(defaultFormName);
|
129
|
+
var currentForm = (0, _react.useRef)();
|
126
130
|
var activeFilterValueRef = (0, _react.useRef)();
|
127
131
|
var prefixCls = (0, _utils.usePrefixCls)('', {
|
128
132
|
prefix: 'teamix-pro-form-query-filter'
|
129
133
|
});
|
130
134
|
var debounceFun = (0, _lodash.default)(function (fun, props) {
|
131
135
|
return fun(props);
|
132
|
-
}, filterDebounce); //
|
136
|
+
}, filterDebounce); // 绑定URL
|
137
|
+
|
138
|
+
var _useBindUrl = (0, _useBindUrl2.default)(bindUrl, {
|
139
|
+
onInit: outerInit,
|
140
|
+
onFilter: outerFilter,
|
141
|
+
onReset: outerReset
|
142
|
+
}, currentForm),
|
143
|
+
setValuesByUrlState = _useBindUrl.setValuesByUrlState,
|
144
|
+
onInit = _useBindUrl.onInit,
|
145
|
+
onFilter = _useBindUrl.onFilter,
|
146
|
+
onReset = _useBindUrl.onReset; // onInit
|
147
|
+
|
133
148
|
|
134
149
|
var initialRequestRef = (0, _react.useRef)(!!(props === null || props === void 0 ? void 0 : props.initialRequest));
|
135
150
|
var filterEnable = (0, _react.useRef)('waiting');
|
@@ -154,12 +169,11 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
154
169
|
break;
|
155
170
|
}
|
156
171
|
|
157
|
-
onFormInit =
|
158
|
-
|
172
|
+
onFormInit = undefined; // init后销毁 isFormInit 方法
|
159
173
|
|
160
|
-
|
174
|
+
setValuesByUrlState(form); // 配置URL参数到表单
|
161
175
|
|
162
|
-
if (!
|
176
|
+
if (!outerInit) {
|
163
177
|
_context.next = 10;
|
164
178
|
break;
|
165
179
|
}
|
@@ -168,7 +182,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
168
182
|
return form.validate();
|
169
183
|
|
170
184
|
case 8:
|
171
|
-
onInit
|
185
|
+
onInit((0, _reactive.toJS)(form.values)); // 设置Tag
|
172
186
|
|
173
187
|
if (mode === 'panel') {
|
174
188
|
configFilterItem(advancedForm);
|
@@ -190,17 +204,110 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
190
204
|
|
191
205
|
|
192
206
|
var setCurrentForm = function setCurrentForm(formName) {
|
193
|
-
|
207
|
+
currentFormName.current = formName;
|
208
|
+
currentForm.current = formMap[formName];
|
209
|
+
var form = currentForm.current;
|
194
210
|
|
195
211
|
if (formRef) {
|
196
|
-
|
197
|
-
formRef.current = form;
|
212
|
+
formRef.current = form; // 自定义updateTags方法
|
198
213
|
|
199
214
|
if (!formRef.current.updateTags) {
|
200
215
|
formRef.current.updateTags = function () {
|
201
|
-
|
202
|
-
configTag();
|
216
|
+
updateTags(form);
|
203
217
|
};
|
218
|
+
} // 自定义setAsyncValues方法
|
219
|
+
|
220
|
+
|
221
|
+
if (!formRef.current.setAsyncValues) {
|
222
|
+
formRef.current.setAsyncValues = /*#__PURE__*/function () {
|
223
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
|
224
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
225
|
+
while (1) {
|
226
|
+
switch (_context2.prev = _context2.next) {
|
227
|
+
case 0:
|
228
|
+
form.setValues(values);
|
229
|
+
|
230
|
+
if (!(filterEnable.current === 'filter' && formName === 'advanced')) {
|
231
|
+
_context2.next = 6;
|
232
|
+
break;
|
233
|
+
}
|
234
|
+
|
235
|
+
_context2.next = 4;
|
236
|
+
return form.validate();
|
237
|
+
|
238
|
+
case 4:
|
239
|
+
onFilter((0, _reactive.toJS)(form.values));
|
240
|
+
updateTags(form);
|
241
|
+
|
242
|
+
case 6:
|
243
|
+
case "end":
|
244
|
+
return _context2.stop();
|
245
|
+
}
|
246
|
+
}
|
247
|
+
}, _callee2);
|
248
|
+
}));
|
249
|
+
|
250
|
+
return function (_x2) {
|
251
|
+
return _ref2.apply(this, arguments);
|
252
|
+
};
|
253
|
+
}();
|
254
|
+
} // 自定义triggerFilter方法
|
255
|
+
|
256
|
+
|
257
|
+
if (!formRef.current.triggerFilter) {
|
258
|
+
formRef.current.triggerFilter = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
|
259
|
+
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
260
|
+
while (1) {
|
261
|
+
switch (_context3.prev = _context3.next) {
|
262
|
+
case 0:
|
263
|
+
_context3.next = 2;
|
264
|
+
return form.validate();
|
265
|
+
|
266
|
+
case 2:
|
267
|
+
onFilter((0, _reactive.toJS)(form.values));
|
268
|
+
|
269
|
+
if (formName === 'advanced') {
|
270
|
+
updateTags(form);
|
271
|
+
}
|
272
|
+
|
273
|
+
case 4:
|
274
|
+
case "end":
|
275
|
+
return _context3.stop();
|
276
|
+
}
|
277
|
+
}
|
278
|
+
}, _callee3);
|
279
|
+
}));
|
280
|
+
} // 自定义triggerReset方法
|
281
|
+
|
282
|
+
|
283
|
+
if (!formRef.current.triggerReset) {
|
284
|
+
formRef.current.triggerReset = /*#__PURE__*/function () {
|
285
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(config) {
|
286
|
+
return regeneratorRuntime.wrap(function _callee4$(_context4) {
|
287
|
+
while (1) {
|
288
|
+
switch (_context4.prev = _context4.next) {
|
289
|
+
case 0:
|
290
|
+
simpleForm.reset('*', config);
|
291
|
+
lightForm.reset('*', config);
|
292
|
+
advancedForm.reset('*', config);
|
293
|
+
|
294
|
+
if (formName === 'advanced') {
|
295
|
+
onReset((0, _reactive.toJS)(advancedForm.values));
|
296
|
+
updateTags(form);
|
297
|
+
}
|
298
|
+
|
299
|
+
case 4:
|
300
|
+
case "end":
|
301
|
+
return _context4.stop();
|
302
|
+
}
|
303
|
+
}
|
304
|
+
}, _callee4);
|
305
|
+
}));
|
306
|
+
|
307
|
+
return function (_x3) {
|
308
|
+
return _ref4.apply(this, arguments);
|
309
|
+
};
|
310
|
+
}();
|
204
311
|
}
|
205
312
|
}
|
206
313
|
}; // 创建简单筛选表单实例
|
@@ -212,7 +319,11 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
212
319
|
effects: function effects() {
|
213
320
|
(0, _core.onFormReact)(function (form) {
|
214
321
|
if (mode === 'inline') {
|
215
|
-
|
322
|
+
var _onFormInit;
|
323
|
+
|
324
|
+
(_onFormInit = onFormInit) === null || _onFormInit === void 0 ? void 0 : _onFormInit(form).finally(function () {
|
325
|
+
return filterEnable.current = 'filter';
|
326
|
+
});
|
216
327
|
}
|
217
328
|
});
|
218
329
|
}
|
@@ -236,7 +347,11 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
236
347
|
effects: function effects() {
|
237
348
|
(0, _core.onFormReact)(function (form) {
|
238
349
|
if (mode === 'panel') {
|
239
|
-
|
350
|
+
var _onFormInit2;
|
351
|
+
|
352
|
+
(_onFormInit2 = onFormInit) === null || _onFormInit2 === void 0 ? void 0 : _onFormInit2(form).finally(function () {
|
353
|
+
return filterEnable.current = 'filter';
|
354
|
+
});
|
240
355
|
}
|
241
356
|
});
|
242
357
|
(0, _core.onFormInputChange)(function (form) {
|
@@ -255,12 +370,12 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
255
370
|
var displayValues = (0, _useFormDisplayValues.getFormDisplayValues)(form);
|
256
371
|
var originalData = Object.entries(displayValues);
|
257
372
|
var filterData = [];
|
258
|
-
originalData.forEach(function (
|
373
|
+
originalData.forEach(function (_ref5) {
|
259
374
|
var _data$displayValue;
|
260
375
|
|
261
|
-
var
|
262
|
-
key =
|
263
|
-
data =
|
376
|
+
var _ref6 = _slicedToArray(_ref5, 2),
|
377
|
+
key = _ref6[0],
|
378
|
+
data = _ref6[1];
|
264
379
|
|
265
380
|
var value = (_data$displayValue = data.displayValue) !== null && _data$displayValue !== void 0 ? _data$displayValue : data.value;
|
266
381
|
var component = data.component;
|
@@ -295,6 +410,11 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
295
410
|
|
296
411
|
var configTag = (0, _react.useCallback)(function () {
|
297
412
|
setTagDataSource(filterItem.current);
|
413
|
+
}, []); // 更新标签数据
|
414
|
+
|
415
|
+
var updateTags = (0, _react.useCallback)(function (form) {
|
416
|
+
configFilterItem(form);
|
417
|
+
configTag();
|
298
418
|
}, []); // 展开收起高级筛选
|
299
419
|
|
300
420
|
var toggleAdvancedFilter = (0, _react.useCallback)(function () {
|
@@ -302,7 +422,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
302
422
|
|
303
423
|
if (result) {
|
304
424
|
// 展开高级筛选,Light回填Advanced
|
305
|
-
if (
|
425
|
+
if (currentFormName.current === 'light') {
|
306
426
|
var key = activeFilterValueRef.current;
|
307
427
|
var value = lightForm.values[key];
|
308
428
|
advancedForm.setValuesIn(key, value);
|
@@ -317,68 +437,66 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
317
437
|
}, [panelVisible, configTag]); // 简单搜索Filter
|
318
438
|
|
319
439
|
var onSimpleFilter = (0, _react.useCallback)( /*#__PURE__*/function () {
|
320
|
-
var
|
321
|
-
return regeneratorRuntime.wrap(function
|
440
|
+
var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(values) {
|
441
|
+
return regeneratorRuntime.wrap(function _callee5$(_context5) {
|
322
442
|
while (1) {
|
323
|
-
switch (
|
443
|
+
switch (_context5.prev = _context5.next) {
|
324
444
|
case 0:
|
325
|
-
|
445
|
+
_context5.next = 2;
|
326
446
|
return simpleForm.validate();
|
327
447
|
|
328
448
|
case 2:
|
329
|
-
onFilter
|
449
|
+
onFilter(values);
|
330
450
|
|
331
451
|
case 3:
|
332
452
|
case "end":
|
333
|
-
return
|
453
|
+
return _context5.stop();
|
334
454
|
}
|
335
455
|
}
|
336
|
-
},
|
456
|
+
}, _callee5);
|
337
457
|
}));
|
338
458
|
|
339
|
-
return function (
|
340
|
-
return
|
459
|
+
return function (_x4) {
|
460
|
+
return _ref7.apply(this, arguments);
|
341
461
|
};
|
342
462
|
}(), [onFilter]); // 简单搜索Change
|
343
463
|
|
344
464
|
var onSimpleChange = (0, _react.useCallback)(function (values, fieldValue, fieldName) {
|
345
|
-
if (
|
465
|
+
if (currentFormName.current === 'simple') {
|
346
466
|
onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
|
347
467
|
|
348
468
|
if (filterEnable.current === 'filter') {
|
349
469
|
debounceFun(onSimpleFilter, values);
|
350
470
|
}
|
351
471
|
}
|
352
|
-
}, [onChange]); // 轻量搜索Filter
|
472
|
+
}, [onChange, onSimpleFilter]); // 轻量搜索Filter
|
353
473
|
|
354
474
|
var onLightFilter = (0, _react.useCallback)(function (values) {
|
355
475
|
var _Object$keys;
|
356
476
|
|
357
|
-
onFilter
|
477
|
+
onFilter(values); // 清空advancedForm的值
|
358
478
|
|
359
479
|
var clearKeys = {};
|
360
480
|
(_Object$keys = Object.keys(advancedForm.values)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.forEach(function (key) {
|
361
481
|
clearKeys[key] = undefined;
|
362
482
|
});
|
363
|
-
advancedForm.setValues(clearKeys);
|
364
|
-
|
365
|
-
configFilterItem(advancedForm);
|
366
|
-
configTag();
|
483
|
+
advancedForm.setValues(clearKeys);
|
484
|
+
updateTags(advancedForm);
|
367
485
|
}, [onFilter]); // 轻量搜索Change
|
368
486
|
|
369
487
|
var onLightChange = (0, _react.useCallback)(function (values, fieldValue, fieldName) {
|
370
|
-
if (
|
488
|
+
if (currentFormName.current === 'light') {
|
371
489
|
onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
|
372
490
|
|
373
491
|
if (filterEnable.current === 'filter') {
|
374
492
|
debounceFun(onLightFilter, values);
|
375
493
|
}
|
376
494
|
}
|
377
|
-
}, [onChange]); // 高级搜索Filter
|
495
|
+
}, [onChange, onLightFilter]); // 高级搜索Filter
|
378
496
|
|
379
497
|
var onAdvancedFilter = (0, _react.useCallback)(function (values) {
|
380
498
|
setCurrentForm('advanced');
|
381
|
-
onFilter
|
499
|
+
onFilter(values);
|
382
500
|
configFilterItem(advancedForm); // 清空lightForm的值
|
383
501
|
|
384
502
|
lightForm.reset('*', {
|
@@ -388,7 +506,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
388
506
|
|
389
507
|
var onAdvancedReset = (0, _react.useCallback)(function () {
|
390
508
|
setCurrentForm('advanced');
|
391
|
-
onReset
|
509
|
+
onReset((0, _reactive.toJS)(advancedForm.values));
|
392
510
|
configFilterItem(advancedForm); // 清空lightForm的值
|
393
511
|
|
394
512
|
lightForm.reset('*', {
|
@@ -397,7 +515,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
397
515
|
}, [onReset]); // 高级搜索Change
|
398
516
|
|
399
517
|
var onAdvancedChange = (0, _react.useCallback)(function (values, fieldValue, fieldName) {
|
400
|
-
if (
|
518
|
+
if (currentFormName.current === 'advanced') {
|
401
519
|
onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
|
402
520
|
}
|
403
521
|
}, [onChange]); // 关闭标签清空表单字段值
|
@@ -411,9 +529,8 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
411
529
|
}
|
412
530
|
|
413
531
|
advancedForm.setValuesIn(key, newValue);
|
414
|
-
|
415
|
-
|
416
|
-
onFilter === null || onFilter === void 0 ? void 0 : onFilter((0, _reactive.toJS)(advancedForm.values));
|
532
|
+
updateTags(advancedForm);
|
533
|
+
onFilter((0, _reactive.toJS)(advancedForm.values));
|
417
534
|
}, [onFilter]); // initialRequest 的回调
|
418
535
|
|
419
536
|
var onInitialComplete = (0, _react.useCallback)(function (form) {
|
@@ -424,7 +541,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
424
541
|
}, []); // 组件挂载
|
425
542
|
|
426
543
|
(0, _react.useEffect)(function () {
|
427
|
-
setCurrentForm(
|
544
|
+
setCurrentForm(currentFormName.current);
|
428
545
|
}, []);
|
429
546
|
return /*#__PURE__*/_react.default.createElement(_Layout.QueryFilterLayout, {
|
430
547
|
className: (0, _classnames.default)(prefixCls, props.className),
|
@@ -456,12 +573,12 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
456
573
|
onReset: onAdvancedReset,
|
457
574
|
onInitialComplete: onInitialComplete
|
458
575
|
})) : null
|
459
|
-
}, mode === 'panel' && !panelVisible ? /*#__PURE__*/_react.default.createElement(_components.Tag.Group, null, tagDataSource.map(function (
|
460
|
-
var key =
|
461
|
-
label =
|
462
|
-
value =
|
463
|
-
type =
|
464
|
-
index =
|
576
|
+
}, mode === 'panel' && !panelVisible ? /*#__PURE__*/_react.default.createElement(_components.Tag.Group, null, tagDataSource.map(function (_ref8) {
|
577
|
+
var key = _ref8.key,
|
578
|
+
label = _ref8.label,
|
579
|
+
value = _ref8.value,
|
580
|
+
type = _ref8.type,
|
581
|
+
index = _ref8.index;
|
465
582
|
return /*#__PURE__*/_react.default.createElement(_components.Tag.Closeable, {
|
466
583
|
key: (0, _utils.isNum)(index) ? key + label : key,
|
467
584
|
afterClose: function afterClose() {
|