amis-core 3.5.2 → 3.6.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 +2 -2
- package/esm/SchemaRenderer.js +1 -1
- package/esm/Scoped.d.ts +2 -0
- package/esm/Scoped.js +49 -7
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +27 -12
- package/esm/actions/Action.js +30 -22
- package/esm/actions/AjaxAction.js +2 -2
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.js +1 -1
- package/esm/actions/CmptAction.js +31 -32
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +3 -3
- package/esm/actions/CustomAction.js +1 -1
- package/esm/actions/DialogAction.js +1 -1
- package/esm/actions/DrawerAction.js +1 -1
- package/esm/actions/EmailAction.js +1 -1
- package/esm/actions/LinkAction.js +5 -5
- 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.js +1 -1
- package/esm/actions/SwitchAction.js +1 -1
- package/esm/actions/ToastAction.js +3 -3
- package/esm/components/CustomStyle.js +1 -1
- package/esm/components/ErrorBoundary.d.ts +20 -0
- package/esm/components/ErrorBoundary.js +41 -0
- package/esm/components/LazyComponent.js +1 -1
- package/esm/components/Overlay.js +1 -1
- package/esm/components/PopOver.d.ts +4 -0
- package/esm/components/PopOver.js +66 -3
- package/esm/env.d.ts +9 -0
- package/esm/env.js +1 -1
- package/esm/envOverwrite.d.ts +1 -1
- package/esm/envOverwrite.js +15 -35
- package/esm/factory.js +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.js +5 -4
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +10 -4
- package/esm/renderers/Form.js +64 -32
- package/esm/renderers/Item.d.ts +54 -0
- package/esm/renderers/Item.js +1 -1
- package/esm/renderers/Options.d.ts +5 -1
- package/esm/renderers/Options.js +11 -9
- 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 +10 -17
- package/esm/store/app.js +1 -1
- package/esm/store/combo.d.ts +1154 -48
- package/esm/store/combo.js +10 -3
- package/esm/store/crud.d.ts +9 -1
- package/esm/store/crud.js +50 -15
- package/esm/store/form.d.ts +480 -20
- package/esm/store/form.js +1 -1
- package/esm/store/formItem.d.ts +23 -1
- package/esm/store/formItem.js +103 -15
- package/esm/store/iRenderer.js +1 -1
- 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 +1 -1
- package/esm/store/service.js +1 -1
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +1078 -42
- package/esm/store/table.js +64 -6
- package/esm/store/table2.js +1 -4
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +8 -2
- 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 +3 -1
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/columnsSplit.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.js +1 -1
- package/esm/utils/errors.js +1 -1
- package/esm/utils/escapeHtml.js +1 -1
- package/esm/utils/filter-schema.d.ts +2 -1
- package/esm/utils/filter-schema.js +14 -5
- package/esm/utils/filter.js +1 -1
- package/esm/utils/formatDuration.js +1 -1
- package/esm/utils/formula.js +1 -1
- 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 +2 -2
- package/esm/utils/helper.js +37 -29
- 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/makeSorter.js +1 -1
- package/esm/utils/math.js +8 -5
- 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 +15 -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/renderer-event.d.ts +7 -0
- package/esm/utils/renderer-event.js +30 -18
- 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 +12 -15
- package/esm/utils/style.js +3 -2
- 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 +1 -1
- package/lib/RootRenderer.d.ts +1 -1
- package/lib/RootRenderer.js +2 -2
- package/lib/SchemaRenderer.js +1 -1
- package/lib/Scoped.d.ts +2 -0
- package/lib/Scoped.js +48 -6
- package/lib/StatusScoped.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +26 -11
- package/lib/actions/Action.js +29 -21
- package/lib/actions/AjaxAction.js +2 -2
- package/lib/actions/BreakAction.js +1 -1
- package/lib/actions/BroadcastAction.js +1 -1
- package/lib/actions/CmptAction.js +31 -32
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +3 -3
- package/lib/actions/CustomAction.js +1 -1
- package/lib/actions/DialogAction.js +1 -1
- package/lib/actions/DrawerAction.js +1 -1
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/LinkAction.js +5 -5
- 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.js +1 -1
- package/lib/actions/SwitchAction.js +1 -1
- package/lib/actions/ToastAction.js +3 -3
- package/lib/components/CustomStyle.js +1 -1
- package/lib/components/ErrorBoundary.d.ts +20 -0
- package/lib/components/ErrorBoundary.js +52 -0
- package/lib/components/LazyComponent.js +1 -1
- package/lib/components/Overlay.js +1 -1
- package/lib/components/PopOver.d.ts +4 -0
- package/lib/components/PopOver.js +64 -1
- package/lib/env.d.ts +9 -0
- package/lib/env.js +1 -1
- package/lib/envOverwrite.d.ts +1 -1
- package/lib/envOverwrite.js +18 -34
- package/lib/factory.js +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +6 -3
- package/lib/locale.js +1 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +10 -4
- package/lib/renderers/Form.js +64 -32
- package/lib/renderers/Item.d.ts +54 -0
- package/lib/renderers/Item.js +1 -1
- package/lib/renderers/Options.d.ts +5 -1
- package/lib/renderers/Options.js +11 -9
- 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 +10 -17
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +1154 -49
- package/lib/store/combo.js +10 -3
- package/lib/store/crud.d.ts +9 -1
- package/lib/store/crud.js +50 -15
- package/lib/store/form.d.ts +480 -21
- package/lib/store/form.js +1 -1
- package/lib/store/formItem.d.ts +23 -1
- package/lib/store/formItem.js +104 -15
- package/lib/store/iRenderer.js +1 -1
- 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 +1 -1
- package/lib/store/service.js +1 -1
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +1078 -43
- package/lib/store/table.js +63 -5
- package/lib/store/table2.js +1 -4
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +8 -2
- 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 +3 -1
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/columnsSplit.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.js +1 -1
- package/lib/utils/errors.js +1 -1
- package/lib/utils/escapeHtml.js +1 -1
- package/lib/utils/filter-schema.d.ts +2 -1
- package/lib/utils/filter-schema.js +14 -4
- package/lib/utils/filter.js +1 -1
- package/lib/utils/formatDuration.js +1 -1
- package/lib/utils/formula.js +1 -1
- 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 +2 -2
- package/lib/utils/helper.js +36 -28
- 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/makeSorter.js +1 -1
- package/lib/utils/math.js +8 -5
- 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 +15 -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/renderer-event.d.ts +7 -0
- package/lib/utils/renderer-event.js +30 -18
- 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 +12 -15
- package/lib/utils/style.js +3 -2
- 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 +3 -3
package/esm/renderers/Form.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.6.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -49,7 +49,7 @@ import 'uncontrollable';
|
|
|
49
49
|
import 'hoist-non-react-statics';
|
|
50
50
|
import '../utils/validations.js';
|
|
51
51
|
import '../utils/resolveCondition.js';
|
|
52
|
-
import 'mobx';
|
|
52
|
+
import { reaction } from 'mobx';
|
|
53
53
|
import '../utils/Animation.js';
|
|
54
54
|
|
|
55
55
|
var Form = /** @class */ (function (_super) {
|
|
@@ -57,6 +57,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
57
57
|
function Form(props) {
|
|
58
58
|
var _this = _super.call(this, props) || this;
|
|
59
59
|
_this.hooks = {};
|
|
60
|
+
_this.toDispose = [];
|
|
60
61
|
_this.shouldLoadInitApi = false;
|
|
61
62
|
_this.lazyEmitChange = debounce(_this.emitChange.bind(_this), 250, {
|
|
62
63
|
trailing: true,
|
|
@@ -100,16 +101,23 @@ var Form = /** @class */ (function (_super) {
|
|
|
100
101
|
return form.items.forEach(function (item) { return item.unique && item.syncOptions(undefined, form.data); });
|
|
101
102
|
});
|
|
102
103
|
}
|
|
104
|
+
// withStore 里面与上层数据会做同步
|
|
105
|
+
// 这个时候变更的数据没有同步 onChange 出去,出现数据不一致的问题。
|
|
106
|
+
// https://github.com/baidu/amis/issues/8773
|
|
107
|
+
_this.toDispose.push(reaction(function () { return store.initedAt; }, function () {
|
|
108
|
+
store.inited && _this.emitChange(!!_this.props.submitOnChange, true);
|
|
109
|
+
}));
|
|
103
110
|
return _this;
|
|
104
111
|
}
|
|
105
112
|
Form.prototype.componentDidMount = function () {
|
|
106
113
|
var _this = this;
|
|
107
114
|
var _a, _b;
|
|
108
|
-
var _c = this.props, initApi = _c.initApi, initFetch = _c.initFetch, initFetchOn = _c.initFetchOn, initAsyncApi = _c.initAsyncApi, initFinishedField = _c.initFinishedField, initCheckInterval = _c.initCheckInterval, store = _c.store, _d = _c.messages, fetchSuccess = _d.fetchSuccess, fetchFailed = _d.fetchFailed, onValidate = _c.onValidate,
|
|
115
|
+
var _c = this.props, initApi = _c.initApi, initFetch = _c.initFetch, initFetchOn = _c.initFetchOn, initAsyncApi = _c.initAsyncApi, initFinishedField = _c.initFinishedField, initCheckInterval = _c.initCheckInterval, store = _c.store, _d = _c.messages, fetchSuccess = _d.fetchSuccess, fetchFailed = _d.fetchFailed, onValidate = _c.onValidate, onValidChange = _c.onValidChange, promptPageLeave = _c.promptPageLeave, env = _c.env;
|
|
116
|
+
var rules = this.getNormalizedRules();
|
|
109
117
|
this.mounted = true;
|
|
110
118
|
if (onValidate) {
|
|
111
119
|
var finalValidate_1 = promisify(onValidate);
|
|
112
|
-
this.
|
|
120
|
+
this.toDispose.push(this.addHook(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
113
121
|
var result;
|
|
114
122
|
return __generator(this, function (_a) {
|
|
115
123
|
switch (_a.label) {
|
|
@@ -139,10 +147,14 @@ var Form = /** @class */ (function (_super) {
|
|
|
139
147
|
return [2 /*return*/];
|
|
140
148
|
}
|
|
141
149
|
});
|
|
142
|
-
}); });
|
|
150
|
+
}); }));
|
|
143
151
|
}
|
|
144
|
-
|
|
145
|
-
|
|
152
|
+
// 表单校验结果发生变化时,触发 onValidChange
|
|
153
|
+
if (onValidChange) {
|
|
154
|
+
this.toDispose.push(reaction(function () { return store.valid; }, function (valid) { return onValidChange(valid, _this.props); }));
|
|
155
|
+
}
|
|
156
|
+
if (rules.length) {
|
|
157
|
+
this.toDispose.push(this.addHook(function () {
|
|
146
158
|
if (!store.valid) {
|
|
147
159
|
return;
|
|
148
160
|
}
|
|
@@ -150,7 +162,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
150
162
|
return !evalExpression(item.rule, store.data) &&
|
|
151
163
|
store.addRestError(item.message, item.name);
|
|
152
164
|
});
|
|
153
|
-
});
|
|
165
|
+
}));
|
|
154
166
|
}
|
|
155
167
|
if (isEffectiveApi(initApi, store.data, initFetch, initFetchOn)) {
|
|
156
168
|
store
|
|
@@ -198,11 +210,23 @@ var Form = /** @class */ (function (_super) {
|
|
|
198
210
|
// this.lazyHandleChange.flush();
|
|
199
211
|
this.lazyEmitChange.cancel();
|
|
200
212
|
this.asyncCancel && this.asyncCancel();
|
|
201
|
-
this.
|
|
202
|
-
this.
|
|
213
|
+
this.toDispose.forEach(function (fn) { return fn(); });
|
|
214
|
+
this.toDispose = [];
|
|
203
215
|
window.removeEventListener('beforeunload', this.beforePageUnload);
|
|
204
216
|
(_a = this.unBlockRouting) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
205
217
|
};
|
|
218
|
+
/** 获取表单联合校验的规则 */
|
|
219
|
+
Form.prototype.getNormalizedRules = function () {
|
|
220
|
+
var _a = this.props, rules = _a.rules, __ = _a.translate;
|
|
221
|
+
if (!Array.isArray(rules) || rules.length < 1) {
|
|
222
|
+
return [];
|
|
223
|
+
}
|
|
224
|
+
return rules
|
|
225
|
+
.map(function (item) { return (__assign(__assign({}, item), (!item.message || typeof item.message !== 'string'
|
|
226
|
+
? { message: __('Form.rules.message') }
|
|
227
|
+
: {}))); })
|
|
228
|
+
.filter(function (item) { return item.rule && typeof item.rule === 'string'; });
|
|
229
|
+
};
|
|
206
230
|
Form.prototype.dispatchInited = function (value) {
|
|
207
231
|
var _a;
|
|
208
232
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -350,22 +374,27 @@ var Form = /** @class */ (function (_super) {
|
|
|
350
374
|
Form.prototype.isValidated = function () {
|
|
351
375
|
return this.props.store.validated;
|
|
352
376
|
};
|
|
353
|
-
Form.prototype.validate = function (forceValidate, throwErrors) {
|
|
377
|
+
Form.prototype.validate = function (forceValidate, throwErrors, toastErrors) {
|
|
354
378
|
if (throwErrors === void 0) { throwErrors = false; }
|
|
355
|
-
|
|
356
|
-
this
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
379
|
+
if (toastErrors === void 0) { toastErrors = true; }
|
|
380
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
381
|
+
var _a, store, dispatchEvent, data, messages, __, result;
|
|
382
|
+
return __generator(this, function (_b) {
|
|
383
|
+
switch (_b.label) {
|
|
384
|
+
case 0:
|
|
385
|
+
_a = this.props, store = _a.store, dispatchEvent = _a.dispatchEvent, data = _a.data, messages = _a.messages, __ = _a.translate;
|
|
386
|
+
this.flush();
|
|
387
|
+
return [4 /*yield*/, store.validate(this.hooks['validate'] || [], forceValidate, throwErrors, toastErrors === false
|
|
388
|
+
? ''
|
|
389
|
+
: typeof (messages === null || messages === void 0 ? void 0 : messages.validateFailed) === 'string'
|
|
390
|
+
? __(filter(messages.validateFailed, store.data))
|
|
391
|
+
: undefined)];
|
|
392
|
+
case 1:
|
|
393
|
+
result = _b.sent();
|
|
394
|
+
dispatchEvent(result ? 'validateSucc' : 'validateError', data);
|
|
395
|
+
return [2 /*return*/, result];
|
|
396
|
+
}
|
|
397
|
+
});
|
|
369
398
|
});
|
|
370
399
|
};
|
|
371
400
|
Form.prototype.setErrors = function (errors, tag) {
|
|
@@ -449,9 +478,10 @@ var Form = /** @class */ (function (_super) {
|
|
|
449
478
|
var dispatchEvent = this.props.dispatchEvent;
|
|
450
479
|
return dispatchEvent(type, data);
|
|
451
480
|
};
|
|
452
|
-
Form.prototype.emitChange = function (submit) {
|
|
481
|
+
Form.prototype.emitChange = function (submit, skipIfNothingChanges) {
|
|
482
|
+
if (skipIfNothingChanges === void 0) { skipIfNothingChanges = false; }
|
|
453
483
|
return __awaiter(this, void 0, void 0, function () {
|
|
454
|
-
var _a, onChange, store, submitOnChange, dispatchEvent, data, changeProps, dispatcher;
|
|
484
|
+
var _a, onChange, store, submitOnChange, dispatchEvent, data, diff, changeProps, dispatcher;
|
|
455
485
|
return __generator(this, function (_b) {
|
|
456
486
|
switch (_b.label) {
|
|
457
487
|
case 0:
|
|
@@ -459,11 +489,11 @@ var Form = /** @class */ (function (_super) {
|
|
|
459
489
|
if (!isAlive(store)) {
|
|
460
490
|
return [2 /*return*/];
|
|
461
491
|
}
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
];
|
|
492
|
+
diff = difference(store.data, store.pristine);
|
|
493
|
+
if (skipIfNothingChanges && !Object.keys(diff).length) {
|
|
494
|
+
return [2 /*return*/];
|
|
495
|
+
}
|
|
496
|
+
changeProps = [store.data, diff, this.props];
|
|
467
497
|
return [4 /*yield*/, dispatchEvent('change', createObject(data, store.data))];
|
|
468
498
|
case 1:
|
|
469
499
|
dispatcher = _b.sent();
|
|
@@ -1140,6 +1170,8 @@ var Form = /** @class */ (function (_super) {
|
|
|
1140
1170
|
'onChange',
|
|
1141
1171
|
'onFailed',
|
|
1142
1172
|
'onFinished',
|
|
1173
|
+
'onValidate',
|
|
1174
|
+
'onValidChange',
|
|
1143
1175
|
'onSaved',
|
|
1144
1176
|
'canAccessSuperData',
|
|
1145
1177
|
'lazyChange',
|
package/esm/renderers/Item.d.ts
CHANGED
|
@@ -515,6 +515,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
515
515
|
onChildStoreDispose(child: any): void;
|
|
516
516
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
517
517
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
518
|
+
/**
|
|
519
|
+
* 配置当前表单项展示模式
|
|
520
|
+
*/
|
|
518
521
|
addChildId: (id: string) => void;
|
|
519
522
|
removeChildId: (id: string) => void;
|
|
520
523
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -533,9 +536,15 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
533
536
|
onChildStoreDispose(child: any): void;
|
|
534
537
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
535
538
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
539
|
+
/**
|
|
540
|
+
* 配置当前表单项展示模式
|
|
541
|
+
*/
|
|
536
542
|
addChildId: (id: string) => void;
|
|
537
543
|
removeChildId: (id: string) => void;
|
|
538
544
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
545
|
+
/**
|
|
546
|
+
* @deprecated 用 description 代替
|
|
547
|
+
*/
|
|
539
548
|
readonly stores: {
|
|
540
549
|
[propName: string]: {
|
|
541
550
|
id: string;
|
|
@@ -553,6 +562,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
553
562
|
onChildStoreDispose(child: any): void;
|
|
554
563
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
555
564
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
565
|
+
/**
|
|
566
|
+
* 配置当前表单项展示模式
|
|
567
|
+
*/
|
|
556
568
|
addChildId: (id: string) => void;
|
|
557
569
|
removeChildId: (id: string) => void;
|
|
558
570
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -571,6 +583,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
571
583
|
onChildStoreDispose(child: any): void;
|
|
572
584
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
573
585
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
586
|
+
/**
|
|
587
|
+
* 配置当前表单项展示模式
|
|
588
|
+
*/
|
|
574
589
|
addChildId: (id: string) => void;
|
|
575
590
|
removeChildId: (id: string) => void;
|
|
576
591
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
@@ -598,6 +613,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
598
613
|
onChildStoreDispose(child: any): void;
|
|
599
614
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
600
615
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
616
|
+
/**
|
|
617
|
+
* 配置当前表单项展示模式
|
|
618
|
+
*/
|
|
601
619
|
addChildId: (id: string) => void;
|
|
602
620
|
removeChildId: (id: string) => void;
|
|
603
621
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -616,6 +634,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
616
634
|
onChildStoreDispose(child: any): void;
|
|
617
635
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
618
636
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
637
|
+
/**
|
|
638
|
+
* 配置当前表单项展示模式
|
|
639
|
+
*/
|
|
619
640
|
addChildId: (id: string) => void;
|
|
620
641
|
removeChildId: (id: string) => void;
|
|
621
642
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
@@ -635,6 +656,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
635
656
|
onChildStoreDispose(child: any): void;
|
|
636
657
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
637
658
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
659
|
+
/**
|
|
660
|
+
* 配置当前表单项展示模式
|
|
661
|
+
*/
|
|
638
662
|
addChildId: (id: string) => void;
|
|
639
663
|
removeChildId: (id: string) => void;
|
|
640
664
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -653,6 +677,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
653
677
|
onChildStoreDispose(child: any): void;
|
|
654
678
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
655
679
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
680
|
+
/**
|
|
681
|
+
* 配置当前表单项展示模式
|
|
682
|
+
*/
|
|
656
683
|
addChildId: (id: string) => void;
|
|
657
684
|
removeChildId: (id: string) => void;
|
|
658
685
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
|
|
@@ -679,6 +706,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
679
706
|
onChildStoreDispose(child: any): void;
|
|
680
707
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
681
708
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
709
|
+
/**
|
|
710
|
+
* 配置当前表单项展示模式
|
|
711
|
+
*/
|
|
682
712
|
addChildId: (id: string) => void;
|
|
683
713
|
removeChildId: (id: string) => void;
|
|
684
714
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -697,9 +727,15 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
697
727
|
onChildStoreDispose(child: any): void;
|
|
698
728
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
699
729
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
730
|
+
/**
|
|
731
|
+
* 配置当前表单项展示模式
|
|
732
|
+
*/
|
|
700
733
|
addChildId: (id: string) => void;
|
|
701
734
|
removeChildId: (id: string) => void;
|
|
702
735
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
736
|
+
/**
|
|
737
|
+
* @deprecated 用 description 代替
|
|
738
|
+
*/
|
|
703
739
|
readonly stores: {
|
|
704
740
|
[propName: string]: {
|
|
705
741
|
id: string;
|
|
@@ -717,6 +753,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
717
753
|
onChildStoreDispose(child: any): void;
|
|
718
754
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
719
755
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
756
|
+
/**
|
|
757
|
+
* 配置当前表单项展示模式
|
|
758
|
+
*/
|
|
720
759
|
addChildId: (id: string) => void;
|
|
721
760
|
removeChildId: (id: string) => void;
|
|
722
761
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -735,6 +774,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
735
774
|
onChildStoreDispose(child: any): void;
|
|
736
775
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
737
776
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
777
|
+
/**
|
|
778
|
+
* 配置当前表单项展示模式
|
|
779
|
+
*/
|
|
738
780
|
addChildId: (id: string) => void;
|
|
739
781
|
removeChildId: (id: string) => void;
|
|
740
782
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
@@ -762,6 +804,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
762
804
|
onChildStoreDispose(child: any): void;
|
|
763
805
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
764
806
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
807
|
+
/**
|
|
808
|
+
* 配置当前表单项展示模式
|
|
809
|
+
*/
|
|
765
810
|
addChildId: (id: string) => void;
|
|
766
811
|
removeChildId: (id: string) => void;
|
|
767
812
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -780,6 +825,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
780
825
|
onChildStoreDispose(child: any): void;
|
|
781
826
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
782
827
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
828
|
+
/**
|
|
829
|
+
* 配置当前表单项展示模式
|
|
830
|
+
*/
|
|
783
831
|
addChildId: (id: string) => void;
|
|
784
832
|
removeChildId: (id: string) => void;
|
|
785
833
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
@@ -799,6 +847,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
799
847
|
onChildStoreDispose(child: any): void;
|
|
800
848
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
801
849
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
850
|
+
/**
|
|
851
|
+
* 配置当前表单项展示模式
|
|
852
|
+
*/
|
|
802
853
|
addChildId: (id: string) => void;
|
|
803
854
|
removeChildId: (id: string) => void;
|
|
804
855
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -817,6 +868,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
817
868
|
onChildStoreDispose(child: any): void;
|
|
818
869
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
819
870
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
871
|
+
/**
|
|
872
|
+
* 配置当前表单项展示模式
|
|
873
|
+
*/
|
|
820
874
|
addChildId: (id: string) => void;
|
|
821
875
|
removeChildId: (id: string) => void;
|
|
822
876
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
|
package/esm/renderers/Item.js
CHANGED
|
@@ -64,6 +64,10 @@ export interface FormOptionsControl extends FormBaseControl {
|
|
|
64
64
|
* @default ''
|
|
65
65
|
*/
|
|
66
66
|
resetValue?: string;
|
|
67
|
+
/**
|
|
68
|
+
* 懒加载字段
|
|
69
|
+
*/
|
|
70
|
+
deferField?: string;
|
|
67
71
|
/**
|
|
68
72
|
* 延时加载的 API,当选项中有 defer: true 的选项时,点开会通过此接口扩充。
|
|
69
73
|
*/
|
|
@@ -136,7 +140,7 @@ export interface OptionsControlProps extends FormControlProps, Omit<FormOptionsC
|
|
|
136
140
|
selectedOptions: Array<Option>;
|
|
137
141
|
setOptions: (value: Array<any>, skipNormalize?: boolean) => void;
|
|
138
142
|
setLoading: (value: boolean) => void;
|
|
139
|
-
reloadOptions: (setError?: boolean) => void;
|
|
143
|
+
reloadOptions: (setError?: boolean, isInit?: boolean, data?: Record<string, any>) => void;
|
|
140
144
|
deferLoad: (option: Option) => void;
|
|
141
145
|
leftDeferLoad: (option: Option, leftOptions: Option) => void;
|
|
142
146
|
expandTreeOptions: (nodePathArr: any[]) => void;
|
package/esm/renderers/Options.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.6.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -157,7 +157,7 @@ function registerOptionsControl(config) {
|
|
|
157
157
|
var prevOptions = resolveVariableAndFilter(prevProps.source, prevProps.data, '| raw');
|
|
158
158
|
var options = resolveVariableAndFilter(props.source, props.data, '| raw');
|
|
159
159
|
if (prevOptions !== options) {
|
|
160
|
-
formItem.
|
|
160
|
+
formItem.loadOptionsFromDataScope(props.source, props.data, this.changeOptionValue);
|
|
161
161
|
this.normalizeValue();
|
|
162
162
|
}
|
|
163
163
|
}
|
|
@@ -403,12 +403,13 @@ function registerOptionsControl(config) {
|
|
|
403
403
|
FormOptionsItem.prototype.reload = function () {
|
|
404
404
|
return this.reloadOptions();
|
|
405
405
|
};
|
|
406
|
-
FormOptionsItem.prototype.reloadOptions = function (setError, isInit) {
|
|
406
|
+
FormOptionsItem.prototype.reloadOptions = function (setError, isInit, data) {
|
|
407
407
|
if (isInit === void 0) { isInit = false; }
|
|
408
|
-
|
|
408
|
+
if (data === void 0) { data = this.props.data; }
|
|
409
|
+
var _a = this.props, source = _a.source, formItem = _a.formItem, onChange = _a.onChange, setPrinstineValue = _a.setPrinstineValue; _a.valueField;
|
|
409
410
|
if (formItem && isPureVariable(source)) {
|
|
410
411
|
isAlive(formItem) &&
|
|
411
|
-
formItem.
|
|
412
|
+
formItem.loadOptionsFromDataScope(source, data, this.changeOptionValue);
|
|
412
413
|
return;
|
|
413
414
|
}
|
|
414
415
|
else if (!formItem || !isEffectiveApi(source, data)) {
|
|
@@ -516,12 +517,12 @@ function registerOptionsControl(config) {
|
|
|
516
517
|
if (idx === void 0) { idx = -1; }
|
|
517
518
|
if (skipForm === void 0) { skipForm = false; }
|
|
518
519
|
return __awaiter(this, void 0, void 0, function () {
|
|
519
|
-
var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, model, createBtnLabel, env, __, parent, ctx, result, _d, payload, e_1, isPrevented, options;
|
|
520
|
+
var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, result, _d, payload, e_1, isPrevented, options;
|
|
520
521
|
var _e;
|
|
521
522
|
return __generator(this, function (_f) {
|
|
522
523
|
switch (_f.label) {
|
|
523
524
|
case 0:
|
|
524
|
-
_c = this.props, addControls = _c.addControls, addDialog = _c.addDialog, disabled = _c.disabled, labelField = _c.labelField, onOpenDialog = _c.onOpenDialog, optionLabel = _c.optionLabel, addApi = _c.addApi, source = _c.source, data = _c.data, valueField = _c.valueField, model = _c.formItem, createBtnLabel = _c.createBtnLabel, env = _c.env, __ = _c.translate;
|
|
525
|
+
_c = this.props, addControls = _c.addControls, addDialog = _c.addDialog, disabled = _c.disabled, labelField = _c.labelField, onOpenDialog = _c.onOpenDialog, optionLabel = _c.optionLabel, addApi = _c.addApi, source = _c.source, data = _c.data, valueField = _c.valueField, deferField = _c.deferField, model = _c.formItem, createBtnLabel = _c.createBtnLabel, env = _c.env, __ = _c.translate;
|
|
525
526
|
// 禁用或者没有配置 name
|
|
526
527
|
if (disabled || !model) {
|
|
527
528
|
return [2 /*return*/];
|
|
@@ -606,7 +607,8 @@ function registerOptionsControl(config) {
|
|
|
606
607
|
if (isPrevented) {
|
|
607
608
|
return [2 /*return*/];
|
|
608
609
|
}
|
|
609
|
-
if (!(parent === null || parent === void 0 ? void 0 : parent.
|
|
610
|
+
if (!(((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
|
|
611
|
+
(parent === null || parent === void 0 ? void 0 : parent.defer))) return [3 /*break*/, 10];
|
|
610
612
|
return [4 /*yield*/, this.deferLoad(parent)];
|
|
611
613
|
case 9:
|
|
612
614
|
_f.sent();
|
|
@@ -834,7 +836,7 @@ function registerOptionsControl(config) {
|
|
|
834
836
|
__decorate([
|
|
835
837
|
autobind,
|
|
836
838
|
__metadata("design:type", Function),
|
|
837
|
-
__metadata("design:paramtypes", [Boolean, Object]),
|
|
839
|
+
__metadata("design:paramtypes", [Boolean, Object, Object]),
|
|
838
840
|
__metadata("design:returntype", void 0)
|
|
839
841
|
], FormOptionsItem.prototype, "reloadOptions", null);
|
|
840
842
|
__decorate([
|
package/esm/renderers/builtin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.6.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -7,7 +7,6 @@ import { __extends, __assign, __awaiter, __generator } from 'tslib';
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import debounce from 'lodash/debounce';
|
|
9
9
|
import isEqual from 'lodash/isEqual';
|
|
10
|
-
import { getRendererByName } from '../factory.js';
|
|
11
10
|
import { ComboStore } from '../store/combo.js';
|
|
12
11
|
import { guid, promisify, changedEffect } from '../utils/helper.js';
|
|
13
12
|
import { isExpression, FormulaExec, replaceExpression, isNeedFormula } from '../utils/formula.js';
|
|
@@ -58,14 +57,14 @@ function wrapControl(ComposedComponent) {
|
|
|
58
57
|
__extends(class_1, _super);
|
|
59
58
|
function class_1(props) {
|
|
60
59
|
var _this = this;
|
|
61
|
-
var _a
|
|
60
|
+
var _a;
|
|
62
61
|
_this = _super.call(this, props) || this;
|
|
63
62
|
_this.value = undefined;
|
|
64
63
|
_this.lazyEmitChange = debounce(_this.emitChange.bind(_this), 250, {
|
|
65
64
|
trailing: true,
|
|
66
65
|
leading: false
|
|
67
66
|
});
|
|
68
|
-
var
|
|
67
|
+
var _b = _this.props, form = _b.formStore, formItem = _b.formItem, rootStore = _b.rootStore, store = _b.store, onChange = _b.onChange, data = _b.data, inputGroupControl = _b.inputGroupControl, colIndex = _b.colIndex, rowIndex = _b.rowIndex, _c = _b.$schema, id = _c.id, type = _c.type, required = _c.required, validations = _c.validations, validationErrors = _c.validationErrors, unique = _c.unique, value = _c.value, extraName = _c.extraName; _c.multiple; var delimiter = _c.delimiter, valueField = _c.valueField, labelField = _c.labelField, joinValues = _c.joinValues, extractValue = _c.extractValue, selectFirst = _c.selectFirst, autoFill = _c.autoFill, clearValueOnHidden = _c.clearValueOnHidden, validateApi = _c.validateApi, minLength = _c.minLength, maxLength = _c.maxLength, validateOnChange = _c.validateOnChange, label = _c.label, pagination = _c.pagination;
|
|
69
68
|
_this.getValue = _this.getValue.bind(_this);
|
|
70
69
|
_this.setValue = _this.setValue.bind(_this);
|
|
71
70
|
_this.handleChange = _this.handleChange.bind(_this);
|
|
@@ -82,11 +81,6 @@ function wrapControl(ComposedComponent) {
|
|
|
82
81
|
name = tokenize(name, data);
|
|
83
82
|
}
|
|
84
83
|
if (!name) {
|
|
85
|
-
// 一般情况下这些表单项都是需要 name 的,提示一下
|
|
86
|
-
if (typeof type === 'string' &&
|
|
87
|
-
((_a = getRendererByName(type)) === null || _a === void 0 ? void 0 : _a.isFormItem)) {
|
|
88
|
-
console.warn('name is required', _this.props.$schema);
|
|
89
|
-
}
|
|
90
84
|
return _this;
|
|
91
85
|
}
|
|
92
86
|
var propValue = _this.props.value;
|
|
@@ -102,10 +96,10 @@ function wrapControl(ComposedComponent) {
|
|
|
102
96
|
_this.model = model;
|
|
103
97
|
// @issue 打算干掉这个
|
|
104
98
|
formItem === null || formItem === void 0 ? void 0 : formItem.addSubFormItem(model);
|
|
105
|
-
model.config(__assign(__assign({}, pick(__assign(__assign({}, ComposedComponent.defaultProps), _this.props.$schema), ['multiple'])), { id: id, type: type, required: props.required || required, unique: unique, value: value, isValueSchemaExp: isExpression(value), rules: validations, messages: validationErrors, delimiter: delimiter, valueField: valueField, labelField: labelField, joinValues: joinValues, extractValue: extractValue, selectFirst: selectFirst, autoFill: autoFill, clearValueOnHidden: clearValueOnHidden, validateApi: validateApi, minLength: minLength, maxLength: maxLength, validateOnChange: validateOnChange, label: label, inputGroupControl: inputGroupControl, extraName: extraName }));
|
|
99
|
+
model.config(__assign(__assign({}, pick(__assign(__assign({}, ComposedComponent.defaultProps), _this.props.$schema), ['multiple'])), { id: id, type: type, required: props.required || required, unique: unique, value: value, isValueSchemaExp: isExpression(value), rules: validations, messages: validationErrors, delimiter: delimiter, valueField: valueField, labelField: labelField, joinValues: joinValues, extractValue: extractValue, selectFirst: selectFirst, autoFill: autoFill, clearValueOnHidden: clearValueOnHidden, validateApi: validateApi, minLength: minLength, maxLength: maxLength, validateOnChange: validateOnChange, label: label, inputGroupControl: inputGroupControl, extraName: extraName, pagination: pagination }));
|
|
106
100
|
// issue 这个逻辑应该在 combo 里面自己实现。
|
|
107
101
|
if (_this.model.unique &&
|
|
108
|
-
((
|
|
102
|
+
((_a = form === null || form === void 0 ? void 0 : form.parentStore) === null || _a === void 0 ? void 0 : _a.storeType) === ComboStore.name) {
|
|
109
103
|
var combo = form.parentStore;
|
|
110
104
|
combo.bindUniuqueItem(model);
|
|
111
105
|
}
|
|
@@ -218,7 +212,8 @@ function wrapControl(ComposedComponent) {
|
|
|
218
212
|
'minLength',
|
|
219
213
|
'maxLength',
|
|
220
214
|
'label',
|
|
221
|
-
'extraName'
|
|
215
|
+
'extraName',
|
|
216
|
+
'pagination'
|
|
222
217
|
], prevProps.$schema, props.$schema, function (changes) {
|
|
223
218
|
model.config(__assign(__assign({}, changes), {
|
|
224
219
|
// todo 优化后面两个
|
|
@@ -554,9 +549,7 @@ function wrapControl(ComposedComponent) {
|
|
|
554
549
|
formItem: this.model,
|
|
555
550
|
formMode: control.mode || formMode,
|
|
556
551
|
ref: this.controlRef,
|
|
557
|
-
data:
|
|
558
|
-
? model.getMergedData(data || (store === null || store === void 0 ? void 0 : store.data))
|
|
559
|
-
: data || (store === null || store === void 0 ? void 0 : store.data),
|
|
552
|
+
data: data || (store === null || store === void 0 ? void 0 : store.data),
|
|
560
553
|
name: (_c = model === null || model === void 0 ? void 0 : model.name) !== null && _c !== void 0 ? _c : control.name,
|
|
561
554
|
value: value,
|
|
562
555
|
changeMotivation: model === null || model === void 0 ? void 0 : model.changeMotivation,
|
|
@@ -569,8 +562,8 @@ function wrapControl(ComposedComponent) {
|
|
|
569
562
|
prinstine: model ? model.prinstine : undefined,
|
|
570
563
|
setPrinstineValue: this.setPrinstineValue,
|
|
571
564
|
onValidate: this.validate,
|
|
572
|
-
onFlushChange: this.flushChange
|
|
573
|
-
render: this.renderChild // 如果覆盖,那么用的就是 form 上的 render,这个里面用到的 data 是比较旧的。
|
|
565
|
+
onFlushChange: this.flushChange
|
|
566
|
+
// render: this.renderChild // 如果覆盖,那么用的就是 form 上的 render,这个里面用到的 data 是比较旧的。
|
|
574
567
|
// !没了这个, tree 里的 options 渲染会出问题
|
|
575
568
|
// todo 理论上不应该影响,待确认
|
|
576
569
|
// _filteredOptions: this.model?.filteredOptions
|
package/esm/store/app.js
CHANGED