@byteluck-fe/model-driven-controls 7.1.0-beta.1 → 7.1.0-beta.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/README.md +3 -1
- package/dist/catalog/index.js +2 -2
- package/dist/catalog/index.mjs +2 -2
- package/dist/esm/catalog/generated/control-catalog.v1.json +6 -3
- package/dist/esm/catalog/query.js +187 -0
- package/dist/esm/listControls/SubTable/property.js +6 -0
- package/dist/index.umd.js +4 -4
- package/dist/types/catalog/query.d.ts +26 -1
- package/dist/types/catalog/types.d.ts +27 -0
- package/dist/types/listControls/SubTable/property.d.ts +7 -0
- package/package.json +5 -5
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "model-driven.control-catalog.v1",
|
|
3
|
-
"packageVersion": "7.1.0-beta.
|
|
4
|
-
"sourceRevision": "sha256:
|
|
5
|
-
"revision": "sha256:
|
|
3
|
+
"packageVersion": "7.1.0-beta.3",
|
|
4
|
+
"sourceRevision": "sha256:5699432a72e9369aeccc3083c2479d8c12e506bb74ae068a21c89ba77f6937dc",
|
|
5
|
+
"revision": "sha256:f352354ca2e86d563cfd767830aa9c5aeab204de26401d3517824f8a45f54bdb",
|
|
6
6
|
"localeMessages": {
|
|
7
7
|
"CMD.approvedDocuments": {
|
|
8
8
|
"key": "CMD.approvedDocuments",
|
|
@@ -69799,6 +69799,9 @@
|
|
|
69799
69799
|
"triggerEdit": "trigger_edit",
|
|
69800
69800
|
"useCustomHeight": "use_custom_height"
|
|
69801
69801
|
},
|
|
69802
|
+
"absentRuntimeDefaults": {
|
|
69803
|
+
"labelPosition": "left"
|
|
69804
|
+
},
|
|
69802
69805
|
"settings": [
|
|
69803
69806
|
{
|
|
69804
69807
|
"key": "subtable-datasource-bind",
|
|
@@ -3,17 +3,99 @@ function _array_like_to_array(arr, len) {
|
|
|
3
3
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
4
|
return arr2;
|
|
5
5
|
}
|
|
6
|
+
function _array_with_holes(arr) {
|
|
7
|
+
if (Array.isArray(arr)) return arr;
|
|
8
|
+
}
|
|
6
9
|
function _array_without_holes(arr) {
|
|
7
10
|
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
8
11
|
}
|
|
12
|
+
function _define_property(obj, key, value) {
|
|
13
|
+
if (key in obj) {
|
|
14
|
+
Object.defineProperty(obj, key, {
|
|
15
|
+
value: value,
|
|
16
|
+
enumerable: true,
|
|
17
|
+
configurable: true,
|
|
18
|
+
writable: true
|
|
19
|
+
});
|
|
20
|
+
} else obj[key] = value;
|
|
21
|
+
return obj;
|
|
22
|
+
}
|
|
9
23
|
function _iterable_to_array(iter) {
|
|
10
24
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) {
|
|
11
25
|
return Array.from(iter);
|
|
12
26
|
}
|
|
13
27
|
}
|
|
28
|
+
function _iterable_to_array_limit(arr, i) {
|
|
29
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
30
|
+
if (_i == null) return;
|
|
31
|
+
var _arr = [];
|
|
32
|
+
var _n = true;
|
|
33
|
+
var _d = false;
|
|
34
|
+
var _s, _e;
|
|
35
|
+
try {
|
|
36
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
37
|
+
_arr.push(_s.value);
|
|
38
|
+
if (i && _arr.length === i) break;
|
|
39
|
+
}
|
|
40
|
+
} catch (err) {
|
|
41
|
+
_d = true;
|
|
42
|
+
_e = err;
|
|
43
|
+
} finally{
|
|
44
|
+
try {
|
|
45
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
46
|
+
} finally{
|
|
47
|
+
if (_d) throw _e;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return _arr;
|
|
51
|
+
}
|
|
52
|
+
function _non_iterable_rest() {
|
|
53
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
54
|
+
}
|
|
14
55
|
function _non_iterable_spread() {
|
|
15
56
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
16
57
|
}
|
|
58
|
+
function _object_spread(target) {
|
|
59
|
+
for(var i = 1; i < arguments.length; i++){
|
|
60
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
61
|
+
var ownKeys = Object.keys(source);
|
|
62
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
63
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
64
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
ownKeys.forEach(function(key) {
|
|
68
|
+
_define_property(target, key, source[key]);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return target;
|
|
72
|
+
}
|
|
73
|
+
function ownKeys(object, enumerableOnly) {
|
|
74
|
+
var keys = Object.keys(object);
|
|
75
|
+
if (Object.getOwnPropertySymbols) {
|
|
76
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
77
|
+
if (enumerableOnly) {
|
|
78
|
+
symbols = symbols.filter(function(sym) {
|
|
79
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
keys.push.apply(keys, symbols);
|
|
83
|
+
}
|
|
84
|
+
return keys;
|
|
85
|
+
}
|
|
86
|
+
function _object_spread_props(target, source) {
|
|
87
|
+
source = source != null ? source : {};
|
|
88
|
+
if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
89
|
+
else {
|
|
90
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
91
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
return target;
|
|
95
|
+
}
|
|
96
|
+
function _sliced_to_array(arr, i) {
|
|
97
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
98
|
+
}
|
|
17
99
|
function _to_consumable_array(arr) {
|
|
18
100
|
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
19
101
|
}
|
|
@@ -61,6 +143,111 @@ export function getControlSettingFacts(type) {
|
|
|
61
143
|
var _definitionsByType_get;
|
|
62
144
|
return clone(((_definitionsByType_get = definitionsByType.get(type)) === null || _definitionsByType_get === void 0 ? void 0 : _definitionsByType_get.settingFacts) || []);
|
|
63
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* 按保存键查询目标控件的实际属性支持事实。
|
|
148
|
+
*
|
|
149
|
+
* propsSchema 可能声明了工厂默认模型未实际物化的可选属性,因此必须同时命中
|
|
150
|
+
* propertyNameMap 与 defaultProps,才能作为控件切换时的能力证据。
|
|
151
|
+
*/ export function getControlSavedPropertyFact(type, savedPropertyKey) {
|
|
152
|
+
var _definition_absentRuntimeDefaults;
|
|
153
|
+
var definition = definitionsByType.get(type);
|
|
154
|
+
if (!definition) return undefined;
|
|
155
|
+
var propertyEntry = Object.entries(definition.propertyNameMap).find(function(param) {
|
|
156
|
+
var _param = _sliced_to_array(param, 2), savedKey = _param[1];
|
|
157
|
+
return savedKey === savedPropertyKey;
|
|
158
|
+
});
|
|
159
|
+
if (!propertyEntry) return undefined;
|
|
160
|
+
var _propertyEntry = _sliced_to_array(propertyEntry, 1), propertyKey = _propertyEntry[0];
|
|
161
|
+
if (!Object.prototype.hasOwnProperty.call(definition.defaultProps, propertyKey)) {
|
|
162
|
+
return undefined;
|
|
163
|
+
}
|
|
164
|
+
var defaultValue = definition.defaultProps[propertyKey];
|
|
165
|
+
// generated JSON 不允许 undefined;若产物被破坏则窄查询继续失败关闭。
|
|
166
|
+
if (defaultValue === undefined) return undefined;
|
|
167
|
+
var hasAbsentRuntimeValue = Object.prototype.hasOwnProperty.call(definition.absentRuntimeDefaults || {}, propertyKey);
|
|
168
|
+
var absentRuntimeValue = (_definition_absentRuntimeDefaults = definition.absentRuntimeDefaults) === null || _definition_absentRuntimeDefaults === void 0 ? void 0 : _definition_absentRuntimeDefaults[propertyKey];
|
|
169
|
+
// 声明为已登记却出现 undefined 说明生成物损坏,不能对外返回不完整事实。
|
|
170
|
+
if (hasAbsentRuntimeValue && absentRuntimeValue === undefined) return undefined;
|
|
171
|
+
return clone(_object_spread_props(_object_spread({
|
|
172
|
+
controlType: definition.type,
|
|
173
|
+
defaultValue: defaultValue
|
|
174
|
+
}, hasAbsentRuntimeValue ? {
|
|
175
|
+
absentRuntimeValue: absentRuntimeValue
|
|
176
|
+
} : {}), {
|
|
177
|
+
propertyKey: propertyKey,
|
|
178
|
+
savedPropertyKey: savedPropertyKey
|
|
179
|
+
}));
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* 解析一个保存属性的有效值,仅在 catalog 已登记历史缺失语义时补值。
|
|
183
|
+
*
|
|
184
|
+
* `null` 是显式 JSON 值,不能与缺失/undefined 混为一谈。调用方可传 camelCase
|
|
185
|
+
* 构造态或 snake_case 保存态 props,返回值始终指出公共构造属性名。
|
|
186
|
+
*/ export function resolveControlSavedPropertyValue(input) {
|
|
187
|
+
var fact = getControlSavedPropertyFact(input.controlType, input.savedPropertyKey);
|
|
188
|
+
if (!fact) return undefined;
|
|
189
|
+
for(var _i = 0, _iter = [
|
|
190
|
+
fact.propertyKey,
|
|
191
|
+
fact.savedPropertyKey
|
|
192
|
+
]; _i < _iter.length; _i++){
|
|
193
|
+
var key = _iter[_i];
|
|
194
|
+
var value = input.props[key];
|
|
195
|
+
if (Object.prototype.hasOwnProperty.call(input.props, key) && value !== undefined) {
|
|
196
|
+
return {
|
|
197
|
+
propertyKey: fact.propertyKey,
|
|
198
|
+
savedPropertyKey: fact.savedPropertyKey,
|
|
199
|
+
value: clone(value),
|
|
200
|
+
source: 'explicit'
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if (fact.absentRuntimeValue === undefined) return undefined;
|
|
205
|
+
return {
|
|
206
|
+
propertyKey: fact.propertyKey,
|
|
207
|
+
savedPropertyKey: fact.savedPropertyKey,
|
|
208
|
+
value: clone(fact.absentRuntimeValue),
|
|
209
|
+
source: 'absent_runtime_value'
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* 为 Designer 等构造态消费者补齐 Runtime 已核实的历史缺失语义。
|
|
214
|
+
*
|
|
215
|
+
* 未命中时保留原对象引用;命中时只浅拷贝 props 并写入公共属性名,不修改保存态原对象。
|
|
216
|
+
*/ export function applyControlRuntimeAbsentDefaults(controlType, props) {
|
|
217
|
+
var definition = definitionsByType.get(controlType);
|
|
218
|
+
if (!definition) return props;
|
|
219
|
+
var result = props;
|
|
220
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
221
|
+
try {
|
|
222
|
+
for(var _iterator = Object.entries(definition.absentRuntimeDefaults || {})[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
223
|
+
var _step_value = _sliced_to_array(_step.value, 2), propertyKey = _step_value[0], absentRuntimeValue = _step_value[1];
|
|
224
|
+
var savedPropertyKey = definition.propertyNameMap[propertyKey];
|
|
225
|
+
if (!savedPropertyKey) continue;
|
|
226
|
+
var resolved = resolveControlSavedPropertyValue({
|
|
227
|
+
controlType: controlType,
|
|
228
|
+
savedPropertyKey: savedPropertyKey,
|
|
229
|
+
props: props
|
|
230
|
+
});
|
|
231
|
+
if (!resolved || resolved.source !== 'absent_runtime_value') continue;
|
|
232
|
+
if (result === props) result = _object_spread({}, props);
|
|
233
|
+
result[propertyKey] = clone(absentRuntimeValue);
|
|
234
|
+
}
|
|
235
|
+
} catch (err) {
|
|
236
|
+
_didIteratorError = true;
|
|
237
|
+
_iteratorError = err;
|
|
238
|
+
} finally{
|
|
239
|
+
try {
|
|
240
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
241
|
+
_iterator.return();
|
|
242
|
+
}
|
|
243
|
+
} finally{
|
|
244
|
+
if (_didIteratorError) {
|
|
245
|
+
throw _iteratorError;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return result;
|
|
250
|
+
}
|
|
64
251
|
/** headless 按稳定 key 窄查消息事实,避免复制整份 catalog。 */ export function getControlLocaleMessageFact(key) {
|
|
65
252
|
var fact = catalog.localeMessages[key];
|
|
66
253
|
return fact ? clone(fact) : undefined;
|
|
@@ -362,6 +362,12 @@ var SubTableControlProperty = /*#__PURE__*/ function(ListControlProperty) {
|
|
|
362
362
|
return SubTableControlProperty;
|
|
363
363
|
}(ListControlProperty);
|
|
364
364
|
_define_property(SubTableControlProperty, "Rules", SubTableControlPropertyRules);
|
|
365
|
+
/**
|
|
366
|
+
* 历史页面未保存 label_position 时,Runtime 一直按左右布局解释。
|
|
367
|
+
* 新建控件仍使用构造器中的 top;catalog 将两类语义分开发布,供 Designer 对齐历史运行态。
|
|
368
|
+
*/ _define_property(SubTableControlProperty, "catalogAbsentRuntimeDefaults", {
|
|
369
|
+
labelPosition: 'left'
|
|
370
|
+
});
|
|
365
371
|
_define_property(SubTableControlProperty, "RuntimeRules", SubtableControlRuntimeRules);
|
|
366
372
|
export default SubTableControlProperty;
|
|
367
373
|
export { SubTableControlProperty, SubTableControlPropertyRules, SubtableControlRuntimeRules, };
|