@teamias/rex-design 0.1.17 → 0.1.18
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/components/base-form/core/custom-descriptions-model.js +23 -8
- package/dist/components/base-form/core/descriptions-model.js +18 -6
- package/dist/components/base-form/core/use-descriptions-items.d.ts +9 -5
- package/dist/components/base-form/core/use-descriptions-items.js +82 -62
- package/dist/components/base-form/demo/CustomDescriptionsDemo.js +4 -0
- package/dist/components/base-form/demo/DescriptionsDemo.js +4 -0
- package/package.json +1 -1
|
@@ -9,8 +9,11 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
9
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
10
|
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; }
|
|
11
11
|
import { CustomDescriptions } from "../components/custom-descriptions";
|
|
12
|
+
import { Core } from "./core";
|
|
12
13
|
import { useDescriptionsItems } from "./use-descriptions-items";
|
|
13
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
16
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
17
|
export var CustomDescriptionsModel = function CustomDescriptionsModel(_ref) {
|
|
15
18
|
var _ref$descriptionsProp = _ref.descriptionsProps,
|
|
16
19
|
_ref$descriptionsProp2 = _ref$descriptionsProp === void 0 ? {} : _ref$descriptionsProp,
|
|
@@ -23,13 +26,25 @@ export var CustomDescriptionsModel = function CustomDescriptionsModel(_ref) {
|
|
|
23
26
|
_ref$labelWidth = _ref.labelWidth,
|
|
24
27
|
labelWidth = _ref$labelWidth === void 0 ? '120px' : _ref$labelWidth,
|
|
25
28
|
baseFormProps = _objectWithoutProperties(_ref, _excluded2);
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
var _useDescriptionsItems = useDescriptionsItems(_objectSpread({
|
|
30
|
+
fields: fields
|
|
31
|
+
}, baseFormProps)),
|
|
32
|
+
descriptionsItems = _useDescriptionsItems.descriptionsItems,
|
|
33
|
+
hiddenFields = _useDescriptionsItems.hiddenFields;
|
|
34
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
35
|
+
children: [/*#__PURE__*/_jsx(CustomDescriptions, {
|
|
36
|
+
labelWidth: labelWidth,
|
|
37
|
+
column: column,
|
|
38
|
+
bordered: bordered,
|
|
39
|
+
items: descriptionsItems
|
|
40
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
41
|
+
style: {
|
|
42
|
+
display: 'none'
|
|
43
|
+
},
|
|
44
|
+
"aria-hidden": "true",
|
|
45
|
+
children: /*#__PURE__*/_jsx(Core, {
|
|
46
|
+
fields: hiddenFields
|
|
47
|
+
})
|
|
48
|
+
})]
|
|
34
49
|
});
|
|
35
50
|
};
|
|
@@ -11,8 +11,10 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
11
11
|
import { Descriptions } from 'antd';
|
|
12
12
|
import { merge } from 'lodash';
|
|
13
13
|
import { DescriptionsStyle } from "../style";
|
|
14
|
+
import { Core } from "./core";
|
|
14
15
|
import { useDescriptionsItems } from "./use-descriptions-items";
|
|
15
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
18
|
export var DescriptionsModel = function DescriptionsModel(_ref) {
|
|
17
19
|
var _ref$descriptionsProp = _ref.descriptionsProps,
|
|
18
20
|
_ref$descriptionsProp2 = _ref$descriptionsProp === void 0 ? {} : _ref$descriptionsProp,
|
|
@@ -25,16 +27,18 @@ export var DescriptionsModel = function DescriptionsModel(_ref) {
|
|
|
25
27
|
_ref$labelWidth = _ref.labelWidth,
|
|
26
28
|
labelWidth = _ref$labelWidth === void 0 ? '120px' : _ref$labelWidth,
|
|
27
29
|
baseFormProps = _objectWithoutProperties(_ref, _excluded2);
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
var _useDescriptionsItems = useDescriptionsItems(_objectSpread({
|
|
31
|
+
fields: fields
|
|
32
|
+
}, baseFormProps)),
|
|
33
|
+
descriptionsItems = _useDescriptionsItems.descriptionsItems,
|
|
34
|
+
hiddenFields = _useDescriptionsItems.hiddenFields;
|
|
35
|
+
return /*#__PURE__*/_jsxs(DescriptionsStyle, {
|
|
32
36
|
style: {
|
|
33
37
|
'--table-layout': isFixed ? 'fixed' : 'auto',
|
|
34
38
|
'--label-width': labelWidth,
|
|
35
39
|
'--content-width': "".concat(100 / column, "%")
|
|
36
40
|
},
|
|
37
|
-
children: /*#__PURE__*/_jsx(Descriptions, _objectSpread(_objectSpread({
|
|
41
|
+
children: [/*#__PURE__*/_jsx(Descriptions, _objectSpread(_objectSpread({
|
|
38
42
|
bordered: true
|
|
39
43
|
}, descriptionsProps), {}, {
|
|
40
44
|
styles: merge({}, {
|
|
@@ -51,6 +55,14 @@ export var DescriptionsModel = function DescriptionsModel(_ref) {
|
|
|
51
55
|
}, styles),
|
|
52
56
|
column: column,
|
|
53
57
|
items: descriptionsItems
|
|
54
|
-
}))
|
|
58
|
+
})), /*#__PURE__*/_jsx("div", {
|
|
59
|
+
"aria-hidden": "true",
|
|
60
|
+
style: {
|
|
61
|
+
display: 'none'
|
|
62
|
+
},
|
|
63
|
+
children: /*#__PURE__*/_jsx(Core, {
|
|
64
|
+
fields: hiddenFields
|
|
65
|
+
})
|
|
66
|
+
})]
|
|
55
67
|
});
|
|
56
68
|
};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { IBaseFormProps, TFields } from '../types';
|
|
2
3
|
export declare const useDescriptionsItems: ({ fields, ...baseFormProps }: Omit<IBaseFormProps, 'descriptionsProps'>) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
descriptionsItems: {
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
span: number;
|
|
8
|
+
}[];
|
|
9
|
+
hiddenFields: TFields;
|
|
10
|
+
};
|
|
@@ -6,6 +6,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
6
6
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
7
7
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
8
8
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
9
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
10
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
14
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
9
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; }
|
|
10
16
|
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; }
|
|
11
17
|
import { Form, Typography } from 'antd';
|
|
@@ -13,68 +19,82 @@ import { useMemo } from 'react';
|
|
|
13
19
|
import { Core } from "./core";
|
|
14
20
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
21
|
export var useDescriptionsItems = function useDescriptionsItems(_ref) {
|
|
16
|
-
var fields = _ref.fields,
|
|
22
|
+
var _ref$fields = _ref.fields,
|
|
23
|
+
fields = _ref$fields === void 0 ? [] : _ref$fields,
|
|
17
24
|
baseFormProps = _objectWithoutProperties(_ref, _excluded);
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
return (fields === null || fields === void 0 ? void 0 : fields.map(function (field) {
|
|
31
|
-
var _formItemProps$requir, _formItemProps$labelC;
|
|
32
|
-
// 创建新的field对象,移除label属性
|
|
33
|
-
var label = field.label,
|
|
34
|
-
tooltip = field.tooltip,
|
|
35
|
-
formItemProps = field.formItemProps,
|
|
36
|
-
rules = field.rules,
|
|
37
|
-
otherData = _objectWithoutProperties(field, _excluded2);
|
|
38
|
-
return {
|
|
39
|
-
label: /*#__PURE__*/_jsx(Form.Item, {
|
|
40
|
-
label: /*#__PURE__*/_jsx(Typography.Text, {
|
|
41
|
-
ellipsis: {
|
|
42
|
-
tooltip: label
|
|
43
|
-
},
|
|
44
|
-
children: label
|
|
45
|
-
}),
|
|
46
|
-
labelAlign: "right",
|
|
47
|
-
tooltip: tooltip,
|
|
48
|
-
required: (_formItemProps$requir = formItemProps === null || formItemProps === void 0 ? void 0 : formItemProps.required) !== null && _formItemProps$requir !== void 0 ? _formItemProps$requir : hasRules(field),
|
|
49
|
-
colon: false,
|
|
50
|
-
style: {
|
|
51
|
-
margin: 0
|
|
52
|
-
}
|
|
53
|
-
// {...formItemProps}
|
|
54
|
-
,
|
|
55
|
-
labelCol: _objectSpread(_objectSpread({}, formItemProps === null || formItemProps === void 0 ? void 0 : formItemProps.labelCol), {}, {
|
|
56
|
-
style: _objectSpread({
|
|
57
|
-
padding: 0,
|
|
58
|
-
width: '100%',
|
|
59
|
-
textAlign: 'right'
|
|
60
|
-
}, formItemProps === null || formItemProps === void 0 || (_formItemProps$labelC = formItemProps.labelCol) === null || _formItemProps$labelC === void 0 ? void 0 : _formItemProps$labelC.style)
|
|
61
|
-
}),
|
|
62
|
-
wrapperCol: {
|
|
63
|
-
style: {
|
|
64
|
-
display: 'none'
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}),
|
|
68
|
-
children: /*#__PURE__*/_jsx(Core, _objectSpread(_objectSpread({}, baseFormProps), {}, {
|
|
69
|
-
itemMarginBottom: 0,
|
|
70
|
-
fields: [_objectSpread(_objectSpread({}, otherData), {}, {
|
|
71
|
-
rules: rules,
|
|
72
|
-
formItemProps: formItemProps
|
|
73
|
-
})]
|
|
74
|
-
})),
|
|
75
|
-
span: field.span || 1
|
|
25
|
+
var _useMemo = useMemo(function () {
|
|
26
|
+
/** 检查field或其subItems是否包含rules */
|
|
27
|
+
var hasRules = function hasRules(field) {
|
|
28
|
+
if (field.rules && field.rules.length > 0) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
if ('subItems' in field && field.subItems && Array.isArray(field.subItems)) {
|
|
32
|
+
return field.subItems.some(hasRules);
|
|
33
|
+
}
|
|
34
|
+
if (field.required) return true;
|
|
35
|
+
return false;
|
|
76
36
|
};
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
37
|
+
return fields.reduce(function (_ref2, field) {
|
|
38
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
39
|
+
hiddenFields = _ref3[0],
|
|
40
|
+
showFields = _ref3[1];
|
|
41
|
+
if (field.valueType === 'hidden') {
|
|
42
|
+
hiddenFields.push(field);
|
|
43
|
+
} else {
|
|
44
|
+
var _formItemProps$requir, _formItemProps$labelC;
|
|
45
|
+
var label = field.label,
|
|
46
|
+
tooltip = field.tooltip,
|
|
47
|
+
formItemProps = field.formItemProps,
|
|
48
|
+
rules = field.rules,
|
|
49
|
+
otherData = _objectWithoutProperties(field, _excluded2);
|
|
50
|
+
showFields.push({
|
|
51
|
+
label: /*#__PURE__*/_jsx(Form.Item, {
|
|
52
|
+
label: /*#__PURE__*/_jsx(Typography.Text, {
|
|
53
|
+
ellipsis: {
|
|
54
|
+
tooltip: label
|
|
55
|
+
},
|
|
56
|
+
children: label
|
|
57
|
+
}),
|
|
58
|
+
labelAlign: "right",
|
|
59
|
+
tooltip: tooltip,
|
|
60
|
+
required: (_formItemProps$requir = formItemProps === null || formItemProps === void 0 ? void 0 : formItemProps.required) !== null && _formItemProps$requir !== void 0 ? _formItemProps$requir : hasRules(field),
|
|
61
|
+
colon: false,
|
|
62
|
+
style: {
|
|
63
|
+
margin: 0
|
|
64
|
+
}
|
|
65
|
+
// {...formItemProps}
|
|
66
|
+
,
|
|
67
|
+
labelCol: _objectSpread(_objectSpread({}, formItemProps === null || formItemProps === void 0 ? void 0 : formItemProps.labelCol), {}, {
|
|
68
|
+
style: _objectSpread({
|
|
69
|
+
padding: 0,
|
|
70
|
+
width: '100%',
|
|
71
|
+
textAlign: 'right'
|
|
72
|
+
}, formItemProps === null || formItemProps === void 0 || (_formItemProps$labelC = formItemProps.labelCol) === null || _formItemProps$labelC === void 0 ? void 0 : _formItemProps$labelC.style)
|
|
73
|
+
}),
|
|
74
|
+
wrapperCol: {
|
|
75
|
+
style: {
|
|
76
|
+
display: 'none'
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}),
|
|
80
|
+
children: /*#__PURE__*/_jsx(Core, _objectSpread(_objectSpread({}, baseFormProps), {}, {
|
|
81
|
+
itemMarginBottom: 0,
|
|
82
|
+
fields: [_objectSpread(_objectSpread({}, otherData), {}, {
|
|
83
|
+
rules: rules,
|
|
84
|
+
formItemProps: formItemProps
|
|
85
|
+
})]
|
|
86
|
+
})),
|
|
87
|
+
span: field.span || 1
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return [hiddenFields, showFields];
|
|
91
|
+
}, [[], []]);
|
|
92
|
+
}, [fields]),
|
|
93
|
+
_useMemo2 = _slicedToArray(_useMemo, 2),
|
|
94
|
+
hiddenFields = _useMemo2[0],
|
|
95
|
+
descriptionsItems = _useMemo2[1];
|
|
96
|
+
return {
|
|
97
|
+
descriptionsItems: descriptionsItems,
|
|
98
|
+
hiddenFields: hiddenFields
|
|
99
|
+
};
|
|
80
100
|
};
|
|
@@ -13,6 +13,10 @@ import { message } from 'antd';
|
|
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
14
|
export default (function () {
|
|
15
15
|
var fields = [{
|
|
16
|
+
valueType: 'hidden',
|
|
17
|
+
field: 'id',
|
|
18
|
+
initialValue: '123456'
|
|
19
|
+
}, {
|
|
16
20
|
valueType: 'input',
|
|
17
21
|
field: 'orderNo',
|
|
18
22
|
label: '订单号',
|
|
@@ -13,6 +13,10 @@ import { message } from 'antd';
|
|
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
14
|
export default (function () {
|
|
15
15
|
var fields = [{
|
|
16
|
+
valueType: 'hidden',
|
|
17
|
+
field: 'id',
|
|
18
|
+
initialValue: '123456'
|
|
19
|
+
}, {
|
|
16
20
|
valueType: 'input',
|
|
17
21
|
field: 'name',
|
|
18
22
|
label: '商品名称',
|