amis-core 6.9.0-rc.9 → 6.9.0
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.d.ts +2 -84
- package/esm/Root.js +10 -6
- package/esm/RootRenderer.js +5 -4
- package/esm/SchemaRenderer.d.ts +1 -1
- package/esm/SchemaRenderer.js +8 -6
- package/esm/Scoped.js +1 -1
- package/esm/StatusScoped.d.ts +7 -53
- package/esm/StatusScoped.js +20 -45
- package/esm/StyleManager.js +1 -1
- 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.d.ts +4 -0
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.js +1 -1
- package/esm/index.d.ts +4 -4
- package/esm/index.js +6 -7
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.js +1 -1
- package/esm/renderers/Item.d.ts +0 -1
- package/esm/renderers/Item.js +2 -2
- package/esm/renderers/Options.d.ts +1 -46
- package/esm/renderers/Options.js +914 -921
- 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 +1 -2
- package/esm/renderers/wrapControl.js +3 -3
- 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 +2 -2
- 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 +6 -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.js +1 -1
- package/esm/utils/api.js +18 -10
- 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.js +1 -1
- package/esm/utils/highlight.js +1 -1
- package/esm/utils/icon.js +1 -1
- package/esm/utils/image.js +1 -1
- package/esm/utils/index.d.ts +0 -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 +1 -1
- package/esm/utils/visitedCache.js +1 -1
- package/lib/Root.d.ts +2 -84
- package/lib/Root.js +9 -5
- package/lib/RootRenderer.js +5 -4
- package/lib/SchemaRenderer.d.ts +1 -1
- package/lib/SchemaRenderer.js +8 -6
- package/lib/Scoped.js +1 -1
- package/lib/StatusScoped.d.ts +7 -53
- package/lib/StatusScoped.js +19 -44
- package/lib/StyleManager.js +1 -1
- 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.d.ts +4 -0
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.js +1 -1
- package/lib/index.d.ts +4 -4
- package/lib/index.js +5 -7
- package/lib/locale.js +1 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.js +1 -1
- package/lib/renderers/Item.d.ts +0 -1
- package/lib/renderers/Item.js +2 -2
- package/lib/renderers/Options.d.ts +1 -46
- package/lib/renderers/Options.js +912 -920
- 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 +1 -2
- package/lib/renderers/wrapControl.js +3 -3
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +0 -1
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.js +1 -1
- package/lib/store/form.d.ts +0 -1
- package/lib/store/form.js +1 -1
- package/lib/store/formItem.js +2 -2
- 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 +0 -1
- 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 +6 -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.js +1 -1
- package/lib/utils/api.js +18 -10
- 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.js +1 -1
- package/lib/utils/highlight.js +1 -1
- package/lib/utils/icon.js +1 -1
- package/lib/utils/image.js +1 -1
- package/lib/utils/index.d.ts +0 -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 +1 -1
- package/lib/utils/visitedCache.js +1 -1
- package/package.json +5 -5
- package/esm/utils/loopTooMuch.d.ts +0 -1
- package/esm/utils/loopTooMuch.js +0 -27
- package/lib/utils/loopTooMuch.d.ts +0 -1
- package/lib/utils/loopTooMuch.js +0 -31
package/esm/Root.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="hoist-non-react-statics" />
|
|
2
1
|
import React from 'react';
|
|
3
2
|
import { RendererEnv } from './env';
|
|
4
3
|
import { RendererProps } from './factory';
|
|
@@ -44,88 +43,7 @@ export interface renderChildProps extends Partial<Omit<RendererProps, 'statusSto
|
|
|
44
43
|
export type ReactElement = React.ReactNode[] | JSX.Element | null | false;
|
|
45
44
|
export declare function renderChildren(prefix: string, node: SchemaNode, props: renderChildProps): ReactElement;
|
|
46
45
|
export declare function renderChild(prefix: string, node: SchemaNode, props: renderChildProps): ReactElement;
|
|
47
|
-
declare const _default: {
|
|
48
|
-
new (props: Omit<RootProps & {
|
|
49
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
50
|
-
}, "statusStore">): {
|
|
51
|
-
store?: ({
|
|
52
|
-
visibleState: any;
|
|
53
|
-
disableState: any;
|
|
54
|
-
staticState: any;
|
|
55
|
-
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
|
56
|
-
setVisible(key: string, value?: boolean | undefined): void;
|
|
57
|
-
setDisable(key: string, value?: boolean | undefined): void;
|
|
58
|
-
setStatic(key: string, value?: boolean | undefined): void;
|
|
59
|
-
resetAll(): void;
|
|
60
|
-
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
61
|
-
visibleState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
|
62
|
-
disableState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
|
63
|
-
staticState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
|
64
|
-
}, {
|
|
65
|
-
setVisible(key: string, value?: boolean | undefined): void;
|
|
66
|
-
setDisable(key: string, value?: boolean | undefined): void;
|
|
67
|
-
setStatic(key: string, value?: boolean | undefined): void;
|
|
68
|
-
resetAll(): void;
|
|
69
|
-
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
|
|
70
|
-
ref: any;
|
|
71
|
-
childRef(ref: any): void;
|
|
72
|
-
getWrappedInstance(): any;
|
|
73
|
-
componentWillUnmount(): void;
|
|
74
|
-
render(): React.JSX.Element;
|
|
75
|
-
context: unknown;
|
|
76
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<RootProps & {
|
|
77
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
78
|
-
}, "statusStore">>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
79
|
-
forceUpdate(callback?: (() => void) | undefined): void;
|
|
80
|
-
readonly props: Readonly<Omit<RootProps & {
|
|
81
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
82
|
-
}, "statusStore">>;
|
|
83
|
-
state: Readonly<{}>;
|
|
84
|
-
refs: {
|
|
85
|
-
[key: string]: React.ReactInstance;
|
|
86
|
-
};
|
|
87
|
-
componentDidMount?(): void;
|
|
88
|
-
shouldComponentUpdate?(nextProps: Readonly<Omit<RootProps & {
|
|
89
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
90
|
-
}, "statusStore">>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
91
|
-
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
92
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<RootProps & {
|
|
93
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
94
|
-
}, "statusStore">>, prevState: Readonly<{}>): any;
|
|
95
|
-
componentDidUpdate?(prevProps: Readonly<Omit<RootProps & {
|
|
96
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
97
|
-
}, "statusStore">>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
98
|
-
componentWillMount?(): void;
|
|
99
|
-
UNSAFE_componentWillMount?(): void;
|
|
100
|
-
componentWillReceiveProps?(nextProps: Readonly<Omit<RootProps & {
|
|
101
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
102
|
-
}, "statusStore">>, nextContext: any): void;
|
|
103
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<RootProps & {
|
|
104
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
105
|
-
}, "statusStore">>, nextContext: any): void;
|
|
106
|
-
componentWillUpdate?(nextProps: Readonly<Omit<RootProps & {
|
|
107
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
108
|
-
}, "statusStore">>, nextState: Readonly<{}>, nextContext: any): void;
|
|
109
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<RootProps & {
|
|
110
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
111
|
-
}, "statusStore">>, nextState: Readonly<{}>, nextContext: any): void;
|
|
112
|
-
};
|
|
113
|
-
displayName: string;
|
|
114
|
-
ComposedComponent: React.ComponentType<React.ComponentType<RootProps & {
|
|
115
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
116
|
-
}> & {
|
|
117
|
-
ComposedComponent: React.ComponentType<RootProps>;
|
|
118
|
-
}>;
|
|
119
|
-
contextType?: React.Context<any> | undefined;
|
|
120
|
-
} & import("hoist-non-react-statics").NonReactStatics<React.ComponentType<RootProps & {
|
|
46
|
+
declare const _default: (props: Omit<RootProps & {
|
|
121
47
|
scopeRef?: ((ref: any) => void) | undefined;
|
|
122
|
-
}
|
|
123
|
-
ComposedComponent: React.ComponentType<RootProps>;
|
|
124
|
-
}, {}> & {
|
|
125
|
-
ComposedComponent: React.ComponentType<RootProps & {
|
|
126
|
-
scopeRef?: ((ref: any) => void) | undefined;
|
|
127
|
-
}> & {
|
|
128
|
-
ComposedComponent: React.ComponentType<RootProps>;
|
|
129
|
-
};
|
|
130
|
-
};
|
|
48
|
+
}, "statusStore">, ref: any) => React.JSX.Element;
|
|
131
49
|
export default _default;
|
package/esm/Root.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.9.0
|
|
2
|
+
* amis-core v6.9.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -13,7 +13,7 @@ import { HocScoped } from './Scoped.js';
|
|
|
13
13
|
import { ThemeContext } from './theme.js';
|
|
14
14
|
import { isEmpty, autobind } from './utils/helper.js';
|
|
15
15
|
import { RootStoreContext } from './WithRootStore.js';
|
|
16
|
-
import { StatusScoped } from './StatusScoped.js';
|
|
16
|
+
import { StatusScopedWrapper, StatusScoped } from './StatusScoped.js';
|
|
17
17
|
|
|
18
18
|
var rootWrappers = [];
|
|
19
19
|
function addRootWrapper(fn) {
|
|
@@ -54,7 +54,6 @@ var Root = /** @class */ (function (_super) {
|
|
|
54
54
|
], Root.prototype, "resolveDefinitions", null);
|
|
55
55
|
return Root;
|
|
56
56
|
}(React.Component));
|
|
57
|
-
var StatusScopedSchemaRenderer = StatusScoped(SchemaRenderer);
|
|
58
57
|
function renderChildren(prefix, node, props) {
|
|
59
58
|
if (Array.isArray(node)) {
|
|
60
59
|
var elemKey = props.key || props.propKey || props.id || '';
|
|
@@ -65,7 +64,7 @@ function renderChildren(prefix, node, props) {
|
|
|
65
64
|
return renderChild(prefix, node, props);
|
|
66
65
|
}
|
|
67
66
|
function renderChild(prefix, node, props) {
|
|
68
|
-
var _a
|
|
67
|
+
var _a;
|
|
69
68
|
if (Array.isArray(node)) {
|
|
70
69
|
return renderChildren(prefix, node, props);
|
|
71
70
|
}
|
|
@@ -85,6 +84,7 @@ function renderChild(prefix, node, props) {
|
|
|
85
84
|
delete props.propsTransform;
|
|
86
85
|
props = transform(props);
|
|
87
86
|
}
|
|
87
|
+
var Comp = props.env.SchemaRenderer || SchemaRenderer;
|
|
88
88
|
if (['dialog', 'drawer'].includes(schema === null || schema === void 0 ? void 0 : schema.type) &&
|
|
89
89
|
!(schema === null || schema === void 0 ? void 0 : schema.component) &&
|
|
90
90
|
!(schema === null || schema === void 0 ? void 0 : schema.children)) {
|
|
@@ -92,9 +92,13 @@ function renderChild(prefix, node, props) {
|
|
|
92
92
|
// 找渲染器也是在那,所以没办法在之前根据渲染器信息来包裹个组件下发 statusStore
|
|
93
93
|
// 所以这里先根据 type 来处理一下
|
|
94
94
|
// 等后续把状态处理再抽一层,可以把此处放到 SchemaRenderer 里面去
|
|
95
|
-
return (React.createElement(
|
|
95
|
+
return (React.createElement(StatusScopedWrapper, null, function (_a) {
|
|
96
|
+
var _b;
|
|
97
|
+
var statusStore = _a.statusStore;
|
|
98
|
+
return (React.createElement(Comp, __assign({ render: renderChild }, props, { key: (_b = props.key) !== null && _b !== void 0 ? _b : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || ''), statusStore: statusStore })));
|
|
99
|
+
}));
|
|
96
100
|
}
|
|
97
|
-
return (React.createElement(
|
|
101
|
+
return (React.createElement(Comp, __assign({ render: renderChild }, props, { key: (_a = props.key) !== null && _a !== void 0 ? _a : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
|
|
98
102
|
}
|
|
99
103
|
var ScopedRootRenderer = StatusScoped(HocScoped(Root));
|
|
100
104
|
|
package/esm/RootRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.9.0
|
|
2
|
+
* amis-core v6.9.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -77,15 +77,16 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
77
77
|
RootRenderer.prototype.componentDidUpdate = function (prevProps) {
|
|
78
78
|
var _a;
|
|
79
79
|
var props = this.props;
|
|
80
|
-
if (props.data !== prevProps.data) {
|
|
81
|
-
this.store.initData(props.data);
|
|
82
|
-
}
|
|
83
80
|
if (props.location !== prevProps.location) {
|
|
84
81
|
this.store.updateLocation(props.location, (_a = this.props.env) === null || _a === void 0 ? void 0 : _a.parseLocation);
|
|
85
82
|
}
|
|
86
83
|
if (props.context !== prevProps.context) {
|
|
87
84
|
this.store.updateContext(props.context);
|
|
88
85
|
}
|
|
86
|
+
// 一定要最后处理,否则 downStream 里面的上层数据 context 还是老的。
|
|
87
|
+
if (props.data !== prevProps.data) {
|
|
88
|
+
this.store.initData(props.data);
|
|
89
|
+
}
|
|
89
90
|
};
|
|
90
91
|
RootRenderer.prototype.componentDidCatch = function (error, errorInfo) {
|
|
91
92
|
var _a, _b;
|
package/esm/SchemaRenderer.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
|
|
|
28
28
|
enter?: string;
|
|
29
29
|
exit?: string;
|
|
30
30
|
};
|
|
31
|
-
|
|
31
|
+
toDispose: Array<() => any>;
|
|
32
32
|
unbindEvent: (() => void) | undefined;
|
|
33
33
|
isStatic: any;
|
|
34
34
|
constructor(props: SchemaRendererProps);
|
package/esm/SchemaRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.9.0
|
|
2
|
+
* amis-core v6.9.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -80,6 +80,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
80
80
|
_this.rendererKey = '';
|
|
81
81
|
_this.animationTimeout = {};
|
|
82
82
|
_this.animationClassNames = {};
|
|
83
|
+
_this.toDispose = [];
|
|
83
84
|
_this.unbindEvent = undefined;
|
|
84
85
|
_this.isStatic = undefined;
|
|
85
86
|
var animations = (_a = props === null || props === void 0 ? void 0 : props.schema) === null || _a === void 0 ? void 0 : _a.animations;
|
|
@@ -108,12 +109,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
108
109
|
_this.addAnimationAttention = _this.addAnimationAttention.bind(_this);
|
|
109
110
|
_this.removeAnimationAttention = _this.removeAnimationAttention.bind(_this);
|
|
110
111
|
// 监听statusStore更新
|
|
111
|
-
_this.reaction
|
|
112
|
+
_this.toDispose.push(reaction(function () {
|
|
112
113
|
var _a, _b, _c;
|
|
113
114
|
var id = filter(props.schema.id, props.data);
|
|
114
115
|
var name = filter(props.schema.name, props.data);
|
|
115
116
|
return "".concat((_a = props.statusStore.visibleState[id]) !== null && _a !== void 0 ? _a : props.statusStore.visibleState[name]).concat((_b = props.statusStore.disableState[id]) !== null && _b !== void 0 ? _b : props.statusStore.disableState[name]).concat((_c = props.statusStore.staticState[id]) !== null && _c !== void 0 ? _c : props.statusStore.staticState[name]);
|
|
116
|
-
}, function () { return _this.forceUpdate(); });
|
|
117
|
+
}, function () { return _this.forceUpdate(); }));
|
|
117
118
|
return _this;
|
|
118
119
|
}
|
|
119
120
|
SchemaRenderer.prototype.componentDidMount = function () {
|
|
@@ -124,9 +125,10 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
124
125
|
}
|
|
125
126
|
};
|
|
126
127
|
SchemaRenderer.prototype.componentWillUnmount = function () {
|
|
127
|
-
var _a
|
|
128
|
-
(
|
|
129
|
-
|
|
128
|
+
var _a;
|
|
129
|
+
this.toDispose.forEach(function (fn) { return fn(); });
|
|
130
|
+
this.toDispose = [];
|
|
131
|
+
(_a = this.unbindEvent) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
130
132
|
this.removeAnimationStyle();
|
|
131
133
|
};
|
|
132
134
|
// 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。
|
package/esm/Scoped.js
CHANGED
package/esm/StatusScoped.d.ts
CHANGED
|
@@ -1,58 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import hoistNonReactStatic from 'hoist-non-react-statics';
|
|
3
2
|
import { IStatusStore } from './store/status';
|
|
4
3
|
export interface StatusScopedProps {
|
|
5
4
|
statusStore: IStatusStore;
|
|
6
5
|
}
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
setVisible(key: string, value?: boolean | undefined): void;
|
|
15
|
-
setDisable(key: string, value?: boolean | undefined): void;
|
|
16
|
-
setStatic(key: string, value?: boolean | undefined): void;
|
|
17
|
-
resetAll(): void;
|
|
18
|
-
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
19
|
-
visibleState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
|
20
|
-
disableState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
|
21
|
-
staticState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
|
22
|
-
}, {
|
|
23
|
-
setVisible(key: string, value?: boolean | undefined): void;
|
|
24
|
-
setDisable(key: string, value?: boolean | undefined): void;
|
|
25
|
-
setStatic(key: string, value?: boolean | undefined): void;
|
|
26
|
-
resetAll(): void;
|
|
27
|
-
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
|
|
28
|
-
ref: any;
|
|
29
|
-
childRef(ref: any): void;
|
|
30
|
-
getWrappedInstance(): any;
|
|
31
|
-
componentWillUnmount(): void;
|
|
32
|
-
render(): React.JSX.Element;
|
|
33
|
-
context: unknown;
|
|
34
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
35
|
-
forceUpdate(callback?: (() => void) | undefined): void;
|
|
36
|
-
readonly props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>;
|
|
37
|
-
state: Readonly<{}>;
|
|
38
|
-
refs: {
|
|
39
|
-
[key: string]: React.ReactInstance;
|
|
40
|
-
};
|
|
41
|
-
componentDidMount?(): void;
|
|
42
|
-
shouldComponentUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
43
|
-
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
44
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, prevState: Readonly<{}>): any;
|
|
45
|
-
componentDidUpdate?(prevProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
46
|
-
componentWillMount?(): void;
|
|
47
|
-
UNSAFE_componentWillMount?(): void;
|
|
48
|
-
componentWillReceiveProps?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextContext: any): void;
|
|
49
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextContext: any): void;
|
|
50
|
-
componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextState: Readonly<{}>, nextContext: any): void;
|
|
51
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextState: Readonly<{}>, nextContext: any): void;
|
|
52
|
-
};
|
|
53
|
-
displayName: string;
|
|
54
|
-
ComposedComponent: React.ComponentType<T>;
|
|
55
|
-
contextType?: React.Context<any> | undefined;
|
|
56
|
-
} & hoistNonReactStatic.NonReactStatics<T, {}> & {
|
|
57
|
-
ComposedComponent: T;
|
|
58
|
-
};
|
|
6
|
+
export interface StatusScopedWrapperProps {
|
|
7
|
+
children: (props: {
|
|
8
|
+
statusStore: IStatusStore;
|
|
9
|
+
}) => JSX.Element;
|
|
10
|
+
}
|
|
11
|
+
export declare function StatusScopedWrapper({ children }: StatusScopedWrapperProps): JSX.Element;
|
|
12
|
+
export declare function StatusScoped<T extends React.ComponentType<React.ComponentProps<T> & StatusScopedProps>>(ComposedComponent: T): (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof StatusScopedProps>> & {}, ref: any) => React.JSX.Element;
|
package/esm/StatusScoped.js
CHANGED
|
@@ -1,56 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.9.0
|
|
2
|
+
* amis-core v6.9.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { __assign } from 'tslib';
|
|
7
7
|
import React from 'react';
|
|
8
|
-
import hoistNonReactStatic from 'hoist-non-react-statics';
|
|
9
8
|
import { StatusStore } from './store/status.js';
|
|
10
9
|
import { destroy } from 'mobx-state-tree';
|
|
11
10
|
|
|
11
|
+
function StatusScopedWrapper(_a) {
|
|
12
|
+
var children = _a.children;
|
|
13
|
+
var store = React.useMemo(function () { return StatusStore.create({}); }, []);
|
|
14
|
+
React.useEffect(function () {
|
|
15
|
+
return function () {
|
|
16
|
+
destroy(store);
|
|
17
|
+
};
|
|
18
|
+
}, []);
|
|
19
|
+
return children({ statusStore: store });
|
|
20
|
+
}
|
|
12
21
|
function StatusScoped(ComposedComponent) {
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
_this.store = StatusStore.create({});
|
|
21
|
-
return _this;
|
|
22
|
-
}
|
|
23
|
-
class_1.prototype.childRef = function (ref) {
|
|
24
|
-
while (ref && ref.getWrappedInstance) {
|
|
25
|
-
ref = ref.getWrappedInstance();
|
|
26
|
-
}
|
|
27
|
-
this.ref = ref;
|
|
28
|
-
};
|
|
29
|
-
class_1.prototype.getWrappedInstance = function () {
|
|
30
|
-
return this.ref;
|
|
31
|
-
};
|
|
32
|
-
class_1.prototype.componentWillUnmount = function () {
|
|
33
|
-
this.store && destroy(this.store);
|
|
34
|
-
delete this.store;
|
|
35
|
-
};
|
|
36
|
-
class_1.prototype.render = function () {
|
|
37
|
-
var _a;
|
|
38
|
-
var injectedProps = {
|
|
39
|
-
statusStore: this.store
|
|
40
|
-
};
|
|
41
|
-
var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent) ||
|
|
42
|
-
ComposedComponent.$$typeof ===
|
|
43
|
-
Symbol.for('react.forward_ref')
|
|
44
|
-
? { ref: this.childRef }
|
|
45
|
-
: { forwardedRef: this.childRef };
|
|
46
|
-
return (React.createElement(ComposedComponent, __assign({}, this.props, injectedProps, refConfig)));
|
|
47
|
-
};
|
|
48
|
-
return class_1;
|
|
49
|
-
}(React.Component)),
|
|
50
|
-
_a.displayName = "StatusScoped(".concat(ComposedComponent.displayName || ComposedComponent.name, ")"),
|
|
51
|
-
_a.ComposedComponent = ComposedComponent,
|
|
52
|
-
_a), ComposedComponent);
|
|
53
|
-
return result;
|
|
22
|
+
var wrapped = function (props, ref) {
|
|
23
|
+
return (React.createElement(StatusScopedWrapper, null, function (_a) {
|
|
24
|
+
var statusStore = _a.statusStore;
|
|
25
|
+
return (React.createElement(ComposedComponent, __assign({}, props, { statusStore: statusStore, ref: ref })));
|
|
26
|
+
}));
|
|
27
|
+
};
|
|
28
|
+
return React.forwardRef(wrapped);
|
|
54
29
|
}
|
|
55
30
|
|
|
56
|
-
export { StatusScoped };
|
|
31
|
+
export { StatusScoped, StatusScopedWrapper };
|
package/esm/StyleManager.js
CHANGED
package/esm/WithRootStore.js
CHANGED
package/esm/WithStore.js
CHANGED
package/esm/actions/Action.js
CHANGED
package/esm/env.d.ts
CHANGED
|
@@ -106,6 +106,10 @@ export interface RendererEnv {
|
|
|
106
106
|
parseLocation?: (location: any) => Object;
|
|
107
107
|
/** 数据更新前触发的Hook */
|
|
108
108
|
beforeSetData?: (renderer: ListenerContext, action: ICmptAction, event: RendererEvent<any, any>) => Promise<void | boolean>;
|
|
109
|
+
/**
|
|
110
|
+
* 渲染器包裹组件可以外部指定
|
|
111
|
+
*/
|
|
112
|
+
SchemaRenderer?: React.ComponentType<any>;
|
|
109
113
|
}
|
|
110
114
|
export declare const EnvContext: React.Context<void | RendererEnv>;
|
|
111
115
|
export interface EnvProps {
|
package/esm/env.js
CHANGED