amis-core 6.7.0 → 6.9.0-beta.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 +24 -2
- package/esm/SchemaRenderer.d.ts +0 -1
- package/esm/SchemaRenderer.js +44 -20
- package/esm/Scoped.d.ts +1 -1
- package/esm/Scoped.js +2 -1
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +14 -14
- package/esm/actions/Action.js +2 -1
- package/esm/actions/AjaxAction.js +1 -1
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.js +1 -1
- package/esm/actions/CmptAction.js +57 -50
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +1 -1
- package/esm/actions/CustomAction.js +2 -1
- package/esm/actions/DialogAction.js +3 -1
- package/esm/actions/DrawerAction.js +2 -1
- package/esm/actions/EmailAction.js +1 -1
- package/esm/actions/EventAction.js +2 -1
- package/esm/actions/LinkAction.js +1 -1
- package/esm/actions/LoopAction.js +2 -1
- package/esm/actions/PageAction.js +1 -1
- package/esm/actions/ParallelAction.js +1 -1
- package/esm/actions/PrintAction.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/actions/WaitAction.js +1 -1
- package/esm/components/CustomStyle.js +1 -1
- package/esm/components/ErrorBoundary.js +1 -1
- package/esm/components/LazyComponent.d.ts +40 -2
- package/esm/components/LazyComponent.js +13 -7
- package/esm/components/Overlay.js +2 -1
- package/esm/components/PopOver.d.ts +1 -1
- package/esm/components/PopOver.js +2 -1
- package/esm/env.d.ts +0 -4
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.d.ts +19 -2
- package/esm/factory.js +205 -45
- package/esm/index.d.ts +4 -4
- package/esm/index.js +9 -5
- package/esm/locale.d.ts +1 -1
- package/esm/locale.js +14 -2
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +5 -5
- package/esm/renderers/Form.js +68 -29
- package/esm/renderers/Item.d.ts +109 -18
- package/esm/renderers/Item.js +164 -126
- package/esm/renderers/Options.d.ts +3 -3
- package/esm/renderers/Options.js +43 -19
- 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 +3 -3
- package/esm/renderers/wrapControl.js +25 -10
- package/esm/store/app.d.ts +3 -3
- package/esm/store/app.js +2 -1
- package/esm/store/combo.d.ts +425 -15
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +3 -3
- package/esm/store/crud.js +2 -1
- package/esm/store/form.d.ts +178 -7
- package/esm/store/form.js +29 -6
- package/esm/store/formItem.d.ts +5 -0
- package/esm/store/formItem.js +32 -10
- package/esm/store/iRenderer.d.ts +4 -3
- package/esm/store/iRenderer.js +29 -4
- package/esm/store/index.d.ts +1 -0
- package/esm/store/index.js +3 -2
- package/esm/store/list.d.ts +3 -3
- package/esm/store/list.js +1 -1
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.d.ts +3 -3
- package/esm/store/modal.js +1 -1
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.d.ts +3 -3
- package/esm/store/pagination.js +2 -1
- package/esm/store/root.d.ts +5 -3
- package/esm/store/root.js +46 -21
- package/esm/store/service.d.ts +3 -3
- package/esm/store/service.js +11 -4
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +396 -36
- package/esm/store/table.js +84 -54
- package/esm/store/table2.d.ts +3 -3
- package/esm/store/table2.js +1 -1
- package/esm/theme.d.ts +1 -1
- package/esm/theme.js +13 -2
- package/esm/types.d.ts +19 -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.d.ts +21 -1
- package/esm/utils/api.js +138 -41
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +1 -1
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/browser.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/concatData.js +1 -1
- package/esm/utils/dataMapping.js +1 -1
- package/esm/utils/date.js +1 -1
- package/esm/utils/debug.js +17 -3
- 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.js +2 -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 +4 -1
- package/esm/utils/helper.js +20 -4
- 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 +2 -2
- package/esm/utils/json-schema-2-amis-schema.js +1 -1
- package/esm/utils/keyToPath.js +1 -1
- package/esm/utils/labelToString.js +4 -1
- package/esm/utils/makeSorter.js +1 -1
- package/esm/utils/math.js +1 -1
- package/esm/utils/memoryParse.d.ts +2 -1
- package/esm/utils/memoryParse.js +10 -6
- package/esm/utils/normalizeLink.js +1 -1
- package/esm/utils/normalizeOptions.js +1 -1
- package/esm/utils/object.d.ts +2 -4
- package/esm/utils/object.js +1 -1
- package/esm/utils/offset.js +1 -1
- package/esm/utils/offsetParent.js +1 -1
- package/esm/utils/optionValueCompare.js +1 -1
- package/esm/utils/position.js +1 -1
- package/esm/utils/prettyBytes.js +1 -1
- package/esm/utils/printElement.js +1 -1
- package/esm/utils/renderer-event.js +1 -1
- package/esm/utils/replaceText.js +1 -1
- package/esm/utils/resize-sensor.js +30 -1
- package/esm/utils/resolveCondition.js +2 -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 +2 -1
- package/esm/utils/toNumber.js +1 -1
- package/esm/utils/tokenize.js +1 -1
- package/esm/utils/tpl-builtin.js +2 -1
- package/esm/utils/tpl-lodash.js +2 -1
- package/esm/utils/tpl.js +1 -1
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validateId.js +1 -1
- package/esm/utils/validations.js +2 -1
- package/esm/utils/visitedCache.d.ts +46 -0
- package/esm/utils/visitedCache.js +124 -0
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.js +23 -1
- package/lib/SchemaRenderer.d.ts +0 -1
- package/lib/SchemaRenderer.js +42 -18
- package/lib/Scoped.d.ts +1 -1
- package/lib/Scoped.js +2 -1
- package/lib/StatusScoped.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +14 -14
- package/lib/actions/Action.js +2 -1
- package/lib/actions/AjaxAction.js +1 -1
- package/lib/actions/BreakAction.js +1 -1
- package/lib/actions/BroadcastAction.js +1 -1
- package/lib/actions/CmptAction.js +56 -49
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +1 -1
- package/lib/actions/CustomAction.js +2 -1
- package/lib/actions/DialogAction.js +3 -1
- package/lib/actions/DrawerAction.js +2 -1
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/EventAction.js +2 -1
- package/lib/actions/LinkAction.js +1 -1
- package/lib/actions/LoopAction.js +2 -1
- package/lib/actions/PageAction.js +1 -1
- package/lib/actions/ParallelAction.js +1 -1
- package/lib/actions/PrintAction.js +1 -1
- package/lib/actions/StatusAction.js +1 -1
- package/lib/actions/SwitchAction.js +1 -1
- package/lib/actions/ToastAction.js +2 -2
- package/lib/actions/WaitAction.js +1 -1
- package/lib/components/CustomStyle.js +1 -1
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/LazyComponent.d.ts +40 -2
- package/lib/components/LazyComponent.js +14 -7
- package/lib/components/Overlay.js +2 -1
- package/lib/components/PopOver.d.ts +1 -1
- package/lib/components/PopOver.js +2 -1
- package/lib/env.d.ts +0 -4
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.d.ts +19 -2
- package/lib/factory.js +211 -44
- package/lib/index.d.ts +4 -4
- package/lib/index.js +16 -2
- package/lib/locale.d.ts +1 -1
- package/lib/locale.js +14 -2
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +5 -5
- package/lib/renderers/Form.js +65 -26
- package/lib/renderers/Item.d.ts +110 -19
- package/lib/renderers/Item.js +163 -125
- package/lib/renderers/Options.d.ts +3 -3
- package/lib/renderers/Options.js +43 -19
- 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 +3 -3
- package/lib/renderers/wrapControl.js +25 -10
- package/lib/store/app.d.ts +3 -3
- package/lib/store/app.js +2 -1
- package/lib/store/combo.d.ts +449 -40
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +3 -3
- package/lib/store/crud.js +3 -2
- package/lib/store/form.d.ts +188 -18
- package/lib/store/form.js +29 -6
- package/lib/store/formItem.d.ts +5 -0
- package/lib/store/formItem.js +32 -10
- package/lib/store/iRenderer.d.ts +4 -3
- package/lib/store/iRenderer.js +29 -4
- package/lib/store/index.d.ts +1 -0
- package/lib/store/index.js +3 -1
- package/lib/store/list.d.ts +3 -3
- package/lib/store/list.js +1 -1
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.d.ts +3 -3
- package/lib/store/modal.js +1 -1
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.d.ts +3 -3
- package/lib/store/pagination.js +2 -1
- package/lib/store/root.d.ts +5 -3
- package/lib/store/root.js +44 -19
- package/lib/store/service.d.ts +3 -3
- package/lib/store/service.js +11 -4
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +416 -57
- package/lib/store/table.js +84 -54
- package/lib/store/table2.d.ts +3 -3
- package/lib/store/table2.js +1 -1
- package/lib/theme.d.ts +1 -1
- package/lib/theme.js +13 -2
- package/lib/types.d.ts +19 -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.d.ts +21 -1
- package/lib/utils/api.js +141 -40
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +1 -1
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/browser.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/concatData.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.js +1 -1
- package/lib/utils/debug.js +18 -4
- 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.js +1 -1
- package/lib/utils/filter.js +1 -1
- package/lib/utils/formatDuration.js +1 -1
- package/lib/utils/formula.js +2 -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 +4 -1
- package/lib/utils/helper.js +19 -3
- 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 +2 -2
- package/lib/utils/json-schema-2-amis-schema.js +1 -1
- package/lib/utils/keyToPath.js +1 -1
- package/lib/utils/labelToString.js +4 -1
- package/lib/utils/makeSorter.js +1 -1
- package/lib/utils/math.js +1 -1
- package/lib/utils/memoryParse.d.ts +2 -1
- package/lib/utils/memoryParse.js +10 -6
- package/lib/utils/normalizeLink.js +1 -1
- package/lib/utils/normalizeOptions.js +1 -1
- package/lib/utils/object.d.ts +2 -4
- package/lib/utils/object.js +1 -1
- package/lib/utils/offset.js +1 -1
- package/lib/utils/offsetParent.js +1 -1
- package/lib/utils/optionValueCompare.js +1 -1
- package/lib/utils/position.js +1 -1
- package/lib/utils/prettyBytes.js +1 -1
- package/lib/utils/printElement.js +1 -1
- package/lib/utils/renderer-event.js +1 -1
- package/lib/utils/replaceText.js +1 -1
- package/lib/utils/resize-sensor.js +30 -1
- package/lib/utils/resolveCondition.js +2 -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 +2 -1
- package/lib/utils/toNumber.js +1 -1
- package/lib/utils/tokenize.js +1 -1
- package/lib/utils/tpl-builtin.js +2 -1
- package/lib/utils/tpl-lodash.js +2 -1
- package/lib/utils/tpl.js +1 -1
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validateId.js +1 -1
- package/lib/utils/validations.js +2 -1
- package/lib/utils/visitedCache.d.ts +46 -0
- package/lib/utils/visitedCache.js +128 -0
- package/package.json +2 -2
package/lib/renderers/Options.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-beta.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -19,6 +19,7 @@ require('moment');
|
|
|
19
19
|
var object = require('../utils/object.js');
|
|
20
20
|
var isPureVariable = require('../utils/isPureVariable.js');
|
|
21
21
|
require('@rc-component/mini-decimal');
|
|
22
|
+
require('../utils/memoryParse.js');
|
|
22
23
|
var resolveVariableAndFilter = require('../utils/resolveVariableAndFilter.js');
|
|
23
24
|
require('lodash/isPlainObject');
|
|
24
25
|
require('../utils/filter.js');
|
|
@@ -533,12 +534,12 @@ function registerOptionsControl(config) {
|
|
|
533
534
|
var formItem = this.props.formItem;
|
|
534
535
|
formItem && formItem.setLoading(value);
|
|
535
536
|
};
|
|
536
|
-
FormOptionsItem.prototype.handleOptionAdd = function (idx, value, skipForm) {
|
|
537
|
+
FormOptionsItem.prototype.handleOptionAdd = function (idx, value, skipForm, callback) {
|
|
537
538
|
var _a, _b;
|
|
538
539
|
if (idx === void 0) { idx = -1; }
|
|
539
540
|
if (skipForm === void 0) { skipForm = false; }
|
|
540
541
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
541
|
-
var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, customAddPrevent, result, _d, prevent, payload, e_1, isPrevented, options;
|
|
542
|
+
var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, customAddPrevent, result, _d, prevent, payload, e_1, isPrevented, ret, options;
|
|
542
543
|
var _e;
|
|
543
544
|
var _this = this;
|
|
544
545
|
return tslib.__generator(this, function (_f) {
|
|
@@ -668,13 +669,24 @@ function registerOptionsControl(config) {
|
|
|
668
669
|
if (isPrevented) {
|
|
669
670
|
return [2 /*return*/];
|
|
670
671
|
}
|
|
671
|
-
|
|
672
|
-
(parent === null || parent === void 0 ? void 0 : parent.defer))) return [3 /*break*/, 13];
|
|
673
|
-
return [4 /*yield*/, this.deferLoad(parent)];
|
|
672
|
+
return [4 /*yield*/, (callback === null || callback === void 0 ? void 0 : callback(result))];
|
|
674
673
|
case 12:
|
|
675
|
-
_f.sent();
|
|
676
|
-
return [3 /*break*/,
|
|
674
|
+
ret = _f.sent();
|
|
675
|
+
if (!(ret === false)) return [3 /*break*/, 13];
|
|
676
|
+
// 如果回调里面返回 false,就不继续了。
|
|
677
|
+
return [2 /*return*/];
|
|
677
678
|
case 13:
|
|
679
|
+
if (!
|
|
680
|
+
// 如果是懒加载的,只懒加载当前节点。
|
|
681
|
+
(((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
|
|
682
|
+
(parent === null || parent === void 0 ? void 0 : parent.defer)))
|
|
683
|
+
// 如果是懒加载的,只懒加载当前节点。
|
|
684
|
+
return [3 /*break*/, 15];
|
|
685
|
+
return [4 /*yield*/, this.deferLoad(parent)];
|
|
686
|
+
case 14:
|
|
687
|
+
_f.sent();
|
|
688
|
+
return [3 /*break*/, 16];
|
|
689
|
+
case 15:
|
|
678
690
|
if (source && addApi) {
|
|
679
691
|
// 如果配置了 source 且配置了 addApi 直接重新拉取接口就够了
|
|
680
692
|
// 不能不判断 addApi 就刷新,因为有些场景就是临时添加的。
|
|
@@ -692,18 +704,18 @@ function registerOptionsControl(config) {
|
|
|
692
704
|
}
|
|
693
705
|
model.setOptions(options, this.changeOptionValue, data);
|
|
694
706
|
}
|
|
695
|
-
_f.label =
|
|
696
|
-
case
|
|
707
|
+
_f.label = 16;
|
|
708
|
+
case 16: return [2 /*return*/];
|
|
697
709
|
}
|
|
698
710
|
});
|
|
699
711
|
});
|
|
700
712
|
};
|
|
701
|
-
FormOptionsItem.prototype.handleOptionEdit = function (value, origin, skipForm) {
|
|
713
|
+
FormOptionsItem.prototype.handleOptionEdit = function (value, origin, skipForm, callback) {
|
|
702
714
|
var _a, _b;
|
|
703
715
|
if (origin === void 0) { origin = value; }
|
|
704
716
|
if (skipForm === void 0) { skipForm = false; }
|
|
705
717
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
706
|
-
var _c, editControls, editDialog, disabled, labelField, valueField, onOpenDialog, editApi, editInitApi, env, source, data, model, optionLabel, __, customEditPrevent, result, _d, prevent, payload, e_2, isPrevented, indexes;
|
|
718
|
+
var _c, editControls, editDialog, disabled, labelField, valueField, onOpenDialog, editApi, editInitApi, env, source, data, model, optionLabel, __, customEditPrevent, result, _d, prevent, payload, e_2, isPrevented, ret, indexes;
|
|
707
719
|
var _this = this;
|
|
708
720
|
return tslib.__generator(this, function (_e) {
|
|
709
721
|
switch (_e.label) {
|
|
@@ -812,7 +824,14 @@ function registerOptionsControl(config) {
|
|
|
812
824
|
if (isPrevented) {
|
|
813
825
|
return [2 /*return*/];
|
|
814
826
|
}
|
|
815
|
-
|
|
827
|
+
return [4 /*yield*/, (callback === null || callback === void 0 ? void 0 : callback(result))];
|
|
828
|
+
case 12:
|
|
829
|
+
ret = _e.sent();
|
|
830
|
+
if (ret === false) {
|
|
831
|
+
// 如果回调里面返回 false,就不继续了。
|
|
832
|
+
return [2 /*return*/];
|
|
833
|
+
}
|
|
834
|
+
else if (source && editApi) {
|
|
816
835
|
this.reload();
|
|
817
836
|
}
|
|
818
837
|
else {
|
|
@@ -826,10 +845,10 @@ function registerOptionsControl(config) {
|
|
|
826
845
|
});
|
|
827
846
|
});
|
|
828
847
|
};
|
|
829
|
-
FormOptionsItem.prototype.handleOptionDelete = function (value) {
|
|
848
|
+
FormOptionsItem.prototype.handleOptionDelete = function (value, callback) {
|
|
830
849
|
var _a, _b;
|
|
831
850
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
832
|
-
var _c, deleteConfirmText, disabled, data, deleteApi, onDelete, env, model, source, valueField, __, ctx, confirmed, _d, isPrevented, delConfirmPrevent, result, options, indexes, e_3;
|
|
851
|
+
var _c, deleteConfirmText, disabled, data, deleteApi, onDelete, env, model, source, valueField, __, ctx, confirmed, _d, isPrevented, delConfirmPrevent, result, ret, options, indexes, e_3;
|
|
833
852
|
return tslib.__generator(this, function (_e) {
|
|
834
853
|
switch (_e.label) {
|
|
835
854
|
case 0:
|
|
@@ -885,7 +904,12 @@ function registerOptionsControl(config) {
|
|
|
885
904
|
if (onDelete) {
|
|
886
905
|
onDelete(ctx);
|
|
887
906
|
}
|
|
888
|
-
|
|
907
|
+
ret = callback === null || callback === void 0 ? void 0 : callback(ctx);
|
|
908
|
+
if (ret === false) {
|
|
909
|
+
// 如果回调里面返回 false,就不继续了。
|
|
910
|
+
return [2 /*return*/];
|
|
911
|
+
}
|
|
912
|
+
else if (source) {
|
|
889
913
|
this.reload();
|
|
890
914
|
}
|
|
891
915
|
else {
|
|
@@ -999,19 +1023,19 @@ function registerOptionsControl(config) {
|
|
|
999
1023
|
tslib.__decorate([
|
|
1000
1024
|
helper.autobind,
|
|
1001
1025
|
tslib.__metadata("design:type", Function),
|
|
1002
|
-
tslib.__metadata("design:paramtypes", [Object, Object, Boolean]),
|
|
1026
|
+
tslib.__metadata("design:paramtypes", [Object, Object, Boolean, Function]),
|
|
1003
1027
|
tslib.__metadata("design:returntype", Promise)
|
|
1004
1028
|
], FormOptionsItem.prototype, "handleOptionAdd", null);
|
|
1005
1029
|
tslib.__decorate([
|
|
1006
1030
|
helper.autobind,
|
|
1007
1031
|
tslib.__metadata("design:type", Function),
|
|
1008
|
-
tslib.__metadata("design:paramtypes", [Object, Object, Boolean]),
|
|
1032
|
+
tslib.__metadata("design:paramtypes", [Object, Object, Boolean, Function]),
|
|
1009
1033
|
tslib.__metadata("design:returntype", Promise)
|
|
1010
1034
|
], FormOptionsItem.prototype, "handleOptionEdit", null);
|
|
1011
1035
|
tslib.__decorate([
|
|
1012
1036
|
helper.autobind,
|
|
1013
1037
|
tslib.__metadata("design:type", Function),
|
|
1014
|
-
tslib.__metadata("design:paramtypes", [Object]),
|
|
1038
|
+
tslib.__metadata("design:paramtypes", [Object, Function]),
|
|
1015
1039
|
tslib.__metadata("design:returntype", Promise)
|
|
1016
1040
|
], FormOptionsItem.prototype, "handleOptionDelete", null);
|
|
1017
1041
|
return FormOptionsItem;
|
package/lib/renderers/builtin.js
CHANGED
|
@@ -3,7 +3,7 @@ import { IFormStore, IFormItemStore } from '../store/form';
|
|
|
3
3
|
import { RendererProps } from '../factory';
|
|
4
4
|
import { IIRendererStore } from '../store';
|
|
5
5
|
import hoistNonReactStatic from 'hoist-non-react-statics';
|
|
6
|
-
import { Api } from '../types';
|
|
6
|
+
import { Api, DataChangeReason } from '../types';
|
|
7
7
|
export interface ControlOutterProps extends RendererProps {
|
|
8
8
|
formStore?: IFormStore;
|
|
9
9
|
name?: string;
|
|
@@ -40,12 +40,12 @@ export interface ControlOutterProps extends RendererProps {
|
|
|
40
40
|
[propName: string]: any;
|
|
41
41
|
};
|
|
42
42
|
store?: IIRendererStore;
|
|
43
|
-
onChange?: (value: any, name: string, submit?: boolean, changePristine?: boolean) => void;
|
|
43
|
+
onChange?: (value: any, name: string, submit?: boolean, changePristine?: boolean, changeReason?: DataChangeReason) => void;
|
|
44
44
|
formItemDispatchEvent: (type: string, data: any) => void;
|
|
45
45
|
formItemRef?: (control: any) => void;
|
|
46
46
|
}
|
|
47
47
|
export interface ControlProps {
|
|
48
|
-
onBulkChange?: (values: Object) => void;
|
|
48
|
+
onBulkChange?: (values: Object, submitOnChange?: boolean, changeReason?: DataChangeReason) => void;
|
|
49
49
|
onChange?: (value: any, name: string, submit: boolean) => void;
|
|
50
50
|
store: IIRendererStore;
|
|
51
51
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-beta.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -29,6 +29,7 @@ require('../utils/columnsSplit.js');
|
|
|
29
29
|
var getVariable = require('../utils/getVariable.js');
|
|
30
30
|
require('lodash/isPlainObject');
|
|
31
31
|
require('amis-formula');
|
|
32
|
+
require('../utils/memoryParse.js');
|
|
32
33
|
var tokenize = require('../utils/tokenize.js');
|
|
33
34
|
require('../utils/DataSchema.js');
|
|
34
35
|
require('../utils/DataScope.js');
|
|
@@ -77,14 +78,14 @@ function wrapControl(ComposedComponent) {
|
|
|
77
78
|
tslib.__extends(class_1, _super);
|
|
78
79
|
function class_1(props) {
|
|
79
80
|
var _this = this;
|
|
80
|
-
var _a;
|
|
81
|
+
var _a, _b;
|
|
81
82
|
_this = _super.call(this, props) || this;
|
|
82
83
|
_this.value = undefined;
|
|
83
84
|
_this.lazyEmitChange = debounce__default["default"](_this.emitChange.bind(_this), 250, {
|
|
84
85
|
trailing: true,
|
|
85
86
|
leading: false
|
|
86
87
|
});
|
|
87
|
-
var
|
|
88
|
+
var _c = _this.props, form = _c.formStore, formItem$1 = _c.formItem, rootStore = _c.rootStore, store = _c.store, onChange = _c.onChange, data = _c.data, inputGroupControl = _c.inputGroupControl, colIndex = _c.colIndex, rowIndex = _c.rowIndex, _d = _c.$schema, id = _d.id, type = _d.type, required = _d.required, validations = _d.validations, validationErrors = _d.validationErrors, unique = _d.unique, value = _d.value, extraName = _d.extraName; _d.multiple; var delimiter = _d.delimiter, valueField = _d.valueField, labelField = _d.labelField, joinValues = _d.joinValues, extractValue = _d.extractValue, selectFirst = _d.selectFirst, autoFill = _d.autoFill, clearValueOnHidden = _d.clearValueOnHidden, validateApi = _d.validateApi, minLength = _d.minLength, maxLength = _d.maxLength, validateOnChange = _d.validateOnChange, label = _d.label, pagination = _d.pagination;
|
|
88
89
|
_this.getValue = _this.getValue.bind(_this);
|
|
89
90
|
_this.setValue = _this.setValue.bind(_this);
|
|
90
91
|
_this.handleChange = _this.handleChange.bind(_this);
|
|
@@ -94,7 +95,8 @@ function wrapControl(ComposedComponent) {
|
|
|
94
95
|
_this.validate = _this.validate.bind(_this);
|
|
95
96
|
_this.flushChange = _this.flushChange.bind(_this);
|
|
96
97
|
_this.renderChild = _this.renderChild.bind(_this);
|
|
97
|
-
var name = _this.props.$schema.name
|
|
98
|
+
var name = _this.props.$schema.name ||
|
|
99
|
+
((_a = ComposedComponent.defaultProps) === null || _a === void 0 ? void 0 : _a.name);
|
|
98
100
|
// 如果 name 是表达式
|
|
99
101
|
// 扩充 each 用法
|
|
100
102
|
if (formula.isExpression(name)) {
|
|
@@ -119,7 +121,7 @@ function wrapControl(ComposedComponent) {
|
|
|
119
121
|
model.config(tslib.__assign(tslib.__assign({}, pick__default["default"](tslib.__assign(tslib.__assign({}, ComposedComponent.defaultProps), _this.props.$schema), ['multiple'])), { id: id, type: type, required: props.required || required, unique: unique, value: value, isValueSchemaExp: formula.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 }));
|
|
120
122
|
// issue 这个逻辑应该在 combo 里面自己实现。
|
|
121
123
|
if (_this.model.unique &&
|
|
122
|
-
((
|
|
124
|
+
((_b = form === null || form === void 0 ? void 0 : form.parentStore) === null || _b === void 0 ? void 0 : _b.storeType) === combo.ComboStore.name) {
|
|
123
125
|
var combo$1 = form.parentStore;
|
|
124
126
|
combo$1.bindUniuqueItem(model);
|
|
125
127
|
}
|
|
@@ -339,7 +341,9 @@ function wrapControl(ComposedComponent) {
|
|
|
339
341
|
mobxStateTree.isAlive(formItem) &&
|
|
340
342
|
formItem.removeSubFormItem(this.model);
|
|
341
343
|
this.model.clearValueOnHidden &&
|
|
342
|
-
((_a = this.model.form) === null || _a === void 0 ? void 0 : _a.deleteValueByName(this.model.name
|
|
344
|
+
((_a = this.model.form) === null || _a === void 0 ? void 0 : _a.deleteValueByName(this.model.name, {
|
|
345
|
+
type: 'hide'
|
|
346
|
+
}));
|
|
343
347
|
mobxStateTree.isAlive(rootStore) && rootStore.removeStore(this.model);
|
|
344
348
|
}
|
|
345
349
|
delete this.model;
|
|
@@ -462,7 +466,7 @@ function wrapControl(ComposedComponent) {
|
|
|
462
466
|
var oldValue = this.model.value;
|
|
463
467
|
value = api.callStrFunction.call(this, pipeOut, ['value', 'oldValue', 'data'], value, oldValue, data);
|
|
464
468
|
}
|
|
465
|
-
this.model.changeTmpValue(value, 'input');
|
|
469
|
+
this.model.changeTmpValue(value, type === 'formula' ? 'formulaChanged' : 'input');
|
|
466
470
|
if (changeImmediately || conrolChangeImmediately || !formInited) {
|
|
467
471
|
this.emitChange(submitOnChange);
|
|
468
472
|
}
|
|
@@ -512,13 +516,24 @@ function wrapControl(ComposedComponent) {
|
|
|
512
516
|
if (!this.model) {
|
|
513
517
|
return;
|
|
514
518
|
}
|
|
519
|
+
var changeReason = {
|
|
520
|
+
type: 'input'
|
|
521
|
+
};
|
|
522
|
+
if (model.changeMotivation === 'formulaChanged') {
|
|
523
|
+
changeReason.type = 'formula';
|
|
524
|
+
}
|
|
525
|
+
else if (model.changeMotivation === 'initialValue' ||
|
|
526
|
+
model.changeMotivation === 'formInited' ||
|
|
527
|
+
model.changeMotivation === 'defaultValue') {
|
|
528
|
+
changeReason.type = 'init';
|
|
529
|
+
}
|
|
515
530
|
if (model.extraName) {
|
|
516
531
|
var values = model.splitExtraValue(value);
|
|
517
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(values[0], model.name);
|
|
518
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(values[1], model.extraName, submitOnChange === true);
|
|
532
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(values[0], model.name, undefined, undefined, changeReason);
|
|
533
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(values[1], model.extraName, submitOnChange === true, undefined, changeReason);
|
|
519
534
|
}
|
|
520
535
|
else {
|
|
521
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, submitOnChange === true);
|
|
536
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, submitOnChange === true, undefined, changeReason);
|
|
522
537
|
}
|
|
523
538
|
this.checkValidate();
|
|
524
539
|
};
|
package/lib/store/app.d.ts
CHANGED
|
@@ -53,10 +53,10 @@ export declare const AppStore: import("mobx-state-tree").IModelType<{
|
|
|
53
53
|
readonly pristineDiff: any;
|
|
54
54
|
} & {
|
|
55
55
|
setTopStore(value: any): void;
|
|
56
|
-
initData(data?: object, skipSetPristine?: boolean): void;
|
|
56
|
+
initData(data?: object, skipSetPristine?: boolean, changeReason?: import("../types").DataChangeReason | undefined): void;
|
|
57
57
|
reset(): void;
|
|
58
|
-
updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
|
|
59
|
-
changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
|
|
58
|
+
updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
|
|
59
|
+
changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
|
|
60
60
|
setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
|
|
61
61
|
openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
|
|
62
62
|
closeDialog(confirmed?: any, data?: any): void;
|
package/lib/store/app.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-beta.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -16,6 +16,7 @@ require('../utils/browser.js');
|
|
|
16
16
|
require('../utils/ColorScale.js');
|
|
17
17
|
require('../utils/columnsSplit.js');
|
|
18
18
|
var object = require('../utils/object.js');
|
|
19
|
+
require('../utils/memoryParse.js');
|
|
19
20
|
require('amis-formula');
|
|
20
21
|
require('lodash/isPlainObject');
|
|
21
22
|
require('../utils/DataSchema.js');
|