amis-core 6.12.0-beta.1 → 6.12.0-beta.11
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.js +1 -1
- 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 +7 -7
- package/esm/locale.js +1 -1
- 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.d.ts +4 -2
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +4 -0
- package/esm/store/crud.js +131 -110
- package/esm/store/form.d.ts +3 -1
- package/esm/store/form.js +17 -11
- package/esm/store/formItem.js +1 -1
- 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.d.ts +5 -2
- package/esm/store/table.js +28 -19
- 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.js +1 -1
- 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 +7 -5
- package/lib/locale.js +1 -1
- 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 +4 -2
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +4 -0
- package/lib/store/crud.js +131 -110
- package/lib/store/form.d.ts +4 -1
- package/lib/store/form.js +17 -11
- package/lib/store/formItem.js +1 -1
- 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.d.ts +1 -0
- 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 +5 -2
- package/lib/store/table.js +27 -18
- 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/lib/store/crud.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.12.0-beta.
|
|
2
|
+
* amis-core v6.12.0-beta.11
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -141,14 +141,15 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
var fetchInitData = mobxStateTree.flow(function getInitData(api$1, data, options) {
|
|
144
|
-
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;
|
|
145
|
-
var _c, e_2,
|
|
146
|
-
var
|
|
144
|
+
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;
|
|
145
|
+
var _c, _d, e_2, _e;
|
|
146
|
+
var _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
147
147
|
if (options === void 0) { options = {}; }
|
|
148
|
-
return tslib.__generator(this, function (
|
|
149
|
-
switch (
|
|
148
|
+
return tslib.__generator(this, function (_r) {
|
|
149
|
+
switch (_r.label) {
|
|
150
150
|
case 0:
|
|
151
|
-
|
|
151
|
+
_r.trys.push([0, 6, , 7]);
|
|
152
|
+
startTime = Date.now();
|
|
152
153
|
rawItems = options.source
|
|
153
154
|
? resolveVariableAndFilter.resolveVariableAndFilter(options.source, object.createObject(self.mergedData, {
|
|
154
155
|
items: self.data.itemsRaw,
|
|
@@ -168,8 +169,10 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
168
169
|
dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
|
|
169
170
|
items = helper.sortArray(items, self.query.orderBy, dir);
|
|
170
171
|
}
|
|
171
|
-
data_1 = tslib.__assign(tslib.__assign({}, self.data), { total
|
|
172
|
-
self.total =
|
|
172
|
+
data_1 = tslib.__assign(tslib.__assign({}, self.data), (_c = {}, _c[options.totalField || 'total'] = items.length, _c.items = items.slice((self.page - 1) * self.perPage, self.page * self.perPage), _c));
|
|
173
|
+
self.total =
|
|
174
|
+
parseInt((_f = data_1[options.totalField || 'total']) !== null && _f !== void 0 ? _f : data_1.count, 10) ||
|
|
175
|
+
0;
|
|
173
176
|
self.reInitData(data_1);
|
|
174
177
|
return [2 /*return*/];
|
|
175
178
|
}
|
|
@@ -179,126 +182,143 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
179
182
|
self.fetching = false;
|
|
180
183
|
}
|
|
181
184
|
options.silent || self.markFetching(true);
|
|
182
|
-
ctx = object.createObject(self.data, tslib.__assign(tslib.__assign(tslib.__assign({}, self.query), data), (
|
|
185
|
+
ctx = object.createObject(self.data, tslib.__assign(tslib.__assign(tslib.__assign({}, self.query), data), (_d = {}, _d[options.pageField || 'page'] = self.page, _d[options.perPageField || 'perPage'] = self.perPage, _d)));
|
|
183
186
|
// 一次性加载不要发送 perPage 属性
|
|
184
187
|
if (options.loadDataOnce) {
|
|
185
188
|
delete ctx[options.perPageField || 'perPage'];
|
|
186
189
|
}
|
|
187
190
|
return [4 /*yield*/, mobxStateTree.getEnv(self).fetcher(api$1, ctx, tslib.__assign(tslib.__assign({}, options), { cancelExecutor: function (executor) { return (fetchCancel = executor); } }))];
|
|
188
191
|
case 1:
|
|
189
|
-
json =
|
|
192
|
+
json = _r.sent();
|
|
190
193
|
fetchCancel = null;
|
|
191
|
-
if (
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
194
|
+
if (!!json.ok) return [3 /*break*/, 2];
|
|
195
|
+
self.updateMessage((_k = (_j = (_h = (_g = api$1 === null || api$1 === void 0 ? void 0 : api$1.messages) === null || _g === void 0 ? void 0 : _g.failed) !== null && _h !== void 0 ? _h : json.msg) !== null && _j !== void 0 ? _j : options.errorMessage) !== null && _k !== void 0 ? _k : self.__('CRUD.fetchFailed'), true);
|
|
196
|
+
!(api$1 === null || api$1 === void 0 ? void 0 : api$1.silent) &&
|
|
197
|
+
mobxStateTree.getEnv(self).notify('error', json.msg, json.msgTimeout !== undefined
|
|
198
|
+
? {
|
|
199
|
+
closeButton: true,
|
|
200
|
+
timeout: json.msgTimeout
|
|
201
|
+
}
|
|
202
|
+
: undefined);
|
|
203
|
+
return [3 /*break*/, 5];
|
|
204
|
+
case 2:
|
|
205
|
+
if (!json.data) {
|
|
206
|
+
throw new Error(self.__('CRUD.invalidData'));
|
|
207
|
+
}
|
|
208
|
+
if (!options.minLoadingTime) return [3 /*break*/, 4];
|
|
209
|
+
elapsedTime = Date.now() - startTime;
|
|
210
|
+
remainingTime_1 = options.minLoadingTime - elapsedTime;
|
|
211
|
+
if (!(remainingTime_1 > 0)) return [3 /*break*/, 4];
|
|
212
|
+
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, remainingTime_1); })];
|
|
213
|
+
case 3:
|
|
214
|
+
_r.sent();
|
|
215
|
+
_r.label = 4;
|
|
216
|
+
case 4:
|
|
217
|
+
self.updatedAt = Date.now();
|
|
218
|
+
result = api.normalizeApiResponseData(json.data);
|
|
219
|
+
total = result.total, count = result.count, page = result.page, hasNext = result.hasNext, oItems = result.items, oRows = result.rows, columns = result.columns, rest = tslib.__rest(result, ["total", "count", "page", "hasNext", "items", "rows", "columns"]);
|
|
220
|
+
items = void 0;
|
|
221
|
+
if (options.source) {
|
|
222
|
+
items = resolveVariableAndFilter.resolveVariableAndFilter(options.source, object.createObject(self.filterData, result), '| raw');
|
|
200
223
|
}
|
|
201
224
|
else {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
else {
|
|
213
|
-
items = result.items || result.rows;
|
|
214
|
-
}
|
|
215
|
-
if (!Array.isArray(items)) {
|
|
216
|
-
try {
|
|
217
|
-
// 如果不按照 items 格式返回,就拿第一个数组当成 items
|
|
218
|
-
for (_a = tslib.__values(Object.keys(result)), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
219
|
-
key = _b.value;
|
|
220
|
-
if (result.hasOwnProperty(key) && Array.isArray(result[key])) {
|
|
221
|
-
items = result[key];
|
|
222
|
-
break;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
227
|
-
finally {
|
|
228
|
-
try {
|
|
229
|
-
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
225
|
+
items = result.items || result.rows;
|
|
226
|
+
}
|
|
227
|
+
if (!Array.isArray(items)) {
|
|
228
|
+
try {
|
|
229
|
+
// 如果不按照 items 格式返回,就拿第一个数组当成 items
|
|
230
|
+
for (_a = tslib.__values(Object.keys(result)), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
231
|
+
key = _b.value;
|
|
232
|
+
if (result.hasOwnProperty(key) && Array.isArray(result[key])) {
|
|
233
|
+
items = result[key];
|
|
234
|
+
break;
|
|
230
235
|
}
|
|
231
|
-
finally { if (e_2) throw e_2.error; }
|
|
232
236
|
}
|
|
233
237
|
}
|
|
234
|
-
|
|
235
|
-
|
|
238
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
239
|
+
finally {
|
|
240
|
+
try {
|
|
241
|
+
if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
|
|
242
|
+
}
|
|
243
|
+
finally { if (e_2) throw e_2.error; }
|
|
236
244
|
}
|
|
237
|
-
|
|
238
|
-
|
|
245
|
+
}
|
|
246
|
+
else if (items == null) {
|
|
247
|
+
items = [];
|
|
248
|
+
}
|
|
249
|
+
if (!Array.isArray(items)) {
|
|
250
|
+
throw new Error(self.__('CRUD.invalidArray'));
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
// 确保成员是对象。
|
|
254
|
+
items.map(function (item) {
|
|
255
|
+
return typeof item === 'string' ? { text: item } : item;
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
rowsData = [];
|
|
259
|
+
if (options.loadDataMode && Array.isArray(self.data.items)) {
|
|
260
|
+
if (options.dataAppendTo === 'top') {
|
|
261
|
+
rowsData = items.concat(self.data.items);
|
|
239
262
|
}
|
|
240
263
|
else {
|
|
241
|
-
// 确保成员是对象。
|
|
242
|
-
items.map(function (item) {
|
|
243
|
-
return typeof item === 'string' ? { text: item } : item;
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
rowsData = [];
|
|
247
|
-
if (options.loadDataMode && Array.isArray(self.data.items)) {
|
|
248
264
|
rowsData = self.data.items.concat(items);
|
|
249
265
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
data_2.items = filteredItems.slice((self.page - 1) * self.perPage, self.page * self.perPage);
|
|
272
|
-
data_2.count = data_2.total = filteredItems.length;
|
|
273
|
-
}
|
|
274
|
-
if (Array.isArray(columns)) {
|
|
275
|
-
self.columns = columns.concat();
|
|
276
|
-
}
|
|
277
|
-
else if (rest.isTable2) {
|
|
278
|
-
self.columns = options.columns;
|
|
279
|
-
}
|
|
280
|
-
self.items.replace(rowsData);
|
|
281
|
-
self.reInitData(data_2, !!api$1.replaceData, api$1.concatDataFields);
|
|
282
|
-
options.syncResponse2Query !== false &&
|
|
283
|
-
updateQuery(pick__default["default"](rest, Object.keys(self.query)), undefined, options.pageField || 'page', options.perPageField || 'perPage');
|
|
284
|
-
self.total = parseInt((_k = data_2.total) !== null && _k !== void 0 ? _k : data_2.count, 10) || 0;
|
|
285
|
-
typeof page !== 'undefined' && (self.page = parseInt(page, 10));
|
|
286
|
-
// 分页情况不清楚,只能知道有没有下一页。
|
|
287
|
-
if (typeof hasNext !== 'undefined') {
|
|
288
|
-
self.mode = 'simple';
|
|
289
|
-
self.total = 0;
|
|
290
|
-
self.hasNext = !!hasNext;
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
// 第一次的时候就是直接加载请求的数据
|
|
269
|
+
rowsData = items;
|
|
270
|
+
}
|
|
271
|
+
data_2 = tslib.__assign(tslib.__assign(tslib.__assign({}, (api$1.replaceData ? {} : self.pristine)), { items: rowsData, count: count, total: total }), rest);
|
|
272
|
+
if (options.loadDataOnce) {
|
|
273
|
+
/**
|
|
274
|
+
* 1. 记录原始集合,后续可能基于原始数据做排序查找。
|
|
275
|
+
* 2. 接口返回中没有 items 和 rows 字段,则直接用查到的数据。
|
|
276
|
+
*/
|
|
277
|
+
data_2.itemsRaw = oItems || oRows || rowsData.concat();
|
|
278
|
+
filteredItems = helper.applyFilters(rowsData, {
|
|
279
|
+
query: self.query,
|
|
280
|
+
columns: options.columns,
|
|
281
|
+
filterOnAllColumns: false,
|
|
282
|
+
matchFunc: options.matchFunc
|
|
283
|
+
});
|
|
284
|
+
if (self.query.orderBy) {
|
|
285
|
+
dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
|
|
286
|
+
filteredItems = helper.sortArray(filteredItems, self.query.orderBy, dir);
|
|
291
287
|
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
288
|
+
data_2.items = filteredItems.slice((self.page - 1) * self.perPage, self.page * self.perPage);
|
|
289
|
+
data_2.count = data_2.total = filteredItems.length;
|
|
290
|
+
}
|
|
291
|
+
if (Array.isArray(columns)) {
|
|
292
|
+
self.columns = columns.concat();
|
|
293
|
+
}
|
|
294
|
+
else if (rest.isTable2) {
|
|
295
|
+
self.columns = options.columns;
|
|
297
296
|
}
|
|
297
|
+
self.items.replace(rowsData);
|
|
298
|
+
self.reInitData(data_2, !!api$1.replaceData, api$1.concatDataFields);
|
|
299
|
+
options.syncResponse2Query !== false &&
|
|
300
|
+
updateQuery(pick__default["default"](rest, Object.keys(self.query)), undefined, options.pageField || 'page', options.perPageField || 'perPage');
|
|
301
|
+
self.total =
|
|
302
|
+
parseInt((_l = data_2[options.totalField || 'total']) !== null && _l !== void 0 ? _l : data_2.count, 10) ||
|
|
303
|
+
0;
|
|
304
|
+
typeof page !== 'undefined' && (self.page = parseInt(page, 10));
|
|
305
|
+
// 分页情况不清楚,只能知道有没有下一页。
|
|
306
|
+
if (typeof hasNext !== 'undefined') {
|
|
307
|
+
self.mode = 'simple';
|
|
308
|
+
self.total = 0;
|
|
309
|
+
self.hasNext = !!hasNext;
|
|
310
|
+
}
|
|
311
|
+
self.updateMessage((_q = (_p = (_o = (_m = api$1.messages) === null || _m === void 0 ? void 0 : _m.success) !== null && _o !== void 0 ? _o : json.msg) !== null && _p !== void 0 ? _p : options.successMessage) !== null && _q !== void 0 ? _q : json.defaultMsg);
|
|
312
|
+
// 配置了获取成功提示后提示,默认是空不会提示。
|
|
313
|
+
options &&
|
|
314
|
+
options.successMessage &&
|
|
315
|
+
mobxStateTree.getEnv(self).notify('success', self.msg);
|
|
316
|
+
_r.label = 5;
|
|
317
|
+
case 5:
|
|
298
318
|
self.markFetching(false);
|
|
299
319
|
return [2 /*return*/, json];
|
|
300
|
-
case
|
|
301
|
-
e_1 =
|
|
320
|
+
case 6:
|
|
321
|
+
e_1 = _r.sent();
|
|
302
322
|
env = mobxStateTree.getEnv(self);
|
|
303
323
|
if (!mobxStateTree.isAlive(self) || self.disposed) {
|
|
304
324
|
return [2 /*return*/];
|
|
@@ -310,7 +330,7 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
310
330
|
console.error(e_1);
|
|
311
331
|
!(api$1 === null || api$1 === void 0 ? void 0 : api$1.silent) && env.notify('error', e_1.message);
|
|
312
332
|
return [2 /*return*/];
|
|
313
|
-
case
|
|
333
|
+
case 7: return [2 /*return*/];
|
|
314
334
|
}
|
|
315
335
|
});
|
|
316
336
|
});
|
|
@@ -431,7 +451,8 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
431
451
|
var data = tslib.__assign(tslib.__assign({}, self.pristine), { items: items.length > self.perPage
|
|
432
452
|
? items.slice((self.page - 1) * self.perPage, self.page * self.perPage)
|
|
433
453
|
: items, count: items.length, total: items.length });
|
|
434
|
-
self.total =
|
|
454
|
+
self.total =
|
|
455
|
+
parseInt((_a = data[options.totalField || 'total']) !== null && _a !== void 0 ? _a : data.count, 10) || 0;
|
|
435
456
|
self.items.replace(items);
|
|
436
457
|
self.reInitData(data);
|
|
437
458
|
};
|
package/lib/store/form.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="lodash" />
|
|
1
2
|
import { Instance } from 'mobx-state-tree';
|
|
2
3
|
import type { IFormItemStore } from './formItem';
|
|
3
4
|
import { Api, DataChangeReason, fetchOptions, Payload } from '../types';
|
|
@@ -57,6 +58,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
|
|
|
57
58
|
readonly pristineDiff: any;
|
|
58
59
|
} & {
|
|
59
60
|
setTopStore(value: any): void;
|
|
61
|
+
/** 获取InputGroup的子元素 */
|
|
60
62
|
initData(data?: object, skipSetPristine?: boolean, changeReason?: DataChangeReason | undefined): void;
|
|
61
63
|
reset(): void;
|
|
62
64
|
updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: DataChangeReason | undefined): void;
|
|
@@ -84,7 +86,6 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
|
|
|
84
86
|
fetchSchema: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
|
|
85
87
|
checkRemote: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
|
|
86
88
|
} & {
|
|
87
|
-
readonly loading: boolean;
|
|
88
89
|
readonly items: ({
|
|
89
90
|
id: string;
|
|
90
91
|
path: string;
|
|
@@ -1159,6 +1160,8 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
|
|
|
1159
1160
|
addInitHook(fn: (store: any) => any, weight?: number): () => void;
|
|
1160
1161
|
beforeDestroy: () => void;
|
|
1161
1162
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>)[];
|
|
1163
|
+
} & {
|
|
1164
|
+
readonly loading: boolean;
|
|
1162
1165
|
/** 获取InputGroup的子元素 */
|
|
1163
1166
|
readonly inputGroupItems: Record<string, ({
|
|
1164
1167
|
id: string;
|
package/lib/store/form.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.12.0-beta.
|
|
2
|
+
* amis-core v6.12.0-beta.11
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -71,17 +71,21 @@ var FormStore = service.ServiceStore.named('FormStore')
|
|
|
71
71
|
return formItems;
|
|
72
72
|
}
|
|
73
73
|
return {
|
|
74
|
-
get loading() {
|
|
75
|
-
return self.saving || self.fetching;
|
|
76
|
-
},
|
|
77
74
|
get items() {
|
|
78
75
|
return getItems();
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
})
|
|
79
|
+
.views(function (self) {
|
|
80
|
+
return {
|
|
81
|
+
get loading() {
|
|
82
|
+
return self.saving || self.fetching;
|
|
79
83
|
},
|
|
80
84
|
/** 获取InputGroup的子元素 */
|
|
81
85
|
get inputGroupItems() {
|
|
82
86
|
var _a, _b;
|
|
83
87
|
var formItems = {};
|
|
84
|
-
var children =
|
|
88
|
+
var children = self.items.concat();
|
|
85
89
|
while (children.length) {
|
|
86
90
|
var current = children.shift();
|
|
87
91
|
if (current.inputGroupControl && ((_a = current.inputGroupControl) === null || _a === void 0 ? void 0 : _a.name)) {
|
|
@@ -98,7 +102,7 @@ var FormStore = service.ServiceStore.named('FormStore')
|
|
|
98
102
|
},
|
|
99
103
|
get errors() {
|
|
100
104
|
var errors = {};
|
|
101
|
-
|
|
105
|
+
self.items.forEach(function (item) {
|
|
102
106
|
if (!item.valid) {
|
|
103
107
|
errors[item.name] = Array.isArray(errors[item.name])
|
|
104
108
|
? errors[item.name].concat(item.errors)
|
|
@@ -115,20 +119,20 @@ var FormStore = service.ServiceStore.named('FormStore')
|
|
|
115
119
|
return getVariable.getVariable(self.pristine, name);
|
|
116
120
|
},
|
|
117
121
|
getItemById: function (id) {
|
|
118
|
-
return
|
|
122
|
+
return self.items.find(function (item) { return item.itemId === id; });
|
|
119
123
|
},
|
|
120
124
|
getItemByName: function (name) {
|
|
121
|
-
return
|
|
125
|
+
return self.items.find(function (item) { return item.name === name; });
|
|
122
126
|
},
|
|
123
127
|
getItemsByName: function (name) {
|
|
124
|
-
return
|
|
128
|
+
return self.items.filter(function (item) { return item.name === name; });
|
|
125
129
|
},
|
|
126
130
|
get valid() {
|
|
127
|
-
return (
|
|
131
|
+
return (self.items.every(function (item) { return item.valid; }) &&
|
|
128
132
|
(!self.restError || !self.restError.length));
|
|
129
133
|
},
|
|
130
134
|
get validating() {
|
|
131
|
-
return
|
|
135
|
+
return self.items.some(function (item) { return item.validating; });
|
|
132
136
|
},
|
|
133
137
|
get isPristine() {
|
|
134
138
|
return isEqual__default["default"](self.pristine, self.data);
|
|
@@ -223,6 +227,7 @@ var FormStore = service.ServiceStore.named('FormStore')
|
|
|
223
227
|
}
|
|
224
228
|
changeReason &&
|
|
225
229
|
Object.isExtensible(data) &&
|
|
230
|
+
!data.__changeReason &&
|
|
226
231
|
Object.defineProperty(data, '__changeReason', {
|
|
227
232
|
value: changeReason,
|
|
228
233
|
enumerable: false,
|
|
@@ -258,6 +263,7 @@ var FormStore = service.ServiceStore.named('FormStore')
|
|
|
258
263
|
object.deleteVariable(data, name);
|
|
259
264
|
changeReason &&
|
|
260
265
|
Object.isExtensible(data) &&
|
|
266
|
+
!data.__changeReason &&
|
|
261
267
|
Object.defineProperty(data, '__changeReason', {
|
|
262
268
|
value: changeReason,
|
|
263
269
|
enumerable: false,
|
package/lib/store/formItem.js
CHANGED
package/lib/store/iRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.12.0-beta.
|
|
2
|
+
* amis-core v6.12.0-beta.11
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -21,6 +21,7 @@ require('../utils/filter.js');
|
|
|
21
21
|
var SimpleMap = require('../utils/SimpleMap.js');
|
|
22
22
|
var node = require('./node.js');
|
|
23
23
|
require('../utils/api.js');
|
|
24
|
+
require('file-saver');
|
|
24
25
|
require('../utils/browser.js');
|
|
25
26
|
require('../utils/ColorScale.js');
|
|
26
27
|
require('../utils/columnsSplit.js');
|
|
@@ -113,6 +114,7 @@ var iRendererStore = node.StoreNode.named('iRendererStore')
|
|
|
113
114
|
}
|
|
114
115
|
changeReason &&
|
|
115
116
|
Object.isExtensible(data) &&
|
|
117
|
+
!data.__changeReason &&
|
|
116
118
|
Object.defineProperty(data, '__changeReason', {
|
|
117
119
|
value: changeReason,
|
|
118
120
|
enumerable: false,
|
|
@@ -147,6 +149,7 @@ var iRendererStore = node.StoreNode.named('iRendererStore')
|
|
|
147
149
|
});
|
|
148
150
|
changeReason &&
|
|
149
151
|
Object.isExtensible(newData) &&
|
|
152
|
+
!newData.__changeReason &&
|
|
150
153
|
Object.defineProperty(newData, '__changeReason', {
|
|
151
154
|
value: changeReason,
|
|
152
155
|
enumerable: false,
|
|
@@ -207,6 +210,7 @@ var iRendererStore = node.StoreNode.named('iRendererStore')
|
|
|
207
210
|
}
|
|
208
211
|
changeReason &&
|
|
209
212
|
Object.isExtensible(data) &&
|
|
213
|
+
!data.__changeReason &&
|
|
210
214
|
Object.defineProperty(data, '__changeReason', {
|
|
211
215
|
value: changeReason,
|
|
212
216
|
enumerable: false,
|
package/lib/store/index.js
CHANGED
package/lib/store/list.js
CHANGED
package/lib/store/manager.js
CHANGED
package/lib/store/modal.js
CHANGED
package/lib/store/node.js
CHANGED
package/lib/store/pagination.js
CHANGED
package/lib/store/root.d.ts
CHANGED
package/lib/store/root.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.12.0-beta.
|
|
2
|
+
* amis-core v6.12.0-beta.11
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -12,6 +12,7 @@ var mobxStateTree = require('mobx-state-tree');
|
|
|
12
12
|
var helper = require('../utils/helper.js');
|
|
13
13
|
var service = require('./service.js');
|
|
14
14
|
require('../utils/api.js');
|
|
15
|
+
require('file-saver');
|
|
15
16
|
require('../utils/browser.js');
|
|
16
17
|
require('../utils/ColorScale.js');
|
|
17
18
|
require('../utils/columnsSplit.js');
|
package/lib/store/service.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.12.0-beta.
|
|
2
|
+
* amis-core v6.12.0-beta.11
|
|
3
3
|
* Copyright 2018-2025 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -16,6 +16,7 @@ var api = require('../utils/api.js');
|
|
|
16
16
|
var replaceText = require('../utils/replaceText.js');
|
|
17
17
|
var concatData = require('../utils/concatData.js');
|
|
18
18
|
var envOverwrite = require('../envOverwrite.js');
|
|
19
|
+
require('file-saver');
|
|
19
20
|
require('../utils/browser.js');
|
|
20
21
|
require('../utils/ColorScale.js');
|
|
21
22
|
require('../utils/columnsSplit.js');
|
package/lib/store/status.js
CHANGED
package/lib/store/table.d.ts
CHANGED
|
@@ -345,6 +345,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
|
|
|
345
345
|
getDialogScoped(): import("..").IScopedContext | null;
|
|
346
346
|
getDrawerScoped(): import("..").IScopedContext | null;
|
|
347
347
|
} & {
|
|
348
|
+
readonly __: any;
|
|
348
349
|
getSelectionUpperLimit: () => number;
|
|
349
350
|
readonly columnsKey: string;
|
|
350
351
|
readonly columnsData: ({
|
|
@@ -499,7 +500,6 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
|
|
|
499
500
|
fetchSchema: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
|
|
500
501
|
checkRemote: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
|
|
501
502
|
} & {
|
|
502
|
-
readonly loading: boolean;
|
|
503
503
|
readonly items: ({
|
|
504
504
|
id: string;
|
|
505
505
|
path: string;
|
|
@@ -1574,6 +1574,8 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
|
|
|
1574
1574
|
addInitHook(fn: (store: any) => any, weight?: number): () => void;
|
|
1575
1575
|
beforeDestroy: () => void;
|
|
1576
1576
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>)[];
|
|
1577
|
+
} & {
|
|
1578
|
+
readonly loading: boolean;
|
|
1577
1579
|
readonly inputGroupItems: Record<string, ({
|
|
1578
1580
|
id: string;
|
|
1579
1581
|
path: string;
|
|
@@ -5997,7 +5999,6 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
|
|
|
5997
5999
|
fetchSchema: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
|
|
5998
6000
|
checkRemote: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
|
|
5999
6001
|
} & {
|
|
6000
|
-
readonly loading: boolean;
|
|
6001
6002
|
readonly items: ({
|
|
6002
6003
|
id: string;
|
|
6003
6004
|
path: string;
|
|
@@ -7072,6 +7073,8 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
|
|
|
7072
7073
|
addInitHook(fn: (store: any) => any, weight?: number): () => void;
|
|
7073
7074
|
beforeDestroy: () => void;
|
|
7074
7075
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>)[];
|
|
7076
|
+
} & {
|
|
7077
|
+
readonly loading: boolean;
|
|
7075
7078
|
readonly inputGroupItems: Record<string, ({
|
|
7076
7079
|
id: string;
|
|
7077
7080
|
path: string;
|