@byteluck-fe/model-driven-controls 7.1.0-beta.2 → 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 +1 -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 +130 -3
- package/dist/esm/listControls/SubTable/property.js +6 -0
- package/dist/index.umd.js +4 -4
- package/dist/types/catalog/query.d.ts +19 -1
- package/dist/types/catalog/types.d.ts +15 -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",
|
|
@@ -9,6 +9,17 @@ function _array_with_holes(arr) {
|
|
|
9
9
|
function _array_without_holes(arr) {
|
|
10
10
|
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
11
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
|
+
}
|
|
12
23
|
function _iterable_to_array(iter) {
|
|
13
24
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) {
|
|
14
25
|
return Array.from(iter);
|
|
@@ -44,6 +55,44 @@ function _non_iterable_rest() {
|
|
|
44
55
|
function _non_iterable_spread() {
|
|
45
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.");
|
|
46
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
|
+
}
|
|
47
96
|
function _sliced_to_array(arr, i) {
|
|
48
97
|
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
49
98
|
}
|
|
@@ -100,6 +149,7 @@ export function getControlSettingFacts(type) {
|
|
|
100
149
|
* propsSchema 可能声明了工厂默认模型未实际物化的可选属性,因此必须同时命中
|
|
101
150
|
* propertyNameMap 与 defaultProps,才能作为控件切换时的能力证据。
|
|
102
151
|
*/ export function getControlSavedPropertyFact(type, savedPropertyKey) {
|
|
152
|
+
var _definition_absentRuntimeDefaults;
|
|
103
153
|
var definition = definitionsByType.get(type);
|
|
104
154
|
if (!definition) return undefined;
|
|
105
155
|
var propertyEntry = Object.entries(definition.propertyNameMap).find(function(param) {
|
|
@@ -114,12 +164,89 @@ export function getControlSettingFacts(type) {
|
|
|
114
164
|
var defaultValue = definition.defaultProps[propertyKey];
|
|
115
165
|
// generated JSON 不允许 undefined;若产物被破坏则窄查询继续失败关闭。
|
|
116
166
|
if (defaultValue === undefined) return undefined;
|
|
117
|
-
|
|
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({
|
|
118
172
|
controlType: definition.type,
|
|
119
|
-
defaultValue: defaultValue
|
|
173
|
+
defaultValue: defaultValue
|
|
174
|
+
}, hasAbsentRuntimeValue ? {
|
|
175
|
+
absentRuntimeValue: absentRuntimeValue
|
|
176
|
+
} : {}), {
|
|
120
177
|
propertyKey: propertyKey,
|
|
121
178
|
savedPropertyKey: savedPropertyKey
|
|
122
|
-
});
|
|
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;
|
|
123
250
|
}
|
|
124
251
|
/** headless 按稳定 key 窄查消息事实,避免复制整份 catalog。 */ export function getControlLocaleMessageFact(key) {
|
|
125
252
|
var fact = catalog.localeMessages[key];
|
|
@@ -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, };
|