amis-core 6.9.0-beta.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.js +1 -1
- package/esm/SchemaRenderer.d.ts +13 -0
- package/esm/SchemaRenderer.js +73 -4
- 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 +1 -1
- 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/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 +1 -1
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.js +1 -1
- package/esm/index.d.ts +3 -1
- package/esm/index.js +7 -5
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.js +1 -1
- package/esm/renderers/Item.js +1 -1
- 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 +1 -1
- package/esm/store/app.js +1 -1
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.js +1 -1
- package/esm/store/form.js +1 -1
- package/esm/store/formItem.js +1 -1
- package/esm/store/iRenderer.js +1 -1
- package/esm/store/index.js +1 -1
- package/esm/store/list.js +1 -1
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.js +1 -1
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.js +1 -1
- package/esm/store/root.js +1 -1
- package/esm/store/service.js +1 -1
- package/esm/store/status.js +1 -1
- package/esm/store/table.js +1 -1
- package/esm/store/table2.js +1 -1
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +2 -0
- 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.js +1 -1
- 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 +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 +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 +1 -1
- package/lib/SchemaRenderer.d.ts +13 -0
- package/lib/SchemaRenderer.js +72 -3
- 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 +1 -1
- 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/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 +1 -1
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.js +1 -1
- package/lib/index.d.ts +3 -1
- package/lib/index.js +9 -4
- package/lib/locale.js +1 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.js +1 -1
- package/lib/renderers/Item.js +1 -1
- 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 +1 -1
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +1 -0
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.js +1 -1
- package/lib/store/form.d.ts +1 -0
- package/lib/store/form.js +1 -1
- package/lib/store/formItem.js +1 -1
- package/lib/store/iRenderer.js +1 -1
- package/lib/store/index.js +1 -1
- package/lib/store/list.js +1 -1
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.js +1 -1
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.js +1 -1
- package/lib/store/root.js +1 -1
- package/lib/store/service.js +1 -1
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +1 -0
- package/lib/store/table.js +1 -1
- package/lib/store/table2.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +2 -0
- 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.js +1 -1
- 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 +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 +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 +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/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.js
CHANGED
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
package/esm/utils/validateId.js
CHANGED
package/esm/utils/validations.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.9.0-beta.
|
|
2
|
+
* amis-core v6.9.0-beta.1
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -87,6 +87,15 @@ var makeUrlRegexp = memoize(function (options) {
|
|
|
87
87
|
}
|
|
88
88
|
return new RegExp(regex, 'i');
|
|
89
89
|
});
|
|
90
|
+
var valueToString = function (value) {
|
|
91
|
+
return typeof value === 'undefined' || value === null
|
|
92
|
+
? ''
|
|
93
|
+
: typeof value === 'string'
|
|
94
|
+
? value
|
|
95
|
+
: value instanceof Date
|
|
96
|
+
? value.toISOString()
|
|
97
|
+
: JSON.stringify(value);
|
|
98
|
+
};
|
|
90
99
|
var validations = {
|
|
91
100
|
isRequired: function (values, value) {
|
|
92
101
|
return (value !== undefined &&
|
|
@@ -144,9 +153,7 @@ var validations = {
|
|
|
144
153
|
},
|
|
145
154
|
isLength: function (values, value, length) {
|
|
146
155
|
// 此方法应该判断文本长度,如果传入数据为number,导致 maxLength 和 maximum 表现一致了,默认转成string
|
|
147
|
-
|
|
148
|
-
value = String(value);
|
|
149
|
-
}
|
|
156
|
+
value = valueToString(value);
|
|
150
157
|
return !isExisty(value) || isEmpty(value) || value.length === length;
|
|
151
158
|
},
|
|
152
159
|
equals: function (values, value, eql) {
|
|
@@ -157,16 +164,12 @@ var validations = {
|
|
|
157
164
|
},
|
|
158
165
|
maxLength: function (values, value, length) {
|
|
159
166
|
// 此方法应该判断文本长度,如果传入数据为number,导致 maxLength 和 maximum 表现一致了,默认转成string
|
|
160
|
-
|
|
161
|
-
value = String(value);
|
|
162
|
-
}
|
|
167
|
+
value = valueToString(value);
|
|
163
168
|
return !isExisty(value) || value.length <= length;
|
|
164
169
|
},
|
|
165
170
|
minLength: function (values, value, length) {
|
|
166
171
|
// 此方法应该判断文本长度,如果传入数据为number,导致 maxLength 和 maximum 表现一致了,默认转成string
|
|
167
|
-
|
|
168
|
-
value = String(value);
|
|
169
|
-
}
|
|
172
|
+
value = valueToString(value);
|
|
170
173
|
return !isExisty(value) || isEmpty(value) || value.length >= length;
|
|
171
174
|
},
|
|
172
175
|
isUrlPath: function (values, value, regexp) {
|
package/lib/Root.js
CHANGED
package/lib/RootRenderer.js
CHANGED
package/lib/SchemaRenderer.d.ts
CHANGED
|
@@ -19,12 +19,23 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
|
|
|
19
19
|
cRef: any;
|
|
20
20
|
schema: any;
|
|
21
21
|
path: string;
|
|
22
|
+
animationTimeout: {
|
|
23
|
+
enter?: number;
|
|
24
|
+
exit?: number;
|
|
25
|
+
};
|
|
26
|
+
animationClassNames: {
|
|
27
|
+
appear?: string;
|
|
28
|
+
enter?: string;
|
|
29
|
+
exit?: string;
|
|
30
|
+
};
|
|
22
31
|
reaction: any;
|
|
23
32
|
unbindEvent: (() => void) | undefined;
|
|
24
33
|
isStatic: any;
|
|
25
34
|
constructor(props: SchemaRendererProps);
|
|
35
|
+
componentDidMount(): void;
|
|
26
36
|
componentWillUnmount(): void;
|
|
27
37
|
shouldComponentUpdate(nextProps: SchemaRendererProps): boolean;
|
|
38
|
+
removeAnimationStyle(): void;
|
|
28
39
|
resolveRenderer(props: SchemaRendererProps, force?: boolean): any;
|
|
29
40
|
getWrappedInstance(): any;
|
|
30
41
|
refFn(ref: any): void;
|
|
@@ -35,6 +46,8 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
|
|
|
35
46
|
[propName: string]: any;
|
|
36
47
|
}): any;
|
|
37
48
|
reRender(): void;
|
|
49
|
+
addAnimationAttention(node: HTMLElement): void;
|
|
50
|
+
removeAnimationAttention(node: HTMLElement): void;
|
|
38
51
|
render(): JSX.Element | null;
|
|
39
52
|
}
|
|
40
53
|
export {};
|
package/lib/SchemaRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.9.0-beta.
|
|
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;
|
|
@@ -233,6 +275,24 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
233
275
|
this.resolveRenderer(this.props, true);
|
|
234
276
|
this.forceUpdate();
|
|
235
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
|
+
};
|
|
236
296
|
SchemaRenderer.prototype.render = function () {
|
|
237
297
|
var e_1, _a;
|
|
238
298
|
var _this = this;
|
|
@@ -335,6 +395,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
335
395
|
schema = factory.filterSchema(schema, renderer, rest);
|
|
336
396
|
var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = tslib.__rest(schema, ["data", "value", "activeKey"]);
|
|
337
397
|
var Component = renderer.component;
|
|
398
|
+
var animationIn = true;
|
|
338
399
|
// 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
|
|
339
400
|
// 而 visibleOn 和 hiddenOn 是无效的,
|
|
340
401
|
// 这个本来就是个bug,但是已经被广泛使用了
|
|
@@ -344,7 +405,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
344
405
|
exprProps.visible === false ||
|
|
345
406
|
!renderer.isFormItem ||
|
|
346
407
|
(schema.visible !== false && !schema.hidden))) {
|
|
347
|
-
|
|
408
|
+
if (schema.animations) {
|
|
409
|
+
animationIn = false;
|
|
410
|
+
}
|
|
411
|
+
else {
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
348
414
|
}
|
|
349
415
|
// withStore 里面会处理,而且会实时处理
|
|
350
416
|
// 这里处理反而导致了问题
|
|
@@ -394,6 +460,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
394
460
|
}
|
|
395
461
|
}
|
|
396
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
|
+
}
|
|
397
466
|
return this.props.env.enableAMISDebug ? (_J$X_(debug.DebugWrapper, { renderer: renderer }, component)) : (component);
|
|
398
467
|
};
|
|
399
468
|
SchemaRenderer.displayName = 'Renderer';
|
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
package/lib/actions/Action.js
CHANGED