@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
@@ -56,14 +56,16 @@ var useMain = function useMain(active) {
|
|
56
56
|
}; // 筛选项数据
|
57
57
|
|
58
58
|
|
59
|
-
var useFilterItems = function useFilterItems() {
|
59
|
+
var useFilterItems = function useFilterItems(filterValues) {
|
60
60
|
var schema = useFieldSchema();
|
61
61
|
var filterItems = [];
|
62
62
|
schema.mapProperties(function (schema, name) {
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
63
|
+
if (!filterValues || filterValues && filterValues.includes(schema.name)) {
|
64
|
+
filterItems.push({
|
65
|
+
label: schema.title,
|
66
|
+
value: schema.name
|
67
|
+
});
|
68
|
+
}
|
67
69
|
});
|
68
70
|
return filterItems;
|
69
71
|
}; // 是否输入框类型的组件
|
@@ -77,12 +79,13 @@ var isInputCategory = function isInputCategory(currentSchema) {
|
|
77
79
|
var LightFilter = observer(function (props) {
|
78
80
|
var _filterItems$, _main$;
|
79
81
|
|
80
|
-
var filterItems = useFilterItems();
|
81
82
|
var size = props.size,
|
82
83
|
defaultFilterValue = props.defaultFilterValue,
|
84
|
+
filterValues = props.filterValues,
|
83
85
|
onFilterChange = props.onFilterChange,
|
84
86
|
filterProps = props.filterProps,
|
85
87
|
buttonProps = props.buttonProps;
|
88
|
+
var filterItems = useFilterItems(filterValues);
|
86
89
|
|
87
90
|
var _useState = useState(defaultFilterValue || ((_filterItems$ = filterItems[0]) === null || _filterItems$ === void 0 ? void 0 : _filterItems$.value)),
|
88
91
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["form", "schema", "onSubmit", "onChange", "defaultFilterValue", "activeFilterValueRef"];
|
1
|
+
var _excluded = ["form", "schema", "onSubmit", "onChange", "defaultFilterValue", "filterValues", "activeFilterValueRef"];
|
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
|
|
@@ -26,6 +26,7 @@ var LightFilter = /*#__PURE__*/memo(function (props) {
|
|
26
26
|
onSubmit = props.onSubmit,
|
27
27
|
onChange = props.onChange,
|
28
28
|
defaultFilterValue = props.defaultFilterValue,
|
29
|
+
filterValues = props.filterValues,
|
29
30
|
activeFilterValueRef = props.activeFilterValueRef,
|
30
31
|
otherProps = _objectWithoutProperties(props, _excluded);
|
31
32
|
|
@@ -48,15 +49,24 @@ var LightFilter = /*#__PURE__*/memo(function (props) {
|
|
48
49
|
}, [form]); // 实际输出onFilter
|
49
50
|
|
50
51
|
var onFilter = useCallback(function () {
|
52
|
+
var _Object$keys;
|
53
|
+
|
51
54
|
var key = filterValue.current;
|
52
|
-
var value = form.values[key];
|
53
|
-
|
55
|
+
var value = form.values[key]; // 删除旧值
|
56
|
+
|
57
|
+
(_Object$keys = Object.keys(form.values)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.forEach(function (item) {
|
58
|
+
if (item !== key) {
|
59
|
+
form.setValuesIn(item, undefined);
|
60
|
+
}
|
61
|
+
});
|
62
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(_defineProperty({}, key, value), value, key);
|
54
63
|
}, [onChange]);
|
55
64
|
var LightSchema = useMemo(function () {
|
56
65
|
return [{
|
57
66
|
component: 'LightFilter',
|
58
67
|
props: {
|
59
68
|
defaultFilterValue: defaultFilterValue,
|
69
|
+
filterValues: filterValues,
|
60
70
|
onFilterChange: onFilterChange,
|
61
71
|
buttonProps: {
|
62
72
|
onClick: onFilter
|
@@ -84,7 +84,7 @@ var SimpleFilter = /*#__PURE__*/memo(function (props) {
|
|
84
84
|
} else {
|
85
85
|
onChange === null || onChange === void 0 ? void 0 : onChange(values, name, value);
|
86
86
|
}
|
87
|
-
}, [searchName, searchValue.current]);
|
87
|
+
}, [onChange, searchName, searchValue.current]);
|
88
88
|
useEffect(function () {
|
89
89
|
var _props$form$initialVa, _props$form$initialVa2;
|
90
90
|
|
package/es/form/Filter/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["addonAfter", "addonBefore", "mode", "purePanel", "expand", "formRef", "defaultFilterValue", "filterDebounce", "onFilter", "onInit", "onReset", "onExpand"];
|
1
|
+
var _excluded = ["addonAfter", "addonBefore", "mode", "purePanel", "expand", "formRef", "defaultFilterValue", "filterValues", "filterDebounce", "onFilter", "onInit", "onReset", "onExpand", "onChange"];
|
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
|
|
@@ -62,11 +62,13 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
62
62
|
expand = props.expand,
|
63
63
|
formRef = props.formRef,
|
64
64
|
defaultFilterValue = props.defaultFilterValue,
|
65
|
+
filterValues = props.filterValues,
|
65
66
|
filterDebounce = props.filterDebounce,
|
66
67
|
onFilter = props.onFilter,
|
67
68
|
onInit = props.onInit,
|
68
69
|
onReset = props.onReset,
|
69
70
|
onExpand = props.onExpand,
|
71
|
+
onChange = props.onChange,
|
70
72
|
otherProps = _objectWithoutProperties(props, _excluded);
|
71
73
|
|
72
74
|
var _useSpecialProps = useSpecialProps(props),
|
@@ -152,6 +154,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
152
154
|
if (!formRef.current.updateTags) {
|
153
155
|
formRef.current.updateTags = function () {
|
154
156
|
configFilterItem(form);
|
157
|
+
configTag();
|
155
158
|
};
|
156
159
|
}
|
157
160
|
}
|
@@ -327,7 +330,13 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
327
330
|
return function (_x) {
|
328
331
|
return _ref4.apply(this, arguments);
|
329
332
|
};
|
330
|
-
}(), [onFilter, hasRequired, onInit]); //
|
333
|
+
}(), [onFilter, hasRequired, onInit]); // 简单搜索Change
|
334
|
+
|
335
|
+
var onSimpleChange = useCallback(function (values, fieldValue, fieldName) {
|
336
|
+
if (currentForm.current === 'simple') {
|
337
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
|
338
|
+
}
|
339
|
+
}, [onChange]); // 轻量搜索Filter
|
331
340
|
|
332
341
|
var onLightFilter = useCallback(function (values) {
|
333
342
|
if (currentForm.current === 'light') {
|
@@ -345,7 +354,13 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
345
354
|
configTag();
|
346
355
|
}
|
347
356
|
}
|
348
|
-
}, [onFilter]); //
|
357
|
+
}, [onFilter]); // 轻量搜索Change
|
358
|
+
|
359
|
+
var onLightChange = useCallback(function (values, fieldValue, fieldName) {
|
360
|
+
if (currentForm.current === 'light') {
|
361
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
|
362
|
+
}
|
363
|
+
}, [onChange]); // 高级搜索Filter
|
349
364
|
|
350
365
|
var onAdvancedFilter = useCallback(function (values) {
|
351
366
|
setCurrentForm('advanced');
|
@@ -365,9 +380,9 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
365
380
|
lightForm.reset('*', {
|
366
381
|
forceClear: true
|
367
382
|
});
|
368
|
-
}, [onReset]); // 高级搜索
|
383
|
+
}, [onReset]); // 高级搜索Init
|
369
384
|
|
370
|
-
var
|
385
|
+
var onAdvancedInit = useCallback( /*#__PURE__*/function () {
|
371
386
|
var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
|
372
387
|
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
373
388
|
while (1) {
|
@@ -412,7 +427,13 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
412
427
|
return function (_x2) {
|
413
428
|
return _ref5.apply(this, arguments);
|
414
429
|
};
|
415
|
-
}(), [hasRequired, onInit]); //
|
430
|
+
}(), [hasRequired, onInit]); // 高级搜索Change
|
431
|
+
|
432
|
+
var onAdvancedChange = useCallback(function (values, fieldValue, fieldName) {
|
433
|
+
if (currentForm.current === 'advanced') {
|
434
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
|
435
|
+
}
|
436
|
+
}, [onChange]); // 关闭标签清空表单字段值
|
416
437
|
|
417
438
|
var onTagClose = useCallback(function (key, index) {
|
418
439
|
var newValue = undefined;
|
@@ -432,7 +453,10 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
432
453
|
form.setState({
|
433
454
|
loading: false
|
434
455
|
});
|
435
|
-
}, []);
|
456
|
+
}, []);
|
457
|
+
var debounceFun = debounce(function (fun, props) {
|
458
|
+
return fun(props);
|
459
|
+
}, filterDebounce); // 组件挂载
|
436
460
|
|
437
461
|
useEffect(function () {
|
438
462
|
setCurrentForm(currentForm.current);
|
@@ -448,20 +472,30 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
448
472
|
className: cls("".concat(prefixCls, "-inline"), purePanel || hasRequired ? "".concat(prefixCls, "-inline-hidden") : '')
|
449
473
|
}, /*#__PURE__*/React.createElement(LightFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
|
450
474
|
defaultFilterValue: defaultFilterValue,
|
475
|
+
filterValues: filterValues,
|
451
476
|
activeFilterValueRef: activeFilterValueRef,
|
452
477
|
form: lightForm,
|
453
|
-
onChange:
|
478
|
+
onChange: function onChange(values, fieldValue, fieldName) {
|
479
|
+
debounceFun(onLightFilter, values);
|
480
|
+
onLightChange(values, fieldValue, fieldName);
|
481
|
+
}
|
454
482
|
}))) : /*#__PURE__*/React.createElement("div", {
|
455
483
|
className: "".concat(prefixCls, "-inline")
|
456
484
|
}, /*#__PURE__*/React.createElement(SimpleFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
|
457
485
|
form: simpleForm,
|
458
|
-
onChange:
|
486
|
+
onChange: function onChange(values, fieldValue, fieldName) {
|
487
|
+
debounceFun(onSimpleFilter, values);
|
488
|
+
onSimpleChange(values, fieldValue, fieldName);
|
489
|
+
},
|
459
490
|
onSubmit: onSimpleFilter,
|
460
491
|
onInitialComplete: onInitialComplete
|
461
492
|
}))),
|
462
493
|
panelContent: mode === 'panel' ? /*#__PURE__*/React.createElement(AdvancedFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
|
463
494
|
form: advancedForm,
|
464
|
-
onChange:
|
495
|
+
onChange: function onChange(values, fieldValue, fieldName) {
|
496
|
+
debounceFun(onAdvancedInit, values);
|
497
|
+
onAdvancedChange(values, fieldValue, fieldName);
|
498
|
+
},
|
465
499
|
onSubmit: onAdvancedFilter,
|
466
500
|
onReset: onAdvancedReset,
|
467
501
|
onInitialComplete: onInitialComplete
|
@@ -20,7 +20,7 @@ export default (function (decorator, component) {
|
|
20
20
|
return decorator;
|
21
21
|
}
|
22
22
|
|
23
|
-
if ([].concat(_toConsumableArray(Object.keys(fieldTypeMap)), ['Upload', 'ArrayCards', 'ArrayCollapse', 'ArrayTable', 'ArrayItems']).includes(component)) {
|
23
|
+
if ([].concat(_toConsumableArray(Object.keys(fieldTypeMap)), ['Upload', 'SelectTable', 'ArrayCards', 'ArrayCollapse', 'ArrayTable', 'ArrayItems']).includes(component)) {
|
24
24
|
return 'FormItem';
|
25
25
|
}
|
26
26
|
|
@@ -47,11 +47,8 @@ var typeMap = (_typeMap = {
|
|
47
47
|
Range: 'string',
|
48
48
|
Search: 'array',
|
49
49
|
SelectGroup: 'array',
|
50
|
-
|
51
|
-
|
52
|
-
ArrayTable: 'array',
|
53
|
-
ArrayItems: 'array'
|
54
|
-
}, _defineProperty(_typeMap, 'Editable.Popover', 'object'), _defineProperty(_typeMap, 'Editable.Dialog', 'object'), _defineProperty(_typeMap, 'Editable.Drawer', 'object'), _typeMap);
|
50
|
+
SelectTable: 'array'
|
51
|
+
}, _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);
|
55
52
|
export default (function (type, component) {
|
56
53
|
return type || typeMap[component] || 'void';
|
57
54
|
});
|
@@ -33,7 +33,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
33
33
|
import React, { memo, useCallback, useMemo } from 'react';
|
34
34
|
import { createSchemaField } from '@formily/react';
|
35
35
|
import { Affix } from '@alicloudfe/components';
|
36
|
-
import { Upload, FormLayout, FormItem, ArrayCollapse, ArrayCards, ArrayItems, ArrayTable, Space, FormGrid, FormTab, FormCollapse, FormStep, Editable, FormDialog, FormDrawer, FormButtonGroup, Submit, Reset } from '@teamix/formily';
|
36
|
+
import { Upload, SelectTable, FormLayout, FormItem, ArrayCollapse, ArrayCards, ArrayItems, ArrayTable, Space, FormGrid, FormTab, FormCollapse, FormStep, Editable, FormDialog, FormDrawer, FormButtonGroup, Submit, Reset } from '@teamix/formily';
|
37
37
|
import ProFieldComponents from '../Components/ProField';
|
38
38
|
import { EditableDialog, EditableDrawer, EditablePopover } from '../Components/Editable';
|
39
39
|
import FormGroup from '../Components/FormGroup';
|
@@ -55,18 +55,26 @@ import initializeFormGroup from './initializeFormGroup';
|
|
55
55
|
import initializeFormStep from './initializeFormStep';
|
56
56
|
import initializeFormTab from './initializeFormTab';
|
57
57
|
import initializeFormCollapse from './initializeFormCollapse';
|
58
|
+
import initializeSelectTable from './initializeSelectTable';
|
58
59
|
import { $request, $common, $dataSource, $validator } from './reactions';
|
59
60
|
import fieldTypeMap from '../fieldTypeMap';
|
60
61
|
import { getFieldName, mapSchemaName } from '../utils';
|
62
|
+
import { getGlobalConfig } from '@teamix/utils';
|
61
63
|
import warning from '../warning';
|
62
64
|
export default /*#__PURE__*/memo(function (_ref) {
|
63
65
|
var schema = _ref.schema,
|
64
66
|
scope = _ref.scope,
|
65
67
|
components = _ref.components;
|
66
|
-
|
68
|
+
|
69
|
+
// 获取全局配置
|
70
|
+
var _ref2 = getGlobalConfig('ProForm') || {},
|
71
|
+
globalComponents = _ref2.components,
|
72
|
+
globalScope = _ref2.scope; // 创建 SchemaField
|
73
|
+
|
74
|
+
|
67
75
|
var SchemaField = useMemo(function () {
|
68
76
|
return createSchemaField({
|
69
|
-
components: _objectSpread(_objectSpread({}, ProFieldComponents), {}, {
|
77
|
+
components: _objectSpread(_objectSpread(_objectSpread({}, globalComponents), ProFieldComponents), {}, {
|
70
78
|
FormLayout: FormLayout,
|
71
79
|
FormItem: FormItem,
|
72
80
|
ArrayCollapse: ArrayCollapse,
|
@@ -89,6 +97,7 @@ export default /*#__PURE__*/memo(function (_ref) {
|
|
89
97
|
EditablePopover: EditablePopover,
|
90
98
|
FormGroup: FormGroup,
|
91
99
|
Upload: Upload,
|
100
|
+
SelectTable: SelectTable,
|
92
101
|
Affix: Affix,
|
93
102
|
LightFilter: LightFilter,
|
94
103
|
Text: Text
|
@@ -97,7 +106,7 @@ export default /*#__PURE__*/memo(function (_ref) {
|
|
97
106
|
}, []); // 合并 schema 中 request 的 scope
|
98
107
|
|
99
108
|
var mergedScope = useMemo(function () {
|
100
|
-
return _objectSpread(_objectSpread({}, scope), {}, {
|
109
|
+
return _objectSpread(_objectSpread(_objectSpread({}, globalScope), scope), {}, {
|
101
110
|
$request: $request,
|
102
111
|
$common: $common,
|
103
112
|
$dataSource: $dataSource,
|
@@ -166,6 +175,11 @@ export default /*#__PURE__*/memo(function (_ref) {
|
|
166
175
|
|
167
176
|
if (['FormCollapse'].includes(originalComponent)) {
|
168
177
|
newItem = initializeFormCollapse(newItem);
|
178
|
+
} // 初始化选择表格 - SelectTable
|
179
|
+
|
180
|
+
|
181
|
+
if (['SelectTable'].includes(originalComponent)) {
|
182
|
+
newItem = initializeSelectTable(newItem);
|
169
183
|
}
|
170
184
|
}
|
171
185
|
|
@@ -216,10 +230,10 @@ export default /*#__PURE__*/memo(function (_ref) {
|
|
216
230
|
|
217
231
|
var defaultReactions = initializeReactions(reactions, [].concat(_toConsumableArray(requestReactions), _toConsumableArray(dataSourceReactions))); // 合并scope
|
218
232
|
|
219
|
-
Object.entries(_objectSpread(_objectSpread(_objectSpread({}, requestScope), dataSourceScope), rulesScope)).map(function (
|
220
|
-
var
|
221
|
-
k =
|
222
|
-
v =
|
233
|
+
Object.entries(_objectSpread(_objectSpread(_objectSpread({}, requestScope), dataSourceScope), rulesScope)).map(function (_ref3) {
|
234
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
235
|
+
k = _ref4[0],
|
236
|
+
v = _ref4[1];
|
223
237
|
|
224
238
|
mergedScope[k] = v;
|
225
239
|
});
|
@@ -0,0 +1,38 @@
|
|
1
|
+
var _excluded = ["name", "title", "children"];
|
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
|
+
var initializeTableColumn = function initializeTableColumn(item) {
|
14
|
+
var name = item.name,
|
15
|
+
title = item.title,
|
16
|
+
children = item.children,
|
17
|
+
otherProps = _objectWithoutProperties(item, _excluded);
|
18
|
+
|
19
|
+
return {
|
20
|
+
name: name,
|
21
|
+
title: title,
|
22
|
+
component: 'SelectTable.Column',
|
23
|
+
children: children,
|
24
|
+
props: _objectSpread({}, otherProps)
|
25
|
+
};
|
26
|
+
};
|
27
|
+
|
28
|
+
var initialize = function initialize(item) {
|
29
|
+
var _item$children = item.children,
|
30
|
+
children = _item$children === void 0 ? [] : _item$children;
|
31
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
32
|
+
children: children.map(function (item) {
|
33
|
+
return initializeTableColumn(item);
|
34
|
+
})
|
35
|
+
});
|
36
|
+
};
|
37
|
+
|
38
|
+
export default initialize;
|
@@ -11,6 +11,7 @@ var $request = function $request(field, requestConfig, context, type) {
|
|
11
11
|
|
12
12
|
var params = requestConfig.params,
|
13
13
|
beforeRequest = requestConfig.beforeRequest,
|
14
|
+
formatResult = requestConfig.formatResult,
|
14
15
|
onSuccess = requestConfig.onSuccess;
|
15
16
|
var beforeRequestResult = isFn(beforeRequest) ? beforeRequest(field, context) : {};
|
16
17
|
/**
|
@@ -25,6 +26,9 @@ var $request = function $request(field, requestConfig, context, type) {
|
|
25
26
|
beforeRequest: function beforeRequest() {
|
26
27
|
return beforeRequestResult;
|
27
28
|
},
|
29
|
+
formatResult: isFn(formatResult) ? function (res) {
|
30
|
+
return formatResult(res, field, context);
|
31
|
+
} : formatResult,
|
28
32
|
onSuccess: isFn(onSuccess) ? function (res) {
|
29
33
|
return onSuccess(res, field, context);
|
30
34
|
} : onSuccess
|
@@ -60,9 +64,6 @@ var $dataSource = function $dataSource(services, requestConfig, context) {
|
|
60
64
|
field.setState({
|
61
65
|
loading: true
|
62
66
|
});
|
63
|
-
field.setComponentProps({
|
64
|
-
readOnly: true
|
65
|
-
});
|
66
67
|
return services(field, requestConfig, context, 'dataSource').then(function (res) {
|
67
68
|
var _requestConfig$onComp3;
|
68
69
|
|
@@ -74,17 +75,11 @@ var $dataSource = function $dataSource(services, requestConfig, context) {
|
|
74
75
|
dataSource: res,
|
75
76
|
loading: false
|
76
77
|
}, clearValue));
|
77
|
-
field.setComponentProps({
|
78
|
-
readOnly: false
|
79
|
-
});
|
80
78
|
return (_requestConfig$onComp3 = requestConfig.onComplete) === null || _requestConfig$onComp3 === void 0 ? void 0 : _requestConfig$onComp3.call(requestConfig, res, field, context);
|
81
79
|
}).catch(function () {
|
82
80
|
field.setState({
|
83
81
|
loading: false
|
84
82
|
});
|
85
|
-
field.setComponentProps({
|
86
|
-
readOnly: false
|
87
|
-
});
|
88
83
|
});
|
89
84
|
};
|
90
85
|
};
|
package/es/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/es/form/utils.js
CHANGED
@@ -72,9 +72,16 @@ var mapStatus = function mapStatus(props, field) {
|
|
72
72
|
return state;
|
73
73
|
};
|
74
74
|
|
75
|
-
|
76
|
-
|
77
|
-
|
75
|
+
var state = takeState(props.state) || takeStatus();
|
76
|
+
var result = {
|
77
|
+
state: state
|
78
|
+
}; // 当组件处于loading状态时,仅可读不可写。
|
79
|
+
|
80
|
+
if (state === 'loading') {
|
81
|
+
result.readOnly = true;
|
82
|
+
}
|
83
|
+
|
84
|
+
return _objectSpread(_objectSpread({}, props), result);
|
78
85
|
};
|
79
86
|
|
80
87
|
var patchDataSource = function patchDataSource() {
|
@@ -92,7 +99,7 @@ var patchDataSource = function patchDataSource() {
|
|
92
99
|
return result;
|
93
100
|
};
|
94
101
|
|
95
|
-
return dataSource.map(removeEmptyChildren);
|
102
|
+
return isArr(dataSource) ? dataSource.map(removeEmptyChildren) : [];
|
96
103
|
};
|
97
104
|
|
98
105
|
var mapDataSource = function mapDataSource(props, field) {
|
package/es/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/es/index.js
CHANGED
@@ -30,7 +30,7 @@ export * from './table';
|
|
30
30
|
export * from './utils'; // export * from './sidebar';
|
31
31
|
|
32
32
|
export * from './timeline';
|
33
|
-
var version = '1.3.
|
33
|
+
var version = '1.3.3';
|
34
34
|
export { version, ProAction, ProCard, ProField, ProForm, ProInfo, // ProLayout,
|
35
35
|
ProPageContainer, ProPageHeader, ProSkeleton, ProTable, // ProSidebar,
|
36
36
|
ProTimeline, hooks, nocode, templates, utils };
|
@@ -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/es/page-header/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
var _excluded = ["text", "children"],
|
2
2
|
_excluded2 = ["color", "title", "num", "className"],
|
3
|
-
_excluded3 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style"];
|
3
|
+
_excluded3 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style", "tabs"];
|
4
4
|
|
5
5
|
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; }
|
6
6
|
|
@@ -17,7 +17,7 @@ import { useHistory } from 'react-router-dom';
|
|
17
17
|
import classnames from 'classnames';
|
18
18
|
import TeamixIcon from '@teamix/icon';
|
19
19
|
import { Breadcrumb } from '@alicloudfe/components';
|
20
|
-
import { baseClass, goToLink, renderTags, isPresetColor, getColor, getColorClassName, getBackgroundColorClassName } from '@teamix/utils';
|
20
|
+
import { baseClass, goToLink, renderTags, isPresetColor, getColor, getColorClassName, getBackgroundColorClassName, CapsuleTab } from '@teamix/utils';
|
21
21
|
import { ProActionGroup } from '../actions';
|
22
22
|
import { ProSkeletonRaw } from '../skeleton';
|
23
23
|
import ProInfo from '../info';
|
@@ -123,6 +123,14 @@ var renderInfo = function renderInfo(info) {
|
|
123
123
|
return info;
|
124
124
|
};
|
125
125
|
|
126
|
+
var renderTabs = function renderTabs(tabs) {
|
127
|
+
if (tabs) {
|
128
|
+
return /*#__PURE__*/React.createElement(CapsuleTab, _objectSpread({}, tabs));
|
129
|
+
}
|
130
|
+
|
131
|
+
return null;
|
132
|
+
};
|
133
|
+
|
126
134
|
var ProPageHeader = function ProPageHeader(props) {
|
127
135
|
var title = props.title,
|
128
136
|
description = props.description,
|
@@ -143,6 +151,7 @@ var ProPageHeader = function ProPageHeader(props) {
|
|
143
151
|
children = props.children,
|
144
152
|
className = props.className,
|
145
153
|
style = props.style,
|
154
|
+
tabs = props.tabs,
|
146
155
|
others = _objectWithoutProperties(props, _excluded3);
|
147
156
|
|
148
157
|
var history = useHistory();
|
@@ -191,7 +200,7 @@ var ProPageHeader = function ProPageHeader(props) {
|
|
191
200
|
size: "large"
|
192
201
|
}) : /*#__PURE__*/React.createElement(React.Fragment, null, icon)), /*#__PURE__*/React.createElement("span", {
|
193
202
|
className: cls('title-name')
|
194
|
-
}, title), renderTags(tags, 'large'));
|
203
|
+
}, title), renderTags(tags, 'large'), renderTabs(tabs !== null && tabs !== void 0 ? tabs : {}));
|
195
204
|
};
|
196
205
|
|
197
206
|
return /*#__PURE__*/React.createElement("header", _objectSpread({
|
package/es/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
|
}
|