@teamix/pro 1.3.2 → 1.3.3
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 +458 -161
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/es/form/Components/LightFilter/index.d.ts +1 -0
- package/es/form/Components/LightFilter/index.js +9 -6
- package/es/form/Filter/LightFilter.js +13 -3
- package/es/form/Filter/SimpleFilter.js +1 -1
- package/es/form/Filter/index.js +44 -10
- package/es/form/SchemaForm/adapterDecorator.js +1 -1
- package/es/form/SchemaForm/adapterType.js +2 -5
- package/es/form/SchemaForm/index.js +22 -8
- package/es/form/SchemaForm/initializeSelectTable.d.ts +3 -0
- package/es/form/SchemaForm/initializeSelectTable.js +38 -0
- package/es/form/SchemaForm/reactions.js +4 -9
- package/es/form/typing.d.ts +5 -1
- package/es/form/utils.js +11 -4
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/info/components/baseInfo/index.scss +3 -0
- package/es/page-header/index.d.ts +3 -1
- package/es/page-header/index.js +12 -3
- package/es/table/components/ToolBar/index.scss +1 -1
- package/es/table/index.scss +10 -0
- package/lib/form/Components/LightFilter/index.d.ts +1 -0
- package/lib/form/Components/LightFilter/index.js +9 -6
- package/lib/form/Filter/LightFilter.js +13 -3
- package/lib/form/Filter/SimpleFilter.js +1 -1
- package/lib/form/Filter/index.js +44 -10
- package/lib/form/SchemaForm/adapterDecorator.js +1 -1
- package/lib/form/SchemaForm/adapterType.js +2 -5
- package/lib/form/SchemaForm/index.js +23 -7
- package/lib/form/SchemaForm/initializeSelectTable.d.ts +3 -0
- package/lib/form/SchemaForm/initializeSelectTable.js +45 -0
- package/lib/form/SchemaForm/reactions.js +4 -9
- package/lib/form/typing.d.ts +5 -1
- package/lib/form/utils.js +11 -4
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/info/components/baseInfo/index.scss +3 -0
- package/lib/page-header/index.d.ts +3 -1
- package/lib/page-header/index.js +11 -2
- package/lib/table/components/ToolBar/index.scss +1 -1
- package/lib/table/index.scss +10 -0
- package/package.json +4 -4
@@ -78,14 +78,16 @@ var useMain = function useMain(active) {
|
|
78
78
|
}; // 筛选项数据
|
79
79
|
|
80
80
|
|
81
|
-
var useFilterItems = function useFilterItems() {
|
81
|
+
var useFilterItems = function useFilterItems(filterValues) {
|
82
82
|
var schema = (0, _react2.useFieldSchema)();
|
83
83
|
var filterItems = [];
|
84
84
|
schema.mapProperties(function (schema, name) {
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
85
|
+
if (!filterValues || filterValues && filterValues.includes(schema.name)) {
|
86
|
+
filterItems.push({
|
87
|
+
label: schema.title,
|
88
|
+
value: schema.name
|
89
|
+
});
|
90
|
+
}
|
89
91
|
});
|
90
92
|
return filterItems;
|
91
93
|
}; // 是否输入框类型的组件
|
@@ -99,12 +101,13 @@ var isInputCategory = function isInputCategory(currentSchema) {
|
|
99
101
|
var LightFilter = (0, _react2.observer)(function (props) {
|
100
102
|
var _filterItems$, _main$;
|
101
103
|
|
102
|
-
var filterItems = useFilterItems();
|
103
104
|
var size = props.size,
|
104
105
|
defaultFilterValue = props.defaultFilterValue,
|
106
|
+
filterValues = props.filterValues,
|
105
107
|
onFilterChange = props.onFilterChange,
|
106
108
|
filterProps = props.filterProps,
|
107
109
|
buttonProps = props.buttonProps;
|
110
|
+
var filterItems = useFilterItems(filterValues);
|
108
111
|
|
109
112
|
var _useState = (0, _react.useState)(defaultFilterValue || ((_filterItems$ = filterItems[0]) === null || _filterItems$ === void 0 ? void 0 : _filterItems$.value)),
|
110
113
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -15,7 +15,7 @@ var _utils = require("@teamix/utils");
|
|
15
15
|
|
16
16
|
var _ProForm = _interopRequireDefault(require("../ProForm"));
|
17
17
|
|
18
|
-
var _excluded = ["form", "schema", "onSubmit", "onChange", "defaultFilterValue", "activeFilterValueRef"];
|
18
|
+
var _excluded = ["form", "schema", "onSubmit", "onChange", "defaultFilterValue", "filterValues", "activeFilterValueRef"];
|
19
19
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
21
21
|
|
@@ -44,6 +44,7 @@ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
44
44
|
onSubmit = props.onSubmit,
|
45
45
|
onChange = props.onChange,
|
46
46
|
defaultFilterValue = props.defaultFilterValue,
|
47
|
+
filterValues = props.filterValues,
|
47
48
|
activeFilterValueRef = props.activeFilterValueRef,
|
48
49
|
otherProps = _objectWithoutProperties(props, _excluded);
|
49
50
|
|
@@ -66,15 +67,24 @@ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
66
67
|
}, [form]); // 实际输出onFilter
|
67
68
|
|
68
69
|
var onFilter = (0, _react.useCallback)(function () {
|
70
|
+
var _Object$keys;
|
71
|
+
|
69
72
|
var key = filterValue.current;
|
70
|
-
var value = form.values[key];
|
71
|
-
|
73
|
+
var value = form.values[key]; // 删除旧值
|
74
|
+
|
75
|
+
(_Object$keys = Object.keys(form.values)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.forEach(function (item) {
|
76
|
+
if (item !== key) {
|
77
|
+
form.setValuesIn(item, undefined);
|
78
|
+
}
|
79
|
+
});
|
80
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(_defineProperty({}, key, value), value, key);
|
72
81
|
}, [onChange]);
|
73
82
|
var LightSchema = (0, _react.useMemo)(function () {
|
74
83
|
return [{
|
75
84
|
component: 'LightFilter',
|
76
85
|
props: {
|
77
86
|
defaultFilterValue: defaultFilterValue,
|
87
|
+
filterValues: filterValues,
|
78
88
|
onFilterChange: onFilterChange,
|
79
89
|
buttonProps: {
|
80
90
|
onClick: onFilter
|
@@ -103,7 +103,7 @@ var SimpleFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
103
103
|
} else {
|
104
104
|
onChange === null || onChange === void 0 ? void 0 : onChange(values, name, value);
|
105
105
|
}
|
106
|
-
}, [searchName, searchValue.current]);
|
106
|
+
}, [onChange, searchName, searchValue.current]);
|
107
107
|
(0, _react.useEffect)(function () {
|
108
108
|
var _props$form$initialVa, _props$form$initialVa2;
|
109
109
|
|
package/lib/form/Filter/index.js
CHANGED
@@ -45,7 +45,7 @@ var _useSpecialProps2 = _interopRequireDefault(require("./useSpecialProps"));
|
|
45
45
|
|
46
46
|
require("./index.scss");
|
47
47
|
|
48
|
-
var _excluded = ["addonAfter", "addonBefore", "mode", "purePanel", "expand", "formRef", "defaultFilterValue", "filterDebounce", "onFilter", "onInit", "onReset", "onExpand"];
|
48
|
+
var _excluded = ["addonAfter", "addonBefore", "mode", "purePanel", "expand", "formRef", "defaultFilterValue", "filterValues", "filterDebounce", "onFilter", "onInit", "onReset", "onExpand", "onChange"];
|
49
49
|
|
50
50
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
51
51
|
|
@@ -98,11 +98,13 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
98
98
|
expand = props.expand,
|
99
99
|
formRef = props.formRef,
|
100
100
|
defaultFilterValue = props.defaultFilterValue,
|
101
|
+
filterValues = props.filterValues,
|
101
102
|
filterDebounce = props.filterDebounce,
|
102
103
|
onFilter = props.onFilter,
|
103
104
|
onInit = props.onInit,
|
104
105
|
onReset = props.onReset,
|
105
106
|
onExpand = props.onExpand,
|
107
|
+
onChange = props.onChange,
|
106
108
|
otherProps = _objectWithoutProperties(props, _excluded);
|
107
109
|
|
108
110
|
var _useSpecialProps = (0, _useSpecialProps2.default)(props),
|
@@ -188,6 +190,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
188
190
|
if (!formRef.current.updateTags) {
|
189
191
|
formRef.current.updateTags = function () {
|
190
192
|
configFilterItem(form);
|
193
|
+
configTag();
|
191
194
|
};
|
192
195
|
}
|
193
196
|
}
|
@@ -363,7 +366,13 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
363
366
|
return function (_x) {
|
364
367
|
return _ref4.apply(this, arguments);
|
365
368
|
};
|
366
|
-
}(), [onFilter, hasRequired, onInit]); //
|
369
|
+
}(), [onFilter, hasRequired, onInit]); // 简单搜索Change
|
370
|
+
|
371
|
+
var onSimpleChange = (0, _react.useCallback)(function (values, fieldValue, fieldName) {
|
372
|
+
if (currentForm.current === 'simple') {
|
373
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
|
374
|
+
}
|
375
|
+
}, [onChange]); // 轻量搜索Filter
|
367
376
|
|
368
377
|
var onLightFilter = (0, _react.useCallback)(function (values) {
|
369
378
|
if (currentForm.current === 'light') {
|
@@ -381,7 +390,13 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
381
390
|
configTag();
|
382
391
|
}
|
383
392
|
}
|
384
|
-
}, [onFilter]); //
|
393
|
+
}, [onFilter]); // 轻量搜索Change
|
394
|
+
|
395
|
+
var onLightChange = (0, _react.useCallback)(function (values, fieldValue, fieldName) {
|
396
|
+
if (currentForm.current === 'light') {
|
397
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
|
398
|
+
}
|
399
|
+
}, [onChange]); // 高级搜索Filter
|
385
400
|
|
386
401
|
var onAdvancedFilter = (0, _react.useCallback)(function (values) {
|
387
402
|
setCurrentForm('advanced');
|
@@ -401,9 +416,9 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
401
416
|
lightForm.reset('*', {
|
402
417
|
forceClear: true
|
403
418
|
});
|
404
|
-
}, [onReset]); // 高级搜索
|
419
|
+
}, [onReset]); // 高级搜索Init
|
405
420
|
|
406
|
-
var
|
421
|
+
var onAdvancedInit = (0, _react.useCallback)( /*#__PURE__*/function () {
|
407
422
|
var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
|
408
423
|
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
409
424
|
while (1) {
|
@@ -448,7 +463,13 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
448
463
|
return function (_x2) {
|
449
464
|
return _ref5.apply(this, arguments);
|
450
465
|
};
|
451
|
-
}(), [hasRequired, onInit]); //
|
466
|
+
}(), [hasRequired, onInit]); // 高级搜索Change
|
467
|
+
|
468
|
+
var onAdvancedChange = (0, _react.useCallback)(function (values, fieldValue, fieldName) {
|
469
|
+
if (currentForm.current === 'advanced') {
|
470
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
|
471
|
+
}
|
472
|
+
}, [onChange]); // 关闭标签清空表单字段值
|
452
473
|
|
453
474
|
var onTagClose = (0, _react.useCallback)(function (key, index) {
|
454
475
|
var newValue = undefined;
|
@@ -468,7 +489,10 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
468
489
|
form.setState({
|
469
490
|
loading: false
|
470
491
|
});
|
471
|
-
}, []);
|
492
|
+
}, []);
|
493
|
+
var debounceFun = (0, _lodash.default)(function (fun, props) {
|
494
|
+
return fun(props);
|
495
|
+
}, filterDebounce); // 组件挂载
|
472
496
|
|
473
497
|
(0, _react.useEffect)(function () {
|
474
498
|
setCurrentForm(currentForm.current);
|
@@ -484,20 +508,30 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
484
508
|
className: (0, _classnames.default)("".concat(prefixCls, "-inline"), purePanel || hasRequired ? "".concat(prefixCls, "-inline-hidden") : '')
|
485
509
|
}, /*#__PURE__*/_react.default.createElement(_LightFilter.default, _objectSpread(_objectSpread({}, otherProps), {}, {
|
486
510
|
defaultFilterValue: defaultFilterValue,
|
511
|
+
filterValues: filterValues,
|
487
512
|
activeFilterValueRef: activeFilterValueRef,
|
488
513
|
form: lightForm,
|
489
|
-
onChange: (
|
514
|
+
onChange: function onChange(values, fieldValue, fieldName) {
|
515
|
+
debounceFun(onLightFilter, values);
|
516
|
+
onLightChange(values, fieldValue, fieldName);
|
517
|
+
}
|
490
518
|
}))) : /*#__PURE__*/_react.default.createElement("div", {
|
491
519
|
className: "".concat(prefixCls, "-inline")
|
492
520
|
}, /*#__PURE__*/_react.default.createElement(_SimpleFilter.default, _objectSpread(_objectSpread({}, otherProps), {}, {
|
493
521
|
form: simpleForm,
|
494
|
-
onChange: (
|
522
|
+
onChange: function onChange(values, fieldValue, fieldName) {
|
523
|
+
debounceFun(onSimpleFilter, values);
|
524
|
+
onSimpleChange(values, fieldValue, fieldName);
|
525
|
+
},
|
495
526
|
onSubmit: onSimpleFilter,
|
496
527
|
onInitialComplete: onInitialComplete
|
497
528
|
}))),
|
498
529
|
panelContent: mode === 'panel' ? /*#__PURE__*/_react.default.createElement(_AdvancedFilter.default, _objectSpread(_objectSpread({}, otherProps), {}, {
|
499
530
|
form: advancedForm,
|
500
|
-
onChange: (
|
531
|
+
onChange: function onChange(values, fieldValue, fieldName) {
|
532
|
+
debounceFun(onAdvancedInit, values);
|
533
|
+
onAdvancedChange(values, fieldValue, fieldName);
|
534
|
+
},
|
501
535
|
onSubmit: onAdvancedFilter,
|
502
536
|
onReset: onAdvancedReset,
|
503
537
|
onInitialComplete: onInitialComplete
|
@@ -26,7 +26,7 @@ var _default = function _default(decorator, component) {
|
|
26
26
|
return decorator;
|
27
27
|
}
|
28
28
|
|
29
|
-
if ([].concat(_toConsumableArray(Object.keys(_fieldTypeMap.default)), ['Upload', 'ArrayCards', 'ArrayCollapse', 'ArrayTable', 'ArrayItems']).includes(component)) {
|
29
|
+
if ([].concat(_toConsumableArray(Object.keys(_fieldTypeMap.default)), ['Upload', 'SelectTable', 'ArrayCards', 'ArrayCollapse', 'ArrayTable', 'ArrayItems']).includes(component)) {
|
30
30
|
return 'FormItem';
|
31
31
|
}
|
32
32
|
|
@@ -54,11 +54,8 @@ var typeMap = (_typeMap = {
|
|
54
54
|
Range: 'string',
|
55
55
|
Search: 'array',
|
56
56
|
SelectGroup: 'array',
|
57
|
-
|
58
|
-
|
59
|
-
ArrayTable: 'array',
|
60
|
-
ArrayItems: 'array'
|
61
|
-
}, _defineProperty(_typeMap, 'Editable.Popover', 'object'), _defineProperty(_typeMap, 'Editable.Dialog', 'object'), _defineProperty(_typeMap, 'Editable.Drawer', 'object'), _typeMap);
|
57
|
+
SelectTable: 'array'
|
58
|
+
}, _defineProperty(_typeMap, 'SelectTable.Column', 'string'), _defineProperty(_typeMap, "ArrayCollapse", 'array'), _defineProperty(_typeMap, "ArrayCards", 'array'), _defineProperty(_typeMap, "ArrayTable", 'array'), _defineProperty(_typeMap, "ArrayItems", 'array'), _defineProperty(_typeMap, 'Editable.Popover', 'object'), _defineProperty(_typeMap, 'Editable.Dialog', 'object'), _defineProperty(_typeMap, 'Editable.Drawer', 'object'), _typeMap);
|
62
59
|
|
63
60
|
var _default = function _default(type, component) {
|
64
61
|
return type || typeMap[component] || 'void';
|
@@ -57,12 +57,16 @@ var _initializeFormTab = _interopRequireDefault(require("./initializeFormTab"));
|
|
57
57
|
|
58
58
|
var _initializeFormCollapse = _interopRequireDefault(require("./initializeFormCollapse"));
|
59
59
|
|
60
|
+
var _initializeSelectTable = _interopRequireDefault(require("./initializeSelectTable"));
|
61
|
+
|
60
62
|
var _reactions = require("./reactions");
|
61
63
|
|
62
64
|
var _fieldTypeMap = _interopRequireDefault(require("../fieldTypeMap"));
|
63
65
|
|
64
66
|
var _utils = require("../utils");
|
65
67
|
|
68
|
+
var _utils2 = require("@teamix/utils");
|
69
|
+
|
66
70
|
var _warning = _interopRequireDefault(require("../warning"));
|
67
71
|
|
68
72
|
var _excluded = ["component", "type", "name", "decorator", "decoratorProps", "dataSource", "reactions", "rules", "children", "items", "tooltip", "request", "data"];
|
@@ -107,10 +111,16 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
107
111
|
var schema = _ref.schema,
|
108
112
|
scope = _ref.scope,
|
109
113
|
components = _ref.components;
|
110
|
-
|
114
|
+
|
115
|
+
// 获取全局配置
|
116
|
+
var _ref2 = (0, _utils2.getGlobalConfig)('ProForm') || {},
|
117
|
+
globalComponents = _ref2.components,
|
118
|
+
globalScope = _ref2.scope; // 创建 SchemaField
|
119
|
+
|
120
|
+
|
111
121
|
var SchemaField = (0, _react.useMemo)(function () {
|
112
122
|
return (0, _react2.createSchemaField)({
|
113
|
-
components: _objectSpread(_objectSpread({}, _ProField.default), {}, {
|
123
|
+
components: _objectSpread(_objectSpread(_objectSpread({}, globalComponents), _ProField.default), {}, {
|
114
124
|
FormLayout: _formily.FormLayout,
|
115
125
|
FormItem: _formily.FormItem,
|
116
126
|
ArrayCollapse: _formily.ArrayCollapse,
|
@@ -133,6 +143,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
133
143
|
EditablePopover: _Editable.EditablePopover,
|
134
144
|
FormGroup: _FormGroup.default,
|
135
145
|
Upload: _formily.Upload,
|
146
|
+
SelectTable: _formily.SelectTable,
|
136
147
|
Affix: _components.Affix,
|
137
148
|
LightFilter: _LightFilter.default,
|
138
149
|
Text: _index.default
|
@@ -141,7 +152,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
141
152
|
}, []); // 合并 schema 中 request 的 scope
|
142
153
|
|
143
154
|
var mergedScope = (0, _react.useMemo)(function () {
|
144
|
-
return _objectSpread(_objectSpread({}, scope), {}, {
|
155
|
+
return _objectSpread(_objectSpread(_objectSpread({}, globalScope), scope), {}, {
|
145
156
|
$request: _reactions.$request,
|
146
157
|
$common: _reactions.$common,
|
147
158
|
$dataSource: _reactions.$dataSource,
|
@@ -210,6 +221,11 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
210
221
|
|
211
222
|
if (['FormCollapse'].includes(originalComponent)) {
|
212
223
|
newItem = (0, _initializeFormCollapse.default)(newItem);
|
224
|
+
} // 初始化选择表格 - SelectTable
|
225
|
+
|
226
|
+
|
227
|
+
if (['SelectTable'].includes(originalComponent)) {
|
228
|
+
newItem = (0, _initializeSelectTable.default)(newItem);
|
213
229
|
}
|
214
230
|
}
|
215
231
|
|
@@ -260,10 +276,10 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
260
276
|
|
261
277
|
var defaultReactions = (0, _initializeReactions.default)(reactions, [].concat(_toConsumableArray(requestReactions), _toConsumableArray(dataSourceReactions))); // 合并scope
|
262
278
|
|
263
|
-
Object.entries(_objectSpread(_objectSpread(_objectSpread({}, requestScope), dataSourceScope), rulesScope)).map(function (
|
264
|
-
var
|
265
|
-
k =
|
266
|
-
v =
|
279
|
+
Object.entries(_objectSpread(_objectSpread(_objectSpread({}, requestScope), dataSourceScope), rulesScope)).map(function (_ref3) {
|
280
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
281
|
+
k = _ref4[0],
|
282
|
+
v = _ref4[1];
|
267
283
|
|
268
284
|
mergedScope[k] = v;
|
269
285
|
});
|
@@ -0,0 +1,45 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
var _excluded = ["name", "title", "children"];
|
8
|
+
|
9
|
+
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; }
|
10
|
+
|
11
|
+
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; }
|
12
|
+
|
13
|
+
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; }
|
14
|
+
|
15
|
+
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; }
|
16
|
+
|
17
|
+
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; }
|
18
|
+
|
19
|
+
var initializeTableColumn = function initializeTableColumn(item) {
|
20
|
+
var name = item.name,
|
21
|
+
title = item.title,
|
22
|
+
children = item.children,
|
23
|
+
otherProps = _objectWithoutProperties(item, _excluded);
|
24
|
+
|
25
|
+
return {
|
26
|
+
name: name,
|
27
|
+
title: title,
|
28
|
+
component: 'SelectTable.Column',
|
29
|
+
children: children,
|
30
|
+
props: _objectSpread({}, otherProps)
|
31
|
+
};
|
32
|
+
};
|
33
|
+
|
34
|
+
var initialize = function initialize(item) {
|
35
|
+
var _item$children = item.children,
|
36
|
+
children = _item$children === void 0 ? [] : _item$children;
|
37
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
38
|
+
children: children.map(function (item) {
|
39
|
+
return initializeTableColumn(item);
|
40
|
+
})
|
41
|
+
});
|
42
|
+
};
|
43
|
+
|
44
|
+
var _default = initialize;
|
45
|
+
exports.default = _default;
|
@@ -19,6 +19,7 @@ var $request = function $request(field, requestConfig, context, type) {
|
|
19
19
|
|
20
20
|
var params = requestConfig.params,
|
21
21
|
beforeRequest = requestConfig.beforeRequest,
|
22
|
+
formatResult = requestConfig.formatResult,
|
22
23
|
onSuccess = requestConfig.onSuccess;
|
23
24
|
var beforeRequestResult = (0, _utils.isFn)(beforeRequest) ? beforeRequest(field, context) : {};
|
24
25
|
/**
|
@@ -33,6 +34,9 @@ var $request = function $request(field, requestConfig, context, type) {
|
|
33
34
|
beforeRequest: function beforeRequest() {
|
34
35
|
return beforeRequestResult;
|
35
36
|
},
|
37
|
+
formatResult: (0, _utils.isFn)(formatResult) ? function (res) {
|
38
|
+
return formatResult(res, field, context);
|
39
|
+
} : formatResult,
|
36
40
|
onSuccess: (0, _utils.isFn)(onSuccess) ? function (res) {
|
37
41
|
return onSuccess(res, field, context);
|
38
42
|
} : onSuccess
|
@@ -74,9 +78,6 @@ var $dataSource = function $dataSource(services, requestConfig, context) {
|
|
74
78
|
field.setState({
|
75
79
|
loading: true
|
76
80
|
});
|
77
|
-
field.setComponentProps({
|
78
|
-
readOnly: true
|
79
|
-
});
|
80
81
|
return services(field, requestConfig, context, 'dataSource').then(function (res) {
|
81
82
|
var _requestConfig$onComp3;
|
82
83
|
|
@@ -88,17 +89,11 @@ var $dataSource = function $dataSource(services, requestConfig, context) {
|
|
88
89
|
dataSource: res,
|
89
90
|
loading: false
|
90
91
|
}, clearValue));
|
91
|
-
field.setComponentProps({
|
92
|
-
readOnly: false
|
93
|
-
});
|
94
92
|
return (_requestConfig$onComp3 = requestConfig.onComplete) === null || _requestConfig$onComp3 === void 0 ? void 0 : _requestConfig$onComp3.call(requestConfig, res, field, context);
|
95
93
|
}).catch(function () {
|
96
94
|
field.setState({
|
97
95
|
loading: false
|
98
96
|
});
|
99
|
-
field.setComponentProps({
|
100
|
-
readOnly: false
|
101
|
-
});
|
102
97
|
});
|
103
98
|
};
|
104
99
|
};
|
package/lib/form/typing.d.ts
CHANGED
@@ -14,12 +14,13 @@ export interface ProFormInitializeItem {
|
|
14
14
|
* ProForm 实例类型
|
15
15
|
*/
|
16
16
|
export declare type ProFormType = FormType;
|
17
|
-
declare type IBaseComponent = 'Input' | 'Password' | 'TextArea' | 'NumberPicker' | 'Percent' | 'Money' | 'Select' | 'MultipleSelect' | 'TreeSelect' | 'Cascader' | 'MultipleCascader' | 'ArbitraryCascader' | 'Radio' | 'Checkbox' | 'Switch' | 'DatePicker' | 'TimePicker' | 'DateTimePicker' | 'WeekPicker' | 'MonthPicker' | 'YearPicker' | 'QuarterPicker' | 'DateRangePicker' | 'TimeRangePicker' | 'DateTimeRangePicker' | 'WeekRangePicker' | 'MonthRangePicker' | 'YearRangePicker' | 'QuarterRangePicker' | 'Transfer' | 'Upload' | 'ColorPicker' | 'ColorRadio' | 'IconPicker' | 'JsonInput' | 'TagPicker' | 'MultipleTagPicker' | 'Range' | 'Search' | 'SelectGroup';
|
17
|
+
declare type IBaseComponent = 'Input' | 'Password' | 'TextArea' | 'NumberPicker' | 'Percent' | 'Money' | 'Select' | 'MultipleSelect' | 'TreeSelect' | 'Cascader' | 'MultipleCascader' | 'ArbitraryCascader' | 'Radio' | 'Checkbox' | 'Switch' | 'DatePicker' | 'TimePicker' | 'DateTimePicker' | 'WeekPicker' | 'MonthPicker' | 'YearPicker' | 'QuarterPicker' | 'DateRangePicker' | 'TimeRangePicker' | 'DateTimeRangePicker' | 'WeekRangePicker' | 'MonthRangePicker' | 'YearRangePicker' | 'QuarterRangePicker' | 'Transfer' | 'Upload' | 'ColorPicker' | 'ColorRadio' | 'IconPicker' | 'JsonInput' | 'TagPicker' | 'MultipleTagPicker' | 'Range' | 'Search' | 'SelectGroup' | 'SelectTable' | 'SelectTable.Column';
|
18
18
|
declare type IButtonComponent = 'Submit' | 'Reset';
|
19
19
|
declare type IComboComponent = 'ArrayCards' | 'ArrayCards.Addition' | 'ArrayCards.Remove' | 'ArrayCards.MoveUp' | 'ArrayCards.MoveDown' | 'ArrayCards.Index' | 'ArrayCollapse' | 'ArrayCollapse.CollapsePanel' | 'ArrayCollapse.Addition' | 'ArrayCollapse.Remove' | 'ArrayCollapse.MoveUp' | 'ArrayCollapse.MoveDown' | 'ArrayCollapse.Index' | 'ArrayTable' | 'ArrayTable.Column' | 'ArrayTable.SortHandle' | 'ArrayTable.Addition' | 'ArrayTable.Remove' | 'ArrayTable.MoveDown' | 'ArrayTable.MoveUp' | 'ArrayTable.Index' | 'ArrayItems' | 'ArrayItems.Item' | 'ArrayItems.SortHandle' | 'ArrayItems.Addition' | 'ArrayItems.Remove' | 'ArrayItems.MoveDown' | 'ArrayItems.MoveUp' | 'ArrayItems.Index' | 'Editable' | 'Editable.Popover' | 'Editable.Dialog' | 'Editable.Drawer';
|
20
20
|
declare type ILayoutComponent = 'FormFlex' | 'FormGrid' | 'FormGroup' | 'FormGroup.GroupPanel' | 'Search' | 'Search.SearchPanel' | 'FormTab' | 'FormTab.TabPane' | 'FormStep' | 'FormStep.StepPane' | 'FormCollapse' | 'FormCollapse.CollapsePanel' | 'FormButtonGroup' | 'FormDialog' | 'FormDrawer' | 'FormDialog.Footer' | 'FormDrawer.Footer';
|
21
21
|
export interface ProFormRequestConfig extends CommonRequestConfig {
|
22
22
|
beforeRequest?: (field?: any, context?: any) => any;
|
23
|
+
formatResult?: (res?: any, field?: any, context?: any) => any;
|
23
24
|
onSuccess?: (res?: any, field?: any, context?: any) => any;
|
24
25
|
onComplete?: (res?: any, field?: any, context?: any) => any;
|
25
26
|
}
|
@@ -72,6 +73,7 @@ export interface ProFormProps extends IFormLayoutProps {
|
|
72
73
|
export interface FilterProps extends ProFormProps {
|
73
74
|
form: FormType;
|
74
75
|
defaultFilterValue?: string;
|
76
|
+
filterValues?: string[];
|
75
77
|
activeFilterValueRef?: React.MutableRefObject<any>;
|
76
78
|
forceClear?: boolean;
|
77
79
|
onReset?: (payload?: any) => void;
|
@@ -106,6 +108,8 @@ export interface QueryFilterProps extends ProFormProps {
|
|
106
108
|
addonAfter?: ReactNode;
|
107
109
|
/** 顶部筛选区默认筛选项 */
|
108
110
|
defaultFilterValue?: string;
|
111
|
+
/** 顶部筛选区筛选项配置 */
|
112
|
+
filterValues?: string[];
|
109
113
|
/** 透出内部表单实例 */
|
110
114
|
formRef?: React.MutableRefObject<any>;
|
111
115
|
/** onChange事件的防抖时间 */
|
package/lib/form/utils.js
CHANGED
@@ -86,9 +86,16 @@ var mapStatus = function mapStatus(props, field) {
|
|
86
86
|
return state;
|
87
87
|
};
|
88
88
|
|
89
|
-
|
90
|
-
|
91
|
-
|
89
|
+
var state = takeState(props.state) || takeStatus();
|
90
|
+
var result = {
|
91
|
+
state: state
|
92
|
+
}; // 当组件处于loading状态时,仅可读不可写。
|
93
|
+
|
94
|
+
if (state === 'loading') {
|
95
|
+
result.readOnly = true;
|
96
|
+
}
|
97
|
+
|
98
|
+
return _objectSpread(_objectSpread({}, props), result);
|
92
99
|
};
|
93
100
|
|
94
101
|
exports.mapStatus = mapStatus;
|
@@ -108,7 +115,7 @@ var patchDataSource = function patchDataSource() {
|
|
108
115
|
return result;
|
109
116
|
};
|
110
117
|
|
111
|
-
return dataSource.map(removeEmptyChildren);
|
118
|
+
return (0, _utils.isArr)(dataSource) ? dataSource.map(removeEmptyChildren) : [];
|
112
119
|
};
|
113
120
|
|
114
121
|
var mapDataSource = function mapDataSource(props, field) {
|
package/lib/index.d.ts
CHANGED
@@ -24,5 +24,5 @@ export * from './skeleton';
|
|
24
24
|
export * from './table';
|
25
25
|
export * from './utils';
|
26
26
|
export * from './timeline';
|
27
|
-
declare const version = "1.3.
|
27
|
+
declare const version = "1.3.3";
|
28
28
|
export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProTimeline, hooks, nocode, templates, utils, };
|
package/lib/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { ItemProps } from '@alicloudfe/components/types/breadcrumb';
|
3
|
-
import { LinkPath, ProTagItem } from '@teamix/utils';
|
3
|
+
import { LinkPath, ProTagItem, CapsuleTabType } from '@teamix/utils';
|
4
4
|
import { ProActionGroupProps } from '../actions';
|
5
5
|
import { ProInfoProps } from '../info';
|
6
6
|
import './index.scss';
|
@@ -48,6 +48,8 @@ export declare type ProPageHeaderProps = {
|
|
48
48
|
data?: ProPageHeaderDataItem[];
|
49
49
|
/** 底部详情 */
|
50
50
|
info?: ProInfoProps | React.ReactNode;
|
51
|
+
/** 切换 tabs */
|
52
|
+
tabs?: CapsuleTabType;
|
51
53
|
} & Omit<React.HTMLAttributes<HTMLElement>, 'title'>;
|
52
54
|
declare const ProPageHeader: React.FC<ProPageHeaderProps>;
|
53
55
|
export default ProPageHeader;
|
package/lib/page-header/index.js
CHANGED
@@ -27,7 +27,7 @@ require("./index.scss");
|
|
27
27
|
|
28
28
|
var _excluded = ["text", "children"],
|
29
29
|
_excluded2 = ["color", "title", "num", "className"],
|
30
|
-
_excluded3 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style"];
|
30
|
+
_excluded3 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style", "tabs"];
|
31
31
|
|
32
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
33
33
|
|
@@ -142,6 +142,14 @@ var renderInfo = function renderInfo(info) {
|
|
142
142
|
return info;
|
143
143
|
};
|
144
144
|
|
145
|
+
var renderTabs = function renderTabs(tabs) {
|
146
|
+
if (tabs) {
|
147
|
+
return /*#__PURE__*/_react.default.createElement(_utils.CapsuleTab, _objectSpread({}, tabs));
|
148
|
+
}
|
149
|
+
|
150
|
+
return null;
|
151
|
+
};
|
152
|
+
|
145
153
|
var ProPageHeader = function ProPageHeader(props) {
|
146
154
|
var title = props.title,
|
147
155
|
description = props.description,
|
@@ -162,6 +170,7 @@ var ProPageHeader = function ProPageHeader(props) {
|
|
162
170
|
children = props.children,
|
163
171
|
className = props.className,
|
164
172
|
style = props.style,
|
173
|
+
tabs = props.tabs,
|
165
174
|
others = _objectWithoutProperties(props, _excluded3);
|
166
175
|
|
167
176
|
var history = (0, _reactRouterDom.useHistory)();
|
@@ -210,7 +219,7 @@ var ProPageHeader = function ProPageHeader(props) {
|
|
210
219
|
size: "large"
|
211
220
|
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon)), /*#__PURE__*/_react.default.createElement("span", {
|
212
221
|
className: cls('title-name')
|
213
|
-
}, title), (0, _utils.renderTags)(tags, 'large'));
|
222
|
+
}, title), (0, _utils.renderTags)(tags, 'large'), renderTabs(tabs !== null && tabs !== void 0 ? tabs : {}));
|
214
223
|
};
|
215
224
|
|
216
225
|
return /*#__PURE__*/_react.default.createElement("header", _objectSpread({
|
package/lib/table/index.scss
CHANGED
@@ -124,4 +124,14 @@ $fullscreenPadding: 24px;
|
|
124
124
|
.next-form-preview.next-form-preview {
|
125
125
|
line-height: unset;
|
126
126
|
}
|
127
|
+
&-row {
|
128
|
+
.teamix-pro-field.teamix-pro-field-text .next-form-preview {
|
129
|
+
color: var(--table-row-color);
|
130
|
+
}
|
131
|
+
}
|
132
|
+
&-row.hovered {
|
133
|
+
.teamix-pro-field.teamix-pro-field-text .next-form-preview {
|
134
|
+
color: var(--table-row-hover-color);
|
135
|
+
}
|
136
|
+
}
|
127
137
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teamix/pro",
|
3
|
-
"version": "1.3.
|
3
|
+
"version": "1.3.3",
|
4
4
|
"description": "TeamixPro大包",
|
5
5
|
"repository": "http://gitlab.alibaba-inc.com/teamix/pro",
|
6
6
|
"author": "Velociraptor(迅猛龙)",
|
@@ -22,9 +22,9 @@
|
|
22
22
|
],
|
23
23
|
"private": false,
|
24
24
|
"dependencies": {
|
25
|
-
"@formily/core": "2.0.
|
26
|
-
"@formily/react": "2.0.
|
27
|
-
"@teamix/formily": "2.0.
|
25
|
+
"@formily/core": "2.0.11",
|
26
|
+
"@formily/react": "2.0.11",
|
27
|
+
"@teamix/formily": "2.0.11",
|
28
28
|
"@teamix/hooks": "^0.1.0",
|
29
29
|
"@teamix/pop-confirm": "^1.2.4",
|
30
30
|
"@teamix/pro-field": "^1.0.0",
|