@openli1115/lowcode-edit-pro-table 1.0.59 → 1.0.61
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/build/docs/404.html +3 -3
- package/build/docs/_demos/:uuid +3 -3
- package/build/docs/colorful-button.html +3 -3
- package/build/docs/colorful-input.html +3 -3
- package/build/docs/index.html +3 -3
- package/build/docs/umi.1da91e7f.js +1 -0
- package/build/docs/~demos/:uuid.html +3 -3
- package/build/docs/~demos/colorful-button-demo.html +3 -3
- package/build/docs/~demos/colorful-input-demo.html +3 -3
- package/build/lowcode/assets-daily.json +13 -13
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +13 -13
- package/build/lowcode/meta.design.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.js +2 -2
- package/build/lowcode/view.js +2 -2
- package/dist/BizComps.js +2 -2
- package/dist/BizComps.js.map +1 -1
- package/es/components/ProCascaderSelect/index.js +77 -13
- package/lib/components/ProCascaderSelect/index.js +77 -13
- package/lowcode_es/meta.js +1 -1
- package/lowcode_lib/meta.js +1 -1
- package/package.json +3 -3
- package/build/docs/umi.4a81ad9c.js +0 -1
|
@@ -1,17 +1,55 @@
|
|
|
1
1
|
import _CascaderSelect from "@alifd/next/es/cascader-select";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
5
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
6
|
import { resolveProScreenBinding } from "../utils";
|
|
6
7
|
import { useProBoundValue } from "../../context/useProBoundValue";
|
|
7
8
|
import { FORM_EMPTY_ARRAY } from "../../context/useComponentContext";
|
|
8
|
-
var
|
|
9
|
+
var _window$React = window.React,
|
|
10
|
+
createElement = _window$React.createElement,
|
|
11
|
+
useCallback = _window$React.useCallback;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 按路径在树形 dataSource 上逐级匹配,取出每一层的 label(2 级、3 级…任意多级,长度由 pathValues 决定)。
|
|
15
|
+
*/
|
|
16
|
+
function resolvePathLabels(dataSource, pathValues) {
|
|
17
|
+
var labels = [];
|
|
18
|
+
if (!Array.isArray(dataSource) || pathValues.length === 0) return labels;
|
|
19
|
+
var level = dataSource;
|
|
20
|
+
var _loop = function _loop() {
|
|
21
|
+
var pv = _step.value;
|
|
22
|
+
var node = level.find(function (n) {
|
|
23
|
+
return String(n === null || n === void 0 ? void 0 : n.value) === String(pv);
|
|
24
|
+
});
|
|
25
|
+
if (!node) return 1; // break
|
|
26
|
+
labels.push(node.label != null ? String(node.label) : String(pv));
|
|
27
|
+
var next = node.children;
|
|
28
|
+
level = Array.isArray(next) ? next : [];
|
|
29
|
+
};
|
|
30
|
+
for (var _iterator = _createForOfIteratorHelperLoose(pathValues), _step; !(_step = _iterator()).done;) {
|
|
31
|
+
if (_loop()) break;
|
|
32
|
+
}
|
|
33
|
+
return labels;
|
|
34
|
+
}
|
|
9
35
|
function normalizeCascaderPath(v) {
|
|
10
|
-
if (Array.isArray(v))
|
|
36
|
+
if (Array.isArray(v)) {
|
|
37
|
+
return v.filter(function (x) {
|
|
38
|
+
return x != null && x !== '';
|
|
39
|
+
}).map(function (x) {
|
|
40
|
+
return String(x);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
if (typeof v === 'number' && !Number.isNaN(v)) {
|
|
44
|
+
/** 表单里有时是数字 id(2977),Fusion dataSource 已 string 化,需对齐 */
|
|
45
|
+
return [String(v)];
|
|
46
|
+
}
|
|
11
47
|
if (typeof v === 'string' && v.trim()) {
|
|
12
48
|
try {
|
|
13
49
|
var parsed = JSON.parse(v);
|
|
14
|
-
return Array.isArray(parsed) ? parsed.
|
|
50
|
+
return Array.isArray(parsed) ? parsed.map(function (x) {
|
|
51
|
+
return String(x);
|
|
52
|
+
}) : [];
|
|
15
53
|
} catch (_unused) {
|
|
16
54
|
/** 历史或单值存成非 JSON 字符串时,当作单选叶子 value */
|
|
17
55
|
return [v];
|
|
@@ -26,16 +64,26 @@ function normalizeCascaderPath(v) {
|
|
|
26
64
|
*/
|
|
27
65
|
function cascaderChangeToPath(newValue, extra) {
|
|
28
66
|
if (newValue == null) return [];
|
|
29
|
-
|
|
67
|
+
/** 多选或已是完整路径数组时直接规范化(多级路径长度不限) */
|
|
68
|
+
if (Array.isArray(newValue)) {
|
|
69
|
+
return newValue.map(function (x) {
|
|
70
|
+
return x == null ? '' : String(x);
|
|
71
|
+
}).filter(function (x) {
|
|
72
|
+
return x !== '';
|
|
73
|
+
});
|
|
74
|
+
}
|
|
30
75
|
var nodes = extra === null || extra === void 0 ? void 0 : extra.selectedPath;
|
|
31
76
|
if (Array.isArray(nodes) && nodes.length > 0) {
|
|
32
77
|
return nodes.map(function (n) {
|
|
33
|
-
|
|
78
|
+
if (n != null && typeof n === 'object' && 'value' in n) {
|
|
79
|
+
return String(n.value);
|
|
80
|
+
}
|
|
81
|
+
return n == null ? '' : String(n);
|
|
34
82
|
}).filter(function (x) {
|
|
35
|
-
return x
|
|
83
|
+
return x !== '';
|
|
36
84
|
});
|
|
37
85
|
}
|
|
38
|
-
return [newValue];
|
|
86
|
+
return [String(newValue)];
|
|
39
87
|
}
|
|
40
88
|
var ProCascaderSelect = function ProCascaderSelect(props) {
|
|
41
89
|
var screen_structure = props.screen_structure,
|
|
@@ -48,8 +96,7 @@ var ProCascaderSelect = function ProCascaderSelect(props) {
|
|
|
48
96
|
disabledProp = props.disabled,
|
|
49
97
|
_schemaValue = props.value,
|
|
50
98
|
schemaOnChange = props.onChange,
|
|
51
|
-
defaultValue = props.defaultValue
|
|
52
|
-
restProps = _objectWithoutPropertiesLoose(props, _excluded);
|
|
99
|
+
defaultValue = props.defaultValue;
|
|
53
100
|
var _resolveProScreenBind = resolveProScreenBinding({
|
|
54
101
|
screen_structure: screen_structure,
|
|
55
102
|
screen_structure_field: screen_structure_field,
|
|
@@ -68,14 +115,31 @@ var ProCascaderSelect = function ProCascaderSelect(props) {
|
|
|
68
115
|
schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange(next, structureName, structureField);
|
|
69
116
|
};
|
|
70
117
|
var displayValue = normalizeCascaderPath(value);
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Fusion 单选 getSingleData 对数组 value 只会用 value[0] 查节点,输入框文案不完整。
|
|
121
|
+
* 表单存全路径 [省,市,区,...] 任意多级时,用 dataSource 拼「一级 / 二级 / …」。
|
|
122
|
+
*/
|
|
123
|
+
var schemaDisplayRender = props.displayRender;
|
|
124
|
+
var pathDisplayRender = useCallback(function (labels, data) {
|
|
125
|
+
var fullLabels = resolvePathLabels(dataSource, normalizeCascaderPath(value));
|
|
126
|
+
if (fullLabels.length > 0) {
|
|
127
|
+
return fullLabels.join(' / ');
|
|
128
|
+
}
|
|
129
|
+
if (typeof schemaDisplayRender === 'function') {
|
|
130
|
+
return schemaDisplayRender(labels, data);
|
|
131
|
+
}
|
|
132
|
+
return (labels && labels.length ? labels.join(' / ') : '') || ((data === null || data === void 0 ? void 0 : data.label) != null ? String(data.label) : '');
|
|
133
|
+
}, [dataSource, value, schemaDisplayRender]);
|
|
71
134
|
return /*#__PURE__*/React.createElement("span", {
|
|
72
135
|
className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
|
|
73
|
-
}, /*#__PURE__*/React.createElement(_CascaderSelect, _extends({},
|
|
136
|
+
}, /*#__PURE__*/React.createElement(_CascaderSelect, _extends({}, props, {
|
|
74
137
|
readOnly: disableEdit ? true : readOnlyProp,
|
|
75
138
|
disabled: disabledProp,
|
|
76
139
|
dataSource: dataSource,
|
|
77
140
|
value: displayValue,
|
|
78
|
-
onChange: handleChange
|
|
141
|
+
onChange: handleChange,
|
|
142
|
+
displayRender: pathDisplayRender
|
|
79
143
|
})));
|
|
80
144
|
};
|
|
81
145
|
export default ProCascaderSelect;
|
|
@@ -5,18 +5,56 @@ exports.__esModule = true;
|
|
|
5
5
|
exports["default"] = void 0;
|
|
6
6
|
var _cascaderSelect = _interopRequireDefault(require("@alifd/next/lib/cascader-select"));
|
|
7
7
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
8
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
8
|
var _utils = require("../utils");
|
|
10
9
|
var _useProBoundValue2 = require("../../context/useProBoundValue");
|
|
11
10
|
var _useComponentContext = require("../../context/useComponentContext");
|
|
12
|
-
var
|
|
13
|
-
var
|
|
11
|
+
function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
12
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
13
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
14
|
+
var _window$React = window.React,
|
|
15
|
+
createElement = _window$React.createElement,
|
|
16
|
+
useCallback = _window$React.useCallback;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 按路径在树形 dataSource 上逐级匹配,取出每一层的 label(2 级、3 级…任意多级,长度由 pathValues 决定)。
|
|
20
|
+
*/
|
|
21
|
+
function resolvePathLabels(dataSource, pathValues) {
|
|
22
|
+
var labels = [];
|
|
23
|
+
if (!Array.isArray(dataSource) || pathValues.length === 0) return labels;
|
|
24
|
+
var level = dataSource;
|
|
25
|
+
var _loop = function _loop() {
|
|
26
|
+
var pv = _step.value;
|
|
27
|
+
var node = level.find(function (n) {
|
|
28
|
+
return String(n === null || n === void 0 ? void 0 : n.value) === String(pv);
|
|
29
|
+
});
|
|
30
|
+
if (!node) return 1; // break
|
|
31
|
+
labels.push(node.label != null ? String(node.label) : String(pv));
|
|
32
|
+
var next = node.children;
|
|
33
|
+
level = Array.isArray(next) ? next : [];
|
|
34
|
+
};
|
|
35
|
+
for (var _iterator = _createForOfIteratorHelperLoose(pathValues), _step; !(_step = _iterator()).done;) {
|
|
36
|
+
if (_loop()) break;
|
|
37
|
+
}
|
|
38
|
+
return labels;
|
|
39
|
+
}
|
|
14
40
|
function normalizeCascaderPath(v) {
|
|
15
|
-
if (Array.isArray(v))
|
|
41
|
+
if (Array.isArray(v)) {
|
|
42
|
+
return v.filter(function (x) {
|
|
43
|
+
return x != null && x !== '';
|
|
44
|
+
}).map(function (x) {
|
|
45
|
+
return String(x);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (typeof v === 'number' && !Number.isNaN(v)) {
|
|
49
|
+
/** 表单里有时是数字 id(2977),Fusion dataSource 已 string 化,需对齐 */
|
|
50
|
+
return [String(v)];
|
|
51
|
+
}
|
|
16
52
|
if (typeof v === 'string' && v.trim()) {
|
|
17
53
|
try {
|
|
18
54
|
var parsed = JSON.parse(v);
|
|
19
|
-
return Array.isArray(parsed) ? parsed.
|
|
55
|
+
return Array.isArray(parsed) ? parsed.map(function (x) {
|
|
56
|
+
return String(x);
|
|
57
|
+
}) : [];
|
|
20
58
|
} catch (_unused) {
|
|
21
59
|
/** 历史或单值存成非 JSON 字符串时,当作单选叶子 value */
|
|
22
60
|
return [v];
|
|
@@ -31,16 +69,26 @@ function normalizeCascaderPath(v) {
|
|
|
31
69
|
*/
|
|
32
70
|
function cascaderChangeToPath(newValue, extra) {
|
|
33
71
|
if (newValue == null) return [];
|
|
34
|
-
|
|
72
|
+
/** 多选或已是完整路径数组时直接规范化(多级路径长度不限) */
|
|
73
|
+
if (Array.isArray(newValue)) {
|
|
74
|
+
return newValue.map(function (x) {
|
|
75
|
+
return x == null ? '' : String(x);
|
|
76
|
+
}).filter(function (x) {
|
|
77
|
+
return x !== '';
|
|
78
|
+
});
|
|
79
|
+
}
|
|
35
80
|
var nodes = extra === null || extra === void 0 ? void 0 : extra.selectedPath;
|
|
36
81
|
if (Array.isArray(nodes) && nodes.length > 0) {
|
|
37
82
|
return nodes.map(function (n) {
|
|
38
|
-
|
|
83
|
+
if (n != null && typeof n === 'object' && 'value' in n) {
|
|
84
|
+
return String(n.value);
|
|
85
|
+
}
|
|
86
|
+
return n == null ? '' : String(n);
|
|
39
87
|
}).filter(function (x) {
|
|
40
|
-
return x
|
|
88
|
+
return x !== '';
|
|
41
89
|
});
|
|
42
90
|
}
|
|
43
|
-
return [newValue];
|
|
91
|
+
return [String(newValue)];
|
|
44
92
|
}
|
|
45
93
|
var ProCascaderSelect = function ProCascaderSelect(props) {
|
|
46
94
|
var screen_structure = props.screen_structure,
|
|
@@ -53,8 +101,7 @@ var ProCascaderSelect = function ProCascaderSelect(props) {
|
|
|
53
101
|
disabledProp = props.disabled,
|
|
54
102
|
_schemaValue = props.value,
|
|
55
103
|
schemaOnChange = props.onChange,
|
|
56
|
-
defaultValue = props.defaultValue
|
|
57
|
-
restProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
|
|
104
|
+
defaultValue = props.defaultValue;
|
|
58
105
|
var _resolveProScreenBind = (0, _utils.resolveProScreenBinding)({
|
|
59
106
|
screen_structure: screen_structure,
|
|
60
107
|
screen_structure_field: screen_structure_field,
|
|
@@ -73,14 +120,31 @@ var ProCascaderSelect = function ProCascaderSelect(props) {
|
|
|
73
120
|
schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange(next, structureName, structureField);
|
|
74
121
|
};
|
|
75
122
|
var displayValue = normalizeCascaderPath(value);
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Fusion 单选 getSingleData 对数组 value 只会用 value[0] 查节点,输入框文案不完整。
|
|
126
|
+
* 表单存全路径 [省,市,区,...] 任意多级时,用 dataSource 拼「一级 / 二级 / …」。
|
|
127
|
+
*/
|
|
128
|
+
var schemaDisplayRender = props.displayRender;
|
|
129
|
+
var pathDisplayRender = useCallback(function (labels, data) {
|
|
130
|
+
var fullLabels = resolvePathLabels(dataSource, normalizeCascaderPath(value));
|
|
131
|
+
if (fullLabels.length > 0) {
|
|
132
|
+
return fullLabels.join(' / ');
|
|
133
|
+
}
|
|
134
|
+
if (typeof schemaDisplayRender === 'function') {
|
|
135
|
+
return schemaDisplayRender(labels, data);
|
|
136
|
+
}
|
|
137
|
+
return (labels && labels.length ? labels.join(' / ') : '') || ((data === null || data === void 0 ? void 0 : data.label) != null ? String(data.label) : '');
|
|
138
|
+
}, [dataSource, value, schemaDisplayRender]);
|
|
76
139
|
return /*#__PURE__*/React.createElement("span", {
|
|
77
140
|
className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
|
|
78
|
-
}, /*#__PURE__*/React.createElement(_cascaderSelect["default"], (0, _extends2["default"])({},
|
|
141
|
+
}, /*#__PURE__*/React.createElement(_cascaderSelect["default"], (0, _extends2["default"])({}, props, {
|
|
79
142
|
readOnly: disableEdit ? true : readOnlyProp,
|
|
80
143
|
disabled: disabledProp,
|
|
81
144
|
dataSource: dataSource,
|
|
82
145
|
value: displayValue,
|
|
83
|
-
onChange: handleChange
|
|
146
|
+
onChange: handleChange,
|
|
147
|
+
displayRender: pathDisplayRender
|
|
84
148
|
})));
|
|
85
149
|
};
|
|
86
150
|
var _default = exports["default"] = ProCascaderSelect;
|
package/lowcode_es/meta.js
CHANGED
|
@@ -101,7 +101,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
|
|
|
101
101
|
packageName = '@openli1115/lowcode-edit-pro-table';
|
|
102
102
|
}
|
|
103
103
|
if (version === void 0) {
|
|
104
|
-
version = '1.0.
|
|
104
|
+
version = '1.0.61';
|
|
105
105
|
}
|
|
106
106
|
if (basicLibraryVersion === void 0) {
|
|
107
107
|
basicLibraryVersion = {
|
package/lowcode_lib/meta.js
CHANGED
|
@@ -106,7 +106,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
|
|
|
106
106
|
packageName = '@openli1115/lowcode-edit-pro-table';
|
|
107
107
|
}
|
|
108
108
|
if (version === void 0) {
|
|
109
|
-
version = '1.0.
|
|
109
|
+
version = '1.0.61';
|
|
110
110
|
}
|
|
111
111
|
if (basicLibraryVersion === void 0) {
|
|
112
112
|
basicLibraryVersion = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openli1115/lowcode-edit-pro-table",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.61",
|
|
4
4
|
"description": "@openli1115/lowcode-edit-pro-table",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -101,10 +101,10 @@
|
|
|
101
101
|
},
|
|
102
102
|
"componentConfig": {
|
|
103
103
|
"isComponentLibrary": true,
|
|
104
|
-
"materialSchema": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.
|
|
104
|
+
"materialSchema": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.61/build/lowcode/assets-prod.json"
|
|
105
105
|
},
|
|
106
106
|
"lcMeta": {
|
|
107
107
|
"type": "component"
|
|
108
108
|
},
|
|
109
|
-
"homepage": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.
|
|
109
|
+
"homepage": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.61/build/index.html"
|
|
110
110
|
}
|