amis-core 3.0.0 → 3.1.0
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/esm/Root.d.ts +89 -4
- package/esm/Root.js +15 -4
- package/esm/RootRenderer.d.ts +3 -1
- package/esm/RootRenderer.js +9 -3
- package/esm/SchemaRenderer.d.ts +3 -2
- package/esm/SchemaRenderer.js +26 -20
- package/esm/Scoped.d.ts +8 -0
- package/esm/Scoped.js +20 -5
- package/esm/StatusScoped.d.ts +58 -0
- package/esm/StatusScoped.js +54 -0
- package/esm/WithRootStore.d.ts +2 -2
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +6 -2
- package/esm/actions/Action.d.ts +1 -0
- package/esm/actions/Action.js +12 -4
- package/esm/actions/AjaxAction.js +1 -1
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.js +1 -1
- package/esm/actions/CmptAction.js +8 -7
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +1 -1
- package/esm/actions/CustomAction.js +4 -4
- package/esm/actions/DialogAction.d.ts +16 -2
- package/esm/actions/DialogAction.js +19 -7
- package/esm/actions/DrawerAction.js +1 -1
- package/esm/actions/EmailAction.js +1 -1
- package/esm/actions/LinkAction.js +1 -1
- package/esm/actions/LoopAction.js +1 -1
- package/esm/actions/PageAction.js +1 -1
- package/esm/actions/ParallelAction.js +1 -1
- package/esm/actions/SwitchAction.js +1 -1
- package/esm/actions/ToastAction.js +1 -1
- package/esm/components/CustomStyle.d.ts +13 -0
- package/esm/components/CustomStyle.js +18 -0
- package/esm/components/LazyComponent.d.ts +1 -1
- package/esm/components/LazyComponent.js +1 -1
- package/esm/components/Overlay.d.ts +1 -1
- package/esm/components/Overlay.js +1 -1
- package/esm/components/PopOver.d.ts +2 -2
- package/esm/components/PopOver.js +1 -1
- package/esm/env.d.ts +10 -2
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -5
- package/esm/factory.d.ts +3 -2
- package/esm/factory.js +1 -1
- package/esm/index.d.ts +4 -2
- package/esm/index.js +49 -28
- package/esm/locale.d.ts +2 -2
- package/esm/locale.js +10 -3
- package/esm/renderers/Form.d.ts +2 -1
- package/esm/renderers/Form.js +216 -180
- package/esm/renderers/Item.d.ts +55 -41
- package/esm/renderers/Item.js +24 -16
- package/esm/renderers/Options.js +9 -2
- package/esm/renderers/Placeholder.js +1 -1
- package/esm/renderers/builtin.js +1 -1
- package/esm/renderers/register.js +1 -1
- package/esm/renderers/wrapControl.d.ts +2 -2
- package/esm/renderers/wrapControl.js +13 -16
- package/esm/store/app.d.ts +1 -0
- package/esm/store/app.js +1 -1
- package/esm/store/combo.d.ts +3 -0
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +2 -0
- package/esm/store/crud.js +12 -4
- package/esm/store/form.d.ts +1 -0
- package/esm/store/form.js +10 -4
- package/esm/store/formItem.js +1 -1
- package/esm/store/iRenderer.d.ts +1 -0
- package/esm/store/iRenderer.js +54 -13
- package/esm/store/index.js +1 -1
- package/esm/store/list.d.ts +1 -0
- package/esm/store/list.js +7 -3
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.d.ts +1 -0
- package/esm/store/modal.js +1 -1
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.d.ts +1 -0
- package/esm/store/pagination.js +1 -1
- package/esm/store/root.d.ts +4 -6
- package/esm/store/root.js +53 -24
- package/esm/store/service.d.ts +1 -0
- package/esm/store/service.js +1 -1
- package/esm/store/status.d.ts +12 -0
- package/esm/store/status.js +38 -0
- package/esm/store/table.d.ts +4 -0
- package/esm/store/table.js +10 -2
- package/esm/store/table2.d.ts +2 -1
- package/esm/store/table2.js +6 -6
- package/esm/theme.d.ts +1 -1
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +1 -1
- package/esm/utils/Animation.js +1 -1
- package/esm/utils/ColorScale.js +1 -1
- package/esm/utils/DataSchema.js +1 -1
- package/esm/utils/DataScope.d.ts +3 -5
- package/esm/utils/DataScope.js +88 -31
- package/esm/utils/RootClose.js +1 -1
- package/esm/utils/SimpleMap.js +1 -1
- package/esm/utils/api.js +6 -4
- package/esm/utils/attachmentAdpator.js +2 -2
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/dataMapping.js +1 -1
- package/esm/utils/date.d.ts +7 -0
- package/esm/utils/date.js +34 -2
- package/esm/utils/debug.js +1 -1
- package/esm/utils/decodeEntity.js +1 -1
- package/esm/utils/dom.d.ts +2 -1
- package/esm/utils/dom.js +1 -1
- package/esm/utils/errors.js +1 -1
- package/esm/utils/escapeHtml.js +1 -1
- package/esm/utils/filter-schema.js +1 -1
- package/esm/utils/filter.js +1 -1
- package/esm/utils/formatDuration.js +1 -1
- package/esm/utils/formula.js +1 -1
- package/esm/utils/getVariable.js +1 -1
- package/esm/utils/grammar.js +3 -3
- package/esm/utils/handleAction.js +1 -1
- package/esm/utils/helper.d.ts +2 -2
- package/esm/utils/helper.js +25 -18
- package/esm/utils/highlight.js +1 -1
- package/esm/utils/icon.d.ts +1 -1
- package/esm/utils/icon.js +1 -1
- package/esm/utils/image.js +1 -1
- package/esm/utils/isPureVariable.js +3 -3
- package/esm/utils/json-schema-2-amis-schema.js +1 -1
- package/esm/utils/keyToPath.js +1 -1
- package/esm/utils/makeSorter.js +1 -1
- package/esm/utils/memoryParse.d.ts +17 -0
- package/esm/utils/memoryParse.js +26 -0
- package/esm/utils/normalizeLink.js +1 -1
- package/esm/utils/normalizeOptions.js +4 -2
- package/esm/utils/object.d.ts +2 -0
- package/esm/utils/object.js +27 -2
- package/esm/utils/offset.js +1 -1
- package/esm/utils/offsetParent.js +1 -1
- package/esm/utils/optionValueCompare.js +1 -1
- package/esm/utils/position.js +1 -1
- package/esm/utils/prettyBytes.js +1 -1
- package/esm/utils/renderer-event.js +1 -1
- package/esm/utils/replaceText.js +1 -1
- package/esm/utils/resize-sensor.js +1 -1
- package/esm/utils/resolveCondition.js +1 -1
- package/esm/utils/resolveVariable.js +4 -3
- package/esm/utils/resolveVariableAndFilter.js +1 -1
- package/esm/utils/resolveVariableAndFilterForAsync.js +5 -4
- package/esm/utils/scrollPosition.js +1 -1
- package/esm/utils/string2regExp.js +1 -1
- package/esm/utils/stripNumber.js +1 -1
- package/esm/utils/style-helper.d.ts +5 -2
- package/esm/utils/style-helper.js +18 -6
- package/esm/utils/style.js +1 -1
- package/esm/utils/toNumber.js +1 -1
- package/esm/utils/tokenize.d.ts +0 -1
- package/esm/utils/tokenize.js +3 -34
- package/esm/utils/tpl-builtin.js +5 -3
- package/esm/utils/tpl-lodash.js +1 -1
- package/esm/utils/tpl.js +1 -1
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validations.js +1 -1
- package/lib/Root.d.ts +89 -4
- package/lib/Root.js +15 -4
- package/lib/RootRenderer.d.ts +3 -1
- package/lib/RootRenderer.js +8 -2
- package/lib/SchemaRenderer.d.ts +3 -2
- package/lib/SchemaRenderer.js +26 -20
- package/lib/Scoped.d.ts +8 -0
- package/lib/Scoped.js +20 -4
- package/lib/StatusScoped.d.ts +58 -0
- package/lib/StatusScoped.js +63 -0
- package/lib/WithRootStore.d.ts +2 -2
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +6 -2
- package/lib/actions/Action.d.ts +1 -0
- package/lib/actions/Action.js +12 -4
- package/lib/actions/AjaxAction.js +1 -1
- package/lib/actions/BreakAction.js +1 -1
- package/lib/actions/BroadcastAction.js +1 -1
- package/lib/actions/CmptAction.js +8 -7
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +1 -1
- package/lib/actions/CustomAction.js +4 -4
- package/lib/actions/DialogAction.d.ts +16 -2
- package/lib/actions/DialogAction.js +19 -7
- package/lib/actions/DrawerAction.js +1 -1
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/LinkAction.js +1 -1
- package/lib/actions/LoopAction.js +1 -1
- package/lib/actions/PageAction.js +1 -1
- package/lib/actions/ParallelAction.js +1 -1
- package/lib/actions/SwitchAction.js +1 -1
- package/lib/actions/ToastAction.js +1 -1
- package/lib/components/CustomStyle.d.ts +13 -0
- package/lib/components/CustomStyle.js +22 -0
- package/lib/components/LazyComponent.d.ts +1 -1
- package/lib/components/LazyComponent.js +1 -1
- package/lib/components/Overlay.d.ts +1 -1
- package/lib/components/Overlay.js +1 -1
- package/lib/components/PopOver.d.ts +2 -2
- package/lib/components/PopOver.js +1 -1
- package/lib/env.d.ts +10 -2
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -5
- package/lib/factory.d.ts +3 -2
- package/lib/factory.js +1 -1
- package/lib/index.d.ts +4 -2
- package/lib/index.js +50 -24
- package/lib/locale.d.ts +2 -2
- package/lib/locale.js +10 -3
- package/lib/renderers/Form.d.ts +2 -1
- package/lib/renderers/Form.js +215 -179
- package/lib/renderers/Item.d.ts +55 -41
- package/lib/renderers/Item.js +24 -16
- package/lib/renderers/Options.js +9 -2
- package/lib/renderers/Placeholder.js +1 -1
- package/lib/renderers/builtin.js +1 -1
- package/lib/renderers/register.js +1 -1
- package/lib/renderers/wrapControl.d.ts +2 -2
- package/lib/renderers/wrapControl.js +12 -15
- package/lib/store/app.d.ts +1 -0
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +3 -0
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +2 -0
- package/lib/store/crud.js +12 -4
- package/lib/store/form.d.ts +1 -0
- package/lib/store/form.js +10 -4
- package/lib/store/formItem.js +1 -1
- package/lib/store/iRenderer.d.ts +1 -0
- package/lib/store/iRenderer.js +53 -12
- package/lib/store/index.js +1 -1
- package/lib/store/list.d.ts +1 -0
- package/lib/store/list.js +7 -3
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.d.ts +1 -0
- package/lib/store/modal.js +1 -1
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.d.ts +1 -0
- package/lib/store/pagination.js +1 -1
- package/lib/store/root.d.ts +4 -6
- package/lib/store/root.js +52 -23
- package/lib/store/service.d.ts +1 -0
- package/lib/store/service.js +1 -1
- package/lib/store/status.d.ts +12 -0
- package/lib/store/status.js +42 -0
- package/lib/store/table.d.ts +4 -0
- package/lib/store/table.js +10 -2
- package/lib/store/table2.d.ts +2 -1
- package/lib/store/table2.js +6 -6
- package/lib/theme.d.ts +1 -1
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/utils/Animation.js +1 -1
- package/lib/utils/ColorScale.js +1 -1
- package/lib/utils/DataSchema.js +1 -1
- package/lib/utils/DataScope.d.ts +3 -5
- package/lib/utils/DataScope.js +86 -29
- package/lib/utils/RootClose.js +1 -1
- package/lib/utils/SimpleMap.js +1 -1
- package/lib/utils/api.js +5 -3
- package/lib/utils/attachmentAdpator.js +2 -2
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.d.ts +7 -0
- package/lib/utils/date.js +34 -1
- package/lib/utils/debug.js +1 -1
- package/lib/utils/decodeEntity.js +1 -1
- package/lib/utils/dom.d.ts +2 -1
- package/lib/utils/dom.js +1 -1
- package/lib/utils/errors.js +1 -1
- package/lib/utils/escapeHtml.js +1 -1
- package/lib/utils/filter-schema.js +1 -1
- package/lib/utils/filter.js +1 -1
- package/lib/utils/formatDuration.js +1 -1
- package/lib/utils/formula.js +1 -1
- package/lib/utils/getVariable.js +1 -1
- package/lib/utils/grammar.js +3 -3
- package/lib/utils/handleAction.js +1 -1
- package/lib/utils/helper.d.ts +2 -2
- package/lib/utils/helper.js +25 -18
- package/lib/utils/highlight.js +1 -1
- package/lib/utils/icon.d.ts +1 -1
- package/lib/utils/icon.js +1 -1
- package/lib/utils/image.js +1 -1
- package/lib/utils/isPureVariable.js +3 -3
- package/lib/utils/json-schema-2-amis-schema.js +1 -1
- package/lib/utils/keyToPath.js +1 -1
- package/lib/utils/makeSorter.js +1 -1
- package/lib/utils/memoryParse.d.ts +17 -0
- package/lib/utils/memoryParse.js +30 -0
- package/lib/utils/normalizeLink.js +1 -1
- package/lib/utils/normalizeOptions.js +4 -2
- package/lib/utils/object.d.ts +2 -0
- package/lib/utils/object.js +28 -1
- package/lib/utils/offset.js +1 -1
- package/lib/utils/offsetParent.js +1 -1
- package/lib/utils/optionValueCompare.js +1 -1
- package/lib/utils/position.js +1 -1
- package/lib/utils/prettyBytes.js +1 -1
- package/lib/utils/renderer-event.js +1 -1
- package/lib/utils/replaceText.js +1 -1
- package/lib/utils/resize-sensor.js +1 -1
- package/lib/utils/resolveCondition.js +1 -1
- package/lib/utils/resolveVariable.js +3 -2
- package/lib/utils/resolveVariableAndFilter.js +1 -1
- package/lib/utils/resolveVariableAndFilterForAsync.js +4 -3
- package/lib/utils/scrollPosition.js +1 -1
- package/lib/utils/string2regExp.js +1 -1
- package/lib/utils/stripNumber.js +1 -1
- package/lib/utils/style-helper.d.ts +5 -2
- package/lib/utils/style-helper.js +18 -6
- package/lib/utils/style.js +1 -1
- package/lib/utils/toNumber.js +1 -1
- package/lib/utils/tokenize.d.ts +0 -1
- package/lib/utils/tokenize.js +1 -33
- package/lib/utils/tpl-builtin.js +4 -2
- package/lib/utils/tpl-lodash.js +1 -1
- package/lib/utils/tpl.js +1 -1
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validations.js +1 -1
- package/package.json +3 -3
package/esm/utils/DataScope.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.1.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { __values, __assign } from 'tslib';
|
|
7
|
-
import { guid } from './helper.js';
|
|
6
|
+
import { __values, __assign, __spreadArray, __read } from 'tslib';
|
|
7
|
+
import { guid, mapTree } from './helper.js';
|
|
8
8
|
import { keyToPath } from './keyToPath.js';
|
|
9
9
|
|
|
10
10
|
var DataScope = /** @class */ (function () {
|
|
@@ -76,26 +76,89 @@ var DataScope = /** @class */ (function () {
|
|
|
76
76
|
}
|
|
77
77
|
return false;
|
|
78
78
|
};
|
|
79
|
+
DataScope.prototype.assignSchema = function (target, schema) {
|
|
80
|
+
var e_2, _a;
|
|
81
|
+
// key相同,type也相同
|
|
82
|
+
if (target.type && target.type === schema.type) {
|
|
83
|
+
if (target.type === 'array') {
|
|
84
|
+
// 先只考虑items,不考虑contains
|
|
85
|
+
if (target.items) {
|
|
86
|
+
if (Array.isArray(target.items)) {
|
|
87
|
+
if (schema.items) {
|
|
88
|
+
if (Array.isArray(schema.items)) {
|
|
89
|
+
// 如果都是数组,就后者覆盖前者
|
|
90
|
+
return schema.items;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
// 否则,追加
|
|
94
|
+
return __assign(__assign({}, target), { items: __spreadArray(__spreadArray([], __read(target.items), false), [schema.items], false) });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return __assign(__assign({}, target), schema);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// 非数组,则merge
|
|
103
|
+
return __assign(__assign({}, target), { items: this.assignSchema(target.items, schema.items) });
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
return schema;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else if (target.type === 'object' && target.properties) {
|
|
111
|
+
var properties = {};
|
|
112
|
+
try {
|
|
113
|
+
// 合并属性
|
|
114
|
+
for (var _b = __values(Array.from(new Set(__spreadArray(__spreadArray([], __read(Object.keys(target.properties)), false), __read(Object.keys(schema.properties)), false)))), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
115
|
+
var key = _c.value;
|
|
116
|
+
var value = target.properties[key];
|
|
117
|
+
if (value) {
|
|
118
|
+
properties[key] = schema.properties[key]
|
|
119
|
+
? this.assignSchema(value, schema.properties[key])
|
|
120
|
+
: value;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
properties[key] = schema.properties[key];
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
128
|
+
finally {
|
|
129
|
+
try {
|
|
130
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
131
|
+
}
|
|
132
|
+
finally { if (e_2) throw e_2.error; }
|
|
133
|
+
}
|
|
134
|
+
return __assign(__assign({}, target), { properties: properties });
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
return schema;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
// key相同、type不同
|
|
142
|
+
if (Array.isArray(target.oneOf)) {
|
|
143
|
+
return __assign(__assign({}, target), { oneOf: __spreadArray(__spreadArray([], __read(target.oneOf), false), [schema], false) });
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
return __assign(__assign({}, target), { oneOf: [target, schema] });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
79
150
|
DataScope.prototype.getMergedSchema = function () {
|
|
151
|
+
var _this = this;
|
|
80
152
|
var mergedSchema = {
|
|
81
153
|
type: 'object',
|
|
82
154
|
properties: {}
|
|
83
155
|
};
|
|
84
|
-
// todo 以后再来细化这一块,先粗略的写个大概
|
|
85
156
|
this.schemas.forEach(function (schema) {
|
|
86
157
|
var properties = schema.properties || {};
|
|
87
158
|
Object.keys(properties).forEach(function (key) {
|
|
88
159
|
var value = properties[key];
|
|
89
160
|
if (mergedSchema.properties[key]) {
|
|
90
|
-
|
|
91
|
-
mergedSchema.properties[key].oneOf.push();
|
|
92
|
-
}
|
|
93
|
-
else if (mergedSchema.properties[key].type &&
|
|
94
|
-
mergedSchema.properties[key].type !== value.type) {
|
|
95
|
-
mergedSchema.properties[key] = {
|
|
96
|
-
oneOf: [mergedSchema.properties[key], value]
|
|
97
|
-
};
|
|
98
|
-
}
|
|
161
|
+
mergedSchema.properties[key] = _this.assignSchema(mergedSchema.properties[key], value);
|
|
99
162
|
}
|
|
100
163
|
else {
|
|
101
164
|
mergedSchema.properties[key] = value;
|
|
@@ -104,23 +167,17 @@ var DataScope = /** @class */ (function () {
|
|
|
104
167
|
});
|
|
105
168
|
return mergedSchema;
|
|
106
169
|
};
|
|
107
|
-
DataScope.prototype.buildOptions = function (options, schema, path, key
|
|
108
|
-
/** 是否数组元素,数组元素的内容将获取每个成员的对应值 */
|
|
109
|
-
isArrayItem,
|
|
110
|
-
/** 不是所有的都可以选择,但不影响子元素 */
|
|
111
|
-
disabled) {
|
|
170
|
+
DataScope.prototype.buildOptions = function (options, schema, path, key) {
|
|
112
171
|
var _this = this;
|
|
113
172
|
var _a;
|
|
114
173
|
if (path === void 0) { path = ''; }
|
|
115
174
|
if (key === void 0) { key = ''; }
|
|
116
|
-
if (isArrayItem === void 0) { isArrayItem = false; }
|
|
117
175
|
// todo 支持 oneOf, anyOf
|
|
118
176
|
var option = {
|
|
119
177
|
label: schema.title || key,
|
|
120
178
|
value: path,
|
|
121
179
|
type: schema.type,
|
|
122
|
-
tag: (_a = schema.description) !== null && _a !== void 0 ? _a : schema.type
|
|
123
|
-
disabled: disabled
|
|
180
|
+
tag: (_a = schema.description) !== null && _a !== void 0 ? _a : schema.type
|
|
124
181
|
};
|
|
125
182
|
options.push(option);
|
|
126
183
|
if (schema.type === 'object' && schema.properties) {
|
|
@@ -128,17 +185,13 @@ var DataScope = /** @class */ (function () {
|
|
|
128
185
|
var keys = Object.keys(schema.properties);
|
|
129
186
|
keys.forEach(function (key) {
|
|
130
187
|
var child = schema.properties[key];
|
|
131
|
-
|
|
132
|
-
_this.buildOptions(option.children, child, newPath, key, isArrayItem, false);
|
|
188
|
+
_this.buildOptions(option.children, child, path + (path ? '.' : '') + key, key);
|
|
133
189
|
});
|
|
134
190
|
}
|
|
135
191
|
else if (schema.type === 'array' && schema.items) {
|
|
136
192
|
option.children = [];
|
|
137
|
-
this.buildOptions(option.children, __assign({ title: '成员' }, schema.items), path, 'items'
|
|
138
|
-
|
|
139
|
-
title: '总数',
|
|
140
|
-
type: 'number'
|
|
141
|
-
}, path + (path ? '.' : '') + 'length', 'length', true, isArrayItem);
|
|
193
|
+
this.buildOptions(option.children, __assign(__assign({ title: '成员' }, schema.items), { disabled: true }), path, 'items');
|
|
194
|
+
option.children = mapTree(option.children, function (item) { return (__assign(__assign({}, item), { disabled: true })); });
|
|
142
195
|
}
|
|
143
196
|
};
|
|
144
197
|
DataScope.prototype.getDataPropsAsOptions = function () {
|
|
@@ -147,7 +200,7 @@ var DataScope = /** @class */ (function () {
|
|
|
147
200
|
return variables[0].children;
|
|
148
201
|
};
|
|
149
202
|
DataScope.prototype.getSchemaByPath = function (path) {
|
|
150
|
-
var
|
|
203
|
+
var e_3, _a;
|
|
151
204
|
var parts = keyToPath(path);
|
|
152
205
|
try {
|
|
153
206
|
for (var _b = __values(this.schemas), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
@@ -163,15 +216,19 @@ var DataScope = /** @class */ (function () {
|
|
|
163
216
|
}
|
|
164
217
|
}
|
|
165
218
|
}
|
|
166
|
-
catch (
|
|
219
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
167
220
|
finally {
|
|
168
221
|
try {
|
|
169
222
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
170
223
|
}
|
|
171
|
-
finally { if (
|
|
224
|
+
finally { if (e_3) throw e_3.error; }
|
|
172
225
|
}
|
|
173
226
|
return null;
|
|
174
227
|
};
|
|
228
|
+
DataScope.prototype.getSchemaById = function (id) {
|
|
229
|
+
var _a;
|
|
230
|
+
return (_a = this.schemas) === null || _a === void 0 ? void 0 : _a.find(function (item) { return item.$id === id; });
|
|
231
|
+
};
|
|
175
232
|
return DataScope;
|
|
176
233
|
}());
|
|
177
234
|
|
package/esm/utils/RootClose.js
CHANGED
package/esm/utils/SimpleMap.js
CHANGED
package/esm/utils/api.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.1.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { __awaiter, __generator, __assign, __rest, __spreadArray, __read } from 'tslib';
|
|
7
7
|
import omit from 'lodash/omit';
|
|
8
|
-
import {
|
|
8
|
+
import { evaluate } from 'amis-formula';
|
|
9
9
|
import { escapeHtml } from './escapeHtml.js';
|
|
10
10
|
import 'moment';
|
|
11
11
|
import { cloneObject, createObject, isObject } from './object.js';
|
|
12
12
|
import { tokenize } from './tokenize.js';
|
|
13
|
+
import { memoryParse } from './memoryParse.js';
|
|
13
14
|
import { dataMapping } from './dataMapping.js';
|
|
14
15
|
import './filter.js';
|
|
15
16
|
import { evalExpression } from './tpl.js';
|
|
@@ -63,7 +64,7 @@ function buildApi(api, data, options) {
|
|
|
63
64
|
var raw = (api.url = api.url || '');
|
|
64
65
|
var ast = undefined;
|
|
65
66
|
try {
|
|
66
|
-
ast =
|
|
67
|
+
ast = memoryParse(api.url);
|
|
67
68
|
}
|
|
68
69
|
catch (e) {
|
|
69
70
|
console.warn("api \u914D\u7F6E\u8BED\u6CD5\u51FA\u9519\uFF1A".concat(e));
|
|
@@ -257,7 +258,8 @@ function responseAdaptor(ret, api) {
|
|
|
257
258
|
// 如果是文本类型就尝试解析一下
|
|
258
259
|
if (ret.headers &&
|
|
259
260
|
contentType.startsWith('text/') &&
|
|
260
|
-
!contentType.includes('markdown')
|
|
261
|
+
!contentType.includes('markdown') &&
|
|
262
|
+
api.responseType !== 'blob') {
|
|
261
263
|
try {
|
|
262
264
|
data = JSON.parse(data);
|
|
263
265
|
if (typeof data === 'undefined') {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.1.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -18,7 +18,7 @@ function attachmentAdpator(response, __) {
|
|
|
18
18
|
if (disposition && disposition.indexOf('attachment') !== -1) {
|
|
19
19
|
// disposition 有可能是 attachment; filename="??.xlsx"; filename*=UTF-8''%E4%B8%AD%E6%96%87.xlsx
|
|
20
20
|
// 这种情况下最后一个才是正确的文件名
|
|
21
|
-
var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)
|
|
21
|
+
var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
|
|
22
22
|
var matches = disposition.match(filenameRegex);
|
|
23
23
|
if (matches && matches.length) {
|
|
24
24
|
filename = matches[1].replace("UTF-8''", '').replace(/['"]/g, '');
|
package/esm/utils/autobind.js
CHANGED
package/esm/utils/dataMapping.js
CHANGED
package/esm/utils/date.d.ts
CHANGED
|
@@ -2,3 +2,10 @@ import moment from 'moment';
|
|
|
2
2
|
export declare const relativeValueRe: RegExp;
|
|
3
3
|
export declare const filterDate: (value: string, data?: object, format?: string, utc?: boolean) => moment.Moment;
|
|
4
4
|
export declare function parseDuration(str: string): moment.Duration | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* 解析日期,先尝试用 format 解析,如果失败,再尝试用其他标准格式解析
|
|
7
|
+
* @param value
|
|
8
|
+
* @param format
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export declare function normalizeDate(value: any, format?: string): moment.Moment | undefined;
|
package/esm/utils/date.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.1.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -76,5 +76,37 @@ function parseDuration(str) {
|
|
|
76
76
|
}
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* 解析日期,先尝试用 format 解析,如果失败,再尝试用其他标准格式解析
|
|
81
|
+
* @param value
|
|
82
|
+
* @param format
|
|
83
|
+
* @returns
|
|
84
|
+
*/
|
|
85
|
+
function normalizeDate(value, format) {
|
|
86
|
+
if (!value || value === '0') {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
var v = moment(value, format, true);
|
|
90
|
+
if (v.isValid()) {
|
|
91
|
+
return v;
|
|
92
|
+
}
|
|
93
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
94
|
+
var formats = ['', 'YYYY-MM-DD HH:mm:ss', 'X'];
|
|
95
|
+
if (/^\d{10}((\.\d+)*)$/.test(value.toString())) {
|
|
96
|
+
formats = ['X', 'x', 'YYYY-MM-DD HH:mm:ss', ''];
|
|
97
|
+
}
|
|
98
|
+
else if (/^\d{13}((\.\d+)*)$/.test(value.toString())) {
|
|
99
|
+
formats = ['x', 'X', 'YYYY-MM-DD HH:mm:ss', ''];
|
|
100
|
+
}
|
|
101
|
+
while (formats.length) {
|
|
102
|
+
var format_1 = formats.shift();
|
|
103
|
+
var date = moment(value, format_1);
|
|
104
|
+
if (date.isValid()) {
|
|
105
|
+
return date;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
79
111
|
|
|
80
|
-
export { filterDate, parseDuration, relativeValueRe };
|
|
112
|
+
export { filterDate, normalizeDate, parseDuration, relativeValueRe };
|
package/esm/utils/debug.js
CHANGED
package/esm/utils/dom.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
export declare function getContainer(container: any, defaultContainer: any): any;
|
|
2
3
|
export declare function ownerDocument(componentOrElement: any): Document;
|
|
3
4
|
export declare function calculatePosition(placement: any, overlayNode: any, target: HTMLElement, container: any, padding?: any, customOffset?: [number, number]): {
|
|
@@ -12,4 +13,4 @@ export declare function calculatePosition(placement: any, overlayNode: any, targ
|
|
|
12
13
|
*/
|
|
13
14
|
export declare function getStyleNumber(element: HTMLElement, styleName: string): number;
|
|
14
15
|
/** 根据关键字高亮显示文本内容 */
|
|
15
|
-
export declare function renderTextByKeyword(rendererText: string, curKeyword: string): string | JSX.Element;
|
|
16
|
+
export declare function renderTextByKeyword(rendererText: string, curKeyword: string): string | React.JSX.Element;
|
package/esm/utils/dom.js
CHANGED
package/esm/utils/errors.js
CHANGED
package/esm/utils/escapeHtml.js
CHANGED
package/esm/utils/filter.js
CHANGED
package/esm/utils/formula.js
CHANGED
package/esm/utils/getVariable.js
CHANGED
package/esm/utils/grammar.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.1.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { memoryParse } from './memoryParse.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @file 公式语法解析
|
|
@@ -32,7 +32,7 @@ function collectVariables(strOrAst, execMode) {
|
|
|
32
32
|
return COLLECT_EXPRESSION_CACHE[strOrAst];
|
|
33
33
|
}
|
|
34
34
|
var ast = typeof strOrAst === 'string'
|
|
35
|
-
?
|
|
35
|
+
? memoryParse(strOrAst, {
|
|
36
36
|
evalMode: execMode !== null && execMode !== void 0 ? execMode : false
|
|
37
37
|
})
|
|
38
38
|
: strOrAst;
|
package/esm/utils/helper.d.ts
CHANGED
|
@@ -131,7 +131,7 @@ export interface TreeArray extends Array<TreeItem> {
|
|
|
131
131
|
* @param {Function} iterator 处理函数,返回的数据会被替换成新的。
|
|
132
132
|
* @return {Tree} 返回处理过的 tree
|
|
133
133
|
*/
|
|
134
|
-
export declare function mapTree<T extends TreeItem>(tree: Array<T>, iterator: (item: T, key: number, level: number, paths: Array<T>) => T, level?: number, depthFirst?: boolean, paths?: Array<T>): any[];
|
|
134
|
+
export declare function mapTree<T extends TreeItem>(tree: Array<T>, iterator: (item: T, key: number, level: number, paths: Array<T>, indexes: Array<number>) => T, level?: number, depthFirst?: boolean, paths?: Array<T>, indexes?: Array<number>): any[];
|
|
135
135
|
/**
|
|
136
136
|
* 遍历树
|
|
137
137
|
* @param tree
|
|
@@ -163,7 +163,7 @@ export declare function getTree<T extends TreeItem>(tree: Array<T>, idx: Array<n
|
|
|
163
163
|
* @param tree
|
|
164
164
|
* @param iterator
|
|
165
165
|
*/
|
|
166
|
-
export declare function filterTree<T extends TreeItem>(tree: Array<T>, iterator: (item: T, key: number, level: number) => any, level?: number, depthFirst?: boolean): T[];
|
|
166
|
+
export declare function filterTree<T extends TreeItem>(tree: Array<T>, iterator: (item: T, key: number, level: number, paths: Array<T>) => any, level?: number, depthFirst?: boolean, paths?: Array<T>): T[];
|
|
167
167
|
/**
|
|
168
168
|
* 判断树中每个节点是否满足某个条件。
|
|
169
169
|
* @param tree
|
package/esm/utils/helper.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.1.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -544,22 +544,23 @@ var uuidv4 = function () {
|
|
|
544
544
|
* @param {Function} iterator 处理函数,返回的数据会被替换成新的。
|
|
545
545
|
* @return {Tree} 返回处理过的 tree
|
|
546
546
|
*/
|
|
547
|
-
function mapTree(tree, iterator, level, depthFirst, paths) {
|
|
547
|
+
function mapTree(tree, iterator, level, depthFirst, paths, indexes) {
|
|
548
548
|
if (level === void 0) { level = 1; }
|
|
549
549
|
if (depthFirst === void 0) { depthFirst = false; }
|
|
550
550
|
if (paths === void 0) { paths = []; }
|
|
551
|
+
if (indexes === void 0) { indexes = []; }
|
|
551
552
|
return tree.map(function (item, index) {
|
|
552
553
|
if (depthFirst) {
|
|
553
554
|
var children = item.children
|
|
554
|
-
? mapTree(item.children, iterator, level + 1, depthFirst, paths.concat(item))
|
|
555
|
+
? mapTree(item.children, iterator, level + 1, depthFirst, paths.concat(item), indexes.concat(index))
|
|
555
556
|
: undefined;
|
|
556
557
|
children && (item = __assign(__assign({}, item), { children: children }));
|
|
557
|
-
item = iterator(item, index, level, paths) || __assign({}, item);
|
|
558
|
+
item = iterator(item, index, level, paths, indexes.concat(index)) || __assign({}, item);
|
|
558
559
|
return item;
|
|
559
560
|
}
|
|
560
|
-
item = iterator(item, index, level, paths) || __assign({}, item);
|
|
561
|
+
item = iterator(item, index, level, paths, indexes.concat(index)) || __assign({}, item);
|
|
561
562
|
if (item.children && item.children.splice) {
|
|
562
|
-
item.children = mapTree(item.children, iterator, level + 1, depthFirst, paths.concat(item));
|
|
563
|
+
item.children = mapTree(item.children, iterator, level + 1, depthFirst, paths.concat(item), indexes.concat(index));
|
|
563
564
|
}
|
|
564
565
|
return item;
|
|
565
566
|
});
|
|
@@ -574,10 +575,9 @@ function eachTree(tree, iterator, level, paths) {
|
|
|
574
575
|
if (paths === void 0) { paths = []; }
|
|
575
576
|
tree.map(function (item, index) {
|
|
576
577
|
var _a;
|
|
577
|
-
|
|
578
|
-
iterator(item, index, level, currentPath);
|
|
578
|
+
iterator(item, index, level, paths);
|
|
579
579
|
if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.splice) {
|
|
580
|
-
eachTree(item.children, iterator, level + 1,
|
|
580
|
+
eachTree(item.children, iterator, level + 1, paths.concat(item));
|
|
581
581
|
}
|
|
582
582
|
});
|
|
583
583
|
}
|
|
@@ -657,28 +657,29 @@ function getTree(tree, idx) {
|
|
|
657
657
|
* @param tree
|
|
658
658
|
* @param iterator
|
|
659
659
|
*/
|
|
660
|
-
function filterTree(tree, iterator, level, depthFirst) {
|
|
660
|
+
function filterTree(tree, iterator, level, depthFirst, paths) {
|
|
661
661
|
if (level === void 0) { level = 1; }
|
|
662
662
|
if (depthFirst === void 0) { depthFirst = false; }
|
|
663
|
+
if (paths === void 0) { paths = []; }
|
|
663
664
|
if (depthFirst) {
|
|
664
665
|
return tree
|
|
665
666
|
.map(function (item) {
|
|
666
667
|
var children = item.children
|
|
667
|
-
? filterTree(item.children, iterator, level + 1, depthFirst)
|
|
668
|
+
? filterTree(item.children, iterator, level + 1, depthFirst, paths.concat(item))
|
|
668
669
|
: undefined;
|
|
669
670
|
if (Array.isArray(children) && Array.isArray(item.children)) {
|
|
670
671
|
item = __assign(__assign({}, item), { children: children });
|
|
671
672
|
}
|
|
672
673
|
return item;
|
|
673
674
|
})
|
|
674
|
-
.filter(function (item, index) { return iterator(item, index, level); });
|
|
675
|
+
.filter(function (item, index) { return iterator(item, index, level, paths); });
|
|
675
676
|
}
|
|
676
677
|
return tree
|
|
677
|
-
.filter(function (item, index) { return iterator(item, index, level); })
|
|
678
|
+
.filter(function (item, index) { return iterator(item, index, level, paths); })
|
|
678
679
|
.map(function (item) {
|
|
679
680
|
var _a;
|
|
680
681
|
if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.splice) {
|
|
681
|
-
var children = filterTree(item.children, iterator, level + 1, depthFirst);
|
|
682
|
+
var children = filterTree(item.children, iterator, level + 1, depthFirst, paths.concat(item));
|
|
682
683
|
if (Array.isArray(children) && Array.isArray(item.children)) {
|
|
683
684
|
item = __assign(__assign({}, item), { children: children });
|
|
684
685
|
}
|
|
@@ -778,6 +779,9 @@ function spliceTree(tree, idx, deleteCount) {
|
|
|
778
779
|
* @param tree
|
|
779
780
|
*/
|
|
780
781
|
function getTreeDepth(tree) {
|
|
782
|
+
if (Array.isArray(tree) && tree.length === 0) {
|
|
783
|
+
return 0;
|
|
784
|
+
}
|
|
781
785
|
return Math.max.apply(Math, __spreadArray([], __read(tree.map(function (item) {
|
|
782
786
|
if (Array.isArray(item.children)) {
|
|
783
787
|
return 1 + getTreeDepth(item.children);
|
|
@@ -1271,14 +1275,17 @@ function isNumeric(value) {
|
|
|
1271
1275
|
* @param location Location对象,或者类Location结构的对象
|
|
1272
1276
|
*/
|
|
1273
1277
|
function parseQuery(location) {
|
|
1274
|
-
var _a
|
|
1278
|
+
var _a;
|
|
1275
1279
|
var query = (location && !(location instanceof Location) && (location === null || location === void 0 ? void 0 : location.query)) ||
|
|
1276
1280
|
(location && (location === null || location === void 0 ? void 0 : location.search) && qsparse(location.search.substring(1))) ||
|
|
1277
1281
|
(window.location.search && qsparse(window.location.search.substring(1)));
|
|
1278
1282
|
/* 处理hash中的query */
|
|
1279
|
-
var
|
|
1280
|
-
|
|
1281
|
-
|
|
1283
|
+
var hash = (_a = window.location) === null || _a === void 0 ? void 0 : _a.hash;
|
|
1284
|
+
var hashQuery = {};
|
|
1285
|
+
var idx = -1;
|
|
1286
|
+
if (typeof hash === 'string' && ~(idx = hash.indexOf('?'))) {
|
|
1287
|
+
hashQuery = qsparse(hash.substring(idx + 1));
|
|
1288
|
+
}
|
|
1282
1289
|
var normalizedQuery = isPlainObject(query) ? query : {};
|
|
1283
1290
|
return merge(normalizedQuery, hashQuery);
|
|
1284
1291
|
}
|
package/esm/utils/highlight.js
CHANGED
package/esm/utils/icon.d.ts
CHANGED
|
@@ -18,4 +18,4 @@ export interface IconCheckedSchemaNew {
|
|
|
18
18
|
* @param className 内部用的 className
|
|
19
19
|
* @param classNameProp amis 配置里设置的 className
|
|
20
20
|
*/
|
|
21
|
-
export declare const generateIcon: (cx: ClassNamesFn, icon?: string | IconCheckedSchema | React.ReactNode | IconCheckedSchemaNew, className?: string, classNameProp?: string) => JSX.Element | null | undefined;
|
|
21
|
+
export declare const generateIcon: (cx: ClassNamesFn, icon?: string | IconCheckedSchema | React.ReactNode | IconCheckedSchemaNew, className?: string, classNameProp?: string) => React.JSX.Element | null | undefined;
|
package/esm/utils/icon.js
CHANGED
package/esm/utils/image.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.1.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { memoryParse } from './memoryParse.js';
|
|
7
7
|
|
|
8
8
|
function isPureVariable(path) {
|
|
9
9
|
if (typeof path === 'string') {
|
|
10
10
|
try {
|
|
11
|
-
var ast =
|
|
11
|
+
var ast = memoryParse(path);
|
|
12
12
|
// 只有一个成员说明是纯表达式模式
|
|
13
13
|
return ast.body.length === 1 && ast.body[0].type === 'script';
|
|
14
14
|
}
|