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/esm/Root.js
CHANGED
package/esm/RootRenderer.d.ts
CHANGED
|
@@ -30,5 +30,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
|
|
|
30
30
|
renderError(): React.ReactNode;
|
|
31
31
|
renderDialog(): React.ReactNode;
|
|
32
32
|
renderDrawer(): React.ReactNode;
|
|
33
|
-
render(): string | number | boolean |
|
|
33
|
+
render(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
|
|
34
34
|
}
|
package/esm/RootRenderer.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
|
|
|
@@ -8,7 +8,7 @@ import { observer } from 'mobx-react';
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { filterTarget, ScopedContext } from './Scoped.js';
|
|
10
10
|
import { RootStore } from './store/root.js';
|
|
11
|
-
import { guid, bulkBindFunctions, isVisible } from './utils/helper.js';
|
|
11
|
+
import { guid, bulkBindFunctions, JSONTraverse, isVisible } from './utils/helper.js';
|
|
12
12
|
import { filter } from './utils/tpl.js';
|
|
13
13
|
import qs from 'qs';
|
|
14
14
|
import pick from 'lodash/pick';
|
|
@@ -16,6 +16,8 @@ import mapValues from 'lodash/mapValues';
|
|
|
16
16
|
import { saveAs } from 'file-saver';
|
|
17
17
|
import { normalizeApi } from './utils/api.js';
|
|
18
18
|
import { findDOMNode } from 'react-dom';
|
|
19
|
+
import themedLazyComponent from './components/LazyComponent.js';
|
|
20
|
+
import { hasAsyncRenderers, loadAsyncRenderersByType } from './factory.js';
|
|
19
21
|
|
|
20
22
|
var RootRenderer = /** @class */ (function (_super) {
|
|
21
23
|
__extends(RootRenderer, _super);
|
|
@@ -41,6 +43,23 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
41
43
|
'handleDrawerClose',
|
|
42
44
|
'handlePageVisibilityChange'
|
|
43
45
|
]);
|
|
46
|
+
_this.store.init(function () {
|
|
47
|
+
if (!hasAsyncRenderers()) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
var schema = props.schema;
|
|
51
|
+
var types = ['tpl', 'dialog', 'drawer'];
|
|
52
|
+
JSONTraverse(schema, function (value, key) {
|
|
53
|
+
if (key === 'type') {
|
|
54
|
+
types.push(value);
|
|
55
|
+
// form 依赖 panel
|
|
56
|
+
if (value === 'form') {
|
|
57
|
+
types.push('panel');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
return loadAsyncRenderersByType(types, true);
|
|
62
|
+
});
|
|
44
63
|
return _this;
|
|
45
64
|
}
|
|
46
65
|
RootRenderer.prototype.componentDidMount = function () {
|
|
@@ -339,6 +358,9 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
339
358
|
if (store.runtimeError) {
|
|
340
359
|
return this.renderRuntimeError();
|
|
341
360
|
}
|
|
361
|
+
else if (!store.ready) {
|
|
362
|
+
return React.createElement(themedLazyComponent, { className: "RootLoader" });
|
|
363
|
+
}
|
|
342
364
|
return (React.createElement(React.Fragment, null,
|
|
343
365
|
render(pathPrefix, schema, __assign(__assign({}, rest), { topStore: this.store, data: this.store.downStream, context: store.context, onAction: this.handleAction })),
|
|
344
366
|
this.renderSpinner(),
|
package/esm/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/esm/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
|
|
|
@@ -8,13 +8,13 @@ import difference from 'lodash/difference';
|
|
|
8
8
|
import omit from 'lodash/omit';
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import { isValidElementType } from 'react-is';
|
|
11
|
-
import
|
|
12
|
-
import { resolveRenderer,
|
|
11
|
+
import themedLazyComponent from './components/LazyComponent.js';
|
|
12
|
+
import { resolveRenderer, loadRendererError, loadAsyncRenderer, filterSchema } from './factory.js';
|
|
13
13
|
import { asFormItem } from './renderers/Item.js';
|
|
14
14
|
import { ScopedContext } from './Scoped.js';
|
|
15
15
|
import { DebugWrapper } from './utils/debug.js';
|
|
16
16
|
import { getExprProperties } from './utils/filter-schema.js';
|
|
17
|
-
import { anyChanged, chainEvents, TestIdBuilder, autobind } from './utils/helper.js';
|
|
17
|
+
import { formateId, anyChanged, chainEvents, TestIdBuilder, autobind } from './utils/helper.js';
|
|
18
18
|
import { SimpleMap } from './utils/SimpleMap.js';
|
|
19
19
|
import { bindEvent, dispatchEvent } from './utils/renderer-event.js';
|
|
20
20
|
import { isAlive } from 'mobx-state-tree';
|
|
@@ -29,6 +29,9 @@ import './utils/filter.js';
|
|
|
29
29
|
import { buildStyle } from './utils/style.js';
|
|
30
30
|
import { isExpression } from './utils/formula.js';
|
|
31
31
|
import { filter, evalExpression } from './utils/tpl.js';
|
|
32
|
+
import { CSSTransition } from 'react-transition-group';
|
|
33
|
+
import { createAnimationStyle } from './utils/animations.js';
|
|
34
|
+
import styleManager from './StyleManager.js';
|
|
32
35
|
|
|
33
36
|
var RENDERER_TRANSMISSION_OMIT_PROPS = [
|
|
34
37
|
'type',
|
|
@@ -71,15 +74,39 @@ var componentCache = new SimpleMap();
|
|
|
71
74
|
var SchemaRenderer = /** @class */ (function (_super) {
|
|
72
75
|
__extends(SchemaRenderer, _super);
|
|
73
76
|
function SchemaRenderer(props) {
|
|
74
|
-
var _this =
|
|
77
|
+
var _this = this;
|
|
78
|
+
var _a;
|
|
79
|
+
_this = _super.call(this, props) || this;
|
|
75
80
|
_this.rendererKey = '';
|
|
81
|
+
_this.animationTimeout = {};
|
|
82
|
+
_this.animationClassNames = {};
|
|
76
83
|
_this.unbindEvent = undefined;
|
|
77
84
|
_this.isStatic = undefined;
|
|
85
|
+
var animations = (_a = props === null || props === void 0 ? void 0 : props.schema) === null || _a === void 0 ? void 0 : _a.animations;
|
|
86
|
+
if (animations) {
|
|
87
|
+
var id = props === null || props === void 0 ? void 0 : props.schema.id;
|
|
88
|
+
id = formateId(id);
|
|
89
|
+
if (animations.enter) {
|
|
90
|
+
_this.animationTimeout.enter =
|
|
91
|
+
((animations.enter.duration || 1) + (animations.enter.delay || 0)) *
|
|
92
|
+
1000;
|
|
93
|
+
_this.animationClassNames.enter = "".concat(animations.enter.type, "-").concat(id, "-enter");
|
|
94
|
+
_this.animationClassNames.appear = _this.animationClassNames.enter;
|
|
95
|
+
}
|
|
96
|
+
if (animations.exit) {
|
|
97
|
+
_this.animationTimeout.exit =
|
|
98
|
+
((animations.exit.duration || 1) + (animations.exit.delay || 0)) *
|
|
99
|
+
1000;
|
|
100
|
+
_this.animationClassNames.exit = "".concat(animations.exit.type, "-").concat(id, "-exit");
|
|
101
|
+
}
|
|
102
|
+
}
|
|
78
103
|
_this.refFn = _this.refFn.bind(_this);
|
|
79
104
|
_this.renderChild = _this.renderChild.bind(_this);
|
|
80
105
|
_this.reRender = _this.reRender.bind(_this);
|
|
81
106
|
_this.resolveRenderer(_this.props);
|
|
82
107
|
_this.dispatchEvent = _this.dispatchEvent.bind(_this);
|
|
108
|
+
_this.addAnimationAttention = _this.addAnimationAttention.bind(_this);
|
|
109
|
+
_this.removeAnimationAttention = _this.removeAnimationAttention.bind(_this);
|
|
83
110
|
// 监听statusStore更新
|
|
84
111
|
_this.reaction = reaction(function () {
|
|
85
112
|
var _a, _b, _c;
|
|
@@ -89,10 +116,18 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
89
116
|
}, function () { return _this.forceUpdate(); });
|
|
90
117
|
return _this;
|
|
91
118
|
}
|
|
119
|
+
SchemaRenderer.prototype.componentDidMount = function () {
|
|
120
|
+
if (this.props.schema.animations) {
|
|
121
|
+
var _a = this.props.schema, animations = _a.animations, id = _a.id;
|
|
122
|
+
id = formateId(id);
|
|
123
|
+
createAnimationStyle(id, animations);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
92
126
|
SchemaRenderer.prototype.componentWillUnmount = function () {
|
|
93
127
|
var _a, _b;
|
|
94
128
|
(_a = this.reaction) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
95
129
|
(_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
130
|
+
this.removeAnimationStyle();
|
|
96
131
|
};
|
|
97
132
|
// 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。
|
|
98
133
|
SchemaRenderer.prototype.shouldComponentUpdate = function (nextProps) {
|
|
@@ -115,6 +150,13 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
115
150
|
}
|
|
116
151
|
return false;
|
|
117
152
|
};
|
|
153
|
+
SchemaRenderer.prototype.removeAnimationStyle = function () {
|
|
154
|
+
if (this.props.schema.animations) {
|
|
155
|
+
var id = this.props.schema.id;
|
|
156
|
+
id = formateId(id);
|
|
157
|
+
styleManager.removeStyles(id);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
118
160
|
SchemaRenderer.prototype.resolveRenderer = function (props, force) {
|
|
119
161
|
if (force === void 0) { force = false; }
|
|
120
162
|
var schema = props.schema;
|
|
@@ -164,7 +206,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
164
206
|
};
|
|
165
207
|
SchemaRenderer.prototype.childRef = function (ref) {
|
|
166
208
|
var _this = this;
|
|
167
|
-
var _a;
|
|
209
|
+
var _a, _b;
|
|
168
210
|
// todo 这里有个问题,就是注意以下的这段注释
|
|
169
211
|
// > // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
|
|
170
212
|
// > 而 visibleOn 和 hiddenOn 是无效的,
|
|
@@ -182,7 +224,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
182
224
|
}
|
|
183
225
|
if (ref) {
|
|
184
226
|
// 这里无法区分监听的是不是广播,所以又bind一下,主要是为了绑广播
|
|
185
|
-
this.unbindEvent
|
|
227
|
+
(_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
228
|
+
this.unbindEvent = bindEvent(ref);
|
|
186
229
|
}
|
|
187
230
|
this.cRef = ref;
|
|
188
231
|
};
|
|
@@ -205,7 +248,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
205
248
|
var omitList = RENDERER_TRANSMISSION_OMIT_PROPS.concat();
|
|
206
249
|
if (this.renderer) {
|
|
207
250
|
var Component = this.renderer.component;
|
|
208
|
-
Component.propsList &&
|
|
251
|
+
(Component === null || Component === void 0 ? void 0 : Component.propsList) &&
|
|
209
252
|
omitList.push.apply(omitList, Component.propsList);
|
|
210
253
|
}
|
|
211
254
|
return render("".concat($path).concat(region ? "/".concat(region) : ''), node || '', __assign(__assign(__assign(__assign({}, omit(rest, omitList)), { defaultStatic: (_c = (_b = (((_a = this.renderer) === null || _a === void 0 ? void 0 : _a.type) &&
|
|
@@ -219,15 +262,33 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
219
262
|
this.resolveRenderer(this.props, true);
|
|
220
263
|
this.forceUpdate();
|
|
221
264
|
};
|
|
265
|
+
SchemaRenderer.prototype.addAnimationAttention = function (node) {
|
|
266
|
+
var schema = (this.props || {}).schema;
|
|
267
|
+
var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
|
|
268
|
+
if (attention) {
|
|
269
|
+
var id = schema.id;
|
|
270
|
+
id = formateId(id);
|
|
271
|
+
node.classList.add("".concat(attention.type, "-").concat(id, "-attention"));
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
SchemaRenderer.prototype.removeAnimationAttention = function (node) {
|
|
275
|
+
var schema = (this.props || {}).schema;
|
|
276
|
+
var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
|
|
277
|
+
if (attention) {
|
|
278
|
+
var id = schema.id;
|
|
279
|
+
id = formateId(id);
|
|
280
|
+
node.classList.remove("".concat(attention.type, "-").concat(id, "-attention"));
|
|
281
|
+
}
|
|
282
|
+
};
|
|
222
283
|
SchemaRenderer.prototype.render = function () {
|
|
223
284
|
var e_1, _a;
|
|
224
285
|
var _this = this;
|
|
225
|
-
var _b, _c, _d, _e, _f, _g;
|
|
226
|
-
var
|
|
286
|
+
var _b, _c, _d, _e, _f, _g, _h;
|
|
287
|
+
var _j = this.props; _j.$path; var __ = _j.schema, rootStore = _j.rootStore, statusStore = _j.statusStore, render = _j.render, propKey = _j.key, rest = __rest(_j, ["$path", "schema", "rootStore", "statusStore", "render", "key"]);
|
|
227
288
|
if (__ == null) {
|
|
228
289
|
return null;
|
|
229
290
|
}
|
|
230
|
-
var
|
|
291
|
+
var _k = this.resolveRenderer(this.props), $path = _k.path, schema = _k.schema;
|
|
231
292
|
var theme = this.props.env.theme;
|
|
232
293
|
if (Array.isArray(schema)) {
|
|
233
294
|
return render($path, schema, rest);
|
|
@@ -284,7 +345,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
284
345
|
return null;
|
|
285
346
|
}
|
|
286
347
|
else if (!this.renderer) {
|
|
287
|
-
return rest.invisible ? null : (React.createElement(
|
|
348
|
+
return rest.invisible ? null : (React.createElement(themedLazyComponent, { defaultVisible: true, getComponent: function () { return __awaiter(_this, void 0, void 0, function () {
|
|
288
349
|
var result;
|
|
289
350
|
return __generator(this, function (_a) {
|
|
290
351
|
switch (_a.label) {
|
|
@@ -298,15 +359,30 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
298
359
|
return [2 /*return*/, function () { return result; }];
|
|
299
360
|
}
|
|
300
361
|
this.reRender();
|
|
301
|
-
return [2 /*return*/, function () { return
|
|
362
|
+
return [2 /*return*/, function () { return loadRendererError(schema, $path); }];
|
|
302
363
|
}
|
|
303
364
|
});
|
|
304
|
-
}); }
|
|
365
|
+
}); } }));
|
|
366
|
+
}
|
|
367
|
+
else if (this.renderer.getComponent && !this.renderer.component) {
|
|
368
|
+
// 处理异步渲染器
|
|
369
|
+
return rest.invisible ? null : (React.createElement(themedLazyComponent, { defaultVisible: true, getComponent: function () { return __awaiter(_this, void 0, void 0, function () {
|
|
370
|
+
return __generator(this, function (_a) {
|
|
371
|
+
switch (_a.label) {
|
|
372
|
+
case 0: return [4 /*yield*/, loadAsyncRenderer(this.renderer)];
|
|
373
|
+
case 1:
|
|
374
|
+
_a.sent();
|
|
375
|
+
this.reRender();
|
|
376
|
+
return [2 /*return*/, function () { return null; }];
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
}); } }));
|
|
305
380
|
}
|
|
306
381
|
var renderer = this.renderer;
|
|
307
382
|
schema = filterSchema(schema, renderer, rest);
|
|
308
383
|
var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = __rest(schema, ["data", "value", "activeKey"]);
|
|
309
384
|
var Component = renderer.component;
|
|
385
|
+
var animationIn = true;
|
|
310
386
|
// 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
|
|
311
387
|
// 而 visibleOn 和 hiddenOn 是无效的,
|
|
312
388
|
// 这个本来就是个bug,但是已经被广泛使用了
|
|
@@ -316,7 +392,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
316
392
|
exprProps.visible === false ||
|
|
317
393
|
!renderer.isFormItem ||
|
|
318
394
|
(schema.visible !== false && !schema.hidden))) {
|
|
319
|
-
|
|
395
|
+
if (schema.animations) {
|
|
396
|
+
animationIn = false;
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
return null;
|
|
400
|
+
}
|
|
320
401
|
}
|
|
321
402
|
// withStore 里面会处理,而且会实时处理
|
|
322
403
|
// 这里处理反而导致了问题
|
|
@@ -325,9 +406,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
325
406
|
}
|
|
326
407
|
var supportRef = ((_e = Component.prototype) === null || _e === void 0 ? void 0 : _e.isReactComponent) ||
|
|
327
408
|
Component.$$typeof === Symbol.for('react.forward_ref');
|
|
328
|
-
var props = __assign(__assign(__assign(__assign(__assign({}, theme.getRendererConfig(renderer.name)), restSchema), chainEvents(rest, restSchema)), exprProps), {
|
|
409
|
+
var props = __assign(__assign(__assign(__assign(__assign(__assign({}, (_f = renderer.defaultProps) === null || _f === void 0 ? void 0 : _f.call(renderer, schema.type, schema)), theme.getRendererConfig(renderer.name)), restSchema), chainEvents(rest, restSchema)), exprProps), {
|
|
329
410
|
// value: defaultValue, // 备注: 此处并没有将value传递给渲染器
|
|
330
|
-
defaultData: (
|
|
411
|
+
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 });
|
|
331
412
|
// style 支持公式
|
|
332
413
|
if (schema.style) {
|
|
333
414
|
props.style = buildStyle(schema.style, detectData);
|
|
@@ -350,8 +431,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
350
431
|
// 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
|
|
351
432
|
if (renderer.autoVar) {
|
|
352
433
|
try {
|
|
353
|
-
for (var
|
|
354
|
-
var key =
|
|
434
|
+
for (var _l = __values(Object.keys(schema)), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
435
|
+
var key = _m.value;
|
|
355
436
|
if (typeof props[key] === 'string' && isExpression(props[key])) {
|
|
356
437
|
props[key] = resolveVariableAndFilter(props[key], props.data, '| raw');
|
|
357
438
|
}
|
|
@@ -360,12 +441,15 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
360
441
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
361
442
|
finally {
|
|
362
443
|
try {
|
|
363
|
-
if (
|
|
444
|
+
if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
|
|
364
445
|
}
|
|
365
446
|
finally { if (e_1) throw e_1.error; }
|
|
366
447
|
}
|
|
367
448
|
}
|
|
368
449
|
var component = supportRef ? (React.createElement(Component, __assign({}, props, { ref: this.childRef }))) : (React.createElement(Component, __assign({}, props, { forwardedRef: this.childRef })));
|
|
450
|
+
if (schema.animations) {
|
|
451
|
+
component = (React.createElement(CSSTransition, { in: animationIn, timeout: this.animationTimeout, classNames: this.animationClassNames, onEntered: this.addAnimationAttention, onExit: this.removeAnimationAttention, appear: true, unmountOnExit: true }, component));
|
|
452
|
+
}
|
|
369
453
|
return this.props.env.enableAMISDebug ? (React.createElement(DebugWrapper, { renderer: renderer }, component)) : (component);
|
|
370
454
|
};
|
|
371
455
|
SchemaRenderer.displayName = 'Renderer';
|
package/esm/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/esm/Scoped.js
CHANGED
package/esm/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,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* amis-core v6.9.0-beta.1
|
|
3
|
+
* Copyright 2018-2024 fex
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { __assign } from 'tslib';
|
|
7
|
+
import kebabCase from 'lodash/kebabCase';
|
|
8
|
+
|
|
9
|
+
var StyleManager = /** @class */ (function () {
|
|
10
|
+
function StyleManager() {
|
|
11
|
+
this.styles = {};
|
|
12
|
+
this.styleDom = document.createElement('style');
|
|
13
|
+
this.styleDom.id = 'amis-styles';
|
|
14
|
+
document.head.appendChild(this.styleDom);
|
|
15
|
+
}
|
|
16
|
+
StyleManager.prototype.updateStyle = function (style) {
|
|
17
|
+
var _this = this;
|
|
18
|
+
Object.keys(style).forEach(function (className) {
|
|
19
|
+
if (!_this.styles[className]) {
|
|
20
|
+
_this.styles[className] = style[className];
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
_this.styles[className] = __assign(__assign({}, _this.styles[className]), style[className]);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
this.updateStyleDom();
|
|
27
|
+
};
|
|
28
|
+
StyleManager.prototype.removeStyles = function (id) {
|
|
29
|
+
delete this.styles[id];
|
|
30
|
+
this.updateStyleDom();
|
|
31
|
+
};
|
|
32
|
+
StyleManager.prototype.updateStyleDom = function () {
|
|
33
|
+
var _this = this;
|
|
34
|
+
var styleText = Object.keys(this.styles)
|
|
35
|
+
.map(function (id) {
|
|
36
|
+
var style = _this.styles[id];
|
|
37
|
+
return Object.keys(style)
|
|
38
|
+
.map(function (className) {
|
|
39
|
+
return "".concat(className, " {").concat(Object.keys(style[className])
|
|
40
|
+
.map(function (propName) {
|
|
41
|
+
return "".concat(kebabCase(propName), ": ").concat(style[className][propName], ";");
|
|
42
|
+
})
|
|
43
|
+
.join(''), "}");
|
|
44
|
+
})
|
|
45
|
+
.join('');
|
|
46
|
+
})
|
|
47
|
+
.join('');
|
|
48
|
+
this.styleDom.innerHTML = styleText;
|
|
49
|
+
this.styleText = styleText;
|
|
50
|
+
};
|
|
51
|
+
return StyleManager;
|
|
52
|
+
}());
|
|
53
|
+
var styleManager = new StyleManager();
|
|
54
|
+
|
|
55
|
+
export { styleManager as default };
|
package/esm/WithRootStore.js
CHANGED
package/esm/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
|
|
|
@@ -97,7 +97,7 @@ function HocStoreFactory(renderer) {
|
|
|
97
97
|
};
|
|
98
98
|
StoreFactory.prototype.componentDidUpdate = function (prevProps) {
|
|
99
99
|
var _this = this;
|
|
100
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
100
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
101
101
|
var props = this.props;
|
|
102
102
|
var store = this.store;
|
|
103
103
|
// dialog 场景下 schema 是显示的时候更新的,
|
|
@@ -131,7 +131,7 @@ function HocStoreFactory(renderer) {
|
|
|
131
131
|
(props.data &&
|
|
132
132
|
prevProps.data &&
|
|
133
133
|
props.data.__super !== prevProps.data.__super))) {
|
|
134
|
-
store.initData(extendObject(props.data, __assign(__assign(__assign(__assign({}, this.formatData(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);
|
|
134
|
+
store.initData(extendObject(props.data, __assign(__assign(__assign(__assign({}, this.formatData(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);
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
else if (shouldSync === true ||
|
|
@@ -143,7 +143,7 @@ function HocStoreFactory(renderer) {
|
|
|
143
143
|
isSuperDataModified(props.data, prevProps.data, store)))) {
|
|
144
144
|
if (props.store && props.scope === props.data) {
|
|
145
145
|
store.initData(createObject(props.store.data, __assign(__assign({}, this.formatData(dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (props.syncSuperStore === false
|
|
146
|
-
? __assign({}, store.data) : syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)))), ((
|
|
146
|
+
? __assign({}, store.data) : 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);
|
|
147
147
|
}
|
|
148
148
|
else if (props.data && props.data.__super) {
|
|
149
149
|
store.initData(extendObject(props.data, __assign(__assign({}, this.formatData(dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), // 有远程数据
|
|
@@ -151,12 +151,12 @@ function HocStoreFactory(renderer) {
|
|
|
151
151
|
(store.hasRemoteData || !store.path.includes('/')
|
|
152
152
|
? __assign(__assign({}, store.data), props.data) : // combo 不需要同步,如果要同步,在 Combo.tsx 里面已经实现了相关逻辑
|
|
153
153
|
// 目前主要的问题是,如果 combo 中表单项名字和 combo 本身的名字一样,会导致里面的值会被覆盖成数组
|
|
154
|
-
((
|
|
154
|
+
((_g = props.store) === null || _g === void 0 ? void 0 : _g.storeType) === 'ComboStore'
|
|
155
155
|
? undefined
|
|
156
|
-
: syncDataFromSuper(__assign(__assign({}, store.pristineDiff), props.data), props.data.__super, prevProps.data.__super, store, false)))), ((
|
|
156
|
+
: syncDataFromSuper(__assign(__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);
|
|
157
157
|
}
|
|
158
158
|
else {
|
|
159
|
-
store.initData(createObject(props.scope, props.data), ((
|
|
159
|
+
store.initData(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);
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
else if (!props.trackExpression &&
|
|
@@ -166,9 +166,9 @@ function HocStoreFactory(renderer) {
|
|
|
166
166
|
// 这个用法很少,当 data.__super 值发生变化时,更新 store.data
|
|
167
167
|
if (!prevProps.data ||
|
|
168
168
|
isObjectShallowModified(props.data.__super, prevProps.data.__super, false)) {
|
|
169
|
-
store.initData(createObject(props.data.__super, __assign(__assign({}, props.data), store.data)), ((
|
|
169
|
+
store.initData(createObject(props.data.__super, __assign(__assign({}, props.data), store.data)), ((_m = props.updatePristineAfterStoreDataReInit) !== null && _m !== void 0 ? _m : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
|
|
170
170
|
(store.storeType === 'FormStore' &&
|
|
171
|
-
((
|
|
171
|
+
((_o = prevProps.store) === null || _o === void 0 ? void 0 : _o.storeType) === 'CRUDStore'), (_p = props.data) === null || _p === void 0 ? void 0 : _p.__changeReason);
|
|
172
172
|
}
|
|
173
173
|
// nextProps.data.__super !== props.data.__super) &&
|
|
174
174
|
}
|
|
@@ -178,7 +178,7 @@ function HocStoreFactory(renderer) {
|
|
|
178
178
|
prevProps.data !== props.data) {
|
|
179
179
|
// 只有父级数据变动的时候才应该进来,
|
|
180
180
|
// 目前看来这个 case 很少有情况下能进来
|
|
181
|
-
store.initData(createObject(props.scope, __assign({}, store.data)), ((
|
|
181
|
+
store.initData(createObject(props.scope, __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);
|
|
182
182
|
}
|
|
183
183
|
};
|
|
184
184
|
StoreFactory.prototype.componentWillUnmount = function () {
|
package/esm/actions/Action.js
CHANGED