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/utils/tpl-builtin.js
CHANGED
package/esm/utils/tpl-lodash.js
CHANGED
package/esm/utils/tpl.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
|
|
|
@@ -80,10 +80,10 @@ function evalExpression(expression, data) {
|
|
|
80
80
|
return !!evalFormula(expression, data);
|
|
81
81
|
}
|
|
82
82
|
// 后续改用 FormulaExec['js']
|
|
83
|
-
var
|
|
83
|
+
var debug_1 = false;
|
|
84
84
|
var idx = expression.indexOf('debugger');
|
|
85
85
|
if (~idx) {
|
|
86
|
-
|
|
86
|
+
debug_1 = true;
|
|
87
87
|
expression = expression.replace(/debugger;?/, '');
|
|
88
88
|
}
|
|
89
89
|
var fn = void 0;
|
|
@@ -91,7 +91,7 @@ function evalExpression(expression, data) {
|
|
|
91
91
|
fn = EVAL_CACHE[expression];
|
|
92
92
|
}
|
|
93
93
|
else {
|
|
94
|
-
fn = new Function('data', 'utils', "with(data) {".concat(
|
|
94
|
+
fn = new Function('data', 'utils', "with(data) {".concat(debug_1 ? 'debugger;' : '', "return !!(").concat(expression, ");}"));
|
|
95
95
|
EVAL_CACHE[expression] = fn;
|
|
96
96
|
}
|
|
97
97
|
data = data || {};
|
package/esm/utils/validateId.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.4.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { __read } from 'tslib';
|
|
7
|
+
import moment from 'moment';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* 身份证号码校验,(没有校验城市和区县)
|
|
@@ -131,7 +132,9 @@ function verifyRegion(province, city, country) {
|
|
|
131
132
|
return true;
|
|
132
133
|
}
|
|
133
134
|
function verifyBirthday(birthday) {
|
|
134
|
-
|
|
135
|
+
var min = moment(new Date('1850-01-01')); // 还有1850年前的人活着吗?
|
|
136
|
+
var max = moment().endOf('day'); // 最大值是今天
|
|
137
|
+
return !isNaN(+birthday) && moment(birthday).isBetween(min, max);
|
|
135
138
|
}
|
|
136
139
|
/**
|
|
137
140
|
* 校验码计算方式
|
package/esm/utils/validations.js
CHANGED
package/lib/Root.js
CHANGED
package/lib/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;
|
|
@@ -30,5 +30,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
|
|
|
30
30
|
renderError(): React.ReactNode;
|
|
31
31
|
renderDialog(): React.ReactNode;
|
|
32
32
|
renderDrawer(): React.ReactNode;
|
|
33
|
-
render(): string | number | boolean | React.
|
|
33
|
+
render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
34
34
|
}
|
package/lib/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
|
|
|
@@ -142,12 +142,30 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
142
142
|
window.open(mailto);
|
|
143
143
|
}
|
|
144
144
|
else if (action.actionType === 'dialog') {
|
|
145
|
-
store.setCurrentAction(action);
|
|
146
|
-
|
|
145
|
+
store.setCurrentAction(action, this.props.resolveDefinitions);
|
|
146
|
+
return new Promise(function (resolve) {
|
|
147
|
+
store.openDialog(ctx, undefined, function (confirmed, value) {
|
|
148
|
+
var _a;
|
|
149
|
+
(_a = action.callback) === null || _a === void 0 ? void 0 : _a.call(action, confirmed, value);
|
|
150
|
+
resolve({
|
|
151
|
+
confirmed: confirmed,
|
|
152
|
+
value: value
|
|
153
|
+
});
|
|
154
|
+
}, delegate || _this.context);
|
|
155
|
+
});
|
|
147
156
|
}
|
|
148
157
|
else if (action.actionType === 'drawer') {
|
|
149
|
-
store.setCurrentAction(action);
|
|
150
|
-
|
|
158
|
+
store.setCurrentAction(action, this.props.resolveDefinitions);
|
|
159
|
+
return new Promise(function (resolve) {
|
|
160
|
+
store.openDrawer(ctx, undefined, function (confirmed, value) {
|
|
161
|
+
var _a;
|
|
162
|
+
(_a = action.callback) === null || _a === void 0 ? void 0 : _a.call(action, confirmed, value);
|
|
163
|
+
resolve({
|
|
164
|
+
confirmed: confirmed,
|
|
165
|
+
value: value
|
|
166
|
+
});
|
|
167
|
+
}, delegate);
|
|
168
|
+
});
|
|
151
169
|
}
|
|
152
170
|
else if (action.actionType === 'toast') {
|
|
153
171
|
(_b = (_a = action.toast) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.forEach(function (item) {
|
|
@@ -159,7 +177,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
159
177
|
});
|
|
160
178
|
}
|
|
161
179
|
else if (action.actionType === 'ajax') {
|
|
162
|
-
store.setCurrentAction(action);
|
|
180
|
+
store.setCurrentAction(action, this.props.resolveDefinitions);
|
|
163
181
|
store
|
|
164
182
|
.saveRemote(action.api, ctx, {
|
|
165
183
|
successMessage: (action.messages && action.messages.success) ||
|
|
@@ -231,7 +249,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
231
249
|
var dialogAction = store.action;
|
|
232
250
|
var reload = (_a = action.reload) !== null && _a !== void 0 ? _a : dialogAction.reload;
|
|
233
251
|
var scoped = store.getDialogScoped() || this.context;
|
|
234
|
-
store.closeDialog(true);
|
|
252
|
+
store.closeDialog(true, values);
|
|
235
253
|
if (reload) {
|
|
236
254
|
scoped.reload(reload, store.data);
|
|
237
255
|
}
|
|
@@ -260,7 +278,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
260
278
|
var drawerAction = store.action;
|
|
261
279
|
var reload = (_a = action.reload) !== null && _a !== void 0 ? _a : drawerAction.reload;
|
|
262
280
|
var scoped = store.getDrawerScoped() || this.context;
|
|
263
|
-
store.closeDrawer();
|
|
281
|
+
store.closeDrawer(true, values);
|
|
264
282
|
// 稍等会,等动画结束。
|
|
265
283
|
setTimeout(function () {
|
|
266
284
|
if (reload) {
|
|
@@ -270,7 +288,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
270
288
|
};
|
|
271
289
|
RootRenderer.prototype.handleDrawerClose = function () {
|
|
272
290
|
var store = this.store;
|
|
273
|
-
store.closeDrawer();
|
|
291
|
+
store.closeDrawer(false);
|
|
274
292
|
};
|
|
275
293
|
RootRenderer.prototype.openFeedback = function (dialog, ctx) {
|
|
276
294
|
var _this = this;
|
|
@@ -280,7 +298,7 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
280
298
|
type: 'button',
|
|
281
299
|
actionType: 'dialog',
|
|
282
300
|
dialog: dialog
|
|
283
|
-
});
|
|
301
|
+
}, _this.props.resolveDefinitions);
|
|
284
302
|
store.openDialog(ctx, undefined, function (confirmed) {
|
|
285
303
|
resolve(confirmed);
|
|
286
304
|
}, _this.context);
|
package/lib/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
|
|
|
@@ -11,6 +11,7 @@ var tslib = require('tslib');
|
|
|
11
11
|
var difference = require('lodash/difference');
|
|
12
12
|
var omit = require('lodash/omit');
|
|
13
13
|
var React = require('react');
|
|
14
|
+
var reactIs = require('react-is');
|
|
14
15
|
var LazyComponent = require('./components/LazyComponent.js');
|
|
15
16
|
var factory = require('./factory.js');
|
|
16
17
|
var Item = require('./renderers/Item.js');
|
|
@@ -28,6 +29,7 @@ require('lodash/isPlainObject');
|
|
|
28
29
|
var resolveVariableAndFilter = require('./utils/resolveVariableAndFilter.js');
|
|
29
30
|
require('./utils/filter.js');
|
|
30
31
|
var style = require('./utils/style.js');
|
|
32
|
+
var formula = require('./utils/formula.js');
|
|
31
33
|
var tpl = require('./utils/tpl.js');
|
|
32
34
|
|
|
33
35
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -49,6 +51,7 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
|
|
|
49
51
|
'children',
|
|
50
52
|
'ref',
|
|
51
53
|
'visible',
|
|
54
|
+
'loading',
|
|
52
55
|
'visibleOn',
|
|
53
56
|
'hidden',
|
|
54
57
|
'hiddenOn',
|
|
@@ -71,7 +74,8 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
|
|
|
71
74
|
'renderLabel',
|
|
72
75
|
'trackExpression',
|
|
73
76
|
'editorSetting',
|
|
74
|
-
'updatePristineAfterStoreDataReInit'
|
|
77
|
+
'updatePristineAfterStoreDataReInit',
|
|
78
|
+
'source'
|
|
75
79
|
];
|
|
76
80
|
var componentCache = new SimpleMap.SimpleMap();
|
|
77
81
|
var SchemaRenderer = /** @class */ (function (_super) {
|
|
@@ -260,7 +264,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
260
264
|
? schema.children
|
|
261
265
|
: schema.children(tslib.__assign(tslib.__assign(tslib.__assign({}, rest), exprProps), { $path: $path, $schema: schema, render: this.renderChild, forwardedRef: this.refFn, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
|
|
262
266
|
}
|
|
263
|
-
else if (
|
|
267
|
+
else if (schema.component && reactIs.isValidElementType(schema.component)) {
|
|
264
268
|
var isSFC = !(schema.component.prototype instanceof React__default["default"].Component);
|
|
265
269
|
var defaultData_1 = schema.data, defaultValue_1 = schema.value, // render时的value改放defaultValue中
|
|
266
270
|
defaultActiveKey_1 = schema.activeKey, propKey_1 = schema.key, restSchema_1 = tslib.__rest(schema, ["data", "value", "activeKey", "key"]);
|
|
@@ -327,15 +331,21 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
327
331
|
if (isStatic !== undefined) {
|
|
328
332
|
props.static = isStatic;
|
|
329
333
|
}
|
|
330
|
-
|
|
331
|
-
|
|
334
|
+
// 优先使用组件自己的testid或者id,这个解决不了table行内的一些子元素
|
|
335
|
+
// 每一行都会出现这个testid的元素,只在测试工具中直接使用nth拿序号
|
|
336
|
+
if (rest.env.enableTestid) {
|
|
337
|
+
if (props.testid || props.id || props.testIdBuilder == null) {
|
|
338
|
+
if (!(props.testIdBuilder instanceof helper.TestIdBuilder)) {
|
|
339
|
+
props.testIdBuilder = new helper.TestIdBuilder(props.testid || props.id);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
332
342
|
}
|
|
333
343
|
// 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
|
|
334
344
|
if (renderer.autoVar) {
|
|
335
345
|
try {
|
|
336
346
|
for (var _k = tslib.__values(Object.keys(schema)), _l = _k.next(); !_l.done; _l = _k.next()) {
|
|
337
347
|
var key = _l.value;
|
|
338
|
-
if (typeof props[key] === 'string') {
|
|
348
|
+
if (typeof props[key] === 'string' && formula.isExpression(props[key])) {
|
|
339
349
|
props[key] = resolveVariableAndFilter.resolveVariableAndFilter(props[key], props.data, '| raw');
|
|
340
350
|
}
|
|
341
351
|
}
|
package/lib/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/lib/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
|
|
|
@@ -69,8 +69,10 @@ require('./actions/CopyAction.js');
|
|
|
69
69
|
require('./actions/DialogAction.js');
|
|
70
70
|
require('./actions/DrawerAction.js');
|
|
71
71
|
require('./actions/EmailAction.js');
|
|
72
|
+
require('./actions/EventAction.js');
|
|
72
73
|
require('./actions/LinkAction.js');
|
|
73
74
|
require('./actions/ToastAction.js');
|
|
75
|
+
require('./actions/WaitAction.js');
|
|
74
76
|
require('./actions/PageAction.js');
|
|
75
77
|
require('./actions/PrintAction.js');
|
|
76
78
|
var Action = require('./actions/Action.js');
|
|
@@ -183,24 +185,38 @@ function createScopedTools(path, parent, env, rendererType) {
|
|
|
183
185
|
});
|
|
184
186
|
return resolved || (parent && parent.getComponentByName(name));
|
|
185
187
|
},
|
|
188
|
+
getComponentByIdUnderCurrentScope: function (id, ignoreScope) {
|
|
189
|
+
var component = undefined;
|
|
190
|
+
helper.findTree([this], function (item) {
|
|
191
|
+
return item !== ignoreScope &&
|
|
192
|
+
item.getComponents().find(function (cmpt) {
|
|
193
|
+
if (tpl.filter(cmpt.props.id, cmpt.props.data) === id) {
|
|
194
|
+
component = cmpt;
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
return false;
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
return component;
|
|
201
|
+
},
|
|
186
202
|
getComponentById: function (id) {
|
|
187
203
|
var root = this;
|
|
204
|
+
var ignoreScope = undefined;
|
|
188
205
|
// 找到顶端scoped
|
|
189
|
-
while (root
|
|
206
|
+
while (root) {
|
|
207
|
+
// 优先从当前scope查找
|
|
208
|
+
// 直接跑到顶层查找,对于有历史标签一次渲染多个页面的情况,会有问题
|
|
209
|
+
var component = root.getComponentByIdUnderCurrentScope(id, ignoreScope);
|
|
210
|
+
if (component) {
|
|
211
|
+
return component;
|
|
212
|
+
}
|
|
213
|
+
if (!root.parent || root.parent === rootScopedContext) {
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
ignoreScope = root;
|
|
190
217
|
root = root.parent;
|
|
191
218
|
}
|
|
192
|
-
|
|
193
|
-
var component = undefined;
|
|
194
|
-
helper.findTree([root], function (item) {
|
|
195
|
-
return item.getComponents().find(function (cmpt) {
|
|
196
|
-
if (tpl.filter(cmpt.props.id, cmpt.props.data) === id) {
|
|
197
|
-
component = cmpt;
|
|
198
|
-
return true;
|
|
199
|
-
}
|
|
200
|
-
return false;
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
return component;
|
|
219
|
+
return undefined;
|
|
204
220
|
},
|
|
205
221
|
/**
|
|
206
222
|
* 基于绑定的变量名称查找组件
|
package/lib/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
|
|
|
@@ -50,7 +50,9 @@ function StatusScoped(ComposedComponent) {
|
|
|
50
50
|
var injectedProps = {
|
|
51
51
|
statusStore: this.store
|
|
52
52
|
};
|
|
53
|
-
var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent)
|
|
53
|
+
var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent) ||
|
|
54
|
+
ComposedComponent.$$typeof ===
|
|
55
|
+
Symbol.for('react.forward_ref')
|
|
54
56
|
? { ref: this.childRef }
|
|
55
57
|
: { forwardedRef: this.childRef };
|
|
56
58
|
return (_J$X_(ComposedComponent, tslib.__assign({}, this.props, injectedProps, refConfig)));
|
package/lib/WithRootStore.js
CHANGED
package/lib/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
|
|
|
@@ -31,6 +31,17 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
31
31
|
var __react_jsx__ = require('react');
|
|
32
32
|
var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
|
|
33
33
|
(__react_jsx__["default"] || __react_jsx__).Fragment;
|
|
34
|
+
/**
|
|
35
|
+
* 忽略静态数据中的 schema 属性
|
|
36
|
+
*
|
|
37
|
+
* 比如 https://github.com/baidu/amis/issues/8972 中的用法
|
|
38
|
+
*/
|
|
39
|
+
function ignoreSchemaProps(key, value) {
|
|
40
|
+
if (['clickAction'].includes(key) && typeof value !== 'string') {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
34
45
|
function HocStoreFactory(renderer) {
|
|
35
46
|
return function (Component) {
|
|
36
47
|
var StoreFactory = /** @class */ (function (_super) {
|
|
@@ -54,19 +65,19 @@ function HocStoreFactory(renderer) {
|
|
|
54
65
|
if (extendsData === false) {
|
|
55
66
|
store.initData(object.createObject(_this.props.data
|
|
56
67
|
? _this.props.data.__super
|
|
57
|
-
: null, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data))));
|
|
68
|
+
: null, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data))));
|
|
58
69
|
}
|
|
59
70
|
else if (_this.props.scope ||
|
|
60
71
|
(_this.props.data && _this.props.data.__super)) {
|
|
61
|
-
if (_this.props.store && _this.props.data === _this.props.
|
|
62
|
-
store.initData(object.createObject(_this.props.store.data, tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data)))));
|
|
72
|
+
if (_this.props.store && _this.props.data === _this.props.scope) {
|
|
73
|
+
store.initData(object.createObject(_this.props.store.data, tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps)))));
|
|
63
74
|
}
|
|
64
75
|
else {
|
|
65
|
-
store.initData(object.createObject(_this.props.data.__super || _this.props.scope, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data))));
|
|
76
|
+
store.initData(object.createObject(_this.props.data.__super || _this.props.scope, tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data))));
|
|
66
77
|
}
|
|
67
78
|
}
|
|
68
79
|
else {
|
|
69
|
-
store.initData(tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data)));
|
|
80
|
+
store.initData(tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data, ignoreSchemaProps))), _this.formatData(_this.props.data)));
|
|
70
81
|
}
|
|
71
82
|
_this.state = {};
|
|
72
83
|
var detectField = props.detectField, rest = tslib.__rest(props, ["detectField"]);
|
|
@@ -96,7 +107,7 @@ function HocStoreFactory(renderer) {
|
|
|
96
107
|
};
|
|
97
108
|
StoreFactory.prototype.componentDidUpdate = function (prevProps) {
|
|
98
109
|
var _this = this;
|
|
99
|
-
var _a, _b, _c, _d;
|
|
110
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
100
111
|
var props = this.props;
|
|
101
112
|
var store = this.store;
|
|
102
113
|
// dialog 场景下 schema 是显示的时候更新的,
|
|
@@ -130,7 +141,7 @@ function HocStoreFactory(renderer) {
|
|
|
130
141
|
(props.data &&
|
|
131
142
|
prevProps.data &&
|
|
132
143
|
props.data.__super !== prevProps.data.__super))) {
|
|
133
|
-
store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign(tslib.__assign({}, (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), props.updatePristineAfterStoreDataReInit === false);
|
|
144
|
+
store.initData(object.extendObject(props.data, tslib.__assign(tslib.__assign(tslib.__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);
|
|
134
145
|
}
|
|
135
146
|
}
|
|
136
147
|
else if (shouldSync === true ||
|
|
@@ -140,9 +151,9 @@ function HocStoreFactory(renderer) {
|
|
|
140
151
|
: helper.isObjectShallowModified(prevProps.data, props.data) ||
|
|
141
152
|
(props.syncSuperStore !== false &&
|
|
142
153
|
helper.isSuperDataModified(props.data, prevProps.data, store)))) {
|
|
143
|
-
if (props.store && props.
|
|
154
|
+
if (props.store && props.scope === props.data) {
|
|
144
155
|
store.initData(object.createObject(props.store.data, props.syncSuperStore === false
|
|
145
|
-
? tslib.__assign({}, store.data) : helper.syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)), props.updatePristineAfterStoreDataReInit === false);
|
|
156
|
+
? tslib.__assign({}, store.data) : helper.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);
|
|
146
157
|
}
|
|
147
158
|
else if (props.data && props.data.__super) {
|
|
148
159
|
store.initData(object.extendObject(props.data,
|
|
@@ -151,24 +162,24 @@ function HocStoreFactory(renderer) {
|
|
|
151
162
|
store.hasRemoteData || !store.path.includes('/')
|
|
152
163
|
? tslib.__assign(tslib.__assign({}, store.data), props.data) : // combo 不需要同步,如果要同步,在 Combo.tsx 里面已经实现了相关逻辑
|
|
153
164
|
// 目前主要的问题是,如果 combo 中表单项名字和 combo 本身的名字一样,会导致里面的值会被覆盖成数组
|
|
154
|
-
((
|
|
165
|
+
((_e = props.store) === null || _e === void 0 ? void 0 : _e.storeType) === 'ComboStore'
|
|
155
166
|
? undefined
|
|
156
|
-
: helper.syncDataFromSuper(tslib.__assign(tslib.__assign({}, store.data), props.data), props.data.__super, prevProps.data.__super, store, false)), props.updatePristineAfterStoreDataReInit === false);
|
|
167
|
+
: helper.syncDataFromSuper(tslib.__assign(tslib.__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);
|
|
157
168
|
}
|
|
158
169
|
else {
|
|
159
|
-
store.initData(object.createObject(props.scope, props.data), props.updatePristineAfterStoreDataReInit === false);
|
|
170
|
+
store.initData(object.createObject(props.scope, props.data), ((_g = props.updatePristineAfterStoreDataReInit) !== null && _g !== void 0 ? _g : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
|
|
160
171
|
}
|
|
161
172
|
}
|
|
162
173
|
else if (!props.trackExpression &&
|
|
163
|
-
(!props.store || props.data !== props.
|
|
174
|
+
(!props.store || props.data !== props.scope) &&
|
|
164
175
|
props.data &&
|
|
165
176
|
props.data.__super) {
|
|
166
177
|
// 这个用法很少,当 data.__super 值发生变化时,更新 store.data
|
|
167
178
|
if (!prevProps.data ||
|
|
168
179
|
helper.isObjectShallowModified(props.data.__super, prevProps.data.__super, false)) {
|
|
169
|
-
store.initData(object.createObject(props.data.__super, tslib.__assign(tslib.__assign({}, props.data), store.data)), props.updatePristineAfterStoreDataReInit === false ||
|
|
180
|
+
store.initData(object.createObject(props.data.__super, tslib.__assign(tslib.__assign({}, props.data), store.data)), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
|
|
170
181
|
(store.storeType === 'FormStore' &&
|
|
171
|
-
((
|
|
182
|
+
((_j = prevProps.store) === null || _j === void 0 ? void 0 : _j.storeType) === 'CRUDStore'));
|
|
172
183
|
}
|
|
173
184
|
// nextProps.data.__super !== props.data.__super) &&
|
|
174
185
|
}
|
|
@@ -178,7 +189,7 @@ function HocStoreFactory(renderer) {
|
|
|
178
189
|
prevProps.data !== props.data) {
|
|
179
190
|
// 只有父级数据变动的时候才应该进来,
|
|
180
191
|
// 目前看来这个 case 很少有情况下能进来
|
|
181
|
-
store.initData(object.createObject(props.scope, tslib.__assign({}, store.data)), props.updatePristineAfterStoreDataReInit === false);
|
|
192
|
+
store.initData(object.createObject(props.scope, tslib.__assign({}, store.data)), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
|
|
182
193
|
}
|
|
183
194
|
};
|
|
184
195
|
StoreFactory.prototype.componentWillUnmount = function () {
|
package/lib/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
|
|
|
@@ -263,7 +263,9 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
|
|
|
263
263
|
'table': ['condition'],
|
|
264
264
|
'table2': ['condition'],
|
|
265
265
|
'crud': ['condition'],
|
|
266
|
-
'combo': ['condition']
|
|
266
|
+
'combo': ['condition'],
|
|
267
|
+
'list': ['condition'],
|
|
268
|
+
'cards': ['condition']
|
|
267
269
|
};
|
|
268
270
|
var curCmptType = (_a = targetComponent === null || targetComponent === void 0 ? void 0 : targetComponent.props) === null || _a === void 0 ? void 0 : _a.type;
|
|
269
271
|
var curActionType = action.actionType;
|
|
@@ -281,7 +283,7 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
|
|
|
281
283
|
(_u = console.group) === null || _u === void 0 ? void 0 : _u.call(console, "run action ".concat(action.actionType));
|
|
282
284
|
console.debug("[".concat(action.actionType, "] action args, data"), args, data);
|
|
283
285
|
stopped = false;
|
|
284
|
-
return [4 /*yield*/, actionInstrance.run(tslib.__assign(tslib.__assign(tslib.__assign({}, action), { args: args, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
|
|
286
|
+
return [4 /*yield*/, actionInstrance.run(tslib.__assign(tslib.__assign(tslib.__assign({}, action), { args: args, rawData: actionConfig.data, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
|
|
285
287
|
case 5:
|
|
286
288
|
actionResult = _w.sent();
|
|
287
289
|
// 二次确认弹窗如果取消,则终止后续动作
|
|
@@ -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
|
|
|
@@ -11,6 +11,7 @@ var tslib = require('tslib');
|
|
|
11
11
|
var api = require('../utils/api.js');
|
|
12
12
|
var errors = require('../utils/errors.js');
|
|
13
13
|
var helper = require('../utils/helper.js');
|
|
14
|
+
var tpl = require('../utils/tpl.js');
|
|
14
15
|
var Action = require('./Action.js');
|
|
15
16
|
var object = require('../utils/object.js');
|
|
16
17
|
|
|
@@ -27,12 +28,12 @@ var AjaxAction = /** @class */ (function () {
|
|
|
27
28
|
this.fetcherType = fetcherType;
|
|
28
29
|
}
|
|
29
30
|
AjaxAction.prototype.run = function (action, renderer, event) {
|
|
30
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
31
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
31
32
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
32
|
-
var env, silent, messages, api$1, result, responseData, msg, e_1, result;
|
|
33
|
-
var
|
|
34
|
-
return tslib.__generator(this, function (
|
|
35
|
-
switch (
|
|
33
|
+
var env, silent, messages, api$1, sendOn, result, responseData, msg, e_1, result;
|
|
34
|
+
var _p;
|
|
35
|
+
return tslib.__generator(this, function (_q) {
|
|
36
|
+
switch (_q.label) {
|
|
36
37
|
case 0:
|
|
37
38
|
if (!((_a = event.context.env) === null || _a === void 0 ? void 0 : _a.fetcher)) {
|
|
38
39
|
throw new Error('env.fetcher is required!');
|
|
@@ -49,27 +50,36 @@ var AjaxAction = /** @class */ (function () {
|
|
|
49
50
|
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;
|
|
50
51
|
messages = (_c = action === null || action === void 0 ? void 0 : action.api) === null || _c === void 0 ? void 0 : _c.messages;
|
|
51
52
|
api$1 = api.normalizeApi(action.api);
|
|
53
|
+
if (!(api$1.sendOn !== undefined)) return [3 /*break*/, 2];
|
|
54
|
+
return [4 /*yield*/, tpl.evalExpressionWithConditionBuilder(api$1.sendOn, (_d = action.data) !== null && _d !== void 0 ? _d : {}, false)];
|
|
55
|
+
case 1:
|
|
56
|
+
sendOn = _q.sent();
|
|
57
|
+
if (!sendOn) {
|
|
58
|
+
return [2 /*return*/];
|
|
59
|
+
}
|
|
60
|
+
_q.label = 2;
|
|
61
|
+
case 2:
|
|
52
62
|
// 如果没配置data数据映射,则给一个空对象,避免将当前数据域作为接口请求参数
|
|
53
63
|
if ((api$1 === null || api$1 === void 0 ? void 0 : api$1.data) == undefined) {
|
|
54
64
|
api$1 = tslib.__assign(tslib.__assign({}, api$1), { data: {} });
|
|
55
65
|
}
|
|
56
|
-
|
|
57
|
-
case
|
|
58
|
-
|
|
59
|
-
return [4 /*yield*/, env.fetcher(api$1, (
|
|
60
|
-
case
|
|
61
|
-
result =
|
|
66
|
+
_q.label = 3;
|
|
67
|
+
case 3:
|
|
68
|
+
_q.trys.push([3, 5, , 6]);
|
|
69
|
+
return [4 /*yield*/, env.fetcher(api$1, (_e = action.data) !== null && _e !== void 0 ? _e : {}, (_f = action === null || action === void 0 ? void 0 : action.options) !== null && _f !== void 0 ? _f : {})];
|
|
70
|
+
case 4:
|
|
71
|
+
result = _q.sent();
|
|
62
72
|
responseData = !helper.isEmpty(result.data) || result.ok
|
|
63
73
|
? api.normalizeApiResponseData(result.data)
|
|
64
74
|
: null;
|
|
65
75
|
// 记录请求返回的数据
|
|
66
|
-
event.setData(object.createObject(event.data, tslib.__assign(tslib.__assign({}, responseData), (
|
|
76
|
+
event.setData(object.createObject(event.data, tslib.__assign(tslib.__assign({}, responseData), (_p = { responseData: responseData }, _p[action.outputVar || 'responseResult'] = tslib.__assign(tslib.__assign({}, responseData), { responseData: responseData, responseStatus: result.status, responseMsg: result.msg }), _p))));
|
|
67
77
|
if (!silent) {
|
|
68
78
|
if (!result.ok) {
|
|
69
|
-
throw new errors.ServerError((
|
|
79
|
+
throw new errors.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);
|
|
70
80
|
}
|
|
71
81
|
else {
|
|
72
|
-
msg = (
|
|
82
|
+
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;
|
|
73
83
|
msg &&
|
|
74
84
|
env.notify('success', msg, result.msgTimeout !== undefined
|
|
75
85
|
? {
|
|
@@ -80,8 +90,8 @@ var AjaxAction = /** @class */ (function () {
|
|
|
80
90
|
}
|
|
81
91
|
}
|
|
82
92
|
return [2 /*return*/, result.data];
|
|
83
|
-
case
|
|
84
|
-
e_1 =
|
|
93
|
+
case 5:
|
|
94
|
+
e_1 = _q.sent();
|
|
85
95
|
if (!silent) {
|
|
86
96
|
if (e_1.type === 'ServerError') {
|
|
87
97
|
result = e_1.response;
|
|
@@ -96,8 +106,8 @@ var AjaxAction = /** @class */ (function () {
|
|
|
96
106
|
env.notify('error', e_1.message);
|
|
97
107
|
}
|
|
98
108
|
}
|
|
99
|
-
return [3 /*break*/,
|
|
100
|
-
case
|
|
109
|
+
return [3 /*break*/, 6];
|
|
110
|
+
case 6: return [2 /*return*/];
|
|
101
111
|
}
|
|
102
112
|
});
|
|
103
113
|
});
|