amis-core 6.11.0 → 6.12.0-ab.1
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.js +1 -1
- package/esm/SchemaRenderer.js +1 -1
- package/esm/Scoped.js +2 -1
- package/esm/StatusScoped.js +1 -1
- package/esm/StyleManager.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +1 -1
- package/esm/actions/Action.d.ts +8 -0
- package/esm/actions/Action.js +53 -15
- 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 +1 -1
- 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 +2 -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 +1 -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 +1 -1
- package/esm/actions/WaitAction.js +1 -1
- package/esm/components/Animations.js +2 -1
- package/esm/components/CustomStyle.js +2 -1
- package/esm/components/ErrorBoundary.js +1 -1
- package/esm/components/LazyComponent.js +1 -1
- package/esm/components/Overlay.js +2 -1
- package/esm/components/PopOver.js +2 -1
- package/esm/env.js +1 -1
- package/esm/envOverwrite.d.ts +1 -1
- package/esm/envOverwrite.js +4 -3
- package/esm/factory.js +1 -1
- package/esm/globalVar.js +1 -1
- package/esm/globalVarClientHandler.js +1 -1
- package/esm/globalVarDefaultValueHandler.js +1 -1
- package/esm/index.js +8 -8
- package/esm/locale.js +4 -2
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.js +4 -3
- package/esm/renderers/Item.js +1 -1
- package/esm/renderers/Options.d.ts +2 -2
- package/esm/renderers/Options.js +11 -5
- 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 +18 -4
- package/esm/store/app.js +2 -1
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +2 -0
- package/esm/store/crud.js +116 -100
- package/esm/store/form.js +3 -1
- package/esm/store/formItem.js +8 -6
- package/esm/store/iRenderer.js +5 -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 +2 -1
- package/esm/store/service.js +2 -1
- package/esm/store/status.js +1 -1
- package/esm/store/table.js +3 -1
- package/esm/store/table2.js +1 -1
- package/esm/theme.js +1 -1
- package/esm/utils/Animation.js +1 -1
- package/esm/utils/ColorScale.js +1 -1
- package/esm/utils/DataSchema.js +1 -1
- package/esm/utils/DataScope.js +1 -1
- package/esm/utils/RootClose.js +1 -1
- package/esm/utils/SimpleMap.js +1 -1
- package/esm/utils/animations.d.ts +1 -0
- package/esm/utils/animations.js +17 -9
- package/esm/utils/api.js +1 -1
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +3 -29
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/browser.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/concatData.js +1 -1
- package/esm/utils/dataMapping.js +1 -1
- package/esm/utils/date.js +1 -1
- package/esm/utils/debug.js +1 -1
- package/esm/utils/decodeEntity.js +1 -1
- package/esm/utils/dom.d.ts +1 -0
- package/esm/utils/dom.js +39 -2
- 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 +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 +1 -0
- package/esm/utils/helper.js +9 -2
- package/esm/utils/highlight.js +1 -1
- package/esm/utils/icon.js +1 -1
- package/esm/utils/image.js +1 -1
- package/esm/utils/index.js +3 -2
- package/esm/utils/isPureVariable.js +1 -1
- package/esm/utils/json-schema-2-amis-schema.js +1 -1
- package/esm/utils/keyToPath.js +1 -1
- package/esm/utils/labelToString.js +1 -1
- package/esm/utils/loopTooMuch.js +1 -1
- package/esm/utils/makeSorter.js +1 -1
- package/esm/utils/math.js +1 -1
- package/esm/utils/memoryParse.js +1 -1
- package/esm/utils/normalizeLink.js +1 -1
- package/esm/utils/normalizeOptions.js +1 -1
- package/esm/utils/object.js +1 -1
- package/esm/utils/offset.js +1 -1
- package/esm/utils/offsetParent.js +1 -1
- package/esm/utils/optionValueCompare.js +1 -1
- package/esm/utils/position.js +1 -1
- package/esm/utils/prettyBytes.js +1 -1
- package/esm/utils/printElement.js +1 -1
- package/esm/utils/renderer-event.js +1 -1
- 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.d.ts +1 -0
- package/esm/utils/style-helper.js +10 -7
- 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/validateId.js +1 -1
- package/esm/utils/validations.js +1 -1
- package/esm/utils/visitedCache.js +1 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.d.ts +1 -1
- package/lib/RootRenderer.js +1 -1
- package/lib/SchemaRenderer.js +1 -1
- package/lib/Scoped.js +2 -1
- package/lib/StatusScoped.js +1 -1
- package/lib/StyleManager.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +1 -1
- package/lib/actions/Action.d.ts +8 -0
- package/lib/actions/Action.js +56 -14
- 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 +1 -1
- 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 +2 -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 +1 -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 +1 -1
- package/lib/actions/WaitAction.js +1 -1
- package/lib/components/Animations.js +2 -1
- package/lib/components/CustomStyle.js +2 -1
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/LazyComponent.js +1 -1
- package/lib/components/Overlay.js +2 -1
- package/lib/components/PopOver.js +2 -1
- package/lib/env.js +1 -1
- package/lib/envOverwrite.d.ts +1 -1
- package/lib/envOverwrite.js +4 -3
- package/lib/factory.js +1 -1
- package/lib/globalVar.js +1 -1
- package/lib/globalVarClientHandler.js +1 -1
- package/lib/globalVarDefaultValueHandler.js +1 -1
- package/lib/index.js +11 -5
- package/lib/locale.js +4 -2
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.js +4 -3
- package/lib/renderers/Item.js +1 -1
- package/lib/renderers/Options.d.ts +2 -2
- package/lib/renderers/Options.js +11 -5
- package/lib/renderers/Placeholder.js +1 -1
- package/lib/renderers/builtin.js +1 -1
- package/lib/renderers/register.js +1 -1
- package/lib/renderers/wrapControl.js +19 -5
- package/lib/store/app.js +2 -1
- package/lib/store/combo.d.ts +25 -24
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +2 -0
- package/lib/store/crud.js +116 -100
- package/lib/store/form.d.ts +10 -10
- package/lib/store/form.js +3 -1
- package/lib/store/formItem.js +8 -6
- package/lib/store/iRenderer.js +5 -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 +2 -1
- package/lib/store/service.js +2 -1
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +20 -20
- package/lib/store/table.js +3 -1
- package/lib/store/table2.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/utils/Animation.js +1 -1
- package/lib/utils/ColorScale.js +1 -1
- package/lib/utils/DataSchema.js +1 -1
- package/lib/utils/DataScope.js +1 -1
- package/lib/utils/RootClose.js +1 -1
- package/lib/utils/SimpleMap.js +1 -1
- package/lib/utils/animations.d.ts +1 -0
- package/lib/utils/animations.js +17 -9
- package/lib/utils/api.js +1 -1
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +3 -29
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/browser.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/concatData.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.js +1 -1
- package/lib/utils/debug.js +1 -1
- package/lib/utils/decodeEntity.js +1 -1
- package/lib/utils/dom.d.ts +1 -0
- package/lib/utils/dom.js +39 -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 +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 +1 -0
- package/lib/utils/helper.js +9 -1
- package/lib/utils/highlight.js +1 -1
- package/lib/utils/icon.js +1 -1
- package/lib/utils/image.js +1 -1
- package/lib/utils/index.js +4 -1
- package/lib/utils/isPureVariable.js +1 -1
- package/lib/utils/json-schema-2-amis-schema.js +1 -1
- package/lib/utils/keyToPath.js +1 -1
- package/lib/utils/labelToString.js +1 -1
- package/lib/utils/loopTooMuch.js +1 -1
- package/lib/utils/makeSorter.js +1 -1
- package/lib/utils/math.js +1 -1
- package/lib/utils/memoryParse.js +1 -1
- package/lib/utils/normalizeLink.js +1 -1
- package/lib/utils/normalizeOptions.js +1 -1
- package/lib/utils/object.js +1 -1
- package/lib/utils/offset.js +1 -1
- package/lib/utils/offsetParent.js +1 -1
- package/lib/utils/optionValueCompare.js +1 -1
- package/lib/utils/position.js +1 -1
- package/lib/utils/prettyBytes.js +1 -1
- package/lib/utils/printElement.js +1 -1
- package/lib/utils/renderer-event.js +1 -1
- package/lib/utils/replaceText.js +1 -1
- package/lib/utils/resize-sensor.js +1 -1
- package/lib/utils/resolveCondition.js +1 -1
- package/lib/utils/resolveVariable.js +1 -1
- package/lib/utils/resolveVariableAndFilter.js +1 -1
- package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
- package/lib/utils/scrollPosition.js +1 -1
- package/lib/utils/string2regExp.js +1 -1
- package/lib/utils/stripNumber.js +1 -1
- package/lib/utils/style-helper.d.ts +1 -0
- package/lib/utils/style-helper.js +10 -7
- 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/validateId.js +1 -1
- package/lib/utils/validations.js +1 -1
- package/lib/utils/visitedCache.js +1 -1
- package/package.json +2 -2
package/esm/renderers/Item.js
CHANGED
|
@@ -134,7 +134,7 @@ export interface OptionsControlProps extends FormControlProps, Omit<FormOptionsC
|
|
|
134
134
|
selectedOptions: Array<Option>;
|
|
135
135
|
setOptions: (value: Array<any>, skipNormalize?: boolean) => void;
|
|
136
136
|
setLoading: (value: boolean) => void;
|
|
137
|
-
reloadOptions: (
|
|
137
|
+
reloadOptions: (subpath?: string, query?: any) => void;
|
|
138
138
|
deferLoad: (option: Option) => void;
|
|
139
139
|
leftDeferLoad: (option: Option, leftOptions: Option) => void;
|
|
140
140
|
expandTreeOptions: (nodePathArr: any[]) => void;
|
|
@@ -185,7 +185,7 @@ export declare class OptionsControlBase<T extends OptionsProps = OptionsProps, S
|
|
|
185
185
|
formatValueArray(valueArray: Array<Option>): string | Option | Option[];
|
|
186
186
|
handleToggleAll(): Promise<void>;
|
|
187
187
|
toggleValue(option: Option, originValue?: any): string | Option | Option[];
|
|
188
|
-
reload(): Promise<import("../types").Payload | null> | undefined;
|
|
188
|
+
reload(subpath?: string, query?: any): Promise<import("../types").Payload | null> | undefined;
|
|
189
189
|
reloadOptions(setError?: boolean, isInit?: boolean, data?: T["data"]): Promise<import("../types").Payload | null> | undefined;
|
|
190
190
|
deferLoad(option: Option): Promise<void>;
|
|
191
191
|
leftDeferLoad(option: Option, leftOptions: Option): void;
|
package/esm/renderers/Options.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.12.0-ab.1
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -16,10 +16,10 @@ import findIndex from 'lodash/findIndex';
|
|
|
16
16
|
import { normalizeOptions } from '../utils/normalizeOptions.js';
|
|
17
17
|
import { optionValueCompare } from '../utils/optionValueCompare.js';
|
|
18
18
|
import '../utils/index.js';
|
|
19
|
+
import { extendObject, createObject, setVariable } from '../utils/object.js';
|
|
19
20
|
import { isPureVariable } from '../utils/isPureVariable.js';
|
|
20
21
|
import { resolveVariableAndFilter } from '../utils/resolveVariableAndFilter.js';
|
|
21
22
|
import { resolveEventData } from '../utils/renderer-event.js';
|
|
22
|
-
import { createObject, setVariable } from '../utils/object.js';
|
|
23
23
|
|
|
24
24
|
var detectProps = detectProps$1.concat([
|
|
25
25
|
'value',
|
|
@@ -373,8 +373,14 @@ var OptionsControlBase = /** @class */ (function (_super) {
|
|
|
373
373
|
return newValue;
|
|
374
374
|
};
|
|
375
375
|
// 当有 action 触发,如果指定了 reload 目标组件,有可能会来到这里面来
|
|
376
|
-
OptionsControlBase.prototype.reload = function () {
|
|
377
|
-
|
|
376
|
+
OptionsControlBase.prototype.reload = function (subpath, query) {
|
|
377
|
+
var _a, _b;
|
|
378
|
+
var data = this.props.data;
|
|
379
|
+
if (query) {
|
|
380
|
+
(_b = (_a = this.props).onBulkChange) === null || _b === void 0 ? void 0 : _b.call(_a, query);
|
|
381
|
+
data = extendObject(data, query);
|
|
382
|
+
}
|
|
383
|
+
return this.reloadOptions(false, false, data);
|
|
378
384
|
};
|
|
379
385
|
OptionsControlBase.prototype.reloadOptions = function (setError, isInit, data) {
|
|
380
386
|
if (isInit === void 0) { isInit = false; }
|
|
@@ -911,7 +917,7 @@ var OptionsControlBase = /** @class */ (function (_super) {
|
|
|
911
917
|
__decorate([
|
|
912
918
|
autobind,
|
|
913
919
|
__metadata("design:type", Function),
|
|
914
|
-
__metadata("design:paramtypes", []),
|
|
920
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
915
921
|
__metadata("design:returntype", void 0)
|
|
916
922
|
], OptionsControlBase.prototype, "reload", null);
|
|
917
923
|
__decorate([
|
package/esm/renderers/builtin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.12.0-ab.1
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -9,6 +9,7 @@ import debounce from 'lodash/debounce';
|
|
|
9
9
|
import isEqual from 'lodash/isEqual';
|
|
10
10
|
import { ComboStore } from '../store/combo.js';
|
|
11
11
|
import { guid, promisify, changedEffect } from '../utils/helper.js';
|
|
12
|
+
import { str2rules } from '../utils/validations.js';
|
|
12
13
|
import { isExpression, isNeedFormula, FormulaExec, replaceExpression } from '../utils/formula.js';
|
|
13
14
|
import { ScopedContext } from '../Scoped.js';
|
|
14
15
|
import { FormItemStore } from '../store/formItem.js';
|
|
@@ -67,9 +68,13 @@ function wrapControl(config, ComposedComponent) {
|
|
|
67
68
|
rowIndex: rowIndex !== undefined ? rowIndex : undefined
|
|
68
69
|
});
|
|
69
70
|
_this.model = model;
|
|
71
|
+
// 如果组件有默认验证器类型,则合并
|
|
72
|
+
var rules = validations && model && config.validations
|
|
73
|
+
? __assign(__assign({}, validations), str2rules(config.validations)) : validations;
|
|
70
74
|
// @issue 打算干掉这个
|
|
71
75
|
formItem === null || formItem === void 0 ? void 0 : formItem.addSubFormItem(model);
|
|
72
|
-
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)
|
|
76
|
+
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) &&
|
|
77
|
+
value.replace(/\s/g, '') !== "${".concat(name, "}"), rules: rules, 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 }));
|
|
73
78
|
// issue 这个逻辑应该在 combo 里面自己实现。
|
|
74
79
|
if (_this.model.unique &&
|
|
75
80
|
((_b = form === null || form === void 0 ? void 0 : form.parentStore) === null || _b === void 0 ? void 0 : _b.storeType) === ComboStore.name) {
|
|
@@ -172,7 +177,9 @@ function wrapControl(config, ComposedComponent) {
|
|
|
172
177
|
], prevProps.$schema, props.$schema, function (changes) {
|
|
173
178
|
model.config(__assign(__assign({}, changes), {
|
|
174
179
|
// todo 优化后面两个
|
|
175
|
-
isValueSchemaExp: isExpression(props.$schema.value)
|
|
180
|
+
isValueSchemaExp: isExpression(props.$schema.value) &&
|
|
181
|
+
props.$schema.value.replace(/\s/g, '') !==
|
|
182
|
+
"${".concat(props.$schema.name, "}"), inputGroupControl: props === null || props === void 0 ? void 0 : props.inputGroupControl }));
|
|
176
183
|
if (changes.hasOwnProperty('name')) {
|
|
177
184
|
_this.setInitialValue(_this.props.$schema.value);
|
|
178
185
|
}
|
|
@@ -193,6 +200,8 @@ function wrapControl(config, ComposedComponent) {
|
|
|
193
200
|
}
|
|
194
201
|
else if (typeof props.defaultValue !== 'undefined' &&
|
|
195
202
|
isExpression(props.defaultValue) &&
|
|
203
|
+
props.defaultValue.replace(/\s/g, '') !==
|
|
204
|
+
"${".concat(props.name, "}") &&
|
|
196
205
|
(!isEqual(props.defaultValue, prevProps.defaultValue) ||
|
|
197
206
|
(props.data !== prevProps.data &&
|
|
198
207
|
isNeedFormula(props.defaultValue, props.data, prevProps.data)))) {
|
|
@@ -253,8 +262,13 @@ function wrapControl(config, ComposedComponent) {
|
|
|
253
262
|
};
|
|
254
263
|
class_1.prototype.setInitialValue = function (value) {
|
|
255
264
|
var model = this.model;
|
|
256
|
-
var _a = this.props, form = _a.formStore, data = _a.data, canAccessSuperData = _a.canAccessSuperData;
|
|
265
|
+
var _a = this.props, form = _a.formStore, data = _a.data, canAccessSuperData = _a.canAccessSuperData, name = _a.name;
|
|
257
266
|
var isExp = isExpression(value);
|
|
267
|
+
if (isExp && value.replace(/\s/g, '') === "${".concat(name, "}")) {
|
|
268
|
+
console.warn('value 不要使用表达式关联自己');
|
|
269
|
+
isExp = false;
|
|
270
|
+
value = undefined;
|
|
271
|
+
}
|
|
258
272
|
var initialValue = model.extraName
|
|
259
273
|
? [
|
|
260
274
|
getVariable(data, model.name, canAccessSuperData !== null && canAccessSuperData !== void 0 ? canAccessSuperData : form === null || form === void 0 ? void 0 : form.canAccessSuperData),
|
package/esm/store/app.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.12.0-ab.1
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -8,6 +8,7 @@ import { types } from 'mobx-state-tree';
|
|
|
8
8
|
import { mapTree, findTree, isVisible, guid, replaceUrlParams } from '../utils/helper.js';
|
|
9
9
|
import { ServiceStore } from './service.js';
|
|
10
10
|
import '../utils/api.js';
|
|
11
|
+
import 'file-saver';
|
|
11
12
|
import '../utils/browser.js';
|
|
12
13
|
import '../utils/ColorScale.js';
|
|
13
14
|
import 'react';
|
package/esm/store/combo.js
CHANGED
package/esm/store/crud.d.ts
CHANGED
|
@@ -137,6 +137,8 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
|
|
|
137
137
|
matchFunc?: MatchFunc;
|
|
138
138
|
filterOnAllColumns?: boolean;
|
|
139
139
|
isTable2?: Boolean;
|
|
140
|
+
minLoadingTime?: number;
|
|
141
|
+
dataAppendTo?: 'top' | 'bottom';
|
|
140
142
|
}) => Promise<any>;
|
|
141
143
|
changePage: (page: number | string, perPage?: number | string) => void;
|
|
142
144
|
changePerPage: (perPage: number | string) => void;
|
package/esm/store/crud.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.12.0-ab.1
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -133,14 +133,15 @@ var CRUDStore = ServiceStore.named('CRUDStore')
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
var fetchInitData = flow(function getInitData(api, data, options) {
|
|
136
|
-
var rawItems, matchFunc, items, dir, data_1, ctx, json, result, total, count, page, hasNext, oItems, oRows, columns, rest, items, _a, _b, key, rowsData, data_2, filteredItems, dir, e_1, env;
|
|
136
|
+
var startTime, rawItems, matchFunc, items, dir, data_1, ctx, json, elapsedTime, remainingTime_1, result, total, count, page, hasNext, oItems, oRows, columns, rest, items, _a, _b, key, rowsData, data_2, filteredItems, dir, e_1, env;
|
|
137
137
|
var _c, e_2, _d;
|
|
138
138
|
var _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
139
139
|
if (options === void 0) { options = {}; }
|
|
140
140
|
return __generator(this, function (_q) {
|
|
141
141
|
switch (_q.label) {
|
|
142
142
|
case 0:
|
|
143
|
-
_q.trys.push([0,
|
|
143
|
+
_q.trys.push([0, 6, , 7]);
|
|
144
|
+
startTime = Date.now();
|
|
144
145
|
rawItems = options.source
|
|
145
146
|
? resolveVariableAndFilter(options.source, createObject(self.mergedData, {
|
|
146
147
|
items: self.data.itemsRaw,
|
|
@@ -180,116 +181,131 @@ var CRUDStore = ServiceStore.named('CRUDStore')
|
|
|
180
181
|
case 1:
|
|
181
182
|
json = _q.sent();
|
|
182
183
|
fetchCancel = null;
|
|
183
|
-
if (
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
184
|
+
if (!!json.ok) return [3 /*break*/, 2];
|
|
185
|
+
self.updateMessage((_j = (_h = (_g = (_f = api === null || api === void 0 ? void 0 : api.messages) === null || _f === void 0 ? void 0 : _f.failed) !== null && _g !== void 0 ? _g : json.msg) !== null && _h !== void 0 ? _h : options.errorMessage) !== null && _j !== void 0 ? _j : self.__('CRUD.fetchFailed'), true);
|
|
186
|
+
!(api === null || api === void 0 ? void 0 : api.silent) &&
|
|
187
|
+
getEnv(self).notify('error', json.msg, json.msgTimeout !== undefined
|
|
188
|
+
? {
|
|
189
|
+
closeButton: true,
|
|
190
|
+
timeout: json.msgTimeout
|
|
191
|
+
}
|
|
192
|
+
: undefined);
|
|
193
|
+
return [3 /*break*/, 5];
|
|
194
|
+
case 2:
|
|
195
|
+
if (!json.data) {
|
|
196
|
+
throw new Error(self.__('CRUD.invalidData'));
|
|
197
|
+
}
|
|
198
|
+
if (!options.minLoadingTime) return [3 /*break*/, 4];
|
|
199
|
+
elapsedTime = Date.now() - startTime;
|
|
200
|
+
remainingTime_1 = options.minLoadingTime - elapsedTime;
|
|
201
|
+
if (!(remainingTime_1 > 0)) return [3 /*break*/, 4];
|
|
202
|
+
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, remainingTime_1); })];
|
|
203
|
+
case 3:
|
|
204
|
+
_q.sent();
|
|
205
|
+
_q.label = 4;
|
|
206
|
+
case 4:
|
|
207
|
+
self.updatedAt = Date.now();
|
|
208
|
+
result = normalizeApiResponseData(json.data);
|
|
209
|
+
total = result.total, count = result.count, page = result.page, hasNext = result.hasNext, oItems = result.items, oRows = result.rows, columns = result.columns, rest = __rest(result, ["total", "count", "page", "hasNext", "items", "rows", "columns"]);
|
|
210
|
+
items = void 0;
|
|
211
|
+
if (options.source) {
|
|
212
|
+
items = resolveVariableAndFilter(options.source, createObject(self.filterData, result), '| raw');
|
|
192
213
|
}
|
|
193
214
|
else {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
else {
|
|
205
|
-
items = result.items || result.rows;
|
|
206
|
-
}
|
|
207
|
-
if (!Array.isArray(items)) {
|
|
208
|
-
try {
|
|
209
|
-
// 如果不按照 items 格式返回,就拿第一个数组当成 items
|
|
210
|
-
for (_a = __values(Object.keys(result)), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
211
|
-
key = _b.value;
|
|
212
|
-
if (result.hasOwnProperty(key) && Array.isArray(result[key])) {
|
|
213
|
-
items = result[key];
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
219
|
-
finally {
|
|
220
|
-
try {
|
|
221
|
-
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
215
|
+
items = result.items || result.rows;
|
|
216
|
+
}
|
|
217
|
+
if (!Array.isArray(items)) {
|
|
218
|
+
try {
|
|
219
|
+
// 如果不按照 items 格式返回,就拿第一个数组当成 items
|
|
220
|
+
for (_a = __values(Object.keys(result)), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
221
|
+
key = _b.value;
|
|
222
|
+
if (result.hasOwnProperty(key) && Array.isArray(result[key])) {
|
|
223
|
+
items = result[key];
|
|
224
|
+
break;
|
|
222
225
|
}
|
|
223
|
-
finally { if (e_2) throw e_2.error; }
|
|
224
226
|
}
|
|
225
227
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
229
|
+
finally {
|
|
230
|
+
try {
|
|
231
|
+
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
232
|
+
}
|
|
233
|
+
finally { if (e_2) throw e_2.error; }
|
|
228
234
|
}
|
|
229
|
-
|
|
230
|
-
|
|
235
|
+
}
|
|
236
|
+
else if (items == null) {
|
|
237
|
+
items = [];
|
|
238
|
+
}
|
|
239
|
+
if (!Array.isArray(items)) {
|
|
240
|
+
throw new Error(self.__('CRUD.invalidArray'));
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
// 确保成员是对象。
|
|
244
|
+
items.map(function (item) {
|
|
245
|
+
return typeof item === 'string' ? { text: item } : item;
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
rowsData = [];
|
|
249
|
+
if (options.loadDataMode && Array.isArray(self.data.items)) {
|
|
250
|
+
if (options.dataAppendTo === 'top') {
|
|
251
|
+
rowsData = items.concat(self.data.items);
|
|
231
252
|
}
|
|
232
253
|
else {
|
|
233
|
-
// 确保成员是对象。
|
|
234
|
-
items.map(function (item) {
|
|
235
|
-
return typeof item === 'string' ? { text: item } : item;
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
rowsData = [];
|
|
239
|
-
if (options.loadDataMode && Array.isArray(self.data.items)) {
|
|
240
254
|
rowsData = self.data.items.concat(items);
|
|
241
255
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
data_2.items = filteredItems.slice((self.page - 1) * self.perPage, self.page * self.perPage);
|
|
264
|
-
data_2.count = data_2.total = filteredItems.length;
|
|
265
|
-
}
|
|
266
|
-
if (Array.isArray(columns)) {
|
|
267
|
-
self.columns = columns.concat();
|
|
268
|
-
}
|
|
269
|
-
else if (rest.isTable2) {
|
|
270
|
-
self.columns = options.columns;
|
|
271
|
-
}
|
|
272
|
-
self.items.replace(rowsData);
|
|
273
|
-
self.reInitData(data_2, !!api.replaceData, api.concatDataFields);
|
|
274
|
-
options.syncResponse2Query !== false &&
|
|
275
|
-
updateQuery(pick(rest, Object.keys(self.query)), undefined, options.pageField || 'page', options.perPageField || 'perPage');
|
|
276
|
-
self.total = parseInt((_k = data_2.total) !== null && _k !== void 0 ? _k : data_2.count, 10) || 0;
|
|
277
|
-
typeof page !== 'undefined' && (self.page = parseInt(page, 10));
|
|
278
|
-
// 分页情况不清楚,只能知道有没有下一页。
|
|
279
|
-
if (typeof hasNext !== 'undefined') {
|
|
280
|
-
self.mode = 'simple';
|
|
281
|
-
self.total = 0;
|
|
282
|
-
self.hasNext = !!hasNext;
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
// 第一次的时候就是直接加载请求的数据
|
|
259
|
+
rowsData = items;
|
|
260
|
+
}
|
|
261
|
+
data_2 = __assign(__assign(__assign({}, (api.replaceData ? {} : self.pristine)), { items: rowsData, count: count, total: total }), rest);
|
|
262
|
+
if (options.loadDataOnce) {
|
|
263
|
+
/**
|
|
264
|
+
* 1. 记录原始集合,后续可能基于原始数据做排序查找。
|
|
265
|
+
* 2. 接口返回中没有 items 和 rows 字段,则直接用查到的数据。
|
|
266
|
+
*/
|
|
267
|
+
data_2.itemsRaw = oItems || oRows || rowsData.concat();
|
|
268
|
+
filteredItems = applyFilters(rowsData, {
|
|
269
|
+
query: self.query,
|
|
270
|
+
columns: options.columns,
|
|
271
|
+
filterOnAllColumns: false,
|
|
272
|
+
matchFunc: options.matchFunc
|
|
273
|
+
});
|
|
274
|
+
if (self.query.orderBy) {
|
|
275
|
+
dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
|
|
276
|
+
filteredItems = sortArray(filteredItems, self.query.orderBy, dir);
|
|
283
277
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
278
|
+
data_2.items = filteredItems.slice((self.page - 1) * self.perPage, self.page * self.perPage);
|
|
279
|
+
data_2.count = data_2.total = filteredItems.length;
|
|
280
|
+
}
|
|
281
|
+
if (Array.isArray(columns)) {
|
|
282
|
+
self.columns = columns.concat();
|
|
283
|
+
}
|
|
284
|
+
else if (rest.isTable2) {
|
|
285
|
+
self.columns = options.columns;
|
|
289
286
|
}
|
|
287
|
+
self.items.replace(rowsData);
|
|
288
|
+
self.reInitData(data_2, !!api.replaceData, api.concatDataFields);
|
|
289
|
+
options.syncResponse2Query !== false &&
|
|
290
|
+
updateQuery(pick(rest, Object.keys(self.query)), undefined, options.pageField || 'page', options.perPageField || 'perPage');
|
|
291
|
+
self.total = parseInt((_k = data_2.total) !== null && _k !== void 0 ? _k : data_2.count, 10) || 0;
|
|
292
|
+
typeof page !== 'undefined' && (self.page = parseInt(page, 10));
|
|
293
|
+
// 分页情况不清楚,只能知道有没有下一页。
|
|
294
|
+
if (typeof hasNext !== 'undefined') {
|
|
295
|
+
self.mode = 'simple';
|
|
296
|
+
self.total = 0;
|
|
297
|
+
self.hasNext = !!hasNext;
|
|
298
|
+
}
|
|
299
|
+
self.updateMessage((_p = (_o = (_m = (_l = api.messages) === null || _l === void 0 ? void 0 : _l.success) !== null && _m !== void 0 ? _m : json.msg) !== null && _o !== void 0 ? _o : options.successMessage) !== null && _p !== void 0 ? _p : json.defaultMsg);
|
|
300
|
+
// 配置了获取成功提示后提示,默认是空不会提示。
|
|
301
|
+
options &&
|
|
302
|
+
options.successMessage &&
|
|
303
|
+
getEnv(self).notify('success', self.msg);
|
|
304
|
+
_q.label = 5;
|
|
305
|
+
case 5:
|
|
290
306
|
self.markFetching(false);
|
|
291
307
|
return [2 /*return*/, json];
|
|
292
|
-
case
|
|
308
|
+
case 6:
|
|
293
309
|
e_1 = _q.sent();
|
|
294
310
|
env = getEnv(self);
|
|
295
311
|
if (!isAlive(self) || self.disposed) {
|
|
@@ -302,7 +318,7 @@ var CRUDStore = ServiceStore.named('CRUDStore')
|
|
|
302
318
|
console.error(e_1);
|
|
303
319
|
!(api === null || api === void 0 ? void 0 : api.silent) && env.notify('error', e_1.message);
|
|
304
320
|
return [2 /*return*/];
|
|
305
|
-
case
|
|
321
|
+
case 7: return [2 /*return*/];
|
|
306
322
|
}
|
|
307
323
|
});
|
|
308
324
|
});
|
package/esm/store/form.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.12.0-ab.1
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -209,6 +209,7 @@ var FormStore = ServiceStore.named('FormStore')
|
|
|
209
209
|
}
|
|
210
210
|
changeReason &&
|
|
211
211
|
Object.isExtensible(data) &&
|
|
212
|
+
!data.__changeReason &&
|
|
212
213
|
Object.defineProperty(data, '__changeReason', {
|
|
213
214
|
value: changeReason,
|
|
214
215
|
enumerable: false,
|
|
@@ -244,6 +245,7 @@ var FormStore = ServiceStore.named('FormStore')
|
|
|
244
245
|
deleteVariable(data, name);
|
|
245
246
|
changeReason &&
|
|
246
247
|
Object.isExtensible(data) &&
|
|
248
|
+
!data.__changeReason &&
|
|
247
249
|
Object.defineProperty(data, '__changeReason', {
|
|
248
250
|
value: changeReason,
|
|
249
251
|
enumerable: false,
|
package/esm/store/formItem.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.12.0-ab.1
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -252,11 +252,13 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
252
252
|
},
|
|
253
253
|
splitExtraValue: function (value) {
|
|
254
254
|
var delimiter = self.delimiter || ',';
|
|
255
|
-
var values =
|
|
256
|
-
?
|
|
257
|
-
:
|
|
258
|
-
? value
|
|
259
|
-
:
|
|
255
|
+
var values = value === ''
|
|
256
|
+
? ['', '']
|
|
257
|
+
: Array.isArray(value)
|
|
258
|
+
? value
|
|
259
|
+
: typeof value === 'string'
|
|
260
|
+
? value.split(delimiter || ',').map(function (v) { return v.trim(); })
|
|
261
|
+
: [];
|
|
260
262
|
return values;
|
|
261
263
|
},
|
|
262
264
|
getMergedData: function (data) {
|
package/esm/store/iRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.12.0-ab.1
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -17,6 +17,7 @@ import '../utils/filter.js';
|
|
|
17
17
|
import { SimpleMap } from '../utils/SimpleMap.js';
|
|
18
18
|
import { StoreNode } from './node.js';
|
|
19
19
|
import '../utils/api.js';
|
|
20
|
+
import 'file-saver';
|
|
20
21
|
import '../utils/browser.js';
|
|
21
22
|
import '../utils/ColorScale.js';
|
|
22
23
|
import 'react';
|
|
@@ -106,6 +107,7 @@ var iRendererStore = StoreNode.named('iRendererStore')
|
|
|
106
107
|
}
|
|
107
108
|
changeReason &&
|
|
108
109
|
Object.isExtensible(data) &&
|
|
110
|
+
!data.__changeReason &&
|
|
109
111
|
Object.defineProperty(data, '__changeReason', {
|
|
110
112
|
value: changeReason,
|
|
111
113
|
enumerable: false,
|
|
@@ -140,6 +142,7 @@ var iRendererStore = StoreNode.named('iRendererStore')
|
|
|
140
142
|
});
|
|
141
143
|
changeReason &&
|
|
142
144
|
Object.isExtensible(newData) &&
|
|
145
|
+
!newData.__changeReason &&
|
|
143
146
|
Object.defineProperty(newData, '__changeReason', {
|
|
144
147
|
value: changeReason,
|
|
145
148
|
enumerable: false,
|
|
@@ -200,6 +203,7 @@ var iRendererStore = StoreNode.named('iRendererStore')
|
|
|
200
203
|
}
|
|
201
204
|
changeReason &&
|
|
202
205
|
Object.isExtensible(data) &&
|
|
206
|
+
!data.__changeReason &&
|
|
203
207
|
Object.defineProperty(data, '__changeReason', {
|
|
204
208
|
value: changeReason,
|
|
205
209
|
enumerable: false,
|
package/esm/store/index.js
CHANGED
package/esm/store/list.js
CHANGED
package/esm/store/manager.js
CHANGED
package/esm/store/modal.js
CHANGED
package/esm/store/node.js
CHANGED
package/esm/store/pagination.js
CHANGED
package/esm/store/root.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.12.0-ab.1
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -8,6 +8,7 @@ import { types, flow } from 'mobx-state-tree';
|
|
|
8
8
|
import { parseQuery, isObjectShallowModified } from '../utils/helper.js';
|
|
9
9
|
import { ServiceStore } from './service.js';
|
|
10
10
|
import '../utils/api.js';
|
|
11
|
+
import 'file-saver';
|
|
11
12
|
import '../utils/browser.js';
|
|
12
13
|
import '../utils/ColorScale.js';
|
|
13
14
|
import 'react';
|
package/esm/store/service.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.12.0-ab.1
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -12,6 +12,7 @@ import { normalizeApiResponseData } from '../utils/api.js';
|
|
|
12
12
|
import { replaceText } from '../utils/replaceText.js';
|
|
13
13
|
import { concatData } from '../utils/concatData.js';
|
|
14
14
|
import { envOverwrite } from '../envOverwrite.js';
|
|
15
|
+
import 'file-saver';
|
|
15
16
|
import '../utils/browser.js';
|
|
16
17
|
import '../utils/ColorScale.js';
|
|
17
18
|
import 'react';
|
package/esm/store/status.js
CHANGED