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/renderers/Form.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
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 { __extends, __awaiter, __generator, __assign, __decorate, __metadata } from 'tslib';
|
|
7
7
|
import React from 'react';
|
|
8
|
-
import extend from 'lodash/extend';
|
|
9
8
|
import { Renderer } from '../factory.js';
|
|
10
9
|
import { FormStore } from '../store/form.js';
|
|
11
10
|
import { evalExpression, filter } from '../utils/tpl.js';
|
|
@@ -17,13 +16,38 @@ import find from 'lodash/find';
|
|
|
17
16
|
import { filterTarget, ScopedContext } from '../Scoped.js';
|
|
18
17
|
import 'amis-formula';
|
|
19
18
|
import 'moment';
|
|
20
|
-
import { isObject, createObject, cloneObject } from '../utils/object.js';
|
|
21
|
-
import { getVariable } from '../utils/getVariable.js';
|
|
19
|
+
import { isObject, createObject, cloneObject, injectObjectChain } from '../utils/object.js';
|
|
22
20
|
import { dataMapping } from '../utils/dataMapping.js';
|
|
23
21
|
import '../utils/filter.js';
|
|
24
22
|
import { isEffectiveApi, isApiOutdated } from '../utils/api.js';
|
|
25
23
|
import LazyComponent from '../components/LazyComponent.js';
|
|
26
24
|
import { isAlive } from 'mobx-state-tree';
|
|
25
|
+
import '../utils/ColorScale.js';
|
|
26
|
+
import 'lodash/chunk';
|
|
27
|
+
import '../utils/DataSchema.js';
|
|
28
|
+
import '../utils/DataScope.js';
|
|
29
|
+
import '../utils/debug.js';
|
|
30
|
+
import 'react-dom';
|
|
31
|
+
import '../utils/errors.js';
|
|
32
|
+
import 'lodash/isObject';
|
|
33
|
+
import 'lodash/isString';
|
|
34
|
+
import 'lodash/isBoolean';
|
|
35
|
+
import '../utils/image.js';
|
|
36
|
+
import 'lodash/isPlainObject';
|
|
37
|
+
import 'lodash/isEqual';
|
|
38
|
+
import '../actions/Action.js';
|
|
39
|
+
import 'lodash/cloneDeep';
|
|
40
|
+
import '../utils/resize-sensor.js';
|
|
41
|
+
import 'react-overlays/useRootClose';
|
|
42
|
+
import '../utils/SimpleMap.js';
|
|
43
|
+
import 'lodash/mapValues';
|
|
44
|
+
import 'lodash/camelCase';
|
|
45
|
+
import 'uncontrollable';
|
|
46
|
+
import 'hoist-non-react-statics';
|
|
47
|
+
import '../utils/validations.js';
|
|
48
|
+
import '../utils/resolveCondition.js';
|
|
49
|
+
import 'mobx';
|
|
50
|
+
import '../utils/Animation.js';
|
|
27
51
|
|
|
28
52
|
var Form = /** @class */ (function (_super) {
|
|
29
53
|
__extends(Form, _super);
|
|
@@ -129,7 +153,8 @@ var Form = /** @class */ (function (_super) {
|
|
|
129
153
|
.fetchInitData(initApi, store.data, {
|
|
130
154
|
successMessage: fetchSuccess,
|
|
131
155
|
errorMessage: fetchFailed,
|
|
132
|
-
onSuccess: function () {
|
|
156
|
+
onSuccess: function (json, data) {
|
|
157
|
+
store.setValues(data);
|
|
133
158
|
if (!isEffectiveApi(initAsyncApi, store.data) ||
|
|
134
159
|
store.data[initFinishedField || 'finished']) {
|
|
135
160
|
return;
|
|
@@ -251,53 +276,59 @@ var Form = /** @class */ (function (_super) {
|
|
|
251
276
|
});
|
|
252
277
|
};
|
|
253
278
|
Form.prototype.reload = function (subPath, query, ctx, silent) {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
279
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
280
|
+
var _a, store, initApi, initAsyncApi, initFinishedField, _b, fetchSuccess, fetchFailed, result;
|
|
281
|
+
var _c;
|
|
282
|
+
var _this = this;
|
|
283
|
+
return __generator(this, function (_d) {
|
|
284
|
+
switch (_d.label) {
|
|
285
|
+
case 0:
|
|
286
|
+
if (query) {
|
|
287
|
+
return [2 /*return*/, this.receive(query)];
|
|
288
|
+
}
|
|
289
|
+
_a = this.props, store = _a.store, initApi = _a.initApi, initAsyncApi = _a.initAsyncApi, initFinishedField = _a.initFinishedField, _b = _a.messages, fetchSuccess = _b.fetchSuccess, fetchFailed = _b.fetchFailed;
|
|
290
|
+
isEffectiveApi(initAsyncApi, store.data) &&
|
|
291
|
+
store.updateData((_c = {},
|
|
292
|
+
_c[initFinishedField || 'finished'] = false,
|
|
293
|
+
_c));
|
|
294
|
+
if (!isEffectiveApi(initApi, store.data)) return [3 /*break*/, 3];
|
|
295
|
+
return [4 /*yield*/, store.fetchInitData(initApi, store.data, {
|
|
296
|
+
successMessage: fetchSuccess,
|
|
297
|
+
errorMessage: fetchFailed,
|
|
298
|
+
silent: silent,
|
|
299
|
+
onSuccess: function (json, data) {
|
|
300
|
+
store.setValues(data);
|
|
301
|
+
if (!isEffectiveApi(initAsyncApi, store.data) ||
|
|
302
|
+
store.data[initFinishedField || 'finished']) {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
return until(function () { return store.checkRemote(initAsyncApi, store.data); }, function (ret) { return ret && ret[initFinishedField || 'finished']; }, function (cancel) { return (_this.asyncCancel = cancel); });
|
|
306
|
+
}
|
|
307
|
+
})];
|
|
308
|
+
case 1:
|
|
309
|
+
result = _d.sent();
|
|
282
310
|
// 派发初始化接口请求完成事件
|
|
283
311
|
return [4 /*yield*/, this.dispatchInited(result)];
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
312
|
+
case 2:
|
|
313
|
+
// 派发初始化接口请求完成事件
|
|
314
|
+
_d.sent();
|
|
315
|
+
if (result === null || result === void 0 ? void 0 : result.ok) {
|
|
316
|
+
this.initInterval(result);
|
|
317
|
+
store.reset(undefined, false);
|
|
318
|
+
}
|
|
319
|
+
return [3 /*break*/, 4];
|
|
320
|
+
case 3:
|
|
321
|
+
store.reset(undefined, false);
|
|
322
|
+
_d.label = 4;
|
|
323
|
+
case 4: return [2 /*return*/];
|
|
324
|
+
}
|
|
325
|
+
});
|
|
326
|
+
});
|
|
296
327
|
};
|
|
297
328
|
Form.prototype.receive = function (values, name, replace) {
|
|
298
329
|
var store = this.props.store;
|
|
299
330
|
store.updateData(values, undefined, replace);
|
|
300
|
-
this.reload();
|
|
331
|
+
return this.reload();
|
|
301
332
|
};
|
|
302
333
|
Form.prototype.silentReload = function (target, query) {
|
|
303
334
|
this.reload(target, query, undefined, true);
|
|
@@ -315,11 +346,12 @@ var Form = /** @class */ (function (_super) {
|
|
|
315
346
|
Form.prototype.isValidated = function () {
|
|
316
347
|
return this.props.store.validated;
|
|
317
348
|
};
|
|
318
|
-
Form.prototype.validate = function (forceValidate) {
|
|
319
|
-
|
|
349
|
+
Form.prototype.validate = function (forceValidate, throwErrors) {
|
|
350
|
+
if (throwErrors === void 0) { throwErrors = false; }
|
|
351
|
+
var _a = this.props, store = _a.store, dispatchEvent = _a.dispatchEvent, data = _a.data, messages = _a.messages, __ = _a.translate;
|
|
320
352
|
this.flush();
|
|
321
353
|
return store
|
|
322
|
-
.validate(this.hooks['validate'] || [], forceValidate)
|
|
354
|
+
.validate(this.hooks['validate'] || [], forceValidate, throwErrors, __(messages && messages.validateFailed))
|
|
323
355
|
.then(function (result) {
|
|
324
356
|
if (result) {
|
|
325
357
|
dispatchEvent('validateSucc', data);
|
|
@@ -349,11 +381,12 @@ var Form = /** @class */ (function (_super) {
|
|
|
349
381
|
this.flush();
|
|
350
382
|
store.setValues(value, undefined, replace);
|
|
351
383
|
};
|
|
352
|
-
Form.prototype.submit = function (fn) {
|
|
384
|
+
Form.prototype.submit = function (fn, throwErrors) {
|
|
385
|
+
if (throwErrors === void 0) { throwErrors = false; }
|
|
353
386
|
var _a = this.props, store = _a.store, messages = _a.messages, __ = _a.translate, dispatchEvent = _a.dispatchEvent, data = _a.data;
|
|
354
387
|
this.flush();
|
|
355
388
|
var validateErrCb = function () { return dispatchEvent('validateError', data); };
|
|
356
|
-
return store.submit(fn, this.hooks['validate'] || [], __(messages && messages.validateFailed), validateErrCb);
|
|
389
|
+
return store.submit(fn, this.hooks['validate'] || [], __(messages && messages.validateFailed), validateErrCb, throwErrors);
|
|
357
390
|
};
|
|
358
391
|
// 如果开启了 lazyChange,需要一个 flush 方法把队列中值应用上。
|
|
359
392
|
Form.prototype.flush = function () {
|
|
@@ -442,27 +475,29 @@ var Form = /** @class */ (function (_super) {
|
|
|
442
475
|
};
|
|
443
476
|
Form.prototype.handleBulkChange = function (values, submit) {
|
|
444
477
|
var _a = this.props; _a.onChange; var store = _a.store, formLazyChange = _a.formLazyChange;
|
|
445
|
-
store.
|
|
446
|
-
store.
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
}
|
|
478
|
+
store.setValues(values);
|
|
479
|
+
// store.updateData(values);
|
|
480
|
+
// store.items.forEach(formItem => {
|
|
481
|
+
// const updatedValue = getVariable(values, formItem.name, false);
|
|
482
|
+
// if (updatedValue !== undefined) {
|
|
483
|
+
// // 更新验证状态但保留错误信息
|
|
484
|
+
// formItem.reset(true);
|
|
485
|
+
// // 这里需要更新value,否则提交时不会使用新的字段值校验
|
|
486
|
+
// formItem.changeTmpValue(updatedValue);
|
|
487
|
+
// formItem.validateOnChange && formItem.validate(values);
|
|
488
|
+
// }
|
|
489
|
+
// });
|
|
456
490
|
(formLazyChange === false ? this.emitChange : this.lazyEmitChange)(submit);
|
|
457
491
|
};
|
|
458
492
|
Form.prototype.handleFormSubmit = function (e) {
|
|
459
|
-
var _a = this.props, preventEnterSubmit = _a.preventEnterSubmit, onActionSensor = _a.onActionSensor;
|
|
493
|
+
var _a = this.props, preventEnterSubmit = _a.preventEnterSubmit, onActionSensor = _a.onActionSensor, close = _a.close;
|
|
460
494
|
e.preventDefault();
|
|
461
495
|
if (preventEnterSubmit) {
|
|
462
496
|
return false;
|
|
463
497
|
}
|
|
464
498
|
var sensor = this.handleAction(e, {
|
|
465
|
-
type: 'submit'
|
|
499
|
+
type: 'submit',
|
|
500
|
+
close: close
|
|
466
501
|
}, this.props.store.data);
|
|
467
502
|
// 让外层可以监控这个动作执行结果
|
|
468
503
|
onActionSensor === null || onActionSensor === void 0 ? void 0 : onActionSensor(sensor);
|
|
@@ -553,7 +588,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
553
588
|
_this.reloadTarget(filterTarget(action.target, values), values);
|
|
554
589
|
}
|
|
555
590
|
else if (action.actionType === 'dialog') {
|
|
556
|
-
store.openDialog(data, undefined, action.callback);
|
|
591
|
+
store.openDialog(data, undefined, action.callback, delegate || _this.context);
|
|
557
592
|
}
|
|
558
593
|
else if (action.actionType === 'drawer') {
|
|
559
594
|
store.openDrawer(data);
|
|
@@ -627,7 +662,10 @@ var Form = /** @class */ (function (_super) {
|
|
|
627
662
|
throw new SkipOperation();
|
|
628
663
|
}
|
|
629
664
|
_a.label = 2;
|
|
630
|
-
case 2: return [2 /*return
|
|
665
|
+
case 2: return [2 /*return*/, injectObjectChain(store.data, {
|
|
666
|
+
__payload: values,
|
|
667
|
+
__response: response
|
|
668
|
+
})];
|
|
631
669
|
}
|
|
632
670
|
});
|
|
633
671
|
}); });
|
|
@@ -637,7 +675,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
637
675
|
dispatchEvent_1('submitSucc', createObject(_this.props.data, values));
|
|
638
676
|
}
|
|
639
677
|
return Promise.resolve(null);
|
|
640
|
-
})
|
|
678
|
+
}, throwErrors)
|
|
641
679
|
.then(function (values) {
|
|
642
680
|
// 有可能 onSubmit return false 了,那么后面的就不应该再执行了。
|
|
643
681
|
if (values === false) {
|
|
@@ -676,11 +714,11 @@ var Form = /** @class */ (function (_super) {
|
|
|
676
714
|
}
|
|
677
715
|
else if (action.actionType === 'validate') {
|
|
678
716
|
store.setCurrentAction(action);
|
|
679
|
-
this.validate(true);
|
|
717
|
+
return [2 /*return*/, this.validate(true, throwErrors)];
|
|
680
718
|
}
|
|
681
719
|
else if (action.actionType === 'dialog') {
|
|
682
720
|
store.setCurrentAction(action);
|
|
683
|
-
store.openDialog(data, undefined, action.callback);
|
|
721
|
+
store.openDialog(data, undefined, action.callback, delegate || this.context);
|
|
684
722
|
}
|
|
685
723
|
else if (action.actionType === 'drawer') {
|
|
686
724
|
store.setCurrentAction(action);
|
|
@@ -821,7 +859,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
821
859
|
});
|
|
822
860
|
store.openDialog(ctx, undefined, function (confirmed) {
|
|
823
861
|
resolve(confirmed);
|
|
824
|
-
});
|
|
862
|
+
}, _this.context);
|
|
825
863
|
});
|
|
826
864
|
};
|
|
827
865
|
Form.prototype.buildActions = function () {
|
|
@@ -917,7 +955,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
917
955
|
}
|
|
918
956
|
var props = __assign(__assign({}, this.props), otherProps);
|
|
919
957
|
var form = this.props.store;
|
|
920
|
-
var render = props.render, mode = props.mode, horizontal = props.horizontal, store = props.store, disabled = props.disabled, controlWidth = props.controlWidth, resolveDefinitions = props.resolveDefinitions, lazyChange = props.lazyChange; props.formLazyChange; var dispatchEvent = props.dispatchEvent, labelAlign = props.labelAlign, labelWidth = props.labelWidth, isStatic = props.static;
|
|
958
|
+
var render = props.render, mode = props.mode, horizontal = props.horizontal, store = props.store, disabled = props.disabled, controlWidth = props.controlWidth, resolveDefinitions = props.resolveDefinitions, lazyChange = props.lazyChange; props.formLazyChange; var dispatchEvent = props.dispatchEvent, labelAlign = props.labelAlign, labelWidth = props.labelWidth, isStatic = props.static; props.canAccessSuperData;
|
|
921
959
|
var subProps = __assign(__assign({ formStore: form, data: store.data, key: "".concat(control.name || '', "-").concat(control.type, "-").concat(key), formInited: form.inited, formSubmited: form.submited, formMode: mode, formHorizontal: horizontal, formLabelAlign: labelAlign !== 'left' ? 'right' : labelAlign, formLabelWidth: labelWidth, controlWidth: controlWidth,
|
|
922
960
|
/**
|
|
923
961
|
* form.loading有为true时才下发disabled属性,否则不显性设置disbaled为false
|
|
@@ -944,14 +982,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
944
982
|
return (React.createElement(WrapperComponent, { className: cx("Form", "Form--".concat(mode || 'normal'), columnCount ? "Form--column Form--column-".concat(columnCount) : null, staticClassName && isStatic ? staticClassName : className, isStatic ? 'Form--isStatic' : null), onSubmit: this.handleFormSubmit, noValidate: true },
|
|
945
983
|
React.createElement("input", { type: "submit", style: { display: 'none' } }),
|
|
946
984
|
debug
|
|
947
|
-
? render('form-debug-json',
|
|
948
|
-
type: 'json',
|
|
949
|
-
value: store.data,
|
|
950
|
-
ellipsisThreshold: 120,
|
|
951
|
-
className: cx('Form--debug')
|
|
952
|
-
},
|
|
953
|
-
/** 定制debug输出格式 */
|
|
954
|
-
isObject(debugConfig) ? debugConfig : {}))
|
|
985
|
+
? render('form-debug-json', __assign({ type: 'json', value: store.data, ellipsisThreshold: 120, className: cx('Form--debug') }, debugConfig))
|
|
955
986
|
: null,
|
|
956
987
|
render('spinner', { type: 'spinner' }, {
|
|
957
988
|
overlay: true,
|
|
@@ -1151,57 +1182,70 @@ var FormRenderer = /** @class */ (function (_super) {
|
|
|
1151
1182
|
scoped.close(target);
|
|
1152
1183
|
};
|
|
1153
1184
|
FormRenderer.prototype.reload = function (target, query, ctx, silent, replace) {
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1185
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1186
|
+
var scoped, subPath, idx, subQuery, idx2, component, components;
|
|
1187
|
+
return __generator(this, function (_a) {
|
|
1188
|
+
switch (_a.label) {
|
|
1189
|
+
case 0:
|
|
1190
|
+
if (query) {
|
|
1191
|
+
return [2 /*return*/, this.receive(query, undefined, replace)];
|
|
1192
|
+
}
|
|
1193
|
+
scoped = this.context;
|
|
1194
|
+
subPath = '';
|
|
1195
|
+
subQuery = null;
|
|
1196
|
+
if (target && ~(idx = target.indexOf('.'))) {
|
|
1197
|
+
subPath = target.substring(idx + 1);
|
|
1198
|
+
target = target.substring(0, idx);
|
|
1199
|
+
}
|
|
1200
|
+
idx2 = target ? target.indexOf('?') : -1;
|
|
1201
|
+
if (~idx2) {
|
|
1202
|
+
subQuery = dataMapping(qsparse(target.substring(idx2 + 1)), ctx);
|
|
1203
|
+
target = target.substring(0, idx2);
|
|
1204
|
+
}
|
|
1205
|
+
if (!(target &&
|
|
1206
|
+
(component = scoped.getComponentByName(target)) &&
|
|
1207
|
+
component.reload)) return [3 /*break*/, 1];
|
|
1208
|
+
component.reload(subPath, subQuery, ctx);
|
|
1209
|
+
return [3 /*break*/, 4];
|
|
1210
|
+
case 1:
|
|
1211
|
+
if (!(target === '*')) return [3 /*break*/, 3];
|
|
1212
|
+
return [4 /*yield*/, _super.prototype.reload.call(this, target, query, ctx, silent)];
|
|
1213
|
+
case 2:
|
|
1214
|
+
_a.sent();
|
|
1215
|
+
components = scoped.getComponents();
|
|
1216
|
+
components.forEach(function (component) {
|
|
1217
|
+
return component.reload && component.reload('', subQuery, ctx);
|
|
1218
|
+
});
|
|
1219
|
+
return [3 /*break*/, 4];
|
|
1220
|
+
case 3: return [2 /*return*/, _super.prototype.reload.call(this, target, query, ctx, silent)];
|
|
1221
|
+
case 4: return [2 /*return*/];
|
|
1222
|
+
}
|
|
1181
1223
|
});
|
|
1182
|
-
}
|
|
1183
|
-
else {
|
|
1184
|
-
_super.prototype.reload.call(this, target, query, ctx, silent);
|
|
1185
|
-
}
|
|
1224
|
+
});
|
|
1186
1225
|
};
|
|
1187
1226
|
FormRenderer.prototype.receive = function (values, name, replace) {
|
|
1188
|
-
|
|
1189
|
-
var scoped
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1227
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1228
|
+
var scoped, idx, subPath, component;
|
|
1229
|
+
return __generator(this, function (_a) {
|
|
1230
|
+
if (name) {
|
|
1231
|
+
scoped = this.context;
|
|
1232
|
+
idx = name.indexOf('.');
|
|
1233
|
+
subPath = '';
|
|
1234
|
+
if (~idx) {
|
|
1235
|
+
subPath = name.substring(1 + idx);
|
|
1236
|
+
name = name.substring(0, idx);
|
|
1237
|
+
}
|
|
1238
|
+
component = scoped.getComponentByName(name);
|
|
1239
|
+
component && component.receive && component.receive(values, subPath);
|
|
1240
|
+
return [2 /*return*/];
|
|
1241
|
+
}
|
|
1242
|
+
return [2 /*return*/, _super.prototype.receive.call(this, values, undefined, replace)];
|
|
1243
|
+
});
|
|
1244
|
+
});
|
|
1201
1245
|
};
|
|
1202
1246
|
FormRenderer.prototype.setData = function (values, replace) {
|
|
1203
1247
|
var _a = this.props, onChange = _a.onChange, store = _a.store;
|
|
1204
|
-
_super.prototype.setValues.call(this, values);
|
|
1248
|
+
_super.prototype.setValues.call(this, values, replace);
|
|
1205
1249
|
// 触发表单change
|
|
1206
1250
|
onChange &&
|
|
1207
1251
|
onChange(store.data, difference(store.data, store.pristine), this.props);
|