amis-core 6.2.2 → 6.4.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 +28 -10
- package/esm/SchemaRenderer.js +17 -7
- package/esm/Scoped.d.ts +2 -1
- package/esm/Scoped.js +30 -14
- package/esm/StatusScoped.js +4 -2
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +28 -17
- package/esm/actions/Action.js +5 -3
- package/esm/actions/AjaxAction.js +29 -19
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.js +1 -1
- package/esm/actions/CmptAction.js +3 -3
- 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.d.ts +8 -0
- package/esm/actions/DialogAction.js +116 -40
- package/esm/actions/DrawerAction.d.ts +5 -0
- package/esm/actions/DrawerAction.js +74 -11
- package/esm/actions/EmailAction.js +1 -1
- package/esm/actions/EventAction.d.ts +20 -0
- package/esm/actions/EventAction.js +102 -0
- 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.d.ts +2 -2
- package/esm/actions/PrintAction.js +6 -6
- 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.d.ts +18 -0
- package/esm/actions/WaitAction.js +41 -0
- package/esm/actions/index.d.ts +2 -0
- package/esm/components/CustomStyle.js +1 -4
- package/esm/components/ErrorBoundary.js +1 -1
- package/esm/components/LazyComponent.js +1 -1
- package/esm/components/Overlay.d.ts +3 -0
- package/esm/components/Overlay.js +7 -4
- package/esm/components/PopOver.js +2 -2
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.d.ts +3 -0
- package/esm/factory.js +1 -1
- package/esm/index.js +6 -4
- package/esm/locale.js +4 -2
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +6 -4
- package/esm/renderers/Form.js +134 -66
- package/esm/renderers/Item.d.ts +123 -79
- package/esm/renderers/Item.js +159 -60
- package/esm/renderers/Options.d.ts +0 -11
- package/esm/renderers/Options.js +20 -84
- package/esm/renderers/Placeholder.js +1 -1
- package/esm/renderers/builtin.js +1 -1
- package/esm/renderers/register.js +1 -1
- package/esm/renderers/wrapControl.d.ts +2 -1
- package/esm/renderers/wrapControl.js +34 -28
- package/esm/store/app.d.ts +5 -5
- package/esm/store/app.js +1 -1
- package/esm/store/combo.d.ts +255 -63
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +5 -5
- package/esm/store/crud.js +12 -6
- package/esm/store/form.d.ts +105 -25
- package/esm/store/form.js +33 -15
- package/esm/store/formItem.d.ts +6 -2
- package/esm/store/formItem.js +68 -5
- package/esm/store/iRenderer.d.ts +5 -5
- package/esm/store/iRenderer.js +28 -12
- package/esm/store/index.js +1 -1
- package/esm/store/list.d.ts +18 -5
- package/esm/store/list.js +14 -1
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.d.ts +5 -5
- package/esm/store/modal.js +1 -1
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.d.ts +5 -5
- package/esm/store/pagination.js +1 -1
- package/esm/store/root.d.ts +5 -5
- package/esm/store/root.js +1 -1
- package/esm/store/service.d.ts +5 -5
- package/esm/store/service.js +2 -2
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +244 -55
- package/esm/store/table.js +27 -9
- package/esm/store/table2.d.ts +5 -5
- package/esm/store/table2.js +1 -1
- package/esm/theme.js +4 -2
- package/esm/types.d.ts +7 -1
- 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.js +1 -1
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +1 -1
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/browser.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/concatData.js +1 -1
- package/esm/utils/dataMapping.js +1 -1
- package/esm/utils/date.js +1 -1
- package/esm/utils/debug.js +1 -1
- package/esm/utils/decodeEntity.js +1 -1
- package/esm/utils/dom.d.ts +2 -2
- package/esm/utils/dom.js +72 -13
- 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 +2 -2
- 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 +12 -6
- package/esm/utils/helper.js +41 -18
- package/esm/utils/highlight.js +1 -1
- package/esm/utils/icon.js +1 -1
- package/esm/utils/image.js +1 -1
- package/esm/utils/isPureVariable.js +1 -1
- package/esm/utils/json-schema-2-amis-schema.js +1 -1
- package/esm/utils/keyToPath.js +1 -1
- package/esm/utils/labelToString.js +1 -1
- package/esm/utils/makeSorter.js +1 -1
- package/esm/utils/math.js +1 -1
- package/esm/utils/memoryParse.js +1 -1
- package/esm/utils/normalizeLink.js +1 -1
- package/esm/utils/normalizeOptions.js +1 -1
- package/esm/utils/object.js +1 -1
- package/esm/utils/offset.js +1 -1
- package/esm/utils/offsetParent.js +1 -1
- package/esm/utils/optionValueCompare.js +1 -1
- package/esm/utils/position.js +1 -1
- package/esm/utils/prettyBytes.js +1 -1
- package/esm/utils/printElement.js +1 -1
- package/esm/utils/renderer-event.d.ts +13 -0
- package/esm/utils/renderer-event.js +111 -2
- 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.d.ts +1 -1
- package/esm/utils/stripNumber.js +4 -3
- package/esm/utils/style-helper.d.ts +21 -2
- package/esm/utils/style-helper.js +55 -10
- 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 +4 -4
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validateId.js +5 -2
- package/esm/utils/validations.js +1 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.d.ts +2 -2
- package/lib/RootRenderer.js +28 -10
- package/lib/SchemaRenderer.js +16 -6
- package/lib/Scoped.d.ts +2 -1
- package/lib/Scoped.js +30 -14
- package/lib/StatusScoped.js +4 -2
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +28 -17
- package/lib/actions/Action.js +5 -3
- package/lib/actions/AjaxAction.js +29 -19
- package/lib/actions/BreakAction.js +1 -1
- package/lib/actions/BroadcastAction.js +1 -1
- package/lib/actions/CmptAction.js +3 -3
- 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.d.ts +8 -0
- package/lib/actions/DialogAction.js +119 -40
- package/lib/actions/DrawerAction.d.ts +5 -0
- package/lib/actions/DrawerAction.js +77 -11
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/EventAction.d.ts +20 -0
- package/lib/actions/EventAction.js +109 -0
- 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.d.ts +2 -2
- package/lib/actions/PrintAction.js +6 -6
- 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.d.ts +18 -0
- package/lib/actions/WaitAction.js +45 -0
- package/lib/actions/index.d.ts +2 -0
- package/lib/components/CustomStyle.js +1 -4
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/LazyComponent.js +1 -1
- package/lib/components/Overlay.d.ts +3 -0
- package/lib/components/Overlay.js +7 -4
- package/lib/components/PopOver.js +1 -1
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.d.ts +3 -0
- package/lib/factory.js +1 -1
- package/lib/index.js +6 -4
- package/lib/locale.js +4 -2
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +6 -4
- package/lib/renderers/Form.js +135 -65
- package/lib/renderers/Item.d.ts +123 -79
- package/lib/renderers/Item.js +158 -58
- package/lib/renderers/Options.d.ts +0 -11
- package/lib/renderers/Options.js +19 -84
- package/lib/renderers/Placeholder.js +1 -1
- package/lib/renderers/builtin.js +1 -1
- package/lib/renderers/register.js +1 -1
- package/lib/renderers/wrapControl.d.ts +2 -1
- package/lib/renderers/wrapControl.js +34 -28
- package/lib/store/app.d.ts +5 -5
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +279 -88
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +5 -5
- package/lib/store/crud.js +12 -6
- package/lib/store/form.d.ts +115 -36
- package/lib/store/form.js +33 -15
- package/lib/store/formItem.d.ts +6 -2
- package/lib/store/formItem.js +67 -4
- package/lib/store/iRenderer.d.ts +5 -5
- package/lib/store/iRenderer.js +27 -11
- package/lib/store/index.js +1 -1
- package/lib/store/list.d.ts +18 -5
- package/lib/store/list.js +14 -1
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.d.ts +5 -5
- package/lib/store/modal.js +1 -1
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.d.ts +5 -5
- package/lib/store/pagination.js +1 -1
- package/lib/store/root.d.ts +5 -5
- package/lib/store/root.js +1 -1
- package/lib/store/service.d.ts +5 -5
- package/lib/store/service.js +2 -2
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +264 -76
- package/lib/store/table.js +27 -9
- package/lib/store/table2.d.ts +5 -5
- package/lib/store/table2.js +1 -1
- package/lib/theme.js +4 -2
- package/lib/types.d.ts +7 -1
- 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.js +1 -1
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +1 -1
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/browser.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/concatData.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.js +1 -1
- package/lib/utils/debug.js +1 -1
- package/lib/utils/decodeEntity.js +1 -1
- package/lib/utils/dom.d.ts +2 -2
- package/lib/utils/dom.js +72 -13
- 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 +2 -2
- 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 +12 -6
- package/lib/utils/helper.js +41 -20
- package/lib/utils/highlight.js +1 -1
- package/lib/utils/icon.js +1 -1
- package/lib/utils/image.js +1 -1
- package/lib/utils/isPureVariable.js +1 -1
- package/lib/utils/json-schema-2-amis-schema.js +1 -1
- package/lib/utils/keyToPath.js +1 -1
- package/lib/utils/labelToString.js +1 -1
- package/lib/utils/makeSorter.js +1 -1
- package/lib/utils/math.js +1 -1
- package/lib/utils/memoryParse.js +1 -1
- package/lib/utils/normalizeLink.js +1 -1
- package/lib/utils/normalizeOptions.js +1 -1
- package/lib/utils/object.js +1 -1
- package/lib/utils/offset.js +1 -1
- package/lib/utils/offsetParent.js +1 -1
- package/lib/utils/optionValueCompare.js +1 -1
- package/lib/utils/position.js +1 -1
- package/lib/utils/prettyBytes.js +1 -1
- package/lib/utils/printElement.js +1 -1
- package/lib/utils/renderer-event.d.ts +13 -0
- package/lib/utils/renderer-event.js +111 -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.d.ts +1 -1
- package/lib/utils/stripNumber.js +4 -3
- package/lib/utils/style-helper.d.ts +21 -2
- package/lib/utils/style-helper.js +55 -10
- 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 +4 -4
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validateId.js +9 -2
- package/lib/utils/validations.js +1 -1
- package/package.json +5 -3
package/esm/Root.js
CHANGED
package/esm/RootRenderer.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
|
|
|
18
18
|
componentDidCatch(error: any, errorInfo: any): void;
|
|
19
19
|
componentWillUnmount(): void;
|
|
20
20
|
handlePageVisibilityChange(): void;
|
|
21
|
-
handleAction(e: React.UIEvent<any> | void, action: ActionObject, ctx: object, throwErrors?: boolean, delegate?: IScopedContext):
|
|
21
|
+
handleAction(e: React.UIEvent<any> | void, action: ActionObject, ctx: object, throwErrors?: boolean, delegate?: IScopedContext): any;
|
|
22
22
|
handleDialogConfirm(values: object[], action: ActionObject, ...args: Array<any>): void;
|
|
23
23
|
handleDialogClose(confirmed?: boolean): void;
|
|
24
24
|
handleDrawerConfirm(values: object[], action: ActionObject, ...args: Array<any>): void;
|
package/esm/RootRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.4.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -128,12 +128,30 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
128
128
|
window.open(mailto);
|
|
129
129
|
}
|
|
130
130
|
else if (action.actionType === 'dialog') {
|
|
131
|
-
store.setCurrentAction(action);
|
|
132
|
-
|
|
131
|
+
store.setCurrentAction(action, this.props.resolveDefinitions);
|
|
132
|
+
return new Promise(function (resolve) {
|
|
133
|
+
store.openDialog(ctx, undefined, function (confirmed, value) {
|
|
134
|
+
var _a;
|
|
135
|
+
(_a = action.callback) === null || _a === void 0 ? void 0 : _a.call(action, confirmed, value);
|
|
136
|
+
resolve({
|
|
137
|
+
confirmed: confirmed,
|
|
138
|
+
value: value
|
|
139
|
+
});
|
|
140
|
+
}, delegate || _this.context);
|
|
141
|
+
});
|
|
133
142
|
}
|
|
134
143
|
else if (action.actionType === 'drawer') {
|
|
135
|
-
store.setCurrentAction(action);
|
|
136
|
-
|
|
144
|
+
store.setCurrentAction(action, this.props.resolveDefinitions);
|
|
145
|
+
return new Promise(function (resolve) {
|
|
146
|
+
store.openDrawer(ctx, undefined, function (confirmed, value) {
|
|
147
|
+
var _a;
|
|
148
|
+
(_a = action.callback) === null || _a === void 0 ? void 0 : _a.call(action, confirmed, value);
|
|
149
|
+
resolve({
|
|
150
|
+
confirmed: confirmed,
|
|
151
|
+
value: value
|
|
152
|
+
});
|
|
153
|
+
}, delegate);
|
|
154
|
+
});
|
|
137
155
|
}
|
|
138
156
|
else if (action.actionType === 'toast') {
|
|
139
157
|
(_b = (_a = action.toast) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.forEach(function (item) {
|
|
@@ -145,7 +163,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
145
163
|
});
|
|
146
164
|
}
|
|
147
165
|
else if (action.actionType === 'ajax') {
|
|
148
|
-
store.setCurrentAction(action);
|
|
166
|
+
store.setCurrentAction(action, this.props.resolveDefinitions);
|
|
149
167
|
store
|
|
150
168
|
.saveRemote(action.api, ctx, {
|
|
151
169
|
successMessage: (action.messages && action.messages.success) ||
|
|
@@ -217,7 +235,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
217
235
|
var dialogAction = store.action;
|
|
218
236
|
var reload = (_a = action.reload) !== null && _a !== void 0 ? _a : dialogAction.reload;
|
|
219
237
|
var scoped = store.getDialogScoped() || this.context;
|
|
220
|
-
store.closeDialog(true);
|
|
238
|
+
store.closeDialog(true, values);
|
|
221
239
|
if (reload) {
|
|
222
240
|
scoped.reload(reload, store.data);
|
|
223
241
|
}
|
|
@@ -246,7 +264,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
246
264
|
var drawerAction = store.action;
|
|
247
265
|
var reload = (_a = action.reload) !== null && _a !== void 0 ? _a : drawerAction.reload;
|
|
248
266
|
var scoped = store.getDrawerScoped() || this.context;
|
|
249
|
-
store.closeDrawer();
|
|
267
|
+
store.closeDrawer(true, values);
|
|
250
268
|
// 稍等会,等动画结束。
|
|
251
269
|
setTimeout(function () {
|
|
252
270
|
if (reload) {
|
|
@@ -256,7 +274,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
256
274
|
};
|
|
257
275
|
RootRenderer.prototype.handleDrawerClose = function () {
|
|
258
276
|
var store = this.store;
|
|
259
|
-
store.closeDrawer();
|
|
277
|
+
store.closeDrawer(false);
|
|
260
278
|
};
|
|
261
279
|
RootRenderer.prototype.openFeedback = function (dialog, ctx) {
|
|
262
280
|
var _this = this;
|
|
@@ -266,7 +284,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
266
284
|
type: 'button',
|
|
267
285
|
actionType: 'dialog',
|
|
268
286
|
dialog: dialog
|
|
269
|
-
});
|
|
287
|
+
}, _this.props.resolveDefinitions);
|
|
270
288
|
store.openDialog(ctx, undefined, function (confirmed) {
|
|
271
289
|
resolve(confirmed);
|
|
272
290
|
}, _this.context);
|
package/esm/SchemaRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.4.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -7,13 +7,14 @@ import { __extends, __assign, __awaiter, __generator, __rest, __values, __decora
|
|
|
7
7
|
import difference from 'lodash/difference';
|
|
8
8
|
import omit from 'lodash/omit';
|
|
9
9
|
import React from 'react';
|
|
10
|
+
import { isValidElementType } from 'react-is';
|
|
10
11
|
import LazyComponent from './components/LazyComponent.js';
|
|
11
12
|
import { resolveRenderer, loadRenderer, filterSchema } from './factory.js';
|
|
12
13
|
import { asFormItem } from './renderers/Item.js';
|
|
13
14
|
import { ScopedContext } from './Scoped.js';
|
|
14
15
|
import { DebugWrapper } from './utils/debug.js';
|
|
15
16
|
import { getExprProperties } from './utils/filter-schema.js';
|
|
16
|
-
import { anyChanged, chainEvents, autobind } from './utils/helper.js';
|
|
17
|
+
import { anyChanged, chainEvents, TestIdBuilder, autobind } from './utils/helper.js';
|
|
17
18
|
import { SimpleMap } from './utils/SimpleMap.js';
|
|
18
19
|
import { bindEvent, dispatchEvent } from './utils/renderer-event.js';
|
|
19
20
|
import { isAlive } from 'mobx-state-tree';
|
|
@@ -24,6 +25,7 @@ import 'lodash/isPlainObject';
|
|
|
24
25
|
import { resolveVariableAndFilter } from './utils/resolveVariableAndFilter.js';
|
|
25
26
|
import './utils/filter.js';
|
|
26
27
|
import { buildStyle } from './utils/style.js';
|
|
28
|
+
import { isExpression } from './utils/formula.js';
|
|
27
29
|
import { filter, evalExpression } from './utils/tpl.js';
|
|
28
30
|
|
|
29
31
|
var RENDERER_TRANSMISSION_OMIT_PROPS = [
|
|
@@ -36,6 +38,7 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
|
|
|
36
38
|
'children',
|
|
37
39
|
'ref',
|
|
38
40
|
'visible',
|
|
41
|
+
'loading',
|
|
39
42
|
'visibleOn',
|
|
40
43
|
'hidden',
|
|
41
44
|
'hiddenOn',
|
|
@@ -58,7 +61,8 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
|
|
|
58
61
|
'renderLabel',
|
|
59
62
|
'trackExpression',
|
|
60
63
|
'editorSetting',
|
|
61
|
-
'updatePristineAfterStoreDataReInit'
|
|
64
|
+
'updatePristineAfterStoreDataReInit',
|
|
65
|
+
'source'
|
|
62
66
|
];
|
|
63
67
|
var componentCache = new SimpleMap();
|
|
64
68
|
var SchemaRenderer = /** @class */ (function (_super) {
|
|
@@ -247,7 +251,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
247
251
|
? schema.children
|
|
248
252
|
: schema.children(__assign(__assign(__assign({}, rest), exprProps), { $path: $path, $schema: schema, render: this.renderChild, forwardedRef: this.refFn, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
|
|
249
253
|
}
|
|
250
|
-
else if (
|
|
254
|
+
else if (schema.component && isValidElementType(schema.component)) {
|
|
251
255
|
var isSFC = !(schema.component.prototype instanceof React.Component);
|
|
252
256
|
var defaultData_1 = schema.data, defaultValue_1 = schema.value, // render时的value改放defaultValue中
|
|
253
257
|
defaultActiveKey_1 = schema.activeKey, propKey_1 = schema.key, restSchema_1 = __rest(schema, ["data", "value", "activeKey", "key"]);
|
|
@@ -314,15 +318,21 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
314
318
|
if (isStatic !== undefined) {
|
|
315
319
|
props.static = isStatic;
|
|
316
320
|
}
|
|
317
|
-
|
|
318
|
-
|
|
321
|
+
// 优先使用组件自己的testid或者id,这个解决不了table行内的一些子元素
|
|
322
|
+
// 每一行都会出现这个testid的元素,只在测试工具中直接使用nth拿序号
|
|
323
|
+
if (rest.env.enableTestid) {
|
|
324
|
+
if (props.testid || props.id || props.testIdBuilder == null) {
|
|
325
|
+
if (!(props.testIdBuilder instanceof TestIdBuilder)) {
|
|
326
|
+
props.testIdBuilder = new TestIdBuilder(props.testid || props.id);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
319
329
|
}
|
|
320
330
|
// 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
|
|
321
331
|
if (renderer.autoVar) {
|
|
322
332
|
try {
|
|
323
333
|
for (var _k = __values(Object.keys(schema)), _l = _k.next(); !_l.done; _l = _k.next()) {
|
|
324
334
|
var key = _l.value;
|
|
325
|
-
if (typeof props[key] === 'string') {
|
|
335
|
+
if (typeof props[key] === 'string' && isExpression(props[key])) {
|
|
326
336
|
props[key] = resolveVariableAndFilter(props[key], props.data, '| raw');
|
|
327
337
|
}
|
|
328
338
|
}
|
package/esm/Scoped.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export declare function filterTarget(target: string, data: Record<string, any>):
|
|
|
22
22
|
export declare function splitTarget(target: string): Array<string>;
|
|
23
23
|
export interface ScopedComponentType extends React.Component<RendererProps> {
|
|
24
24
|
focus?: () => void;
|
|
25
|
-
doAction?: (action: ActionObject, data: RendererData, throwErrors?: boolean) => void;
|
|
25
|
+
doAction?: (action: ActionObject, data: RendererData, throwErrors?: boolean, args?: any) => void;
|
|
26
26
|
receive?: (values: RendererData, subPath?: string, replace?: boolean) => void;
|
|
27
27
|
reload?: (subPath?: string, query?: RendererData | null, ctx?: RendererData) => void;
|
|
28
28
|
context: any;
|
|
@@ -37,6 +37,7 @@ export interface IScopedContext {
|
|
|
37
37
|
unRegisterComponent: (component: ScopedComponentType) => void;
|
|
38
38
|
getComponentByName: (name: string) => ScopedComponentType;
|
|
39
39
|
getComponentById: (id: string) => ScopedComponentType | undefined;
|
|
40
|
+
getComponentByIdUnderCurrentScope: (id: string, ignoreScope?: IScopedContext) => ScopedComponentType | undefined;
|
|
40
41
|
getComponents: () => Array<ScopedComponentType>;
|
|
41
42
|
reload: (target: string, ctx: RendererData) => void;
|
|
42
43
|
send: (target: string, ctx: RendererData) => void;
|
package/esm/Scoped.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.4.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -62,8 +62,10 @@ import './actions/CopyAction.js';
|
|
|
62
62
|
import './actions/DialogAction.js';
|
|
63
63
|
import './actions/DrawerAction.js';
|
|
64
64
|
import './actions/EmailAction.js';
|
|
65
|
+
import './actions/EventAction.js';
|
|
65
66
|
import './actions/LinkAction.js';
|
|
66
67
|
import './actions/ToastAction.js';
|
|
68
|
+
import './actions/WaitAction.js';
|
|
67
69
|
import './actions/PageAction.js';
|
|
68
70
|
import './actions/PrintAction.js';
|
|
69
71
|
import { runActions } from './actions/Action.js';
|
|
@@ -170,24 +172,38 @@ function createScopedTools(path, parent, env, rendererType) {
|
|
|
170
172
|
});
|
|
171
173
|
return resolved || (parent && parent.getComponentByName(name));
|
|
172
174
|
},
|
|
175
|
+
getComponentByIdUnderCurrentScope: function (id, ignoreScope) {
|
|
176
|
+
var component = undefined;
|
|
177
|
+
findTree([this], function (item) {
|
|
178
|
+
return item !== ignoreScope &&
|
|
179
|
+
item.getComponents().find(function (cmpt) {
|
|
180
|
+
if (filter(cmpt.props.id, cmpt.props.data) === id) {
|
|
181
|
+
component = cmpt;
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
return false;
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
return component;
|
|
188
|
+
},
|
|
173
189
|
getComponentById: function (id) {
|
|
174
190
|
var root = this;
|
|
191
|
+
var ignoreScope = undefined;
|
|
175
192
|
// 找到顶端scoped
|
|
176
|
-
while (root
|
|
193
|
+
while (root) {
|
|
194
|
+
// 优先从当前scope查找
|
|
195
|
+
// 直接跑到顶层查找,对于有历史标签一次渲染多个页面的情况,会有问题
|
|
196
|
+
var component = root.getComponentByIdUnderCurrentScope(id, ignoreScope);
|
|
197
|
+
if (component) {
|
|
198
|
+
return component;
|
|
199
|
+
}
|
|
200
|
+
if (!root.parent || root.parent === rootScopedContext) {
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
ignoreScope = root;
|
|
177
204
|
root = root.parent;
|
|
178
205
|
}
|
|
179
|
-
|
|
180
|
-
var component = undefined;
|
|
181
|
-
findTree([root], function (item) {
|
|
182
|
-
return item.getComponents().find(function (cmpt) {
|
|
183
|
-
if (filter(cmpt.props.id, cmpt.props.data) === id) {
|
|
184
|
-
component = cmpt;
|
|
185
|
-
return true;
|
|
186
|
-
}
|
|
187
|
-
return false;
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
return component;
|
|
206
|
+
return undefined;
|
|
191
207
|
},
|
|
192
208
|
/**
|
|
193
209
|
* 基于绑定的变量名称查找组件
|
package/esm/StatusScoped.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.4.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -38,7 +38,9 @@ function StatusScoped(ComposedComponent) {
|
|
|
38
38
|
var injectedProps = {
|
|
39
39
|
statusStore: this.store
|
|
40
40
|
};
|
|
41
|
-
var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent)
|
|
41
|
+
var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent) ||
|
|
42
|
+
ComposedComponent.$$typeof ===
|
|
43
|
+
Symbol.for('react.forward_ref')
|
|
42
44
|
? { ref: this.childRef }
|
|
43
45
|
: { forwardedRef: this.childRef };
|
|
44
46
|
return (React.createElement(ComposedComponent, __assign({}, this.props, injectedProps, refConfig)));
|
package/esm/WithRootStore.js
CHANGED
package/esm/WithStore.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.4.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -19,6 +19,17 @@ import { dataMapping } from './utils/dataMapping.js';
|
|
|
19
19
|
import './utils/filter.js';
|
|
20
20
|
import { RootStoreContext } from './WithRootStore.js';
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* 忽略静态数据中的 schema 属性
|
|
24
|
+
*
|
|
25
|
+
* 比如 https://github.com/baidu/amis/issues/8972 中的用法
|
|
26
|
+
*/
|
|
27
|
+
function ignoreSchemaProps(key, value) {
|
|
28
|
+
if (['clickAction'].includes(key) && typeof value !== 'string') {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
22
33
|
function HocStoreFactory(renderer) {
|
|
23
34
|
return function (Component) {
|
|
24
35
|
var StoreFactory = /** @class */ (function (_super) {
|
|
@@ -42,19 +53,19 @@ function HocStoreFactory(renderer) {
|
|
|
42
53
|
if (extendsData === false) {
|
|
43
54
|
store.initData(createObject(_this.props.data
|
|
44
55
|
? _this.props.data.__super
|
|
45
|
-
: null, __assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data))));
|
|
56
|
+
: null, __assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data))));
|
|
46
57
|
}
|
|
47
58
|
else if (_this.props.scope ||
|
|
48
59
|
(_this.props.data && _this.props.data.__super)) {
|
|
49
|
-
if (_this.props.store && _this.props.data === _this.props.
|
|
50
|
-
store.initData(createObject(_this.props.store.data, __assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data)))));
|
|
60
|
+
if (_this.props.store && _this.props.data === _this.props.scope) {
|
|
61
|
+
store.initData(createObject(_this.props.store.data, __assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps)))));
|
|
51
62
|
}
|
|
52
63
|
else {
|
|
53
|
-
store.initData(createObject(_this.props.data.__super || _this.props.scope, __assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data))));
|
|
64
|
+
store.initData(createObject(_this.props.data.__super || _this.props.scope, __assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data))));
|
|
54
65
|
}
|
|
55
66
|
}
|
|
56
67
|
else {
|
|
57
|
-
store.initData(__assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data)));
|
|
68
|
+
store.initData(__assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data)));
|
|
58
69
|
}
|
|
59
70
|
_this.state = {};
|
|
60
71
|
var detectField = props.detectField, rest = __rest(props, ["detectField"]);
|
|
@@ -84,7 +95,7 @@ function HocStoreFactory(renderer) {
|
|
|
84
95
|
};
|
|
85
96
|
StoreFactory.prototype.componentDidUpdate = function (prevProps) {
|
|
86
97
|
var _this = this;
|
|
87
|
-
var _a, _b, _c, _d;
|
|
98
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
88
99
|
var props = this.props;
|
|
89
100
|
var store = this.store;
|
|
90
101
|
// dialog 场景下 schema 是显示的时候更新的,
|
|
@@ -118,7 +129,7 @@ function HocStoreFactory(renderer) {
|
|
|
118
129
|
(props.data &&
|
|
119
130
|
prevProps.data &&
|
|
120
131
|
props.data.__super !== prevProps.data.__super))) {
|
|
121
|
-
store.initData(extendObject(props.data, __assign(__assign(__assign({}, (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), props.updatePristineAfterStoreDataReInit === false);
|
|
132
|
+
store.initData(extendObject(props.data, __assign(__assign(__assign({}, (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);
|
|
122
133
|
}
|
|
123
134
|
}
|
|
124
135
|
else if (shouldSync === true ||
|
|
@@ -128,9 +139,9 @@ function HocStoreFactory(renderer) {
|
|
|
128
139
|
: isObjectShallowModified(prevProps.data, props.data) ||
|
|
129
140
|
(props.syncSuperStore !== false &&
|
|
130
141
|
isSuperDataModified(props.data, prevProps.data, store)))) {
|
|
131
|
-
if (props.store && props.
|
|
142
|
+
if (props.store && props.scope === props.data) {
|
|
132
143
|
store.initData(createObject(props.store.data, props.syncSuperStore === false
|
|
133
|
-
? __assign({}, store.data) : syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)), props.updatePristineAfterStoreDataReInit === false);
|
|
144
|
+
? __assign({}, store.data) : syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)), ((_d = props.updatePristineAfterStoreDataReInit) !== null && _d !== void 0 ? _d : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
|
|
134
145
|
}
|
|
135
146
|
else if (props.data && props.data.__super) {
|
|
136
147
|
store.initData(extendObject(props.data,
|
|
@@ -139,24 +150,24 @@ function HocStoreFactory(renderer) {
|
|
|
139
150
|
store.hasRemoteData || !store.path.includes('/')
|
|
140
151
|
? __assign(__assign({}, store.data), props.data) : // combo 不需要同步,如果要同步,在 Combo.tsx 里面已经实现了相关逻辑
|
|
141
152
|
// 目前主要的问题是,如果 combo 中表单项名字和 combo 本身的名字一样,会导致里面的值会被覆盖成数组
|
|
142
|
-
((
|
|
153
|
+
((_e = props.store) === null || _e === void 0 ? void 0 : _e.storeType) === 'ComboStore'
|
|
143
154
|
? undefined
|
|
144
|
-
: syncDataFromSuper(__assign(__assign({}, store.data), props.data), props.data.__super, prevProps.data.__super, store, false)), props.updatePristineAfterStoreDataReInit === false);
|
|
155
|
+
: syncDataFromSuper(__assign(__assign({}, store.data), props.data), props.data.__super, prevProps.data.__super, store, false)), ((_f = props.updatePristineAfterStoreDataReInit) !== null && _f !== void 0 ? _f : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
|
|
145
156
|
}
|
|
146
157
|
else {
|
|
147
|
-
store.initData(createObject(props.scope, props.data), props.updatePristineAfterStoreDataReInit === false);
|
|
158
|
+
store.initData(createObject(props.scope, props.data), ((_g = props.updatePristineAfterStoreDataReInit) !== null && _g !== void 0 ? _g : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
|
|
148
159
|
}
|
|
149
160
|
}
|
|
150
161
|
else if (!props.trackExpression &&
|
|
151
|
-
(!props.store || props.data !== props.
|
|
162
|
+
(!props.store || props.data !== props.scope) &&
|
|
152
163
|
props.data &&
|
|
153
164
|
props.data.__super) {
|
|
154
165
|
// 这个用法很少,当 data.__super 值发生变化时,更新 store.data
|
|
155
166
|
if (!prevProps.data ||
|
|
156
167
|
isObjectShallowModified(props.data.__super, prevProps.data.__super, false)) {
|
|
157
|
-
store.initData(createObject(props.data.__super, __assign(__assign({}, props.data), store.data)), props.updatePristineAfterStoreDataReInit === false ||
|
|
168
|
+
store.initData(createObject(props.data.__super, __assign(__assign({}, props.data), store.data)), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
|
|
158
169
|
(store.storeType === 'FormStore' &&
|
|
159
|
-
((
|
|
170
|
+
((_j = prevProps.store) === null || _j === void 0 ? void 0 : _j.storeType) === 'CRUDStore'));
|
|
160
171
|
}
|
|
161
172
|
// nextProps.data.__super !== props.data.__super) &&
|
|
162
173
|
}
|
|
@@ -166,7 +177,7 @@ function HocStoreFactory(renderer) {
|
|
|
166
177
|
prevProps.data !== props.data) {
|
|
167
178
|
// 只有父级数据变动的时候才应该进来,
|
|
168
179
|
// 目前看来这个 case 很少有情况下能进来
|
|
169
|
-
store.initData(createObject(props.scope, __assign({}, store.data)), props.updatePristineAfterStoreDataReInit === false);
|
|
180
|
+
store.initData(createObject(props.scope, __assign({}, store.data)), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
|
|
170
181
|
}
|
|
171
182
|
};
|
|
172
183
|
StoreFactory.prototype.componentWillUnmount = function () {
|
package/esm/actions/Action.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.4.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -255,7 +255,9 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
|
|
|
255
255
|
'table': ['condition'],
|
|
256
256
|
'table2': ['condition'],
|
|
257
257
|
'crud': ['condition'],
|
|
258
|
-
'combo': ['condition']
|
|
258
|
+
'combo': ['condition'],
|
|
259
|
+
'list': ['condition'],
|
|
260
|
+
'cards': ['condition']
|
|
259
261
|
};
|
|
260
262
|
var curCmptType = (_a = targetComponent === null || targetComponent === void 0 ? void 0 : targetComponent.props) === null || _a === void 0 ? void 0 : _a.type;
|
|
261
263
|
var curActionType = action.actionType;
|
|
@@ -273,7 +275,7 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
|
|
|
273
275
|
(_u = console.group) === null || _u === void 0 ? void 0 : _u.call(console, "run action ".concat(action.actionType));
|
|
274
276
|
console.debug("[".concat(action.actionType, "] action args, data"), args, data);
|
|
275
277
|
stopped = false;
|
|
276
|
-
return [4 /*yield*/, actionInstrance.run(__assign(__assign(__assign({}, action), { args: args, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
|
|
278
|
+
return [4 /*yield*/, actionInstrance.run(__assign(__assign(__assign({}, action), { args: args, rawData: actionConfig.data, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
|
|
277
279
|
case 5:
|
|
278
280
|
actionResult = _w.sent();
|
|
279
281
|
// 二次确认弹窗如果取消,则终止后续动作
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.4.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -7,6 +7,7 @@ import { __awaiter, __generator, __assign } from 'tslib';
|
|
|
7
7
|
import { normalizeApiResponseData, normalizeApi } from '../utils/api.js';
|
|
8
8
|
import { ServerError } from '../utils/errors.js';
|
|
9
9
|
import { isEmpty } from '../utils/helper.js';
|
|
10
|
+
import { evalExpressionWithConditionBuilder } from '../utils/tpl.js';
|
|
10
11
|
import { registerAction } from './Action.js';
|
|
11
12
|
import { createObject } from '../utils/object.js';
|
|
12
13
|
|
|
@@ -23,12 +24,12 @@ var AjaxAction = /** @class */ (function () {
|
|
|
23
24
|
this.fetcherType = fetcherType;
|
|
24
25
|
}
|
|
25
26
|
AjaxAction.prototype.run = function (action, renderer, event) {
|
|
26
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
27
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
27
28
|
return __awaiter(this, void 0, void 0, function () {
|
|
28
|
-
var env, silent, messages, api, result, responseData, msg, e_1, result;
|
|
29
|
-
var
|
|
30
|
-
return __generator(this, function (
|
|
31
|
-
switch (
|
|
29
|
+
var env, silent, messages, api, sendOn, result, responseData, msg, e_1, result;
|
|
30
|
+
var _p;
|
|
31
|
+
return __generator(this, function (_q) {
|
|
32
|
+
switch (_q.label) {
|
|
32
33
|
case 0:
|
|
33
34
|
if (!((_a = event.context.env) === null || _a === void 0 ? void 0 : _a.fetcher)) {
|
|
34
35
|
throw new Error('env.fetcher is required!');
|
|
@@ -45,27 +46,36 @@ var AjaxAction = /** @class */ (function () {
|
|
|
45
46
|
silent = ((_b = action === null || action === void 0 ? void 0 : action.options) === null || _b === void 0 ? void 0 : _b.silent) || (action === null || action === void 0 ? void 0 : action.api).silent;
|
|
46
47
|
messages = (_c = action === null || action === void 0 ? void 0 : action.api) === null || _c === void 0 ? void 0 : _c.messages;
|
|
47
48
|
api = normalizeApi(action.api);
|
|
49
|
+
if (!(api.sendOn !== undefined)) return [3 /*break*/, 2];
|
|
50
|
+
return [4 /*yield*/, evalExpressionWithConditionBuilder(api.sendOn, (_d = action.data) !== null && _d !== void 0 ? _d : {}, false)];
|
|
51
|
+
case 1:
|
|
52
|
+
sendOn = _q.sent();
|
|
53
|
+
if (!sendOn) {
|
|
54
|
+
return [2 /*return*/];
|
|
55
|
+
}
|
|
56
|
+
_q.label = 2;
|
|
57
|
+
case 2:
|
|
48
58
|
// 如果没配置data数据映射,则给一个空对象,避免将当前数据域作为接口请求参数
|
|
49
59
|
if ((api === null || api === void 0 ? void 0 : api.data) == undefined) {
|
|
50
60
|
api = __assign(__assign({}, api), { data: {} });
|
|
51
61
|
}
|
|
52
|
-
|
|
53
|
-
case
|
|
54
|
-
|
|
55
|
-
return [4 /*yield*/, env.fetcher(api, (
|
|
56
|
-
case
|
|
57
|
-
result =
|
|
62
|
+
_q.label = 3;
|
|
63
|
+
case 3:
|
|
64
|
+
_q.trys.push([3, 5, , 6]);
|
|
65
|
+
return [4 /*yield*/, env.fetcher(api, (_e = action.data) !== null && _e !== void 0 ? _e : {}, (_f = action === null || action === void 0 ? void 0 : action.options) !== null && _f !== void 0 ? _f : {})];
|
|
66
|
+
case 4:
|
|
67
|
+
result = _q.sent();
|
|
58
68
|
responseData = !isEmpty(result.data) || result.ok
|
|
59
69
|
? normalizeApiResponseData(result.data)
|
|
60
70
|
: null;
|
|
61
71
|
// 记录请求返回的数据
|
|
62
|
-
event.setData(createObject(event.data, __assign(__assign({}, responseData), (
|
|
72
|
+
event.setData(createObject(event.data, __assign(__assign({}, responseData), (_p = { responseData: responseData }, _p[action.outputVar || 'responseResult'] = __assign(__assign({}, responseData), { responseData: responseData, responseStatus: result.status, responseMsg: result.msg }), _p))));
|
|
63
73
|
if (!silent) {
|
|
64
74
|
if (!result.ok) {
|
|
65
|
-
throw new ServerError((
|
|
75
|
+
throw new ServerError((_j = (_g = messages === null || messages === void 0 ? void 0 : messages.failed) !== null && _g !== void 0 ? _g : (_h = action.messages) === null || _h === void 0 ? void 0 : _h.failed) !== null && _j !== void 0 ? _j : result.msg, result);
|
|
66
76
|
}
|
|
67
77
|
else {
|
|
68
|
-
msg = (
|
|
78
|
+
msg = (_o = (_m = (_k = messages === null || messages === void 0 ? void 0 : messages.success) !== null && _k !== void 0 ? _k : (_l = action.messages) === null || _l === void 0 ? void 0 : _l.success) !== null && _m !== void 0 ? _m : result.msg) !== null && _o !== void 0 ? _o : result.defaultMsg;
|
|
69
79
|
msg &&
|
|
70
80
|
env.notify('success', msg, result.msgTimeout !== undefined
|
|
71
81
|
? {
|
|
@@ -76,8 +86,8 @@ var AjaxAction = /** @class */ (function () {
|
|
|
76
86
|
}
|
|
77
87
|
}
|
|
78
88
|
return [2 /*return*/, result.data];
|
|
79
|
-
case
|
|
80
|
-
e_1 =
|
|
89
|
+
case 5:
|
|
90
|
+
e_1 = _q.sent();
|
|
81
91
|
if (!silent) {
|
|
82
92
|
if (e_1.type === 'ServerError') {
|
|
83
93
|
result = e_1.response;
|
|
@@ -92,8 +102,8 @@ var AjaxAction = /** @class */ (function () {
|
|
|
92
102
|
env.notify('error', e_1.message);
|
|
93
103
|
}
|
|
94
104
|
}
|
|
95
|
-
return [3 /*break*/,
|
|
96
|
-
case
|
|
105
|
+
return [3 /*break*/, 6];
|
|
106
|
+
case 6: return [2 /*return*/];
|
|
97
107
|
}
|
|
98
108
|
});
|
|
99
109
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.4.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -46,7 +46,7 @@ var CmptAction = /** @class */ (function () {
|
|
|
46
46
|
: renderer;
|
|
47
47
|
// 如果key指定了,但是没找到组件,则报错
|
|
48
48
|
if (key && !component) {
|
|
49
|
-
msg =
|
|
49
|
+
msg = "\u5C1D\u8BD5\u6267\u884C\u4E00\u4E2A\u4E0D\u5B58\u5728\u7684\u76EE\u6807\u7EC4\u4EF6\u52A8\u4F5C\uFF08".concat(key, "\uFF09\uFF0C\u8BF7\u68C0\u67E5\u76EE\u6807\u7EC4\u4EF6\u975E\u9690\u85CF\u72B6\u6001\uFF0C\u4E14\u6B63\u786E\u6307\u5B9A\u4E86componentId\u6216componentName");
|
|
50
50
|
if (action.ignoreError === false) {
|
|
51
51
|
throw Error(msg);
|
|
52
52
|
}
|
|
@@ -107,7 +107,7 @@ var CmptAction = /** @class */ (function () {
|
|
|
107
107
|
case 6: return [2 /*return*/];
|
|
108
108
|
case 7:
|
|
109
109
|
_11.trys.push([7, 9, , 10]);
|
|
110
|
-
return [4 /*yield*/, ((_z = component === null || component === void 0 ? void 0 : component.doAction) === null || _z === void 0 ? void 0 : _z.call(component, action,
|
|
110
|
+
return [4 /*yield*/, ((_z = component === null || component === void 0 ? void 0 : component.doAction) === null || _z === void 0 ? void 0 : _z.call(component, action, event.data, true, action.args))];
|
|
111
111
|
case 8:
|
|
112
112
|
result = _11.sent();
|
|
113
113
|
if (['validate', 'submit'].includes(action.actionType)) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.4.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -16,9 +16,9 @@ import '../utils/DataScope.js';
|
|
|
16
16
|
import 'moment';
|
|
17
17
|
import '../utils/debug.js';
|
|
18
18
|
import 'react-dom';
|
|
19
|
+
import '../utils/helper.js';
|
|
19
20
|
import '../utils/errors.js';
|
|
20
21
|
import '../utils/tpl.js';
|
|
21
|
-
import '../utils/helper.js';
|
|
22
22
|
import '../utils/filter.js';
|
|
23
23
|
import 'lodash/isObject';
|
|
24
24
|
import 'lodash/isString';
|
|
@@ -23,6 +23,14 @@ export interface IDialogAction extends ListenerAction {
|
|
|
23
23
|
dialog: SchemaNode;
|
|
24
24
|
};
|
|
25
25
|
dialog?: SchemaNode;
|
|
26
|
+
/**
|
|
27
|
+
* 是否等待确认结果
|
|
28
|
+
*/
|
|
29
|
+
waitForAction?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* 如果等待结果,将弹窗结果保存到此处变量
|
|
32
|
+
*/
|
|
33
|
+
outputVar?: string;
|
|
26
34
|
}
|
|
27
35
|
export interface IConfirmDialogAction extends ListenerAction {
|
|
28
36
|
actionType: 'confirmDialog';
|