amis-core 6.8.0 → 6.9.0-beta.1
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.d.ts +1 -1
- package/esm/RootRenderer.js +24 -2
- package/esm/SchemaRenderer.d.ts +13 -0
- package/esm/SchemaRenderer.js +104 -20
- package/esm/Scoped.d.ts +1 -1
- package/esm/Scoped.js +1 -1
- package/esm/StatusScoped.js +1 -1
- package/esm/StyleManager.d.ts +18 -0
- package/esm/StyleManager.js +55 -0
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +10 -10
- 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 +57 -50
- 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 +3 -3
- package/esm/actions/WaitAction.js +1 -1
- package/esm/components/CustomStyle.js +1 -1
- package/esm/components/ErrorBoundary.js +1 -1
- package/esm/components/LazyComponent.d.ts +40 -2
- package/esm/components/LazyComponent.js +13 -7
- package/esm/components/Overlay.js +1 -1
- package/esm/components/PopOver.d.ts +1 -1
- package/esm/components/PopOver.js +1 -1
- package/esm/env.d.ts +0 -4
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.d.ts +19 -2
- package/esm/factory.js +205 -45
- package/esm/index.d.ts +6 -4
- package/esm/index.js +12 -6
- package/esm/locale.d.ts +1 -1
- package/esm/locale.js +13 -2
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +5 -5
- package/esm/renderers/Form.js +27 -14
- package/esm/renderers/Item.d.ts +19 -13
- package/esm/renderers/Item.js +13 -14
- package/esm/renderers/Options.d.ts +3 -3
- package/esm/renderers/Options.js +42 -19
- 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 +3 -3
- package/esm/renderers/wrapControl.js +24 -10
- package/esm/store/app.d.ts +3 -3
- package/esm/store/app.js +1 -1
- package/esm/store/combo.d.ts +17 -15
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +3 -3
- package/esm/store/crud.js +1 -1
- package/esm/store/form.d.ts +8 -7
- package/esm/store/form.js +28 -6
- package/esm/store/formItem.js +3 -3
- package/esm/store/iRenderer.d.ts +4 -3
- package/esm/store/iRenderer.js +28 -4
- package/esm/store/index.d.ts +1 -0
- package/esm/store/index.js +3 -2
- package/esm/store/list.d.ts +3 -3
- package/esm/store/list.js +1 -1
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.d.ts +3 -3
- package/esm/store/modal.js +1 -1
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.d.ts +3 -3
- package/esm/store/pagination.js +1 -1
- package/esm/store/root.d.ts +5 -3
- package/esm/store/root.js +45 -21
- package/esm/store/service.d.ts +3 -3
- package/esm/store/service.js +10 -4
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +17 -15
- package/esm/store/table.js +1 -1
- package/esm/store/table2.d.ts +3 -3
- package/esm/store/table2.js +1 -1
- package/esm/theme.d.ts +1 -1
- package/esm/theme.js +13 -2
- package/esm/types.d.ts +21 -2
- 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.d.ts +19 -0
- package/esm/utils/animations.js +58 -0
- package/esm/utils/api.d.ts +21 -1
- package/esm/utils/api.js +138 -41
- 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 +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 +1 -1
- package/esm/utils/handleAction.js +1 -1
- package/esm/utils/helper.d.ts +1 -0
- package/esm/utils/helper.js +15 -2
- package/esm/utils/highlight.js +1 -1
- package/esm/utils/icon.js +1 -1
- package/esm/utils/image.js +1 -1
- package/esm/utils/isPureVariable.js +1 -1
- package/esm/utils/json-schema-2-amis-schema.js +1 -1
- package/esm/utils/keyToPath.js +1 -1
- package/esm/utils/labelToString.js +4 -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 +1 -1
- 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.js +1 -1
- 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 +1 -1
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validateId.js +1 -1
- package/esm/utils/validations.js +13 -10
- package/esm/utils/visitedCache.js +1 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.js +23 -1
- package/lib/SchemaRenderer.d.ts +13 -0
- package/lib/SchemaRenderer.js +101 -17
- package/lib/Scoped.d.ts +1 -1
- package/lib/Scoped.js +1 -1
- package/lib/StatusScoped.js +1 -1
- package/lib/StyleManager.d.ts +18 -0
- package/lib/StyleManager.js +63 -0
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +10 -10
- 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 +56 -49
- 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 +2 -2
- package/lib/actions/WaitAction.js +1 -1
- package/lib/components/CustomStyle.js +1 -1
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/LazyComponent.d.ts +40 -2
- package/lib/components/LazyComponent.js +14 -7
- package/lib/components/Overlay.js +1 -1
- package/lib/components/PopOver.d.ts +1 -1
- package/lib/components/PopOver.js +1 -1
- package/lib/env.d.ts +0 -4
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.d.ts +19 -2
- package/lib/factory.js +211 -44
- package/lib/index.d.ts +6 -4
- package/lib/index.js +21 -2
- package/lib/locale.d.ts +1 -1
- package/lib/locale.js +13 -2
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +5 -5
- package/lib/renderers/Form.js +25 -12
- package/lib/renderers/Item.d.ts +19 -13
- package/lib/renderers/Item.js +12 -13
- package/lib/renderers/Options.d.ts +3 -3
- package/lib/renderers/Options.js +42 -19
- 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 +3 -3
- package/lib/renderers/wrapControl.js +24 -10
- package/lib/store/app.d.ts +3 -3
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +41 -39
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +3 -3
- package/lib/store/crud.js +2 -2
- package/lib/store/form.d.ts +18 -17
- package/lib/store/form.js +28 -6
- package/lib/store/formItem.js +3 -3
- package/lib/store/iRenderer.d.ts +4 -3
- package/lib/store/iRenderer.js +28 -4
- package/lib/store/index.d.ts +1 -0
- package/lib/store/index.js +3 -1
- package/lib/store/list.d.ts +3 -3
- package/lib/store/list.js +1 -1
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.d.ts +3 -3
- package/lib/store/modal.js +1 -1
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.d.ts +3 -3
- package/lib/store/pagination.js +1 -1
- package/lib/store/root.d.ts +5 -3
- package/lib/store/root.js +43 -19
- package/lib/store/service.d.ts +3 -3
- package/lib/store/service.js +10 -4
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +37 -35
- package/lib/store/table.js +1 -1
- package/lib/store/table2.d.ts +3 -3
- package/lib/store/table2.js +1 -1
- package/lib/theme.d.ts +1 -1
- package/lib/theme.js +13 -2
- package/lib/types.d.ts +21 -2
- 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.d.ts +19 -0
- package/lib/utils/animations.js +62 -0
- package/lib/utils/api.d.ts +21 -1
- package/lib/utils/api.js +141 -40
- 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 +2 -2
- package/lib/utils/decodeEntity.js +1 -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 +1 -1
- package/lib/utils/handleAction.js +1 -1
- package/lib/utils/helper.d.ts +1 -0
- package/lib/utils/helper.js +15 -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/isPureVariable.js +1 -1
- package/lib/utils/json-schema-2-amis-schema.js +1 -1
- package/lib/utils/keyToPath.js +1 -1
- package/lib/utils/labelToString.js +4 -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 +1 -1
- 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.js +1 -1
- 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 +1 -1
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validateId.js +1 -1
- package/lib/utils/validations.js +13 -10
- package/lib/utils/visitedCache.js +1 -1
- package/package.json +3 -2
package/lib/SchemaRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-beta.1
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -33,6 +33,9 @@ require('./utils/filter.js');
|
|
|
33
33
|
var style = require('./utils/style.js');
|
|
34
34
|
var formula = require('./utils/formula.js');
|
|
35
35
|
var tpl = require('./utils/tpl.js');
|
|
36
|
+
var reactTransitionGroup = require('react-transition-group');
|
|
37
|
+
var animations = require('./utils/animations.js');
|
|
38
|
+
var StyleManager = require('./StyleManager.js');
|
|
36
39
|
|
|
37
40
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
38
41
|
|
|
@@ -84,15 +87,39 @@ var componentCache = new SimpleMap.SimpleMap();
|
|
|
84
87
|
var SchemaRenderer = /** @class */ (function (_super) {
|
|
85
88
|
tslib.__extends(SchemaRenderer, _super);
|
|
86
89
|
function SchemaRenderer(props) {
|
|
87
|
-
var _this =
|
|
90
|
+
var _this = this;
|
|
91
|
+
var _a;
|
|
92
|
+
_this = _super.call(this, props) || this;
|
|
88
93
|
_this.rendererKey = '';
|
|
94
|
+
_this.animationTimeout = {};
|
|
95
|
+
_this.animationClassNames = {};
|
|
89
96
|
_this.unbindEvent = undefined;
|
|
90
97
|
_this.isStatic = undefined;
|
|
98
|
+
var animations = (_a = props === null || props === void 0 ? void 0 : props.schema) === null || _a === void 0 ? void 0 : _a.animations;
|
|
99
|
+
if (animations) {
|
|
100
|
+
var id = props === null || props === void 0 ? void 0 : props.schema.id;
|
|
101
|
+
id = helper.formateId(id);
|
|
102
|
+
if (animations.enter) {
|
|
103
|
+
_this.animationTimeout.enter =
|
|
104
|
+
((animations.enter.duration || 1) + (animations.enter.delay || 0)) *
|
|
105
|
+
1000;
|
|
106
|
+
_this.animationClassNames.enter = "".concat(animations.enter.type, "-").concat(id, "-enter");
|
|
107
|
+
_this.animationClassNames.appear = _this.animationClassNames.enter;
|
|
108
|
+
}
|
|
109
|
+
if (animations.exit) {
|
|
110
|
+
_this.animationTimeout.exit =
|
|
111
|
+
((animations.exit.duration || 1) + (animations.exit.delay || 0)) *
|
|
112
|
+
1000;
|
|
113
|
+
_this.animationClassNames.exit = "".concat(animations.exit.type, "-").concat(id, "-exit");
|
|
114
|
+
}
|
|
115
|
+
}
|
|
91
116
|
_this.refFn = _this.refFn.bind(_this);
|
|
92
117
|
_this.renderChild = _this.renderChild.bind(_this);
|
|
93
118
|
_this.reRender = _this.reRender.bind(_this);
|
|
94
119
|
_this.resolveRenderer(_this.props);
|
|
95
120
|
_this.dispatchEvent = _this.dispatchEvent.bind(_this);
|
|
121
|
+
_this.addAnimationAttention = _this.addAnimationAttention.bind(_this);
|
|
122
|
+
_this.removeAnimationAttention = _this.removeAnimationAttention.bind(_this);
|
|
96
123
|
// 监听statusStore更新
|
|
97
124
|
_this.reaction = mobx.reaction(function () {
|
|
98
125
|
var _a, _b, _c;
|
|
@@ -102,10 +129,18 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
102
129
|
}, function () { return _this.forceUpdate(); });
|
|
103
130
|
return _this;
|
|
104
131
|
}
|
|
132
|
+
SchemaRenderer.prototype.componentDidMount = function () {
|
|
133
|
+
if (this.props.schema.animations) {
|
|
134
|
+
var _a = this.props.schema, animations$1 = _a.animations, id = _a.id;
|
|
135
|
+
id = helper.formateId(id);
|
|
136
|
+
animations.createAnimationStyle(id, animations$1);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
105
139
|
SchemaRenderer.prototype.componentWillUnmount = function () {
|
|
106
140
|
var _a, _b;
|
|
107
141
|
(_a = this.reaction) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
108
142
|
(_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
143
|
+
this.removeAnimationStyle();
|
|
109
144
|
};
|
|
110
145
|
// 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。
|
|
111
146
|
SchemaRenderer.prototype.shouldComponentUpdate = function (nextProps) {
|
|
@@ -128,6 +163,13 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
128
163
|
}
|
|
129
164
|
return false;
|
|
130
165
|
};
|
|
166
|
+
SchemaRenderer.prototype.removeAnimationStyle = function () {
|
|
167
|
+
if (this.props.schema.animations) {
|
|
168
|
+
var id = this.props.schema.id;
|
|
169
|
+
id = helper.formateId(id);
|
|
170
|
+
StyleManager["default"].removeStyles(id);
|
|
171
|
+
}
|
|
172
|
+
};
|
|
131
173
|
SchemaRenderer.prototype.resolveRenderer = function (props, force) {
|
|
132
174
|
if (force === void 0) { force = false; }
|
|
133
175
|
var schema = props.schema;
|
|
@@ -177,7 +219,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
177
219
|
};
|
|
178
220
|
SchemaRenderer.prototype.childRef = function (ref) {
|
|
179
221
|
var _this = this;
|
|
180
|
-
var _a;
|
|
222
|
+
var _a, _b;
|
|
181
223
|
// todo 这里有个问题,就是注意以下的这段注释
|
|
182
224
|
// > // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
|
|
183
225
|
// > 而 visibleOn 和 hiddenOn 是无效的,
|
|
@@ -195,7 +237,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
195
237
|
}
|
|
196
238
|
if (ref) {
|
|
197
239
|
// 这里无法区分监听的是不是广播,所以又bind一下,主要是为了绑广播
|
|
198
|
-
this.unbindEvent
|
|
240
|
+
(_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
241
|
+
this.unbindEvent = rendererEvent.bindEvent(ref);
|
|
199
242
|
}
|
|
200
243
|
this.cRef = ref;
|
|
201
244
|
};
|
|
@@ -218,7 +261,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
218
261
|
var omitList = RENDERER_TRANSMISSION_OMIT_PROPS.concat();
|
|
219
262
|
if (this.renderer) {
|
|
220
263
|
var Component = this.renderer.component;
|
|
221
|
-
Component.propsList &&
|
|
264
|
+
(Component === null || Component === void 0 ? void 0 : Component.propsList) &&
|
|
222
265
|
omitList.push.apply(omitList, Component.propsList);
|
|
223
266
|
}
|
|
224
267
|
return render("".concat($path).concat(region ? "/".concat(region) : ''), node || '', tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, omit__default["default"](rest, omitList)), { defaultStatic: (_c = (_b = (((_a = this.renderer) === null || _a === void 0 ? void 0 : _a.type) &&
|
|
@@ -232,15 +275,33 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
232
275
|
this.resolveRenderer(this.props, true);
|
|
233
276
|
this.forceUpdate();
|
|
234
277
|
};
|
|
278
|
+
SchemaRenderer.prototype.addAnimationAttention = function (node) {
|
|
279
|
+
var schema = (this.props || {}).schema;
|
|
280
|
+
var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
|
|
281
|
+
if (attention) {
|
|
282
|
+
var id = schema.id;
|
|
283
|
+
id = helper.formateId(id);
|
|
284
|
+
node.classList.add("".concat(attention.type, "-").concat(id, "-attention"));
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
SchemaRenderer.prototype.removeAnimationAttention = function (node) {
|
|
288
|
+
var schema = (this.props || {}).schema;
|
|
289
|
+
var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
|
|
290
|
+
if (attention) {
|
|
291
|
+
var id = schema.id;
|
|
292
|
+
id = helper.formateId(id);
|
|
293
|
+
node.classList.remove("".concat(attention.type, "-").concat(id, "-attention"));
|
|
294
|
+
}
|
|
295
|
+
};
|
|
235
296
|
SchemaRenderer.prototype.render = function () {
|
|
236
297
|
var e_1, _a;
|
|
237
298
|
var _this = this;
|
|
238
|
-
var _b, _c, _d, _e, _f, _g;
|
|
239
|
-
var
|
|
299
|
+
var _b, _c, _d, _e, _f, _g, _h;
|
|
300
|
+
var _j = this.props; _j.$path; var __ = _j.schema, rootStore = _j.rootStore, statusStore = _j.statusStore, render = _j.render, propKey = _j.key, rest = tslib.__rest(_j, ["$path", "schema", "rootStore", "statusStore", "render", "key"]);
|
|
240
301
|
if (__ == null) {
|
|
241
302
|
return null;
|
|
242
303
|
}
|
|
243
|
-
var
|
|
304
|
+
var _k = this.resolveRenderer(this.props), $path = _k.path, schema = _k.schema;
|
|
244
305
|
var theme = this.props.env.theme;
|
|
245
306
|
if (Array.isArray(schema)) {
|
|
246
307
|
return render($path, schema, rest);
|
|
@@ -297,7 +358,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
297
358
|
return null;
|
|
298
359
|
}
|
|
299
360
|
else if (!this.renderer) {
|
|
300
|
-
return rest.invisible ? null : (_J$X_(LazyComponent["default"],
|
|
361
|
+
return rest.invisible ? null : (_J$X_(LazyComponent["default"], { defaultVisible: true, getComponent: function () { return tslib.__awaiter(_this, void 0, void 0, function () {
|
|
301
362
|
var result;
|
|
302
363
|
return tslib.__generator(this, function (_a) {
|
|
303
364
|
switch (_a.label) {
|
|
@@ -311,15 +372,30 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
311
372
|
return [2 /*return*/, function () { return result; }];
|
|
312
373
|
}
|
|
313
374
|
this.reRender();
|
|
314
|
-
return [2 /*return*/, function () { return factory.
|
|
375
|
+
return [2 /*return*/, function () { return factory.loadRendererError(schema, $path); }];
|
|
315
376
|
}
|
|
316
377
|
});
|
|
317
|
-
}); }
|
|
378
|
+
}); } }));
|
|
379
|
+
}
|
|
380
|
+
else if (this.renderer.getComponent && !this.renderer.component) {
|
|
381
|
+
// 处理异步渲染器
|
|
382
|
+
return rest.invisible ? null : (_J$X_(LazyComponent["default"], { defaultVisible: true, getComponent: function () { return tslib.__awaiter(_this, void 0, void 0, function () {
|
|
383
|
+
return tslib.__generator(this, function (_a) {
|
|
384
|
+
switch (_a.label) {
|
|
385
|
+
case 0: return [4 /*yield*/, factory.loadAsyncRenderer(this.renderer)];
|
|
386
|
+
case 1:
|
|
387
|
+
_a.sent();
|
|
388
|
+
this.reRender();
|
|
389
|
+
return [2 /*return*/, function () { return null; }];
|
|
390
|
+
}
|
|
391
|
+
});
|
|
392
|
+
}); } }));
|
|
318
393
|
}
|
|
319
394
|
var renderer = this.renderer;
|
|
320
395
|
schema = factory.filterSchema(schema, renderer, rest);
|
|
321
396
|
var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = tslib.__rest(schema, ["data", "value", "activeKey"]);
|
|
322
397
|
var Component = renderer.component;
|
|
398
|
+
var animationIn = true;
|
|
323
399
|
// 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
|
|
324
400
|
// 而 visibleOn 和 hiddenOn 是无效的,
|
|
325
401
|
// 这个本来就是个bug,但是已经被广泛使用了
|
|
@@ -329,7 +405,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
329
405
|
exprProps.visible === false ||
|
|
330
406
|
!renderer.isFormItem ||
|
|
331
407
|
(schema.visible !== false && !schema.hidden))) {
|
|
332
|
-
|
|
408
|
+
if (schema.animations) {
|
|
409
|
+
animationIn = false;
|
|
410
|
+
}
|
|
411
|
+
else {
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
333
414
|
}
|
|
334
415
|
// withStore 里面会处理,而且会实时处理
|
|
335
416
|
// 这里处理反而导致了问题
|
|
@@ -338,9 +419,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
338
419
|
}
|
|
339
420
|
var supportRef = ((_e = Component.prototype) === null || _e === void 0 ? void 0 : _e.isReactComponent) ||
|
|
340
421
|
Component.$$typeof === Symbol.for('react.forward_ref');
|
|
341
|
-
var props = tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, theme.getRendererConfig(renderer.name)), restSchema), helper.chainEvents(rest, restSchema)), exprProps), {
|
|
422
|
+
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), {
|
|
342
423
|
// value: defaultValue, // 备注: 此处并没有将value传递给渲染器
|
|
343
|
-
defaultData: (
|
|
424
|
+
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 });
|
|
344
425
|
// style 支持公式
|
|
345
426
|
if (schema.style) {
|
|
346
427
|
props.style = style.buildStyle(schema.style, detectData);
|
|
@@ -363,8 +444,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
363
444
|
// 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
|
|
364
445
|
if (renderer.autoVar) {
|
|
365
446
|
try {
|
|
366
|
-
for (var
|
|
367
|
-
var key =
|
|
447
|
+
for (var _l = tslib.__values(Object.keys(schema)), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
448
|
+
var key = _m.value;
|
|
368
449
|
if (typeof props[key] === 'string' && formula.isExpression(props[key])) {
|
|
369
450
|
props[key] = resolveVariableAndFilter.resolveVariableAndFilter(props[key], props.data, '| raw');
|
|
370
451
|
}
|
|
@@ -373,12 +454,15 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
373
454
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
374
455
|
finally {
|
|
375
456
|
try {
|
|
376
|
-
if (
|
|
457
|
+
if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
|
|
377
458
|
}
|
|
378
459
|
finally { if (e_1) throw e_1.error; }
|
|
379
460
|
}
|
|
380
461
|
}
|
|
381
462
|
var component = supportRef ? (_J$X_(Component, tslib.__assign({}, props, { ref: this.childRef }))) : (_J$X_(Component, tslib.__assign({}, props, { forwardedRef: this.childRef })));
|
|
463
|
+
if (schema.animations) {
|
|
464
|
+
component = (_J$X_(reactTransitionGroup.CSSTransition, { in: animationIn, timeout: this.animationTimeout, classNames: this.animationClassNames, onEntered: this.addAnimationAttention, onExit: this.removeAnimationAttention, appear: true, unmountOnExit: true }, component));
|
|
465
|
+
}
|
|
382
466
|
return this.props.env.enableAMISDebug ? (_J$X_(debug.DebugWrapper, { renderer: renderer }, component)) : (component);
|
|
383
467
|
};
|
|
384
468
|
SchemaRenderer.displayName = 'Renderer';
|
package/lib/Scoped.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export interface IScopedContext {
|
|
|
39
39
|
getComponentById: (id: string) => ScopedComponentType | undefined;
|
|
40
40
|
getComponentByIdUnderCurrentScope: (id: string, ignoreScope?: IScopedContext) => ScopedComponentType | undefined;
|
|
41
41
|
getComponents: () => Array<ScopedComponentType>;
|
|
42
|
-
reload: (target: string, ctx: RendererData) => void
|
|
42
|
+
reload: (target: string, ctx: RendererData) => void | Promise<void>;
|
|
43
43
|
send: (target: string, ctx: RendererData) => void;
|
|
44
44
|
close: (target: string) => void;
|
|
45
45
|
closeById: (target: string) => void;
|
package/lib/Scoped.js
CHANGED
package/lib/StatusScoped.js
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface Style {
|
|
2
|
+
[id: string]: {
|
|
3
|
+
[className: string]: {
|
|
4
|
+
[propName: string]: string | number;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
declare class StyleManager {
|
|
9
|
+
styles: Style;
|
|
10
|
+
styleDom: HTMLStyleElement;
|
|
11
|
+
styleText: string;
|
|
12
|
+
constructor();
|
|
13
|
+
updateStyle(style: Style): void;
|
|
14
|
+
removeStyles(id: string): void;
|
|
15
|
+
updateStyleDom(): void;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: StyleManager;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* amis-core v6.9.0-beta.1
|
|
3
|
+
* Copyright 2018-2024 fex
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
|
+
|
|
10
|
+
var tslib = require('tslib');
|
|
11
|
+
var kebabCase = require('lodash/kebabCase');
|
|
12
|
+
|
|
13
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
|
+
|
|
15
|
+
var kebabCase__default = /*#__PURE__*/_interopDefaultLegacy(kebabCase);
|
|
16
|
+
|
|
17
|
+
var StyleManager = /** @class */ (function () {
|
|
18
|
+
function StyleManager() {
|
|
19
|
+
this.styles = {};
|
|
20
|
+
this.styleDom = document.createElement('style');
|
|
21
|
+
this.styleDom.id = 'amis-styles';
|
|
22
|
+
document.head.appendChild(this.styleDom);
|
|
23
|
+
}
|
|
24
|
+
StyleManager.prototype.updateStyle = function (style) {
|
|
25
|
+
var _this = this;
|
|
26
|
+
Object.keys(style).forEach(function (className) {
|
|
27
|
+
if (!_this.styles[className]) {
|
|
28
|
+
_this.styles[className] = style[className];
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
_this.styles[className] = tslib.__assign(tslib.__assign({}, _this.styles[className]), style[className]);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
this.updateStyleDom();
|
|
35
|
+
};
|
|
36
|
+
StyleManager.prototype.removeStyles = function (id) {
|
|
37
|
+
delete this.styles[id];
|
|
38
|
+
this.updateStyleDom();
|
|
39
|
+
};
|
|
40
|
+
StyleManager.prototype.updateStyleDom = function () {
|
|
41
|
+
var _this = this;
|
|
42
|
+
var styleText = Object.keys(this.styles)
|
|
43
|
+
.map(function (id) {
|
|
44
|
+
var style = _this.styles[id];
|
|
45
|
+
return Object.keys(style)
|
|
46
|
+
.map(function (className) {
|
|
47
|
+
return "".concat(className, " {").concat(Object.keys(style[className])
|
|
48
|
+
.map(function (propName) {
|
|
49
|
+
return "".concat(kebabCase__default["default"](propName), ": ").concat(style[className][propName], ";");
|
|
50
|
+
})
|
|
51
|
+
.join(''), "}");
|
|
52
|
+
})
|
|
53
|
+
.join('');
|
|
54
|
+
})
|
|
55
|
+
.join('');
|
|
56
|
+
this.styleDom.innerHTML = styleText;
|
|
57
|
+
this.styleText = styleText;
|
|
58
|
+
};
|
|
59
|
+
return StyleManager;
|
|
60
|
+
}());
|
|
61
|
+
var styleManager = new StyleManager();
|
|
62
|
+
|
|
63
|
+
exports["default"] = styleManager;
|
package/lib/WithRootStore.js
CHANGED
package/lib/WithStore.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-beta.1
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -109,7 +109,7 @@ function HocStoreFactory(renderer) {
|
|
|
109
109
|
};
|
|
110
110
|
StoreFactory.prototype.componentDidUpdate = function (prevProps) {
|
|
111
111
|
var _this = this;
|
|
112
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
112
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
113
113
|
var props = this.props;
|
|
114
114
|
var store = this.store;
|
|
115
115
|
// dialog 场景下 schema 是显示的时候更新的,
|
|
@@ -143,7 +143,7 @@ function HocStoreFactory(renderer) {
|
|
|
143
143
|
(props.data &&
|
|
144
144
|
prevProps.data &&
|
|
145
145
|
props.data.__super !== prevProps.data.__super))) {
|
|
146
|
-
store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, this.formatData(dataMapping.dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), ((_c = props.updatePristineAfterStoreDataReInit) !== null && _c !== void 0 ? _c : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
|
|
146
|
+
store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, this.formatData(dataMapping.dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), ((_c = props.updatePristineAfterStoreDataReInit) !== null && _c !== void 0 ? _c : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_d = props.data) === null || _d === void 0 ? void 0 : _d.__changeReason);
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
else if (shouldSync === true ||
|
|
@@ -155,7 +155,7 @@ function HocStoreFactory(renderer) {
|
|
|
155
155
|
helper.isSuperDataModified(props.data, prevProps.data, store)))) {
|
|
156
156
|
if (props.store && props.scope === props.data) {
|
|
157
157
|
store.initData(object.createObject(props.store.data, tslib.__assign(tslib.__assign({}, this.formatData(dataMapping.dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (props.syncSuperStore === false
|
|
158
|
-
? tslib.__assign({}, store.data) : helper.syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)))), ((
|
|
158
|
+
? tslib.__assign({}, store.data) : helper.syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)))), ((_e = props.updatePristineAfterStoreDataReInit) !== null && _e !== void 0 ? _e : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_f = props.data) === null || _f === void 0 ? void 0 : _f.__changeReason);
|
|
159
159
|
}
|
|
160
160
|
else if (props.data && props.data.__super) {
|
|
161
161
|
store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign({}, this.formatData(dataMapping.dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), // 有远程数据
|
|
@@ -163,12 +163,12 @@ function HocStoreFactory(renderer) {
|
|
|
163
163
|
(store.hasRemoteData || !store.path.includes('/')
|
|
164
164
|
? tslib.__assign(tslib.__assign({}, store.data), props.data) : // combo 不需要同步,如果要同步,在 Combo.tsx 里面已经实现了相关逻辑
|
|
165
165
|
// 目前主要的问题是,如果 combo 中表单项名字和 combo 本身的名字一样,会导致里面的值会被覆盖成数组
|
|
166
|
-
((
|
|
166
|
+
((_g = props.store) === null || _g === void 0 ? void 0 : _g.storeType) === 'ComboStore'
|
|
167
167
|
? undefined
|
|
168
|
-
: helper.syncDataFromSuper(tslib.__assign(tslib.__assign({}, store.pristineDiff), props.data), props.data.__super, prevProps.data.__super, store, false)))), ((
|
|
168
|
+
: helper.syncDataFromSuper(tslib.__assign(tslib.__assign({}, store.pristineDiff), props.data), props.data.__super, prevProps.data.__super, store, false)))), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_j = props.data) === null || _j === void 0 ? void 0 : _j.__changeReason);
|
|
169
169
|
}
|
|
170
170
|
else {
|
|
171
|
-
store.initData(object.createObject(props.scope, props.data), ((
|
|
171
|
+
store.initData(object.createObject(props.scope, props.data), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_l = props.data) === null || _l === void 0 ? void 0 : _l.__changeReason);
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
else if (!props.trackExpression &&
|
|
@@ -178,9 +178,9 @@ function HocStoreFactory(renderer) {
|
|
|
178
178
|
// 这个用法很少,当 data.__super 值发生变化时,更新 store.data
|
|
179
179
|
if (!prevProps.data ||
|
|
180
180
|
helper.isObjectShallowModified(props.data.__super, prevProps.data.__super, false)) {
|
|
181
|
-
store.initData(object.createObject(props.data.__super, tslib.__assign(tslib.__assign({}, props.data), store.data)), ((
|
|
181
|
+
store.initData(object.createObject(props.data.__super, tslib.__assign(tslib.__assign({}, props.data), store.data)), ((_m = props.updatePristineAfterStoreDataReInit) !== null && _m !== void 0 ? _m : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
|
|
182
182
|
(store.storeType === 'FormStore' &&
|
|
183
|
-
((
|
|
183
|
+
((_o = prevProps.store) === null || _o === void 0 ? void 0 : _o.storeType) === 'CRUDStore'), (_p = props.data) === null || _p === void 0 ? void 0 : _p.__changeReason);
|
|
184
184
|
}
|
|
185
185
|
// nextProps.data.__super !== props.data.__super) &&
|
|
186
186
|
}
|
|
@@ -190,7 +190,7 @@ function HocStoreFactory(renderer) {
|
|
|
190
190
|
prevProps.data !== props.data) {
|
|
191
191
|
// 只有父级数据变动的时候才应该进来,
|
|
192
192
|
// 目前看来这个 case 很少有情况下能进来
|
|
193
|
-
store.initData(object.createObject(props.scope, tslib.__assign({}, store.data)), ((
|
|
193
|
+
store.initData(object.createObject(props.scope, tslib.__assign({}, store.data)), ((_q = props.updatePristineAfterStoreDataReInit) !== null && _q !== void 0 ? _q : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_r = props.data) === null || _r === void 0 ? void 0 : _r.__changeReason);
|
|
194
194
|
}
|
|
195
195
|
};
|
|
196
196
|
StoreFactory.prototype.componentWillUnmount = function () {
|
package/lib/actions/Action.js
CHANGED