amis-core 6.9.0-rc.1 → 6.9.0-rc.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 +1 -1
- package/esm/SchemaRenderer.d.ts +13 -0
- package/esm/SchemaRenderer.js +76 -6
- 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 +1 -1
- package/esm/actions/Action.js +4 -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.js +1 -1
- package/esm/components/Overlay.js +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 +7 -1
- package/esm/factory.js +51 -5
- package/esm/index.d.ts +6 -4
- package/esm/index.js +13 -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 +2 -2
- package/esm/renderers/Form.js +11 -6
- package/esm/renderers/Item.d.ts +2 -1
- package/esm/renderers/Item.js +9 -10
- package/esm/renderers/Options.d.ts +46 -1
- package/esm/renderers/Options.js +921 -914
- package/esm/renderers/Placeholder.js +1 -1
- package/esm/renderers/builtin.js +1 -1
- package/esm/renderers/register.js +1 -1
- package/esm/renderers/wrapControl.d.ts +2 -1
- package/esm/renderers/wrapControl.js +8 -7
- package/esm/store/app.js +1 -1
- package/esm/store/combo.d.ts +2 -0
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.js +1 -1
- package/esm/store/form.d.ts +1 -0
- package/esm/store/form.js +5 -1
- package/esm/store/formItem.js +4 -4
- 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.d.ts +2 -0
- package/esm/store/table.js +1 -1
- 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 +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.d.ts +2 -1
- package/esm/utils/api.js +11 -4
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +4 -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.d.ts +3 -3
- package/esm/utils/debug.js +104 -37
- 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/index.d.ts +1 -0
- 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 +2 -2
- package/esm/utils/loopTooMuch.d.ts +1 -0
- package/esm/utils/loopTooMuch.js +27 -0
- 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 +11 -6
- 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 +17 -12
- 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 +75 -5
- 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 +1 -1
- package/lib/actions/Action.js +4 -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.js +1 -1
- package/lib/components/Overlay.js +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 +7 -1
- package/lib/factory.js +52 -4
- package/lib/index.d.ts +6 -4
- package/lib/index.js +17 -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 +2 -2
- package/lib/renderers/Form.js +11 -6
- package/lib/renderers/Item.d.ts +2 -1
- package/lib/renderers/Item.js +8 -9
- package/lib/renderers/Options.d.ts +46 -1
- package/lib/renderers/Options.js +920 -912
- package/lib/renderers/Placeholder.js +1 -1
- package/lib/renderers/builtin.js +1 -1
- package/lib/renderers/register.js +1 -1
- package/lib/renderers/wrapControl.d.ts +2 -1
- package/lib/renderers/wrapControl.js +8 -7
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +2 -1
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.js +1 -1
- package/lib/store/form.d.ts +1 -1
- package/lib/store/form.js +5 -1
- package/lib/store/formItem.js +4 -4
- 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 +2 -1
- package/lib/store/table.js +1 -1
- 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 +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.d.ts +2 -1
- package/lib/utils/api.js +10 -2
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +4 -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.d.ts +3 -3
- package/lib/utils/debug.js +103 -36
- 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/index.d.ts +1 -0
- 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 +2 -2
- package/lib/utils/loopTooMuch.d.ts +1 -0
- package/lib/utils/loopTooMuch.js +31 -0
- 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 +11 -6
- 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 +17 -12
- package/lib/utils/visitedCache.js +1 -1
- package/package.json +5 -4
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-rc.
|
|
2
|
+
* amis-core v6.9.0-rc.11
|
|
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) {
|
|
@@ -208,12 +211,14 @@ var validations = {
|
|
|
208
211
|
return true;
|
|
209
212
|
},
|
|
210
213
|
isPhoneNumber: function (values, value) {
|
|
211
|
-
return (!isExisty(value) ||
|
|
214
|
+
return (!isExisty(value) ||
|
|
215
|
+
isEmpty(value) ||
|
|
216
|
+
/^(\+\d{2}-)?[1]([3-9])[0-9]{9}$/.test(value));
|
|
212
217
|
},
|
|
213
218
|
isTelNumber: function (values, value) {
|
|
214
219
|
return (!isExisty(value) ||
|
|
215
220
|
isEmpty(value) ||
|
|
216
|
-
/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(value));
|
|
221
|
+
/^(\+\d{2}-)?(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(value));
|
|
217
222
|
},
|
|
218
223
|
isZipcode: function (values, value) {
|
|
219
224
|
return !isExisty(value) || isEmpty(value) || /^\d{6}$/.test(value);
|
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-rc.
|
|
2
|
+
* amis-core v6.9.0-rc.11
|
|
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
|
};
|
|
@@ -232,6 +275,24 @@ 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;
|
|
@@ -334,6 +395,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
334
395
|
schema = factory.filterSchema(schema, renderer, rest);
|
|
335
396
|
var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = tslib.__rest(schema, ["data", "value", "activeKey"]);
|
|
336
397
|
var Component = renderer.component;
|
|
398
|
+
var animationIn = true;
|
|
337
399
|
// 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
|
|
338
400
|
// 而 visibleOn 和 hiddenOn 是无效的,
|
|
339
401
|
// 这个本来就是个bug,但是已经被广泛使用了
|
|
@@ -343,7 +405,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
343
405
|
exprProps.visible === false ||
|
|
344
406
|
!renderer.isFormItem ||
|
|
345
407
|
(schema.visible !== false && !schema.hidden))) {
|
|
346
|
-
|
|
408
|
+
if (schema.animations) {
|
|
409
|
+
animationIn = false;
|
|
410
|
+
}
|
|
411
|
+
else {
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
347
414
|
}
|
|
348
415
|
// withStore 里面会处理,而且会实时处理
|
|
349
416
|
// 这里处理反而导致了问题
|
|
@@ -393,6 +460,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
393
460
|
}
|
|
394
461
|
}
|
|
395
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
|
+
}
|
|
396
466
|
return this.props.env.enableAMISDebug ? (_J$X_(debug.DebugWrapper, { renderer: renderer }, component)) : (component);
|
|
397
467
|
};
|
|
398
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-rc.11
|
|
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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.9.0-rc.
|
|
2
|
+
* amis-core v6.9.0-rc.11
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -18,6 +18,7 @@ require('../utils/memoryParse.js');
|
|
|
18
18
|
require('@rc-component/mini-decimal');
|
|
19
19
|
var dataMapping = require('../utils/dataMapping.js');
|
|
20
20
|
require('../utils/filter.js');
|
|
21
|
+
var debug = require('../utils/debug.js');
|
|
21
22
|
|
|
22
23
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
23
24
|
|
|
@@ -285,6 +286,8 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
|
|
|
285
286
|
: mergeData;
|
|
286
287
|
(_x = console.group) === null || _x === void 0 ? void 0 : _x.call(console, "run action ".concat(action.actionType));
|
|
287
288
|
console.debug("[".concat(action.actionType, "] action args, data"), args, data);
|
|
289
|
+
debug.debug('action', "run action ".concat(action.actionType, " with args"), args);
|
|
290
|
+
debug.debug('action', "run action ".concat(action.actionType, " with data"), data);
|
|
288
291
|
stopped = false;
|
|
289
292
|
return [4 /*yield*/, actionInstrance.run(tslib.__assign(tslib.__assign(tslib.__assign({}, action), { args: args, rawData: actionConfig.data, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
|
|
290
293
|
case 5:
|