amis-core 3.2.0 → 3.3.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.js +1 -1
- package/esm/RootRenderer.d.ts +1 -1
- package/esm/RootRenderer.js +3 -3
- package/esm/SchemaRenderer.js +5 -2
- package/esm/Scoped.d.ts +4 -1
- package/esm/Scoped.js +8 -5
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +1 -1
- package/esm/actions/Action.d.ts +1 -0
- package/esm/actions/Action.js +62 -37
- package/esm/actions/AjaxAction.d.ts +6 -8
- package/esm/actions/AjaxAction.js +20 -18
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.js +1 -1
- package/esm/actions/CmptAction.d.ts +1 -2
- package/esm/actions/CmptAction.js +46 -31
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +1 -1
- package/esm/actions/CustomAction.js +2 -2
- package/esm/actions/DialogAction.js +5 -6
- package/esm/actions/DrawerAction.js +4 -4
- package/esm/actions/EmailAction.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/StatusAction.d.ts +15 -0
- package/esm/actions/StatusAction.js +49 -0
- package/esm/actions/SwitchAction.js +1 -1
- package/esm/actions/ToastAction.js +1 -1
- package/esm/actions/index.d.ts +1 -0
- package/esm/components/CustomStyle.js +1 -1
- package/esm/components/LazyComponent.js +1 -1
- package/esm/components/Overlay.js +2 -2
- package/esm/components/PopOver.js +2 -2
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.js +2 -2
- package/esm/index.d.ts +2 -1
- package/esm/index.js +13 -13
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +6 -6
- package/esm/renderers/Form.js +168 -124
- package/esm/renderers/Item.d.ts +42 -66
- package/esm/renderers/Item.js +11 -41
- package/esm/renderers/Options.js +1 -2
- package/esm/renderers/Placeholder.js +1 -1
- package/esm/renderers/builtin.js +1 -1
- package/esm/renderers/register.js +1 -1
- package/esm/renderers/wrapControl.js +101 -47
- package/esm/store/app.js +8 -4
- package/esm/store/combo.d.ts +444 -1912
- package/esm/store/combo.js +9 -2
- package/esm/store/crud.d.ts +1 -0
- package/esm/store/crud.js +11 -5
- package/esm/store/form.d.ts +132 -892
- package/esm/store/form.js +83 -81
- package/esm/store/formItem.d.ts +5 -2
- package/esm/store/formItem.js +13 -2
- package/esm/store/iRenderer.js +2 -2
- 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 +2 -2
- package/esm/store/service.js +4 -4
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +503 -2040
- package/esm/store/table.js +79 -55
- package/esm/store/table2.d.ts +49 -0
- package/esm/store/table2.js +37 -4
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +17 -3
- 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/api.d.ts +2 -2
- package/esm/utils/api.js +113 -81
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +1 -1
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/dataMapping.js +4 -2
- package/esm/utils/date.js +1 -1
- package/esm/utils/debug.d.ts +2 -0
- package/esm/utils/debug.js +34 -7
- 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.d.ts +0 -1
- package/esm/utils/formula.js +6 -9
- 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 +11 -1
- package/esm/utils/helper.js +14 -2
- package/esm/utils/highlight.js +1 -1
- package/esm/utils/icon.d.ts +4 -2
- package/esm/utils/icon.js +3 -2
- 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/makeSorter.js +1 -1
- package/esm/utils/math.d.ts +3 -0
- package/esm/utils/math.js +52 -0
- 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.d.ts +7 -0
- package/esm/utils/object.js +13 -2
- package/esm/utils/offset.js +1 -1
- package/esm/utils/offsetParent.js +1 -1
- package/esm/utils/optionValueCompare.js +2 -2
- package/esm/utils/position.js +1 -1
- package/esm/utils/prettyBytes.js +1 -1
- package/esm/utils/renderer-event.d.ts +1 -1
- package/esm/utils/renderer-event.js +14 -6
- 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/validations.js +1 -1
- package/lib/Root.js +10 -7
- package/lib/RootRenderer.d.ts +1 -1
- package/lib/RootRenderer.js +11 -8
- package/lib/SchemaRenderer.js +12 -6
- package/lib/Scoped.d.ts +4 -1
- package/lib/Scoped.js +18 -13
- package/lib/StatusScoped.js +5 -2
- package/lib/WithRootStore.js +5 -2
- package/lib/WithStore.js +5 -2
- package/lib/actions/Action.d.ts +1 -0
- package/lib/actions/Action.js +62 -37
- package/lib/actions/AjaxAction.d.ts +6 -8
- package/lib/actions/AjaxAction.js +20 -18
- package/lib/actions/BreakAction.js +1 -1
- package/lib/actions/BroadcastAction.js +1 -1
- package/lib/actions/CmptAction.d.ts +1 -2
- package/lib/actions/CmptAction.js +46 -31
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +1 -1
- package/lib/actions/CustomAction.js +8 -5
- package/lib/actions/DialogAction.js +5 -6
- package/lib/actions/DrawerAction.js +4 -4
- package/lib/actions/EmailAction.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/StatusAction.d.ts +15 -0
- package/lib/actions/StatusAction.js +53 -0
- package/lib/actions/SwitchAction.js +1 -1
- package/lib/actions/ToastAction.js +1 -1
- package/lib/actions/index.d.ts +1 -0
- package/lib/components/CustomStyle.js +1 -1
- package/lib/components/LazyComponent.js +12 -14
- package/lib/components/Overlay.js +14 -14
- package/lib/components/PopOver.js +11 -10
- package/lib/env.js +4 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.js +11 -9
- package/lib/index.d.ts +2 -1
- package/lib/index.js +21 -19
- package/lib/locale.js +6 -3
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +6 -6
- package/lib/renderers/Form.js +180 -131
- package/lib/renderers/Item.d.ts +42 -66
- package/lib/renderers/Item.js +51 -75
- package/lib/renderers/Options.js +10 -5
- package/lib/renderers/Placeholder.js +1 -1
- package/lib/renderers/builtin.js +1 -1
- package/lib/renderers/register.js +1 -1
- package/lib/renderers/wrapControl.js +104 -47
- package/lib/store/app.js +14 -7
- package/lib/store/combo.d.ts +444 -1912
- package/lib/store/combo.js +9 -2
- package/lib/store/crud.d.ts +1 -0
- package/lib/store/crud.js +11 -5
- package/lib/store/form.d.ts +132 -892
- package/lib/store/form.js +81 -79
- package/lib/store/formItem.d.ts +5 -2
- package/lib/store/formItem.js +13 -2
- package/lib/store/iRenderer.js +8 -5
- 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 +8 -5
- package/lib/store/service.js +4 -4
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +503 -2040
- package/lib/store/table.js +79 -55
- package/lib/store/table2.d.ts +49 -0
- package/lib/store/table2.js +36 -3
- package/lib/theme.js +6 -3
- package/lib/types.d.ts +17 -3
- 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/api.d.ts +2 -2
- package/lib/utils/api.js +113 -81
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +1 -1
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/columnsSplit.js +8 -6
- package/lib/utils/dataMapping.js +4 -2
- package/lib/utils/date.js +1 -1
- package/lib/utils/debug.d.ts +2 -0
- package/lib/utils/debug.js +61 -33
- package/lib/utils/decodeEntity.js +1 -1
- package/lib/utils/dom.js +7 -5
- 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.d.ts +0 -1
- package/lib/utils/formula.js +6 -10
- 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 +11 -1
- package/lib/utils/helper.js +14 -1
- package/lib/utils/highlight.js +8 -9
- package/lib/utils/icon.d.ts +4 -2
- package/lib/utils/icon.js +12 -10
- 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/makeSorter.js +1 -1
- package/lib/utils/math.d.ts +3 -0
- package/lib/utils/math.js +58 -0
- 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.d.ts +7 -0
- package/lib/utils/object.js +13 -1
- package/lib/utils/offset.js +1 -1
- package/lib/utils/offsetParent.js +1 -1
- package/lib/utils/optionValueCompare.js +7 -3
- package/lib/utils/position.js +1 -1
- package/lib/utils/prettyBytes.js +1 -1
- package/lib/utils/renderer-event.d.ts +1 -1
- package/lib/utils/renderer-event.js +13 -5
- 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/validations.js +1 -1
- package/package.json +5 -5
package/esm/Root.js
CHANGED
package/esm/RootRenderer.d.ts
CHANGED
|
@@ -25,5 +25,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
|
|
|
25
25
|
handleDrawerClose(): void;
|
|
26
26
|
openFeedback(dialog: any, ctx: any): Promise<unknown>;
|
|
27
27
|
reloadTarget(scoped: IScopedContext, target: string, data?: any): void;
|
|
28
|
-
render(): string | number | boolean | React.
|
|
28
|
+
render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
29
29
|
}
|
package/esm/RootRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.3.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -117,7 +117,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
117
117
|
}
|
|
118
118
|
else if (action.actionType === 'dialog') {
|
|
119
119
|
store.setCurrentAction(action);
|
|
120
|
-
store.openDialog(ctx, undefined, action.callback, delegate);
|
|
120
|
+
store.openDialog(ctx, undefined, action.callback, delegate || this.context);
|
|
121
121
|
}
|
|
122
122
|
else if (action.actionType === 'drawer') {
|
|
123
123
|
store.setCurrentAction(action);
|
|
@@ -257,7 +257,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
257
257
|
});
|
|
258
258
|
store.openDialog(ctx, undefined, function (confirmed) {
|
|
259
259
|
resolve(confirmed);
|
|
260
|
-
});
|
|
260
|
+
}, _this.context);
|
|
261
261
|
});
|
|
262
262
|
};
|
|
263
263
|
RootRenderer.prototype.reloadTarget = function (scoped, target, data) {
|
package/esm/SchemaRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.3.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -41,6 +41,8 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
|
|
|
41
41
|
'hiddenOn',
|
|
42
42
|
'disabled',
|
|
43
43
|
'disabledOn',
|
|
44
|
+
'static',
|
|
45
|
+
'staticOn',
|
|
44
46
|
'component',
|
|
45
47
|
'detectField',
|
|
46
48
|
'defaultValue',
|
|
@@ -54,7 +56,8 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
|
|
|
54
56
|
'inputOnly',
|
|
55
57
|
'label',
|
|
56
58
|
'renderLabel',
|
|
57
|
-
'trackExpression'
|
|
59
|
+
'trackExpression',
|
|
60
|
+
'editorSetting'
|
|
58
61
|
];
|
|
59
62
|
var componentCache = new SimpleMap();
|
|
60
63
|
var SchemaRenderer = /** @class */ (function (_super) {
|
package/esm/Scoped.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ export interface ScopedComponentType extends React.Component<RendererProps> {
|
|
|
22
22
|
setData?: (value?: object, replace?: boolean, index?: number) => void;
|
|
23
23
|
}
|
|
24
24
|
export interface IScopedContext {
|
|
25
|
+
rendererType?: string;
|
|
26
|
+
component?: ScopedComponentType;
|
|
25
27
|
parent?: AliasIScopedContext;
|
|
26
28
|
children?: AliasIScopedContext[];
|
|
27
29
|
registerComponent: (component: ScopedComponentType) => void;
|
|
@@ -33,13 +35,14 @@ export interface IScopedContext {
|
|
|
33
35
|
send: (target: string, ctx: RendererData) => void;
|
|
34
36
|
close: (target: string) => void;
|
|
35
37
|
closeById: (target: string) => void;
|
|
38
|
+
getComponentsByRefPath: (session: string, path: string) => ScopedComponentType[];
|
|
36
39
|
}
|
|
37
40
|
type AliasIScopedContext = IScopedContext;
|
|
38
41
|
export declare const ScopedContext: React.Context<IScopedContext>;
|
|
39
42
|
export declare function HocScoped<T extends {
|
|
40
43
|
$path?: string;
|
|
41
44
|
env: RendererEnv;
|
|
42
|
-
}>(ComposedComponent: React.ComponentType<T
|
|
45
|
+
}>(ComposedComponent: React.ComponentType<T>, rendererType?: string): React.ComponentType<T & {
|
|
43
46
|
scopeRef?: (ref: any) => void;
|
|
44
47
|
}> & {
|
|
45
48
|
ComposedComponent: React.ComponentType<T>;
|
package/esm/Scoped.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.3.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -29,8 +29,8 @@ import 'classnames';
|
|
|
29
29
|
import 'lodash/isObject';
|
|
30
30
|
import 'lodash/isString';
|
|
31
31
|
import 'lodash/isBoolean';
|
|
32
|
-
import 'lodash';
|
|
33
32
|
import './utils/image.js';
|
|
33
|
+
import 'lodash/isEqual';
|
|
34
34
|
import './actions/Action.js';
|
|
35
35
|
import 'lodash/debounce';
|
|
36
36
|
import 'lodash/cloneDeep';
|
|
@@ -65,13 +65,16 @@ function filterTarget(target, data) {
|
|
|
65
65
|
}
|
|
66
66
|
var rootScopedContext = createScopedTools('');
|
|
67
67
|
var ScopedContext = React.createContext(rootScopedContext);
|
|
68
|
-
function createScopedTools(path, parent, env) {
|
|
68
|
+
function createScopedTools(path, parent, env, rendererType) {
|
|
69
69
|
var components = [];
|
|
70
70
|
var self = {
|
|
71
|
+
rendererType: rendererType,
|
|
72
|
+
component: undefined,
|
|
71
73
|
parent: parent,
|
|
72
74
|
registerComponent: function (component) {
|
|
73
75
|
// 不要把自己注册在自己的 Scoped 上,自己的 Scoped 是给子节点们注册的。
|
|
74
76
|
if (component.props.$path === path && parent) {
|
|
77
|
+
self.component = component;
|
|
75
78
|
return parent.registerComponent(component);
|
|
76
79
|
}
|
|
77
80
|
if (!~components.indexOf(component)) {
|
|
@@ -335,12 +338,12 @@ function closeDialog(component) {
|
|
|
335
338
|
.forEach(closeDialog);
|
|
336
339
|
component.props.onClose && component.props.onClose();
|
|
337
340
|
}
|
|
338
|
-
function HocScoped(ComposedComponent) {
|
|
341
|
+
function HocScoped(ComposedComponent, rendererType) {
|
|
339
342
|
var ScopedComponent = /** @class */ (function (_super) {
|
|
340
343
|
__extends(ScopedComponent, _super);
|
|
341
344
|
function ScopedComponent(props, context) {
|
|
342
345
|
var _this = _super.call(this, props) || this;
|
|
343
|
-
_this.scoped = createScopedTools(_this.props.$path, context, _this.props.env);
|
|
346
|
+
_this.scoped = createScopedTools(_this.props.$path, context, _this.props.env, rendererType);
|
|
344
347
|
var scopeRef = props.scopeRef;
|
|
345
348
|
scopeRef && scopeRef(_this.scoped);
|
|
346
349
|
return _this;
|
package/esm/StatusScoped.js
CHANGED
package/esm/WithRootStore.js
CHANGED
package/esm/WithStore.js
CHANGED
package/esm/actions/Action.d.ts
CHANGED
package/esm/actions/Action.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.3.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -117,11 +117,20 @@ var runActions = function (actions, renderer, event) { return __awaiter(void 0,
|
|
|
117
117
|
// 如果存在指定组件ID,说明是组件专有动作
|
|
118
118
|
if (!actionInstrance &&
|
|
119
119
|
(actionConfig.componentId || actionConfig.componentName)) {
|
|
120
|
-
actionInstrance =
|
|
120
|
+
actionInstrance = [
|
|
121
|
+
'static',
|
|
122
|
+
'nonstatic',
|
|
123
|
+
'show',
|
|
124
|
+
'visibility',
|
|
125
|
+
'hidden',
|
|
126
|
+
'enabled',
|
|
127
|
+
'disabled',
|
|
128
|
+
'usability'
|
|
129
|
+
].includes(actionConfig.actionType)
|
|
130
|
+
? getActionByType('status')
|
|
131
|
+
: getActionByType('component');
|
|
121
132
|
}
|
|
122
|
-
else if (
|
|
123
|
-
actionConfig.actionType === 'link' ||
|
|
124
|
-
actionConfig.actionType === 'jump') {
|
|
133
|
+
else if (['url', 'link', 'jump'].includes(actionConfig.actionType)) {
|
|
125
134
|
// 打开页面动作
|
|
126
135
|
actionInstrance = getActionByType('openlink');
|
|
127
136
|
}
|
|
@@ -158,14 +167,16 @@ var runActions = function (actions, renderer, event) { return __awaiter(void 0,
|
|
|
158
167
|
}); };
|
|
159
168
|
// 执行动作,与原有动作处理打通
|
|
160
169
|
var runAction = function (actionInstrance, actionConfig, renderer, event) { return __awaiter(void 0, void 0, void 0, function () {
|
|
161
|
-
var additional, mergeData, expression, isStop, preventDefault, key, args, afterMappingData, actionData, data, stopped, actionResult, stopPropagation;
|
|
162
|
-
var _a, _b, _c;
|
|
163
|
-
return __generator(this, function (
|
|
164
|
-
switch (
|
|
170
|
+
var additional, action, mergeData, expression, isStop, preventDefault, key, api, args, afterMappingData, actionData, data, stopped, actionResult, stopPropagation;
|
|
171
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
172
|
+
return __generator(this, function (_u) {
|
|
173
|
+
switch (_u.label) {
|
|
165
174
|
case 0:
|
|
166
175
|
additional = {
|
|
167
176
|
event: event
|
|
168
177
|
};
|
|
178
|
+
action = __assign({}, actionConfig);
|
|
179
|
+
action.args = __assign({}, actionConfig.args);
|
|
169
180
|
// __rendererData默认为renderer.props.data,兼容表单项值变化时的data读取
|
|
170
181
|
if (!event.data.__rendererData) {
|
|
171
182
|
additional = {
|
|
@@ -176,29 +187,47 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
|
|
|
176
187
|
mergeData = createObject(createObject(renderer.props.data.__super
|
|
177
188
|
? createObject(renderer.props.data.__super, additional)
|
|
178
189
|
: additional, renderer.props.data), event.data);
|
|
179
|
-
expression = (_a =
|
|
190
|
+
expression = (_a = action.expression) !== null && _a !== void 0 ? _a : action.execOn;
|
|
180
191
|
isStop = false;
|
|
181
192
|
if (!expression) return [3 /*break*/, 2];
|
|
182
193
|
return [4 /*yield*/, evalExpressionWithConditionBuilder(expression, mergeData, true)];
|
|
183
194
|
case 1:
|
|
184
|
-
isStop = !(
|
|
185
|
-
|
|
195
|
+
isStop = !(_u.sent());
|
|
196
|
+
_u.label = 2;
|
|
186
197
|
case 2:
|
|
187
198
|
if (isStop) {
|
|
188
199
|
return [2 /*return*/];
|
|
189
200
|
}
|
|
190
201
|
preventDefault = false;
|
|
191
|
-
if (!
|
|
192
|
-
return [4 /*yield*/, evalExpressionWithConditionBuilder(
|
|
202
|
+
if (!action.preventDefault) return [3 /*break*/, 4];
|
|
203
|
+
return [4 /*yield*/, evalExpressionWithConditionBuilder(action.preventDefault, mergeData, false)];
|
|
193
204
|
case 3:
|
|
194
|
-
preventDefault =
|
|
195
|
-
|
|
205
|
+
preventDefault = _u.sent();
|
|
206
|
+
_u.label = 4;
|
|
196
207
|
case 4:
|
|
197
208
|
key = {
|
|
198
|
-
componentId: dataMapping(
|
|
199
|
-
componentName: dataMapping(
|
|
209
|
+
componentId: dataMapping(action.componentId, mergeData),
|
|
210
|
+
componentName: dataMapping(action.componentName, mergeData)
|
|
200
211
|
};
|
|
201
|
-
|
|
212
|
+
// 兼容args包裹的用法
|
|
213
|
+
if (action.actionType === 'dialog') {
|
|
214
|
+
action.dialog = __assign({}, ((_b = action.dialog) !== null && _b !== void 0 ? _b : (_c = action.args) === null || _c === void 0 ? void 0 : _c.dialog));
|
|
215
|
+
(_d = action.args) === null || _d === void 0 ? true : delete _d.dialog;
|
|
216
|
+
}
|
|
217
|
+
else if (action.actionType === 'drawer') {
|
|
218
|
+
action.drawer = __assign({}, ((_e = action.drawer) !== null && _e !== void 0 ? _e : (_f = action.args) === null || _f === void 0 ? void 0 : _f.drawer));
|
|
219
|
+
(_g = action.args) === null || _g === void 0 ? true : delete _g.drawer;
|
|
220
|
+
}
|
|
221
|
+
else if (action.actionType === 'ajax') {
|
|
222
|
+
api = (_h = action.api) !== null && _h !== void 0 ? _h : (_j = action.args) === null || _j === void 0 ? void 0 : _j.api;
|
|
223
|
+
action.api = typeof api === 'string' ? api : __assign({}, api);
|
|
224
|
+
action.options = __assign({}, ((_k = action.options) !== null && _k !== void 0 ? _k : (_l = action.args) === null || _l === void 0 ? void 0 : _l.options));
|
|
225
|
+
action.messages = __assign({}, ((_m = action.messages) !== null && _m !== void 0 ? _m : (_o = action.args) === null || _o === void 0 ? void 0 : _o.messages));
|
|
226
|
+
(_p = action.args) === null || _p === void 0 ? true : delete _p.api;
|
|
227
|
+
(_q = action.args) === null || _q === void 0 ? true : delete _q.options;
|
|
228
|
+
(_r = action.args) === null || _r === void 0 ? true : delete _r.messages;
|
|
229
|
+
}
|
|
230
|
+
args = dataMapping(action.args, mergeData, function (key) {
|
|
202
231
|
return [
|
|
203
232
|
'adaptor',
|
|
204
233
|
'responseAdaptor',
|
|
@@ -207,34 +236,30 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
|
|
|
207
236
|
'condition'
|
|
208
237
|
].includes(key);
|
|
209
238
|
});
|
|
210
|
-
afterMappingData = dataMapping(
|
|
239
|
+
afterMappingData = dataMapping(action.data, mergeData);
|
|
211
240
|
actionData = args && Object.keys(args).length
|
|
212
|
-
? omit(__assign(__assign({}, args), (afterMappingData !== null && afterMappingData !== void 0 ? afterMappingData : {})), getOmitActionProp(
|
|
241
|
+
? omit(__assign(__assign({}, args), (afterMappingData !== null && afterMappingData !== void 0 ? afterMappingData : {})), getOmitActionProp(action.actionType))
|
|
213
242
|
: afterMappingData;
|
|
214
|
-
data =
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
? actionData
|
|
218
|
-
: event.data;
|
|
219
|
-
(_b = console.group) === null || _b === void 0 ? void 0 : _b.call(console, "run action ".concat(actionConfig.actionType));
|
|
220
|
-
console.debug("[".concat(actionConfig.actionType, "] action args, data"), args, data);
|
|
243
|
+
data = actionData !== undefined ? actionData : mergeData;
|
|
244
|
+
(_s = console.group) === null || _s === void 0 ? void 0 : _s.call(console, "run action ".concat(action.actionType));
|
|
245
|
+
console.debug("[".concat(action.actionType, "] action args, data"), args, data);
|
|
221
246
|
stopped = false;
|
|
222
|
-
return [4 /*yield*/, actionInstrance.run(__assign(__assign(__assign({},
|
|
247
|
+
return [4 /*yield*/, actionInstrance.run(__assign(__assign(__assign({}, action), { args: args, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
|
|
223
248
|
case 5:
|
|
224
|
-
actionResult =
|
|
249
|
+
actionResult = _u.sent();
|
|
225
250
|
// 二次确认弹窗如果取消,则终止后续动作
|
|
226
|
-
if ((
|
|
251
|
+
if ((action === null || action === void 0 ? void 0 : action.actionType) === 'confirmDialog' && !actionResult) {
|
|
227
252
|
stopped = true;
|
|
228
253
|
}
|
|
229
254
|
stopPropagation = false;
|
|
230
|
-
if (!
|
|
231
|
-
return [4 /*yield*/, evalExpressionWithConditionBuilder(
|
|
255
|
+
if (!action.stopPropagation) return [3 /*break*/, 7];
|
|
256
|
+
return [4 /*yield*/, evalExpressionWithConditionBuilder(action.stopPropagation, mergeData, false)];
|
|
232
257
|
case 6:
|
|
233
|
-
stopPropagation =
|
|
234
|
-
|
|
258
|
+
stopPropagation = _u.sent();
|
|
259
|
+
_u.label = 7;
|
|
235
260
|
case 7:
|
|
236
|
-
console.debug("[".concat(
|
|
237
|
-
(
|
|
261
|
+
console.debug("[".concat(action.actionType, "] action end event"), event);
|
|
262
|
+
(_t = console.groupEnd) === null || _t === void 0 ? void 0 : _t.call(console);
|
|
238
263
|
// 阻止原有动作执行
|
|
239
264
|
preventDefault && event.preventDefault();
|
|
240
265
|
// 阻止后续动作执行
|
|
@@ -3,15 +3,13 @@ import { RendererEvent } from '../utils/renderer-event';
|
|
|
3
3
|
import { RendererAction, ListenerAction, ListenerContext } from './Action';
|
|
4
4
|
export interface IAjaxAction extends ListenerAction {
|
|
5
5
|
action: 'ajax';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
failed: string;
|
|
11
|
-
};
|
|
12
|
-
options?: Record<string, any>;
|
|
13
|
-
[propName: string]: any;
|
|
6
|
+
api: Api;
|
|
7
|
+
messages?: {
|
|
8
|
+
success: string;
|
|
9
|
+
failed: string;
|
|
14
10
|
};
|
|
11
|
+
options?: Record<string, any>;
|
|
12
|
+
[propName: string]: any;
|
|
15
13
|
}
|
|
16
14
|
/**
|
|
17
15
|
* 发送请求动作
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.3.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -23,39 +23,41 @@ var AjaxAction = /** @class */ (function () {
|
|
|
23
23
|
this.fetcherType = fetcherType;
|
|
24
24
|
}
|
|
25
25
|
AjaxAction.prototype.run = function (action, renderer, event) {
|
|
26
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m
|
|
26
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
27
27
|
return __awaiter(this, void 0, void 0, function () {
|
|
28
|
-
var env, result, responseData, msg, e_1, result;
|
|
29
|
-
var
|
|
30
|
-
return __generator(this, function (
|
|
31
|
-
switch (
|
|
28
|
+
var env, silent, messages, result, responseData, msg, e_1, result;
|
|
29
|
+
var _o;
|
|
30
|
+
return __generator(this, function (_p) {
|
|
31
|
+
switch (_p.label) {
|
|
32
32
|
case 0:
|
|
33
33
|
if (!((_a = renderer.props.env) === null || _a === void 0 ? void 0 : _a.fetcher)) {
|
|
34
34
|
throw new Error('env.fetcher is required!');
|
|
35
35
|
}
|
|
36
36
|
if (this.fetcherType === 'download' && action.actionType === 'download') {
|
|
37
|
-
if (
|
|
38
|
-
action.
|
|
37
|
+
if (action.api) {
|
|
38
|
+
action.api.responseType = 'blob';
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
env = event.context.env;
|
|
42
|
-
|
|
42
|
+
silent = (_b = action === null || action === void 0 ? void 0 : action.options) === null || _b === void 0 ? void 0 : _b.silent;
|
|
43
|
+
messages = (_c = action === null || action === void 0 ? void 0 : action.api) === null || _c === void 0 ? void 0 : _c.messages;
|
|
44
|
+
_p.label = 1;
|
|
43
45
|
case 1:
|
|
44
|
-
|
|
45
|
-
return [4 /*yield*/, env.fetcher(
|
|
46
|
+
_p.trys.push([1, 3, , 4]);
|
|
47
|
+
return [4 /*yield*/, env.fetcher(action === null || action === void 0 ? void 0 : action.api, (_d = action.data) !== null && _d !== void 0 ? _d : {}, (_e = action === null || action === void 0 ? void 0 : action.options) !== null && _e !== void 0 ? _e : {})];
|
|
46
48
|
case 2:
|
|
47
|
-
result =
|
|
49
|
+
result = _p.sent();
|
|
48
50
|
responseData = !isEmpty(result.data) || result.ok
|
|
49
51
|
? normalizeApiResponseData(result.data)
|
|
50
52
|
: null;
|
|
51
53
|
// 记录请求返回的数据
|
|
52
|
-
event.setData(createObject(event.data, __assign(__assign({}, responseData), (
|
|
53
|
-
if (!
|
|
54
|
+
event.setData(createObject(event.data, __assign(__assign({}, responseData), (_o = { responseData: responseData }, _o[action.outputVar || 'responseResult'] = __assign(__assign({}, responseData), { responseData: responseData, responseStatus: result.status, responseMsg: result.msg }), _o))));
|
|
55
|
+
if (!silent) {
|
|
54
56
|
if (!result.ok) {
|
|
55
|
-
throw new ServerError((
|
|
57
|
+
throw new ServerError((_h = (_f = messages === null || messages === void 0 ? void 0 : messages.failed) !== null && _f !== void 0 ? _f : (_g = action.messages) === null || _g === void 0 ? void 0 : _g.failed) !== null && _h !== void 0 ? _h : result.msg, result);
|
|
56
58
|
}
|
|
57
59
|
else {
|
|
58
|
-
msg = (
|
|
60
|
+
msg = (_m = (_l = (_j = messages === null || messages === void 0 ? void 0 : messages.success) !== null && _j !== void 0 ? _j : (_k = action.messages) === null || _k === void 0 ? void 0 : _k.success) !== null && _l !== void 0 ? _l : result.msg) !== null && _m !== void 0 ? _m : result.defaultMsg;
|
|
59
61
|
msg &&
|
|
60
62
|
env.notify('success', msg, result.msgTimeout !== undefined
|
|
61
63
|
? {
|
|
@@ -67,8 +69,8 @@ var AjaxAction = /** @class */ (function () {
|
|
|
67
69
|
}
|
|
68
70
|
return [2 /*return*/, result.data];
|
|
69
71
|
case 3:
|
|
70
|
-
e_1 =
|
|
71
|
-
if (!
|
|
72
|
+
e_1 = _p.sent();
|
|
73
|
+
if (!silent) {
|
|
72
74
|
if (e_1.type === 'ServerError') {
|
|
73
75
|
result = e_1.response;
|
|
74
76
|
env.notify('error', e_1.message, result.msgTimeout !== undefined
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { RendererEvent } from '../utils/renderer-event';
|
|
2
2
|
import { RendererAction, ListenerAction, ListenerContext } from './Action';
|
|
3
3
|
export interface ICmptAction extends ListenerAction {
|
|
4
|
-
actionType:
|
|
4
|
+
actionType: string;
|
|
5
5
|
args: {
|
|
6
|
-
/** actionType为setValue时,目标变量的path */
|
|
7
6
|
path?: string;
|
|
8
7
|
value?: string | {
|
|
9
8
|
[key: string]: string;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.3.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { __awaiter, __generator } from 'tslib';
|
|
7
|
+
import '../utils/helper.js';
|
|
7
8
|
import { registerAction } from './Action.js';
|
|
9
|
+
import { createObject } from '../utils/object.js';
|
|
8
10
|
|
|
9
11
|
/**
|
|
10
12
|
* 组件动作
|
|
@@ -17,61 +19,74 @@ var CmptAction = /** @class */ (function () {
|
|
|
17
19
|
function CmptAction() {
|
|
18
20
|
}
|
|
19
21
|
CmptAction.prototype.run = function (action, renderer, event) {
|
|
20
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
22
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
21
23
|
return __awaiter(this, void 0, void 0, function () {
|
|
22
|
-
var key,
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
var key, dataMergeMode, component, beforeSetData, path, res, result, e_1;
|
|
25
|
+
var _s, _t;
|
|
26
|
+
return __generator(this, function (_u) {
|
|
27
|
+
switch (_u.label) {
|
|
25
28
|
case 0:
|
|
26
29
|
key = action.componentId || action.componentName;
|
|
30
|
+
dataMergeMode = action.dataMergeMode || 'merge';
|
|
27
31
|
component = key
|
|
28
32
|
? (_a = event.context.scoped) === null || _a === void 0 ? void 0 : _a[action.componentId ? 'getComponentById' : 'getComponentByName'](key)
|
|
29
|
-
:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (['show', 'hidden', 'visibility'].includes(action.actionType)) {
|
|
33
|
-
visibility = action.actionType === 'visibility'
|
|
34
|
-
? (_b = action.args) === null || _b === void 0 ? void 0 : _b.value
|
|
35
|
-
: action.actionType === 'show';
|
|
36
|
-
return [2 /*return*/, renderer.props.statusStore.setVisible(key, visibility)];
|
|
37
|
-
}
|
|
38
|
-
else if (['static', 'nonstatic'].includes(action.actionType)) {
|
|
39
|
-
return [2 /*return*/, renderer.props.statusStore.setStatic(key, action.actionType === 'static')];
|
|
40
|
-
}
|
|
41
|
-
else if (['enabled', 'disabled', 'usability'].includes(action.actionType)) {
|
|
42
|
-
usability = action.actionType === 'usability'
|
|
43
|
-
? !((_c = action.args) === null || _c === void 0 ? void 0 : _c.value)
|
|
44
|
-
: action.actionType === 'disabled';
|
|
45
|
-
return [2 /*return*/, renderer.props.statusStore.setDisable(key, usability)];
|
|
33
|
+
: null;
|
|
34
|
+
if (key && !component) {
|
|
35
|
+
throw Error('目标组件没有找到,请检查componentId或componentName是否正确');
|
|
46
36
|
}
|
|
47
37
|
if (!(action.actionType === 'setValue')) return [3 /*break*/, 3];
|
|
48
|
-
beforeSetData = (
|
|
49
|
-
path = (
|
|
38
|
+
beforeSetData = (_c = (_b = renderer === null || renderer === void 0 ? void 0 : renderer.props) === null || _b === void 0 ? void 0 : _b.env) === null || _c === void 0 ? void 0 : _c.beforeSetData;
|
|
39
|
+
path = (_d = action.args) === null || _d === void 0 ? void 0 : _d.path;
|
|
50
40
|
if (!(path &&
|
|
51
41
|
typeof path === 'string' &&
|
|
52
42
|
beforeSetData &&
|
|
53
43
|
typeof beforeSetData === 'function')) return [3 /*break*/, 2];
|
|
54
44
|
return [4 /*yield*/, beforeSetData(renderer, action, event)];
|
|
55
45
|
case 1:
|
|
56
|
-
res =
|
|
46
|
+
res = _u.sent();
|
|
57
47
|
if (res === false) {
|
|
58
48
|
return [2 /*return*/];
|
|
59
49
|
}
|
|
60
|
-
|
|
50
|
+
_u.label = 2;
|
|
61
51
|
case 2:
|
|
62
52
|
if (component === null || component === void 0 ? void 0 : component.setData) {
|
|
63
|
-
return [2 /*return*/, component === null || component === void 0 ? void 0 : component.setData((
|
|
53
|
+
return [2 /*return*/, component === null || component === void 0 ? void 0 : component.setData((_e = action.args) === null || _e === void 0 ? void 0 : _e.value, dataMergeMode === 'override', (_f = action.args) === null || _f === void 0 ? void 0 : _f.index)];
|
|
64
54
|
}
|
|
65
55
|
else {
|
|
66
|
-
return [2 /*return*/, (
|
|
56
|
+
return [2 /*return*/, (_h = component === null || component === void 0 ? void 0 : (_g = component.props).onChange) === null || _h === void 0 ? void 0 : _h.call(_g, (_j = action.args) === null || _j === void 0 ? void 0 : _j.value)];
|
|
67
57
|
}
|
|
68
58
|
case 3:
|
|
69
59
|
// 刷新
|
|
70
60
|
if (action.actionType === 'reload') {
|
|
71
|
-
return [2 /*return*/, (
|
|
61
|
+
return [2 /*return*/, (_k = component === null || component === void 0 ? void 0 : component.reload) === null || _k === void 0 ? void 0 : _k.call(component, undefined, action.data, undefined, undefined, dataMergeMode === 'override', action.args)];
|
|
62
|
+
}
|
|
63
|
+
_u.label = 4;
|
|
64
|
+
case 4:
|
|
65
|
+
_u.trys.push([4, 6, , 7]);
|
|
66
|
+
return [4 /*yield*/, ((_l = component === null || component === void 0 ? void 0 : component.doAction) === null || _l === void 0 ? void 0 : _l.call(component, action, action.args, true))];
|
|
67
|
+
case 5:
|
|
68
|
+
result = _u.sent();
|
|
69
|
+
if (['validate', 'submit'].includes(action.actionType)) {
|
|
70
|
+
event.setData(createObject(event.data, (_s = {},
|
|
71
|
+
_s[action.outputVar || "".concat(action.actionType, "Result")] = {
|
|
72
|
+
error: '',
|
|
73
|
+
payload: (_m = result === null || result === void 0 ? void 0 : result.__payload) !== null && _m !== void 0 ? _m : (_p = (_o = component === null || component === void 0 ? void 0 : component.props) === null || _o === void 0 ? void 0 : _o.store) === null || _p === void 0 ? void 0 : _p.data,
|
|
74
|
+
responseData: result === null || result === void 0 ? void 0 : result.__response
|
|
75
|
+
},
|
|
76
|
+
_s)));
|
|
72
77
|
}
|
|
73
|
-
|
|
74
|
-
|
|
78
|
+
return [2 /*return*/, result];
|
|
79
|
+
case 6:
|
|
80
|
+
e_1 = _u.sent();
|
|
81
|
+
event.setData(createObject(event.data, (_t = {},
|
|
82
|
+
_t[action.outputVar || "".concat(action.actionType, "Result")] = {
|
|
83
|
+
error: e_1.message,
|
|
84
|
+
errors: e_1.name === 'ValidateError' ? e_1.detail : e_1,
|
|
85
|
+
payload: (_r = (_q = component === null || component === void 0 ? void 0 : component.props) === null || _q === void 0 ? void 0 : _q.store) === null || _r === void 0 ? void 0 : _r.data
|
|
86
|
+
},
|
|
87
|
+
_t)));
|
|
88
|
+
return [3 /*break*/, 7];
|
|
89
|
+
case 7: return [2 /*return*/];
|
|
75
90
|
}
|
|
76
91
|
});
|
|
77
92
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.3.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -23,8 +23,8 @@ import '../utils/filter.js';
|
|
|
23
23
|
import 'lodash/isObject';
|
|
24
24
|
import 'lodash/isString';
|
|
25
25
|
import 'lodash/isBoolean';
|
|
26
|
-
import 'lodash';
|
|
27
26
|
import '../utils/image.js';
|
|
27
|
+
import 'lodash/isEqual';
|
|
28
28
|
import { registerAction, runActions } from './Action.js';
|
|
29
29
|
import 'lodash/debounce';
|
|
30
30
|
import 'lodash/cloneDeep';
|