amis-core 6.13.0-beta.1 → 6.13.0-beta.11
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.js +1 -1
- package/esm/RootRenderer.js +15 -7
- package/esm/SchemaRenderer.d.ts +3 -0
- package/esm/SchemaRenderer.js +63 -10
- package/esm/Scoped.js +1 -1
- package/esm/StatusScoped.js +1 -1
- package/esm/StyleManager.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +8 -4
- package/esm/actions/Action.js +1 -1
- 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 +1 -1
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +1 -1
- package/esm/actions/CustomAction.js +1 -1
- package/esm/actions/DialogAction.js +1 -1
- package/esm/actions/DrawerAction.js +1 -1
- package/esm/actions/EmailAction.js +1 -1
- package/esm/actions/EventAction.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/PrintAction.js +1 -1
- package/esm/actions/StatusAction.js +1 -1
- package/esm/actions/SwitchAction.js +1 -1
- package/esm/actions/ToastAction.js +1 -1
- package/esm/actions/WaitAction.js +1 -1
- package/esm/components/Animations.js +1 -1
- package/esm/components/CustomStyle.js +1 -1
- package/esm/components/ErrorBoundary.js +1 -1
- package/esm/components/LazyComponent.js +1 -1
- package/esm/components/Overlay.js +1 -1
- package/esm/components/PopOver.js +3 -1
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.js +1 -1
- package/esm/globalVar.js +15 -2
- package/esm/globalVarClientHandler.js +1 -1
- package/esm/globalVarDefaultValueHandler.js +1 -1
- package/esm/index.js +5 -5
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.js +3 -5
- package/esm/renderers/Item.js +2 -17
- package/esm/renderers/Options.js +1 -1
- 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.js +10 -4
- package/esm/store/app.d.ts +4 -0
- package/esm/store/app.js +1 -1
- package/esm/store/combo.d.ts +12 -0
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +5 -0
- package/esm/store/crud.js +5 -1
- package/esm/store/form.d.ts +4 -1
- package/esm/store/form.js +3 -2
- package/esm/store/formItem.js +1 -1
- package/esm/store/iRenderer.d.ts +4 -0
- package/esm/store/iRenderer.js +27 -4
- package/esm/store/index.js +1 -1
- package/esm/store/list.d.ts +4 -0
- package/esm/store/list.js +1 -1
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.d.ts +6 -0
- package/esm/store/modal.js +7 -2
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.d.ts +4 -0
- package/esm/store/pagination.js +1 -1
- package/esm/store/root.d.ts +14 -2
- package/esm/store/root.js +181 -49
- package/esm/store/service.d.ts +4 -0
- package/esm/store/service.js +1 -1
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +53 -92
- package/esm/store/table.js +42 -20
- package/esm/store/table2.d.ts +5 -0
- package/esm/store/table2.js +17 -10
- package/esm/theme.js +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.js +1 -1
- package/esm/utils/RootClose.js +1 -1
- package/esm/utils/SimpleMap.js +1 -1
- package/esm/utils/animations.js +1 -1
- package/esm/utils/api.js +8 -3
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +1 -1
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/browser.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/concatData.js +1 -1
- package/esm/utils/dataMapping.js +1 -1
- package/esm/utils/date.js +1 -1
- package/esm/utils/debug.js +1 -1
- package/esm/utils/decodeEntity.js +1 -1
- package/esm/utils/dom.js +6 -3
- package/esm/utils/errors.js +2 -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/getPageId.js +1 -1
- package/esm/utils/getVariable.js +1 -1
- package/esm/utils/grammar.js +1 -1
- package/esm/utils/handleAction.js +1 -1
- package/esm/utils/helper.js +1 -1
- package/esm/utils/highlight.js +1 -1
- package/esm/utils/icon.js +1 -1
- package/esm/utils/image.js +1 -1
- package/esm/utils/index.js +1 -1
- package/esm/utils/isPureVariable.js +2 -2
- package/esm/utils/json-schema-2-amis-schema.js +1 -1
- package/esm/utils/keyToPath.js +1 -1
- package/esm/utils/labelToString.js +1 -1
- package/esm/utils/loopTooMuch.js +1 -1
- package/esm/utils/makeSorter.js +1 -1
- package/esm/utils/math.js +1 -1
- package/esm/utils/memoryParse.js +1 -1
- package/esm/utils/normalizeLink.js +1 -1
- package/esm/utils/normalizeOptions.js +6 -2
- package/esm/utils/object.js +1 -1
- 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/printElement.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 +1 -1
- package/esm/utils/resolveVariableAndFilter.js +1 -1
- package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
- 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.js +1 -1
- package/esm/utils/style.d.ts +13 -0
- package/esm/utils/style.js +43 -3
- package/esm/utils/toNumber.js +1 -1
- package/esm/utils/tokenize.js +1 -1
- package/esm/utils/tpl-builtin.js +1 -1
- package/esm/utils/tpl-lodash.js +1 -1
- package/esm/utils/tpl.js +6 -2
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validateId.js +1 -1
- package/esm/utils/validations.js +1 -1
- package/esm/utils/visitedCache.js +1 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.d.ts +1 -1
- package/lib/RootRenderer.js +15 -7
- package/lib/SchemaRenderer.d.ts +3 -0
- package/lib/SchemaRenderer.js +65 -8
- package/lib/Scoped.js +1 -1
- package/lib/StatusScoped.js +1 -1
- package/lib/StyleManager.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +8 -4
- package/lib/actions/Action.js +1 -1
- 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 +1 -1
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +1 -1
- package/lib/actions/CustomAction.js +1 -1
- package/lib/actions/DialogAction.js +1 -1
- package/lib/actions/DrawerAction.js +1 -1
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/EventAction.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/PrintAction.js +1 -1
- package/lib/actions/StatusAction.js +1 -1
- package/lib/actions/SwitchAction.js +1 -1
- package/lib/actions/ToastAction.js +1 -1
- package/lib/actions/WaitAction.js +1 -1
- package/lib/components/Animations.js +1 -1
- package/lib/components/CustomStyle.js +1 -1
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/LazyComponent.js +1 -1
- package/lib/components/Overlay.js +1 -1
- package/lib/components/PopOver.js +3 -1
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.js +1 -1
- package/lib/globalVar.js +19 -2
- package/lib/globalVarClientHandler.js +1 -1
- package/lib/globalVarDefaultValueHandler.js +1 -1
- package/lib/index.js +6 -4
- package/lib/locale.js +1 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.js +3 -5
- package/lib/renderers/Item.js +2 -17
- package/lib/renderers/Options.js +1 -1
- 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.js +10 -4
- package/lib/store/app.d.ts +4 -0
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +12 -1
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +5 -0
- package/lib/store/crud.js +5 -1
- package/lib/store/form.d.ts +4 -2
- package/lib/store/form.js +3 -2
- package/lib/store/formItem.js +1 -1
- package/lib/store/iRenderer.d.ts +4 -0
- package/lib/store/iRenderer.js +30 -3
- package/lib/store/index.js +1 -1
- package/lib/store/list.d.ts +4 -0
- package/lib/store/list.js +1 -1
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.d.ts +6 -0
- package/lib/store/modal.js +7 -2
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.d.ts +4 -0
- package/lib/store/pagination.js +1 -1
- package/lib/store/root.d.ts +14 -3
- package/lib/store/root.js +178 -46
- package/lib/store/service.d.ts +4 -0
- package/lib/store/service.js +1 -1
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +53 -93
- package/lib/store/table.js +41 -19
- package/lib/store/table2.d.ts +5 -0
- package/lib/store/table2.js +17 -10
- package/lib/theme.js +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.js +1 -1
- package/lib/utils/RootClose.js +1 -1
- package/lib/utils/SimpleMap.js +1 -1
- package/lib/utils/animations.js +1 -1
- package/lib/utils/api.js +8 -3
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +1 -1
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/browser.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/concatData.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.js +1 -1
- package/lib/utils/debug.js +1 -1
- package/lib/utils/decodeEntity.js +1 -1
- package/lib/utils/dom.js +6 -3
- package/lib/utils/errors.js +2 -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/getPageId.js +1 -1
- package/lib/utils/getVariable.js +1 -1
- package/lib/utils/grammar.js +1 -1
- package/lib/utils/handleAction.js +1 -1
- package/lib/utils/helper.js +1 -1
- package/lib/utils/highlight.js +1 -1
- package/lib/utils/icon.js +1 -1
- package/lib/utils/image.js +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/isPureVariable.js +2 -2
- package/lib/utils/json-schema-2-amis-schema.js +1 -1
- package/lib/utils/keyToPath.js +1 -1
- package/lib/utils/labelToString.js +1 -1
- package/lib/utils/loopTooMuch.js +1 -1
- package/lib/utils/makeSorter.js +1 -1
- package/lib/utils/math.js +1 -1
- package/lib/utils/memoryParse.js +1 -1
- package/lib/utils/normalizeLink.js +1 -1
- package/lib/utils/normalizeOptions.js +6 -2
- package/lib/utils/object.js +1 -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/printElement.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 +1 -1
- package/lib/utils/resolveVariableAndFilter.js +1 -1
- package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
- 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.js +1 -1
- package/lib/utils/style.d.ts +13 -0
- package/lib/utils/style.js +44 -2
- package/lib/utils/toNumber.js +1 -1
- package/lib/utils/tokenize.js +1 -1
- package/lib/utils/tpl-builtin.js +1 -1
- package/lib/utils/tpl-lodash.js +1 -1
- package/lib/utils/tpl.js +6 -2
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validateId.js +1 -1
- package/lib/utils/validations.js +1 -1
- package/lib/utils/visitedCache.js +1 -1
- package/package.json +2 -2
package/esm/utils/makeSorter.js
CHANGED
package/esm/utils/math.js
CHANGED
package/esm/utils/memoryParse.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.13.0-beta.
|
|
2
|
+
* amis-core v6.13.0-beta.11
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -64,7 +64,11 @@ function normalizeOptions(options, share, valueField) {
|
|
|
64
64
|
}
|
|
65
65
|
var option = __assign(__assign({}, item), (_a = {}, _a[valueField] = value, _a));
|
|
66
66
|
if (typeof option.children !== 'undefined') {
|
|
67
|
-
|
|
67
|
+
// 用新的 share 避免 children 内部复用全局缓存
|
|
68
|
+
option.children = normalizeOptions(option.children, {
|
|
69
|
+
values: [],
|
|
70
|
+
options: []
|
|
71
|
+
}, valueField);
|
|
68
72
|
}
|
|
69
73
|
else if (value !== undefined) {
|
|
70
74
|
share.values.push(value);
|
package/esm/utils/object.js
CHANGED
package/esm/utils/offset.js
CHANGED
package/esm/utils/position.js
CHANGED
package/esm/utils/prettyBytes.js
CHANGED
package/esm/utils/replaceText.js
CHANGED
package/esm/utils/stripNumber.js
CHANGED
package/esm/utils/style.d.ts
CHANGED
|
@@ -8,3 +8,16 @@
|
|
|
8
8
|
* 3. 针对 image 自动加 url
|
|
9
9
|
*/
|
|
10
10
|
export declare function buildStyle(style: any, data: any): any;
|
|
11
|
+
/**
|
|
12
|
+
* 将 style 转换为对象
|
|
13
|
+
* @param style
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export declare function normalizeStyle(style: any): any;
|
|
17
|
+
/**
|
|
18
|
+
* 合并 style
|
|
19
|
+
* @param to
|
|
20
|
+
* @param from
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
export declare function mergeStyle(to: any, from: any): any;
|
package/esm/utils/style.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.13.0-beta.
|
|
2
|
+
* amis-core v6.13.0-beta.11
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import 'tslib';
|
|
6
|
+
import { __read } from 'tslib';
|
|
7
7
|
import 'amis-formula';
|
|
8
8
|
import 'moment';
|
|
9
9
|
import 'lodash/isPlainObject';
|
|
@@ -69,5 +69,45 @@ function buildStyle(style, data) {
|
|
|
69
69
|
}
|
|
70
70
|
return styleVar;
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* 将 style 转换为对象
|
|
74
|
+
* @param style
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
77
|
+
function normalizeStyle(style) {
|
|
78
|
+
if (!style) {
|
|
79
|
+
return {};
|
|
80
|
+
}
|
|
81
|
+
else if (typeof style === 'string') {
|
|
82
|
+
return style.split(';').reduce(function (acc, item) {
|
|
83
|
+
var _a = __read(item.split(':').map(function (item) { return item.trim(); }), 2), key = _a[0], value = _a[1];
|
|
84
|
+
if (key && value) {
|
|
85
|
+
acc[camelCase(key)] = value;
|
|
86
|
+
}
|
|
87
|
+
return acc;
|
|
88
|
+
}, {});
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return style;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* 合并 style
|
|
96
|
+
* @param to
|
|
97
|
+
* @param from
|
|
98
|
+
* @returns
|
|
99
|
+
*/
|
|
100
|
+
function mergeStyle(to, from) {
|
|
101
|
+
if (!to && !from) {
|
|
102
|
+
return {};
|
|
103
|
+
}
|
|
104
|
+
if (!to) {
|
|
105
|
+
return from;
|
|
106
|
+
}
|
|
107
|
+
if (!from) {
|
|
108
|
+
return to;
|
|
109
|
+
}
|
|
110
|
+
return Object.assign({}, normalizeStyle(to), normalizeStyle(from));
|
|
111
|
+
}
|
|
72
112
|
|
|
73
|
-
export { buildStyle };
|
|
113
|
+
export { buildStyle, mergeStyle, normalizeStyle };
|
package/esm/utils/toNumber.js
CHANGED
package/esm/utils/tokenize.js
CHANGED
package/esm/utils/tpl-builtin.js
CHANGED
package/esm/utils/tpl-lodash.js
CHANGED
package/esm/utils/tpl.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.13.0-beta.
|
|
2
|
+
* amis-core v6.13.0-beta.11
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -58,6 +58,7 @@ function asyncFilter(tpl, data) {
|
|
|
58
58
|
}
|
|
59
59
|
// 缓存一下提升性能
|
|
60
60
|
var EVAL_CACHE = {};
|
|
61
|
+
var WARNING_CACHE = {};
|
|
61
62
|
var customEvalExpressionFn;
|
|
62
63
|
function setCustomEvalExpression(fn) {
|
|
63
64
|
customEvalExpressionFn = fn;
|
|
@@ -98,7 +99,10 @@ function evalExpression(expression, data) {
|
|
|
98
99
|
return fn.call(data, data, getFilters());
|
|
99
100
|
}
|
|
100
101
|
catch (e) {
|
|
101
|
-
|
|
102
|
+
if (!WARNING_CACHE[expression]) {
|
|
103
|
+
console.warn(expression, e);
|
|
104
|
+
WARNING_CACHE[expression] = true;
|
|
105
|
+
}
|
|
102
106
|
return false;
|
|
103
107
|
}
|
|
104
108
|
}
|
package/esm/utils/validateId.js
CHANGED
package/esm/utils/validations.js
CHANGED
package/lib/Root.js
CHANGED
package/lib/RootRenderer.d.ts
CHANGED
|
@@ -31,5 +31,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
|
|
|
31
31
|
renderError(): React.ReactNode;
|
|
32
32
|
renderDialog(): React.ReactNode;
|
|
33
33
|
renderDrawer(): React.ReactNode;
|
|
34
|
-
render(): string | number | boolean | React.
|
|
34
|
+
render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
35
35
|
}
|
package/lib/RootRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.13.0-beta.
|
|
2
|
+
* amis-core v6.13.0-beta.11
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -46,7 +46,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
46
46
|
storeType: root.RootStore.name,
|
|
47
47
|
parentId: ''
|
|
48
48
|
});
|
|
49
|
-
_this.store.updateContext(props.context);
|
|
49
|
+
_this.store.updateContext(props.context, true);
|
|
50
50
|
_this.store.initData(props.data);
|
|
51
51
|
_this.store.updateLocation(props.location, (_a = _this.props.env) === null || _a === void 0 ? void 0 : _a.parseLocation);
|
|
52
52
|
_this.store.setGlobalVars(props.globalVars);
|
|
@@ -65,7 +65,17 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
67
|
var schema = props.schema;
|
|
68
|
-
var types = [
|
|
68
|
+
var types = [
|
|
69
|
+
'tpl',
|
|
70
|
+
'dialog',
|
|
71
|
+
'drawer',
|
|
72
|
+
'cell',
|
|
73
|
+
'spinner',
|
|
74
|
+
'group',
|
|
75
|
+
'container',
|
|
76
|
+
'dropdown-button',
|
|
77
|
+
'plain'
|
|
78
|
+
];
|
|
69
79
|
helper.JSONTraverse(schema, function (value, key) {
|
|
70
80
|
if (key === 'type') {
|
|
71
81
|
types.push(value);
|
|
@@ -374,14 +384,12 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
374
384
|
RootRenderer.prototype.renderDialog = function () {
|
|
375
385
|
var _a = this.props, render = _a.render, rest = tslib.__rest(_a, ["render"]);
|
|
376
386
|
var store = this.store;
|
|
377
|
-
return render('dialog', tslib.__assign(tslib.__assign({}, (store.
|
|
378
|
-
store.action.dialog)), { type: 'dialog' }), tslib.__assign(tslib.__assign({}, rest), { key: 'dialog', topStore: this.store, data: store.dialogData, context: store.context, onConfirm: this.handleDialogConfirm, onClose: this.handleDialogClose, show: store.dialogOpen, onAction: this.handleAction, dispatchEvent: this.dispatchEvent }));
|
|
387
|
+
return render('dialog', tslib.__assign(tslib.__assign({}, store.dialogSchema), { type: 'dialog' }), tslib.__assign(tslib.__assign({}, rest), { key: 'dialog', topStore: this.store, data: store.dialogData, context: store.context, onConfirm: this.handleDialogConfirm, onClose: this.handleDialogClose, show: store.dialogOpen, onAction: this.handleAction, dispatchEvent: this.dispatchEvent }));
|
|
379
388
|
};
|
|
380
389
|
RootRenderer.prototype.renderDrawer = function () {
|
|
381
390
|
var _a = this.props, render = _a.render, rest = tslib.__rest(_a, ["render"]);
|
|
382
391
|
var store = this.store;
|
|
383
|
-
return render('drawer', tslib.__assign(tslib.__assign({}, (store.
|
|
384
|
-
store.action.drawer)), { type: 'drawer' }), tslib.__assign(tslib.__assign({}, rest), { key: 'drawer', topStore: this.store, data: store.drawerData, context: store.context, onConfirm: this.handleDrawerConfirm, onClose: this.handleDrawerClose, show: store.drawerOpen, onAction: this.handleAction, dispatchEvent: this.dispatchEvent }));
|
|
392
|
+
return render('drawer', tslib.__assign(tslib.__assign({}, store.drawerSchema), { type: 'drawer' }), tslib.__assign(tslib.__assign({}, rest), { key: 'drawer', topStore: this.store, data: store.drawerData, context: store.context, onConfirm: this.handleDrawerConfirm, onClose: this.handleDrawerClose, show: store.drawerOpen, onAction: this.handleAction, dispatchEvent: this.dispatchEvent }));
|
|
385
393
|
};
|
|
386
394
|
RootRenderer.prototype.render = function () {
|
|
387
395
|
var _a = this.props, pathPrefix = _a.pathPrefix, schema = _a.schema, render = _a.render; _a.globalVars; var rest = tslib.__rest(_a, ["pathPrefix", "schema", "render", "globalVars"]);
|
package/lib/SchemaRenderer.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { IScopedContext } from './Scoped';
|
|
|
4
4
|
import { Schema, SchemaNode } from './types';
|
|
5
5
|
import { RendererEvent } from './utils/renderer-event';
|
|
6
6
|
import { StatusScopedProps } from './StatusScoped';
|
|
7
|
+
import { IIRendererStore } from './store/index';
|
|
7
8
|
interface SchemaRendererProps extends Partial<Omit<RendererProps, 'statusStore'>>, StatusScopedProps {
|
|
8
9
|
schema: Schema;
|
|
9
10
|
$path: string;
|
|
@@ -24,9 +25,11 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
|
|
|
24
25
|
unbindEvent: (() => void) | undefined;
|
|
25
26
|
unbindGlobalEvent: (() => void) | undefined;
|
|
26
27
|
isStatic: any;
|
|
28
|
+
subStore?: IIRendererStore | null;
|
|
27
29
|
constructor(props: SchemaRendererProps);
|
|
28
30
|
componentWillUnmount(): void;
|
|
29
31
|
shouldComponentUpdate(nextProps: SchemaRendererProps): boolean;
|
|
32
|
+
storeRef(store: IIRendererStore | null): void;
|
|
30
33
|
handleGlobalVarChange(): void;
|
|
31
34
|
resolveRenderer(props: SchemaRendererProps, force?: boolean): any;
|
|
32
35
|
getWrappedInstance(): any;
|
package/lib/SchemaRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.13.0-beta.
|
|
2
|
+
* amis-core v6.13.0-beta.11
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
9
9
|
|
|
10
10
|
var tslib = require('tslib');
|
|
11
11
|
var difference = require('lodash/difference');
|
|
12
|
+
var findLastIndex = require('lodash/findLastIndex');
|
|
12
13
|
var omit = require('lodash/omit');
|
|
13
14
|
var React = require('react');
|
|
14
15
|
var reactIs = require('react-is');
|
|
@@ -36,10 +37,37 @@ var formula = require('./utils/formula.js');
|
|
|
36
37
|
var tpl = require('./utils/tpl.js');
|
|
37
38
|
var Animations = require('./components/Animations.js');
|
|
38
39
|
var globalVar = require('./globalVar.js');
|
|
40
|
+
require('./utils/api.js');
|
|
41
|
+
require('file-saver');
|
|
42
|
+
require('./utils/browser.js');
|
|
43
|
+
require('./utils/ColorScale.js');
|
|
44
|
+
require('./utils/columnsSplit.js');
|
|
45
|
+
require('./utils/DataSchema.js');
|
|
46
|
+
require('./utils/DataScope.js');
|
|
47
|
+
require('./utils/dom.js');
|
|
48
|
+
require('./utils/errors.js');
|
|
49
|
+
require('./utils/highlight.js');
|
|
50
|
+
require('./utils/icon.js');
|
|
51
|
+
require('./utils/image.js');
|
|
52
|
+
require('lodash/isEqual');
|
|
53
|
+
require('./utils/resize-sensor.js');
|
|
54
|
+
require('react-overlays/useRootClose');
|
|
55
|
+
require('react-dom');
|
|
56
|
+
require('uncontrollable');
|
|
57
|
+
require('hoist-non-react-statics');
|
|
58
|
+
require('./utils/validations.js');
|
|
59
|
+
require('lodash/cloneDeep');
|
|
60
|
+
require('lodash/isObject');
|
|
61
|
+
require('lodash/map');
|
|
62
|
+
require('lodash/isEmpty');
|
|
63
|
+
require('lodash/kebabCase');
|
|
64
|
+
require('./utils/resolveCondition.js');
|
|
65
|
+
require('./utils/Animation.js');
|
|
39
66
|
|
|
40
67
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
41
68
|
|
|
42
69
|
var difference__default = /*#__PURE__*/_interopDefaultLegacy(difference);
|
|
70
|
+
var findLastIndex__default = /*#__PURE__*/_interopDefaultLegacy(findLastIndex);
|
|
43
71
|
var omit__default = /*#__PURE__*/_interopDefaultLegacy(omit);
|
|
44
72
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
45
73
|
|
|
@@ -98,6 +126,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
98
126
|
_this.reRender = _this.reRender.bind(_this);
|
|
99
127
|
_this.resolveRenderer(_this.props);
|
|
100
128
|
_this.dispatchEvent = _this.dispatchEvent.bind(_this);
|
|
129
|
+
_this.storeRef = _this.storeRef.bind(_this);
|
|
101
130
|
_this.handleGlobalVarChange = _this.handleGlobalVarChange.bind(_this);
|
|
102
131
|
var schema = props.schema;
|
|
103
132
|
// 监听statusStore更新
|
|
@@ -138,18 +167,46 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
138
167
|
}
|
|
139
168
|
return false;
|
|
140
169
|
};
|
|
170
|
+
SchemaRenderer.prototype.storeRef = function (store) {
|
|
171
|
+
this.subStore = store;
|
|
172
|
+
};
|
|
141
173
|
SchemaRenderer.prototype.handleGlobalVarChange = function () {
|
|
142
174
|
var _this = this;
|
|
143
|
-
var _a;
|
|
175
|
+
var _a, _b;
|
|
144
176
|
var handler = (_a = this.renderer) === null || _a === void 0 ? void 0 : _a.onGlobalVarChanged;
|
|
145
|
-
var
|
|
177
|
+
var topStore = this.props.topStore;
|
|
178
|
+
var chain = object.extractObjectChain(this.props.data).filter(function (item) { return !item.hasOwnProperty('__isTempGlobalLayer'); });
|
|
179
|
+
var globalLayerIdx = findLastIndex__default["default"](chain, function (item) {
|
|
180
|
+
return item.hasOwnProperty('global') || item.hasOwnProperty('globalState');
|
|
181
|
+
});
|
|
182
|
+
var globalData = {
|
|
183
|
+
global: topStore.nextGlobalData.global,
|
|
184
|
+
globalState: topStore.nextGlobalData.globalState,
|
|
185
|
+
// 兼容旧的全局变量
|
|
186
|
+
__page: topStore.nextGlobalData.__page,
|
|
187
|
+
appVariables: topStore.nextGlobalData.appVariables,
|
|
188
|
+
__isTempGlobalLayer: true
|
|
189
|
+
};
|
|
190
|
+
if (globalLayerIdx !== -1) {
|
|
191
|
+
chain.splice(globalLayerIdx + 1, 0, globalData);
|
|
192
|
+
}
|
|
193
|
+
var newData = object.createObjectFromChain(chain);
|
|
146
194
|
// 如果渲染器自己做了实现,且返回 false,则不再继续往下执行
|
|
147
195
|
if ((handler === null || handler === void 0 ? void 0 : handler(this.cRef, this.props.schema, newData)) === false) {
|
|
148
196
|
return;
|
|
149
197
|
}
|
|
198
|
+
// 强制刷新并通过一个临时对象让下发给组件的全局变量更新
|
|
199
|
+
// 等 react 完成一轮渲染后,将临时渲染切成正式渲染
|
|
200
|
+
// 也就是说删掉临时对象,后续渲染读取真正变更后的全局变量
|
|
201
|
+
//
|
|
202
|
+
// 为什么这么做?因为很多组件内部都会 diff this.props.data 和 prevProps.data
|
|
203
|
+
// 如果对应的数据没有发生变化,则会跳过组件状态的更新
|
|
150
204
|
this.tmpData = newData;
|
|
151
|
-
this.
|
|
205
|
+
(_b = this.subStore) === null || _b === void 0 ? void 0 : _b.temporaryUpdateGlobalVars(globalData);
|
|
206
|
+
topStore.addSyncGlobalVarStatePendingTask(function (callback) { return _this.forceUpdate(callback); }, function () {
|
|
207
|
+
var _a;
|
|
152
208
|
delete _this.tmpData;
|
|
209
|
+
(_a = _this.subStore) === null || _a === void 0 ? void 0 : _a.unDoTemporaryUpdateGlobalVars();
|
|
153
210
|
});
|
|
154
211
|
};
|
|
155
212
|
SchemaRenderer.prototype.resolveRenderer = function (props, force) {
|
|
@@ -267,6 +324,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
267
324
|
if (Array.isArray(schema)) {
|
|
268
325
|
return render($path, schema, rest);
|
|
269
326
|
}
|
|
327
|
+
// 用于全局变量刷新
|
|
328
|
+
rest.data = this.tmpData || rest.data;
|
|
270
329
|
var detectData = schema &&
|
|
271
330
|
(schema.detectField === '&' ? rest : rest[schema.detectField || 'data']);
|
|
272
331
|
var exprProps = detectData
|
|
@@ -383,11 +442,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
383
442
|
var props = tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, (_f = renderer.defaultProps) === null || _f === void 0 ? void 0 : _f.call(renderer, schema.type, schema)), theme.getRendererConfig(renderer.name)), restSchema), helper.chainEvents(rest, restSchema)), exprProps), {
|
|
384
443
|
// value: defaultValue, // 备注: 此处并没有将value传递给渲染器
|
|
385
444
|
defaultData: (_g = restSchema.defaultData) !== null && _g !== void 0 ? _g : defaultData, defaultValue: (_h = restSchema.defaultValue) !== null && _h !== void 0 ? _h : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent, mobileUI: schema.useMobileUI === false ? false : rest.mobileUI });
|
|
386
|
-
// 用于全局变量刷新
|
|
387
|
-
props.data = this.tmpData || props.data;
|
|
388
445
|
// style 支持公式
|
|
389
446
|
if (schema.style) {
|
|
390
|
-
props.style = style.buildStyle(schema.style, detectData);
|
|
447
|
+
props.style = style.mergeStyle(props.style, style.buildStyle(schema.style, detectData));
|
|
391
448
|
}
|
|
392
449
|
if (disable !== undefined) {
|
|
393
450
|
props.disabled = disable;
|
|
@@ -422,7 +479,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
422
479
|
finally { if (e_1) throw e_1.error; }
|
|
423
480
|
}
|
|
424
481
|
}
|
|
425
|
-
var component = supportRef ? (_J$X_(Component, tslib.__assign({}, props, { ref: this.childRef }))) : (_J$X_(Component, tslib.__assign({}, props, { forwardedRef: this.childRef })));
|
|
482
|
+
var component = supportRef ? (_J$X_(Component, tslib.__assign({}, props, { ref: this.childRef, storeRef: this.storeRef }))) : (_J$X_(Component, tslib.__assign({}, props, { forwardedRef: this.childRef, storeRef: this.storeRef })));
|
|
426
483
|
if (schema.animations) {
|
|
427
484
|
component = (_J$X_(Animations["default"], { schema: schema, component: component, show: animationShow }));
|
|
428
485
|
}
|
package/lib/Scoped.js
CHANGED
package/lib/StatusScoped.js
CHANGED
package/lib/StyleManager.js
CHANGED
package/lib/WithRootStore.js
CHANGED