amis-core 3.1.1 → 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 +6 -2
- package/esm/Scoped.d.ts +4 -1
- package/esm/Scoped.js +9 -5
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.d.ts +4 -24
- package/esm/WithRootStore.js +12 -4
- package/esm/WithStore.js +23 -16
- package/esm/actions/Action.d.ts +1 -0
- package/esm/actions/Action.js +70 -45
- 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 +47 -32
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +1 -1
- package/esm/actions/CustomAction.js +3 -2
- package/esm/actions/DialogAction.d.ts +2 -0
- package/esm/actions/DialogAction.js +39 -23
- 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 +3 -2
- package/esm/components/PopOver.js +3 -2
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.js +2 -2
- package/esm/index.d.ts +3 -1
- package/esm/index.js +16 -14
- package/esm/locale.js +1 -1
- package/esm/polyfills.d.ts +3 -0
- package/esm/polyfills.js +18 -0
- package/esm/renderers/Form.d.ts +7 -7
- package/esm/renderers/Form.js +182 -128
- package/esm/renderers/Item.d.ts +82 -77
- package/esm/renderers/Item.js +90 -74
- 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.d.ts +4 -24
- package/esm/renderers/wrapControl.js +140 -88
- package/esm/store/app.js +42 -4
- package/esm/store/combo.d.ts +564 -1892
- package/esm/store/combo.js +9 -2
- package/esm/store/crud.d.ts +4 -2
- package/esm/store/crud.js +17 -4
- package/esm/store/form.d.ts +182 -882
- package/esm/store/form.js +83 -81
- package/esm/store/formItem.d.ts +6 -2
- package/esm/store/formItem.js +19 -3
- package/esm/store/iRenderer.js +3 -2
- package/esm/store/index.js +1 -1
- package/esm/store/list.d.ts +1 -0
- package/esm/store/list.js +8 -2
- 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 +3 -2
- package/esm/store/service.js +17 -12
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +604 -2020
- package/esm/store/table.js +86 -56
- 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 +22 -5
- package/esm/utils/Animation.js +1 -1
- package/esm/utils/ColorScale.js +1 -1
- package/esm/utils/DataSchema.d.ts +3 -2
- package/esm/utils/DataSchema.js +27 -7
- package/esm/utils/DataScope.d.ts +10 -3
- package/esm/utils/DataScope.js +50 -12
- 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 +152 -112
- package/esm/utils/arraySlice.d.ts +1 -0
- package/esm/utils/arraySlice.js +76 -0
- 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 +29 -19
- 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 +4 -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 +19 -2
- package/esm/utils/helper.js +69 -10
- 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 +2 -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 +18 -9
- 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 +13 -6
- package/lib/Scoped.d.ts +4 -1
- package/lib/Scoped.js +19 -13
- package/lib/StatusScoped.js +5 -2
- package/lib/WithRootStore.d.ts +4 -24
- package/lib/WithRootStore.js +15 -4
- package/lib/WithStore.js +27 -17
- package/lib/actions/Action.d.ts +1 -0
- package/lib/actions/Action.js +70 -45
- 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 +47 -32
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +1 -1
- package/lib/actions/CustomAction.js +9 -5
- package/lib/actions/DialogAction.d.ts +2 -0
- package/lib/actions/DialogAction.js +39 -23
- 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 +15 -14
- package/lib/components/PopOver.js +12 -10
- package/lib/env.js +4 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.js +11 -9
- package/lib/index.d.ts +3 -1
- package/lib/index.js +26 -19
- package/lib/locale.js +6 -3
- package/lib/polyfills.d.ts +3 -0
- package/lib/polyfills.js +20 -0
- package/lib/renderers/Form.d.ts +7 -7
- package/lib/renderers/Form.js +194 -135
- package/lib/renderers/Item.d.ts +82 -77
- package/lib/renderers/Item.js +126 -104
- 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.d.ts +4 -24
- package/lib/renderers/wrapControl.js +143 -88
- package/lib/store/app.js +44 -3
- package/lib/store/combo.d.ts +564 -1892
- package/lib/store/combo.js +9 -2
- package/lib/store/crud.d.ts +4 -2
- package/lib/store/crud.js +17 -4
- package/lib/store/form.d.ts +182 -882
- package/lib/store/form.js +81 -79
- package/lib/store/formItem.d.ts +6 -2
- package/lib/store/formItem.js +19 -3
- package/lib/store/iRenderer.js +9 -5
- package/lib/store/index.js +1 -1
- package/lib/store/list.d.ts +1 -0
- package/lib/store/list.js +8 -2
- 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 +9 -5
- package/lib/store/service.js +17 -12
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +604 -2020
- package/lib/store/table.js +85 -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 +22 -5
- package/lib/utils/Animation.js +1 -1
- package/lib/utils/ColorScale.js +1 -1
- package/lib/utils/DataSchema.d.ts +3 -2
- package/lib/utils/DataSchema.js +27 -7
- package/lib/utils/DataScope.d.ts +10 -3
- package/lib/utils/DataScope.js +50 -11
- 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 +151 -111
- package/lib/utils/arraySlice.d.ts +1 -0
- package/lib/utils/arraySlice.js +80 -0
- 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 +29 -19
- 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 +10 -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 +19 -2
- package/lib/utils/helper.js +70 -9
- 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 +2 -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 +18 -9
- 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 +9 -4
package/lib/renderers/Form.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.3.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -9,7 +9,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
9
9
|
|
|
10
10
|
var tslib = require('tslib');
|
|
11
11
|
var React = require('react');
|
|
12
|
-
var extend = require('lodash/extend');
|
|
13
12
|
var factory = require('../factory.js');
|
|
14
13
|
var form = require('../store/form.js');
|
|
15
14
|
var tpl = require('../utils/tpl.js');
|
|
@@ -22,21 +21,51 @@ var Scoped = require('../Scoped.js');
|
|
|
22
21
|
require('amis-formula');
|
|
23
22
|
require('moment');
|
|
24
23
|
var object = require('../utils/object.js');
|
|
25
|
-
var getVariable = require('../utils/getVariable.js');
|
|
26
24
|
var dataMapping = require('../utils/dataMapping.js');
|
|
27
25
|
require('../utils/filter.js');
|
|
28
26
|
var api = require('../utils/api.js');
|
|
29
27
|
var LazyComponent = require('../components/LazyComponent.js');
|
|
30
28
|
var mobxStateTree = require('mobx-state-tree');
|
|
29
|
+
require('../utils/ColorScale.js');
|
|
30
|
+
require('../utils/columnsSplit.js');
|
|
31
|
+
require('../utils/DataSchema.js');
|
|
32
|
+
require('../utils/DataScope.js');
|
|
33
|
+
require('../utils/debug.js');
|
|
34
|
+
require('../utils/dom.js');
|
|
35
|
+
require('../utils/errors.js');
|
|
36
|
+
require('lodash/isObject');
|
|
37
|
+
require('lodash/isString');
|
|
38
|
+
require('lodash/isBoolean');
|
|
39
|
+
require('../utils/highlight.js');
|
|
40
|
+
require('../utils/icon.js');
|
|
41
|
+
require('../utils/image.js');
|
|
42
|
+
require('lodash/isPlainObject');
|
|
43
|
+
require('lodash/isEqual');
|
|
44
|
+
require('../actions/Action.js');
|
|
45
|
+
require('lodash/cloneDeep');
|
|
46
|
+
require('../utils/resize-sensor.js');
|
|
47
|
+
require('react-overlays/useRootClose');
|
|
48
|
+
require('react-dom');
|
|
49
|
+
require('../utils/SimpleMap.js');
|
|
50
|
+
require('lodash/mapValues');
|
|
51
|
+
require('lodash/camelCase');
|
|
52
|
+
require('uncontrollable');
|
|
53
|
+
require('hoist-non-react-statics');
|
|
54
|
+
require('../utils/validations.js');
|
|
55
|
+
require('../utils/resolveCondition.js');
|
|
56
|
+
require('mobx');
|
|
57
|
+
require('../utils/Animation.js');
|
|
31
58
|
|
|
32
59
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
33
60
|
|
|
34
61
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
35
|
-
var extend__default = /*#__PURE__*/_interopDefaultLegacy(extend);
|
|
36
62
|
var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
|
|
37
63
|
var flatten__default = /*#__PURE__*/_interopDefaultLegacy(flatten);
|
|
38
64
|
var find__default = /*#__PURE__*/_interopDefaultLegacy(find);
|
|
39
65
|
|
|
66
|
+
var __react_jsx__ = require('react');
|
|
67
|
+
var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
|
|
68
|
+
(__react_jsx__["default"] || __react_jsx__).Fragment;
|
|
40
69
|
var Form = /** @class */ (function (_super) {
|
|
41
70
|
tslib.__extends(Form, _super);
|
|
42
71
|
function Form(props) {
|
|
@@ -141,7 +170,8 @@ var Form = /** @class */ (function (_super) {
|
|
|
141
170
|
.fetchInitData(initApi, store.data, {
|
|
142
171
|
successMessage: fetchSuccess,
|
|
143
172
|
errorMessage: fetchFailed,
|
|
144
|
-
onSuccess: function () {
|
|
173
|
+
onSuccess: function (json, data) {
|
|
174
|
+
store.setValues(data);
|
|
145
175
|
if (!api.isEffectiveApi(initAsyncApi, store.data) ||
|
|
146
176
|
store.data[initFinishedField || 'finished']) {
|
|
147
177
|
return;
|
|
@@ -195,7 +225,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
195
225
|
case 0:
|
|
196
226
|
_b = this.props, data = _b.data, store = _b.store, dispatchEvent = _b.dispatchEvent;
|
|
197
227
|
if (store.fetching) {
|
|
198
|
-
return [2 /*return
|
|
228
|
+
return [2 /*return*/, value];
|
|
199
229
|
}
|
|
200
230
|
// 派发init事件,参数为初始化数据
|
|
201
231
|
return [4 /*yield*/, dispatchEvent('inited', object.createObject(data, tslib.__assign(tslib.__assign({}, value === null || value === void 0 ? void 0 : value.data), { responseData: (_a = value === null || value === void 0 ? void 0 : value.data) !== null && _a !== void 0 ? _a : {}, responseStatus: store.error ? 1 : 0, responseMsg: store.msg })))];
|
|
@@ -263,53 +293,59 @@ var Form = /** @class */ (function (_super) {
|
|
|
263
293
|
});
|
|
264
294
|
};
|
|
265
295
|
Form.prototype.reload = function (subPath, query, ctx, silent) {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
296
|
+
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
297
|
+
var _a, store, initApi, initAsyncApi, initFinishedField, _b, fetchSuccess, fetchFailed, result;
|
|
298
|
+
var _c;
|
|
299
|
+
var _this = this;
|
|
300
|
+
return tslib.__generator(this, function (_d) {
|
|
301
|
+
switch (_d.label) {
|
|
302
|
+
case 0:
|
|
303
|
+
if (query) {
|
|
304
|
+
return [2 /*return*/, this.receive(query)];
|
|
305
|
+
}
|
|
306
|
+
_a = this.props, store = _a.store, initApi = _a.initApi, initAsyncApi = _a.initAsyncApi, initFinishedField = _a.initFinishedField, _b = _a.messages, fetchSuccess = _b.fetchSuccess, fetchFailed = _b.fetchFailed;
|
|
307
|
+
api.isEffectiveApi(initAsyncApi, store.data) &&
|
|
308
|
+
store.updateData((_c = {},
|
|
309
|
+
_c[initFinishedField || 'finished'] = false,
|
|
310
|
+
_c));
|
|
311
|
+
if (!api.isEffectiveApi(initApi, store.data)) return [3 /*break*/, 3];
|
|
312
|
+
return [4 /*yield*/, store.fetchInitData(initApi, store.data, {
|
|
313
|
+
successMessage: fetchSuccess,
|
|
314
|
+
errorMessage: fetchFailed,
|
|
315
|
+
silent: silent,
|
|
316
|
+
onSuccess: function (json, data) {
|
|
317
|
+
store.setValues(data);
|
|
318
|
+
if (!api.isEffectiveApi(initAsyncApi, store.data) ||
|
|
319
|
+
store.data[initFinishedField || 'finished']) {
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
return helper.until(function () { return store.checkRemote(initAsyncApi, store.data); }, function (ret) { return ret && ret[initFinishedField || 'finished']; }, function (cancel) { return (_this.asyncCancel = cancel); });
|
|
323
|
+
}
|
|
324
|
+
})];
|
|
325
|
+
case 1:
|
|
326
|
+
result = _d.sent();
|
|
294
327
|
// 派发初始化接口请求完成事件
|
|
295
328
|
return [4 /*yield*/, this.dispatchInited(result)];
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
329
|
+
case 2:
|
|
330
|
+
// 派发初始化接口请求完成事件
|
|
331
|
+
_d.sent();
|
|
332
|
+
if (result === null || result === void 0 ? void 0 : result.ok) {
|
|
333
|
+
this.initInterval(result);
|
|
334
|
+
store.reset(undefined, false);
|
|
335
|
+
}
|
|
336
|
+
return [3 /*break*/, 4];
|
|
337
|
+
case 3:
|
|
338
|
+
store.reset(undefined, false);
|
|
339
|
+
_d.label = 4;
|
|
340
|
+
case 4: return [2 /*return*/];
|
|
341
|
+
}
|
|
342
|
+
});
|
|
343
|
+
});
|
|
308
344
|
};
|
|
309
345
|
Form.prototype.receive = function (values, name, replace) {
|
|
310
346
|
var store = this.props.store;
|
|
311
347
|
store.updateData(values, undefined, replace);
|
|
312
|
-
this.reload();
|
|
348
|
+
return this.reload();
|
|
313
349
|
};
|
|
314
350
|
Form.prototype.silentReload = function (target, query) {
|
|
315
351
|
this.reload(target, query, undefined, true);
|
|
@@ -317,7 +353,8 @@ var Form = /** @class */ (function (_super) {
|
|
|
317
353
|
Form.prototype.initInterval = function (value) {
|
|
318
354
|
var _a = this.props, interval = _a.interval, silentPolling = _a.silentPolling, stopAutoRefreshWhen = _a.stopAutoRefreshWhen, data = _a.data;
|
|
319
355
|
clearTimeout(this.timer);
|
|
320
|
-
|
|
356
|
+
(value === null || value === void 0 ? void 0 : value.ok) &&
|
|
357
|
+
interval &&
|
|
321
358
|
this.mounted &&
|
|
322
359
|
(!stopAutoRefreshWhen || !tpl.evalExpression(stopAutoRefreshWhen, data)) &&
|
|
323
360
|
(this.timer = setTimeout(silentPolling ? this.silentReload : this.reload, Math.max(interval, 1000)));
|
|
@@ -326,11 +363,12 @@ var Form = /** @class */ (function (_super) {
|
|
|
326
363
|
Form.prototype.isValidated = function () {
|
|
327
364
|
return this.props.store.validated;
|
|
328
365
|
};
|
|
329
|
-
Form.prototype.validate = function (forceValidate) {
|
|
330
|
-
|
|
366
|
+
Form.prototype.validate = function (forceValidate, throwErrors) {
|
|
367
|
+
if (throwErrors === void 0) { throwErrors = false; }
|
|
368
|
+
var _a = this.props, store = _a.store, dispatchEvent = _a.dispatchEvent, data = _a.data, messages = _a.messages, __ = _a.translate;
|
|
331
369
|
this.flush();
|
|
332
370
|
return store
|
|
333
|
-
.validate(this.hooks['validate'] || [], forceValidate)
|
|
371
|
+
.validate(this.hooks['validate'] || [], forceValidate, throwErrors, __(messages && messages.validateFailed))
|
|
334
372
|
.then(function (result) {
|
|
335
373
|
if (result) {
|
|
336
374
|
dispatchEvent('validateSucc', data);
|
|
@@ -360,11 +398,12 @@ var Form = /** @class */ (function (_super) {
|
|
|
360
398
|
this.flush();
|
|
361
399
|
store.setValues(value, undefined, replace);
|
|
362
400
|
};
|
|
363
|
-
Form.prototype.submit = function (fn) {
|
|
401
|
+
Form.prototype.submit = function (fn, throwErrors) {
|
|
402
|
+
if (throwErrors === void 0) { throwErrors = false; }
|
|
364
403
|
var _a = this.props, store = _a.store, messages = _a.messages, __ = _a.translate, dispatchEvent = _a.dispatchEvent, data = _a.data;
|
|
365
404
|
this.flush();
|
|
366
405
|
var validateErrCb = function () { return dispatchEvent('validateError', data); };
|
|
367
|
-
return store.submit(fn, this.hooks['validate'] || [], __(messages && messages.validateFailed), validateErrCb);
|
|
406
|
+
return store.submit(fn, this.hooks['validate'] || [], __(messages && messages.validateFailed), validateErrCb, throwErrors);
|
|
368
407
|
};
|
|
369
408
|
// 如果开启了 lazyChange,需要一个 flush 方法把队列中值应用上。
|
|
370
409
|
Form.prototype.flush = function () {
|
|
@@ -453,27 +492,29 @@ var Form = /** @class */ (function (_super) {
|
|
|
453
492
|
};
|
|
454
493
|
Form.prototype.handleBulkChange = function (values, submit) {
|
|
455
494
|
var _a = this.props; _a.onChange; var store = _a.store, formLazyChange = _a.formLazyChange;
|
|
456
|
-
store.
|
|
457
|
-
store.
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
}
|
|
495
|
+
store.setValues(values);
|
|
496
|
+
// store.updateData(values);
|
|
497
|
+
// store.items.forEach(formItem => {
|
|
498
|
+
// const updatedValue = getVariable(values, formItem.name, false);
|
|
499
|
+
// if (updatedValue !== undefined) {
|
|
500
|
+
// // 更新验证状态但保留错误信息
|
|
501
|
+
// formItem.reset(true);
|
|
502
|
+
// // 这里需要更新value,否则提交时不会使用新的字段值校验
|
|
503
|
+
// formItem.changeTmpValue(updatedValue);
|
|
504
|
+
// formItem.validateOnChange && formItem.validate(values);
|
|
505
|
+
// }
|
|
506
|
+
// });
|
|
467
507
|
(formLazyChange === false ? this.emitChange : this.lazyEmitChange)(submit);
|
|
468
508
|
};
|
|
469
509
|
Form.prototype.handleFormSubmit = function (e) {
|
|
470
|
-
var _a = this.props, preventEnterSubmit = _a.preventEnterSubmit, onActionSensor = _a.onActionSensor;
|
|
510
|
+
var _a = this.props, preventEnterSubmit = _a.preventEnterSubmit, onActionSensor = _a.onActionSensor, close = _a.close;
|
|
471
511
|
e.preventDefault();
|
|
472
512
|
if (preventEnterSubmit) {
|
|
473
513
|
return false;
|
|
474
514
|
}
|
|
475
515
|
var sensor = this.handleAction(e, {
|
|
476
|
-
type: 'submit'
|
|
516
|
+
type: 'submit',
|
|
517
|
+
close: close
|
|
477
518
|
}, this.props.store.data);
|
|
478
519
|
// 让外层可以监控这个动作执行结果
|
|
479
520
|
onActionSensor === null || onActionSensor === void 0 ? void 0 : onActionSensor(sensor);
|
|
@@ -564,7 +605,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
564
605
|
_this.reloadTarget(Scoped.filterTarget(action.target, values), values);
|
|
565
606
|
}
|
|
566
607
|
else if (action.actionType === 'dialog') {
|
|
567
|
-
store.openDialog(data);
|
|
608
|
+
store.openDialog(data, undefined, action.callback, delegate || _this.context);
|
|
568
609
|
}
|
|
569
610
|
else if (action.actionType === 'drawer') {
|
|
570
611
|
store.openDrawer(data);
|
|
@@ -638,7 +679,10 @@ var Form = /** @class */ (function (_super) {
|
|
|
638
679
|
throw new helper.SkipOperation();
|
|
639
680
|
}
|
|
640
681
|
_a.label = 2;
|
|
641
|
-
case 2: return [2 /*return
|
|
682
|
+
case 2: return [2 /*return*/, object.injectObjectChain(store.data, {
|
|
683
|
+
__payload: values,
|
|
684
|
+
__response: response
|
|
685
|
+
})];
|
|
642
686
|
}
|
|
643
687
|
});
|
|
644
688
|
}); });
|
|
@@ -648,7 +692,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
648
692
|
dispatchEvent_1('submitSucc', object.createObject(_this.props.data, values));
|
|
649
693
|
}
|
|
650
694
|
return Promise.resolve(null);
|
|
651
|
-
})
|
|
695
|
+
}, throwErrors)
|
|
652
696
|
.then(function (values) {
|
|
653
697
|
// 有可能 onSubmit return false 了,那么后面的就不应该再执行了。
|
|
654
698
|
if (values === false) {
|
|
@@ -687,11 +731,11 @@ var Form = /** @class */ (function (_super) {
|
|
|
687
731
|
}
|
|
688
732
|
else if (action.actionType === 'validate') {
|
|
689
733
|
store.setCurrentAction(action);
|
|
690
|
-
this.validate(true);
|
|
734
|
+
return [2 /*return*/, this.validate(true, throwErrors)];
|
|
691
735
|
}
|
|
692
736
|
else if (action.actionType === 'dialog') {
|
|
693
737
|
store.setCurrentAction(action);
|
|
694
|
-
store.openDialog(data);
|
|
738
|
+
store.openDialog(data, undefined, action.callback, delegate || this.context);
|
|
695
739
|
}
|
|
696
740
|
else if (action.actionType === 'drawer') {
|
|
697
741
|
store.setCurrentAction(action);
|
|
@@ -764,12 +808,21 @@ var Form = /** @class */ (function (_super) {
|
|
|
764
808
|
});
|
|
765
809
|
};
|
|
766
810
|
Form.prototype.handleQuery = function (query) {
|
|
767
|
-
var _a, _b;
|
|
768
811
|
if (this.props.initApi) {
|
|
812
|
+
// 如果是分页动作,则看接口里面有没有用,没用则 return false
|
|
813
|
+
// 让组件自己去排序
|
|
814
|
+
if ((query === null || query === void 0 ? void 0 : query.hasOwnProperty('orderBy')) &&
|
|
815
|
+
!api.isApiOutdated(this.props.initApi, this.props.initApi, this.props.store.data, object.createObject(this.props.store.data, query))) {
|
|
816
|
+
return false;
|
|
817
|
+
}
|
|
769
818
|
this.receive(query);
|
|
819
|
+
return;
|
|
820
|
+
}
|
|
821
|
+
if (this.props.onQuery) {
|
|
822
|
+
return this.props.onQuery(query);
|
|
770
823
|
}
|
|
771
824
|
else {
|
|
772
|
-
|
|
825
|
+
return false;
|
|
773
826
|
}
|
|
774
827
|
};
|
|
775
828
|
Form.prototype.handleDialogConfirm = function (values, action, ctx, targets) {
|
|
@@ -823,7 +876,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
823
876
|
});
|
|
824
877
|
store.openDialog(ctx, undefined, function (confirmed) {
|
|
825
878
|
resolve(confirmed);
|
|
826
|
-
});
|
|
879
|
+
}, _this.context);
|
|
827
880
|
});
|
|
828
881
|
};
|
|
829
882
|
Form.prototype.buildActions = function () {
|
|
@@ -895,9 +948,9 @@ var Form = /** @class */ (function (_super) {
|
|
|
895
948
|
return null;
|
|
896
949
|
}
|
|
897
950
|
var cx_1 = this.props.classnames;
|
|
898
|
-
return (
|
|
951
|
+
return (_J$X_("div", { className: cx_1('Form-row') }, children.map(function (control, key) {
|
|
899
952
|
return ~['hidden', 'formula'].indexOf(control.type) ||
|
|
900
|
-
control.mode === 'inline' ? (_this.renderChild(control, key, otherProps)) : (
|
|
953
|
+
control.mode === 'inline' ? (_this.renderChild(control, key, otherProps)) : (_J$X_("div", { key: key, className: cx_1("Form-col", control.columnClassName) }, _this.renderChild(control, '', tslib.__assign(tslib.__assign({}, otherProps), { mode: 'row' }))));
|
|
901
954
|
})));
|
|
902
955
|
}
|
|
903
956
|
return children.map(function (control, key) {
|
|
@@ -919,7 +972,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
919
972
|
}
|
|
920
973
|
var props = tslib.__assign(tslib.__assign({}, this.props), otherProps);
|
|
921
974
|
var form = this.props.store;
|
|
922
|
-
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;
|
|
975
|
+
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;
|
|
923
976
|
var subProps = tslib.__assign(tslib.__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,
|
|
924
977
|
/**
|
|
925
978
|
* form.loading有为true时才下发disabled属性,否则不显性设置disbaled为false
|
|
@@ -942,18 +995,11 @@ var Form = /** @class */ (function (_super) {
|
|
|
942
995
|
(/(?:\/|^)form\//.test($path) ? 'div' : 'form');
|
|
943
996
|
var padDom = helper.repeatCount(columnCount && Array.isArray(body)
|
|
944
997
|
? columnCount - (body.length % columnCount)
|
|
945
|
-
: 0, function (index) { return (
|
|
946
|
-
return (
|
|
947
|
-
|
|
998
|
+
: 0, function (index) { return (_J$X_("div", { className: cx("Form-item Form-item--".concat(mode, " is-placeholder")), key: index })); });
|
|
999
|
+
return (_J$X_(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 },
|
|
1000
|
+
_J$X_("input", { type: "submit", style: { display: 'none' } }),
|
|
948
1001
|
debug
|
|
949
|
-
? render('form-debug-json',
|
|
950
|
-
type: 'json',
|
|
951
|
-
value: store.data,
|
|
952
|
-
ellipsisThreshold: 120,
|
|
953
|
-
className: cx('Form--debug')
|
|
954
|
-
},
|
|
955
|
-
/** 定制debug输出格式 */
|
|
956
|
-
object.isObject(debugConfig) ? debugConfig : {}))
|
|
1002
|
+
? render('form-debug-json', tslib.__assign({ type: 'json', value: store.data, ellipsisThreshold: 120, className: cx('Form--debug') }, debugConfig))
|
|
957
1003
|
: null,
|
|
958
1004
|
render('spinner', { type: 'spinner' }, {
|
|
959
1005
|
overlay: true,
|
|
@@ -964,7 +1010,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
964
1010
|
body: body
|
|
965
1011
|
}),
|
|
966
1012
|
padDom,
|
|
967
|
-
restError && restError.length ? (
|
|
1013
|
+
restError && restError.length ? (_J$X_("ul", { className: cx('Form-restError', 'Form-feedback') }, restError.map(function (item, idx) { return (_J$X_("li", { key: idx }, item)); }))) : null,
|
|
968
1014
|
render('modal', tslib.__assign(tslib.__assign({}, (store.action &&
|
|
969
1015
|
store.action.dialog)), { type: 'dialog' }), {
|
|
970
1016
|
key: 'dialog',
|
|
@@ -1009,7 +1055,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
1009
1055
|
});
|
|
1010
1056
|
}
|
|
1011
1057
|
if (lazyLoad) {
|
|
1012
|
-
body =
|
|
1058
|
+
body = _J$X_(LazyComponent["default"], null, body);
|
|
1013
1059
|
}
|
|
1014
1060
|
return body;
|
|
1015
1061
|
};
|
|
@@ -1153,57 +1199,70 @@ var FormRenderer = /** @class */ (function (_super) {
|
|
|
1153
1199
|
scoped.close(target);
|
|
1154
1200
|
};
|
|
1155
1201
|
FormRenderer.prototype.reload = function (target, query, ctx, silent, replace) {
|
|
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
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1202
|
+
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
1203
|
+
var scoped, subPath, idx, subQuery, idx2, component, components;
|
|
1204
|
+
return tslib.__generator(this, function (_a) {
|
|
1205
|
+
switch (_a.label) {
|
|
1206
|
+
case 0:
|
|
1207
|
+
if (query) {
|
|
1208
|
+
return [2 /*return*/, this.receive(query, undefined, replace)];
|
|
1209
|
+
}
|
|
1210
|
+
scoped = this.context;
|
|
1211
|
+
subPath = '';
|
|
1212
|
+
subQuery = null;
|
|
1213
|
+
if (target && ~(idx = target.indexOf('.'))) {
|
|
1214
|
+
subPath = target.substring(idx + 1);
|
|
1215
|
+
target = target.substring(0, idx);
|
|
1216
|
+
}
|
|
1217
|
+
idx2 = target ? target.indexOf('?') : -1;
|
|
1218
|
+
if (~idx2) {
|
|
1219
|
+
subQuery = dataMapping.dataMapping(helper.qsparse(target.substring(idx2 + 1)), ctx);
|
|
1220
|
+
target = target.substring(0, idx2);
|
|
1221
|
+
}
|
|
1222
|
+
if (!(target &&
|
|
1223
|
+
(component = scoped.getComponentByName(target)) &&
|
|
1224
|
+
component.reload)) return [3 /*break*/, 1];
|
|
1225
|
+
component.reload(subPath, subQuery, ctx);
|
|
1226
|
+
return [3 /*break*/, 4];
|
|
1227
|
+
case 1:
|
|
1228
|
+
if (!(target === '*')) return [3 /*break*/, 3];
|
|
1229
|
+
return [4 /*yield*/, _super.prototype.reload.call(this, target, query, ctx, silent)];
|
|
1230
|
+
case 2:
|
|
1231
|
+
_a.sent();
|
|
1232
|
+
components = scoped.getComponents();
|
|
1233
|
+
components.forEach(function (component) {
|
|
1234
|
+
return component.reload && component.reload('', subQuery, ctx);
|
|
1235
|
+
});
|
|
1236
|
+
return [3 /*break*/, 4];
|
|
1237
|
+
case 3: return [2 /*return*/, _super.prototype.reload.call(this, target, query, ctx, silent)];
|
|
1238
|
+
case 4: return [2 /*return*/];
|
|
1239
|
+
}
|
|
1183
1240
|
});
|
|
1184
|
-
}
|
|
1185
|
-
else {
|
|
1186
|
-
_super.prototype.reload.call(this, target, query, ctx, silent);
|
|
1187
|
-
}
|
|
1241
|
+
});
|
|
1188
1242
|
};
|
|
1189
1243
|
FormRenderer.prototype.receive = function (values, name, replace) {
|
|
1190
|
-
|
|
1191
|
-
var scoped
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1244
|
+
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
1245
|
+
var scoped, idx, subPath, component;
|
|
1246
|
+
return tslib.__generator(this, function (_a) {
|
|
1247
|
+
if (name) {
|
|
1248
|
+
scoped = this.context;
|
|
1249
|
+
idx = name.indexOf('.');
|
|
1250
|
+
subPath = '';
|
|
1251
|
+
if (~idx) {
|
|
1252
|
+
subPath = name.substring(1 + idx);
|
|
1253
|
+
name = name.substring(0, idx);
|
|
1254
|
+
}
|
|
1255
|
+
component = scoped.getComponentByName(name);
|
|
1256
|
+
component && component.receive && component.receive(values, subPath);
|
|
1257
|
+
return [2 /*return*/];
|
|
1258
|
+
}
|
|
1259
|
+
return [2 /*return*/, _super.prototype.receive.call(this, values, undefined, replace)];
|
|
1260
|
+
});
|
|
1261
|
+
});
|
|
1203
1262
|
};
|
|
1204
1263
|
FormRenderer.prototype.setData = function (values, replace) {
|
|
1205
1264
|
var _a = this.props, onChange = _a.onChange, store = _a.store;
|
|
1206
|
-
_super.prototype.setValues.call(this, values);
|
|
1265
|
+
_super.prototype.setValues.call(this, values, replace);
|
|
1207
1266
|
// 触发表单change
|
|
1208
1267
|
onChange &&
|
|
1209
1268
|
onChange(store.data, helper.difference(store.data, store.pristine), this.props);
|