amis-core 3.4.3 → 3.5.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.js +12 -2
- package/esm/SchemaRenderer.js +1 -1
- package/esm/Scoped.js +1 -1
- package/esm/StatusScoped.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 +1 -1
- 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 +1 -1
- package/esm/actions/DialogAction.js +1 -1
- package/esm/actions/DrawerAction.js +1 -1
- package/esm/actions/EmailAction.js +1 -1
- package/esm/actions/LinkAction.js +1 -1
- package/esm/actions/LoopAction.js +1 -1
- package/esm/actions/PageAction.js +1 -1
- package/esm/actions/ParallelAction.js +1 -1
- package/esm/actions/StatusAction.js +1 -1
- package/esm/actions/SwitchAction.js +1 -1
- package/esm/actions/ToastAction.js +1 -1
- package/esm/components/CustomStyle.js +9 -9
- package/esm/components/LazyComponent.js +1 -1
- package/esm/components/Overlay.js +1 -1
- package/esm/components/PopOver.js +1 -1
- package/esm/env.d.ts +11 -3
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.js +1 -3
- package/esm/index.js +4 -4
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.js +3 -3
- package/esm/renderers/Item.d.ts +2 -6
- package/esm/renderers/Item.js +10 -16
- package/esm/renderers/Options.js +1 -1
- 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 +40 -21
- package/esm/store/app.js +6 -4
- package/esm/store/combo.d.ts +120 -0
- package/esm/store/combo.js +3 -2
- package/esm/store/crud.d.ts +13 -1
- package/esm/store/crud.js +94 -36
- package/esm/store/form.d.ts +50 -0
- package/esm/store/form.js +1 -1
- package/esm/store/formItem.d.ts +1 -0
- package/esm/store/formItem.js +17 -5
- package/esm/store/iRenderer.js +1 -1
- package/esm/store/index.js +1 -1
- package/esm/store/list.js +1 -1
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.js +1 -1
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.js +1 -1
- package/esm/store/root.js +1 -1
- package/esm/store/service.js +1 -1
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +418 -65
- package/esm/store/table.js +106 -72
- package/esm/store/table2.js +1 -1
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +6 -0
- package/esm/utils/Animation.js +1 -1
- package/esm/utils/ColorScale.js +1 -1
- package/esm/utils/DataSchema.js +1 -1
- package/esm/utils/DataScope.js +1 -1
- package/esm/utils/RootClose.js +1 -1
- package/esm/utils/SimpleMap.js +1 -1
- package/esm/utils/api.js +2 -1
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.d.ts +2 -1
- package/esm/utils/attachmentAdpator.js +17 -11
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/dataMapping.js +1 -1
- package/esm/utils/date.js +1 -1
- package/esm/utils/debug.js +1 -1
- package/esm/utils/decodeEntity.js +1 -1
- package/esm/utils/dom.js +1 -1
- package/esm/utils/errors.js +1 -1
- package/esm/utils/escapeHtml.js +1 -1
- package/esm/utils/filter-schema.d.ts +8 -0
- package/esm/utils/filter-schema.js +23 -9
- 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 +2 -1
- package/esm/utils/helper.d.ts +13 -0
- package/esm/utils/helper.js +46 -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 +1 -1
- package/esm/utils/json-schema-2-amis-schema.js +1 -1
- package/esm/utils/keyToPath.js +1 -1
- package/esm/utils/makeSorter.js +1 -1
- package/esm/utils/math.js +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/renderer-event.js +1 -1
- package/esm/utils/replaceText.d.ts +1 -1
- package/esm/utils/replaceText.js +9 -4
- package/esm/utils/resize-sensor.js +1 -1
- package/esm/utils/resolveCondition.js +1 -1
- package/esm/utils/resolveVariable.js +1 -1
- package/esm/utils/resolveVariableAndFilter.js +1 -1
- package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
- package/esm/utils/scrollPosition.js +1 -1
- package/esm/utils/string2regExp.js +1 -1
- package/esm/utils/stripNumber.js +1 -1
- package/esm/utils/style-helper.js +3 -3
- package/esm/utils/style.js +1 -1
- package/esm/utils/toNumber.js +1 -1
- package/esm/utils/tokenize.js +1 -1
- package/esm/utils/tpl-builtin.js +1 -1
- package/esm/utils/tpl-lodash.js +1 -1
- package/esm/utils/tpl.js +1 -1
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validations.js +1 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.js +12 -2
- package/lib/SchemaRenderer.js +1 -1
- package/lib/Scoped.js +1 -1
- package/lib/StatusScoped.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 +1 -1
- 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 +1 -1
- package/lib/actions/DialogAction.js +1 -1
- package/lib/actions/DrawerAction.js +1 -1
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/LinkAction.js +1 -1
- package/lib/actions/LoopAction.js +1 -1
- package/lib/actions/PageAction.js +1 -1
- package/lib/actions/ParallelAction.js +1 -1
- package/lib/actions/StatusAction.js +1 -1
- package/lib/actions/SwitchAction.js +1 -1
- package/lib/actions/ToastAction.js +1 -1
- package/lib/components/CustomStyle.js +9 -9
- package/lib/components/LazyComponent.js +1 -1
- package/lib/components/Overlay.js +1 -1
- package/lib/components/PopOver.js +1 -1
- package/lib/env.d.ts +11 -3
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.js +1 -3
- package/lib/index.js +6 -2
- package/lib/locale.js +1 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.js +3 -3
- package/lib/renderers/Item.d.ts +3 -7
- package/lib/renderers/Item.js +10 -16
- package/lib/renderers/Options.js +1 -1
- 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 +40 -21
- package/lib/store/app.js +5 -3
- package/lib/store/combo.d.ts +120 -1
- package/lib/store/combo.js +3 -2
- package/lib/store/crud.d.ts +13 -1
- package/lib/store/crud.js +94 -36
- package/lib/store/form.d.ts +50 -0
- package/lib/store/form.js +1 -1
- package/lib/store/formItem.d.ts +1 -0
- package/lib/store/formItem.js +15 -3
- package/lib/store/iRenderer.js +1 -1
- package/lib/store/index.js +1 -1
- package/lib/store/list.js +1 -1
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.js +1 -1
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.js +1 -1
- package/lib/store/root.js +1 -1
- package/lib/store/service.js +1 -1
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +418 -66
- package/lib/store/table.js +104 -70
- package/lib/store/table2.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +6 -0
- package/lib/utils/Animation.js +1 -1
- package/lib/utils/ColorScale.js +1 -1
- package/lib/utils/DataSchema.js +1 -1
- package/lib/utils/DataScope.js +1 -1
- package/lib/utils/RootClose.js +1 -1
- package/lib/utils/SimpleMap.js +1 -1
- package/lib/utils/api.js +2 -1
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.d.ts +2 -1
- package/lib/utils/attachmentAdpator.js +17 -11
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.js +1 -1
- package/lib/utils/debug.js +1 -1
- package/lib/utils/decodeEntity.js +1 -1
- package/lib/utils/dom.js +1 -1
- package/lib/utils/errors.js +1 -1
- package/lib/utils/escapeHtml.js +1 -1
- package/lib/utils/filter-schema.d.ts +8 -0
- package/lib/utils/filter-schema.js +22 -7
- 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 +2 -1
- package/lib/utils/helper.d.ts +13 -0
- package/lib/utils/helper.js +48 -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 +1 -1
- package/lib/utils/json-schema-2-amis-schema.js +1 -1
- package/lib/utils/keyToPath.js +1 -1
- package/lib/utils/makeSorter.js +1 -1
- package/lib/utils/math.js +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/renderer-event.js +1 -1
- package/lib/utils/replaceText.d.ts +1 -1
- package/lib/utils/replaceText.js +9 -4
- package/lib/utils/resize-sensor.js +1 -1
- package/lib/utils/resolveCondition.js +1 -1
- package/lib/utils/resolveVariable.js +1 -1
- package/lib/utils/resolveVariableAndFilter.js +1 -1
- package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
- package/lib/utils/scrollPosition.js +1 -1
- package/lib/utils/string2regExp.js +1 -1
- package/lib/utils/stripNumber.js +1 -1
- package/lib/utils/style-helper.js +3 -3
- package/lib/utils/style.js +1 -1
- package/lib/utils/toNumber.js +1 -1
- package/lib/utils/tokenize.js +1 -1
- package/lib/utils/tpl-builtin.js +1 -1
- package/lib/utils/tpl-lodash.js +1 -1
- package/lib/utils/tpl.js +1 -1
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validations.js +1 -1
- package/package.json +4 -3
package/lib/store/table.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.5.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -13,7 +13,6 @@ var iRenderer = require('./iRenderer.js');
|
|
|
13
13
|
require('amis-formula');
|
|
14
14
|
require('moment');
|
|
15
15
|
var object = require('../utils/object.js');
|
|
16
|
-
var isPureVariable = require('../utils/isPureVariable.js');
|
|
17
16
|
var resolveVariable = require('../utils/resolveVariable.js');
|
|
18
17
|
var resolveVariableAndFilter = require('../utils/resolveVariableAndFilter.js');
|
|
19
18
|
require('lodash/isPlainObject');
|
|
@@ -35,6 +34,38 @@ var sortBy__default = /*#__PURE__*/_interopDefaultLegacy(sortBy);
|
|
|
35
34
|
* 内部列的数量 '__checkme' | '__dragme' | '__expandme'
|
|
36
35
|
*/
|
|
37
36
|
var PARTITION_INDEX = 3;
|
|
37
|
+
function initChildren(children, depth, pindex, parentId, path) {
|
|
38
|
+
if (path === void 0) { path = ''; }
|
|
39
|
+
depth += 1;
|
|
40
|
+
return children.map(function (item, index) {
|
|
41
|
+
var _a;
|
|
42
|
+
item = object.isObject(item)
|
|
43
|
+
? item
|
|
44
|
+
: {
|
|
45
|
+
item: item
|
|
46
|
+
};
|
|
47
|
+
var id = (_a = item.__id) !== null && _a !== void 0 ? _a : helper.guid();
|
|
48
|
+
return {
|
|
49
|
+
// id: String(item && (item as any)[self.primaryField] || `${pindex}-${depth}-${key}`),
|
|
50
|
+
id: String(id),
|
|
51
|
+
parentId: String(parentId),
|
|
52
|
+
key: String("".concat(pindex, "-").concat(depth, "-").concat(index)),
|
|
53
|
+
path: "".concat(path).concat(index),
|
|
54
|
+
depth: depth,
|
|
55
|
+
index: index,
|
|
56
|
+
newIndex: index,
|
|
57
|
+
pristine: item,
|
|
58
|
+
data: item,
|
|
59
|
+
defer: !!item.defer,
|
|
60
|
+
loaded: false,
|
|
61
|
+
loading: false,
|
|
62
|
+
rowSpans: {},
|
|
63
|
+
children: item && Array.isArray(item.children)
|
|
64
|
+
? initChildren(item.children, depth, index, id, "".concat(path).concat(index, "."))
|
|
65
|
+
: []
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
}
|
|
38
69
|
var Column = mobxStateTree.types
|
|
39
70
|
.model('Column', {
|
|
40
71
|
label: mobxStateTree.types.optional(mobxStateTree.types.frozen(), undefined),
|
|
@@ -66,7 +97,7 @@ var Column = mobxStateTree.types
|
|
|
66
97
|
get isPrimary() {
|
|
67
98
|
var _a;
|
|
68
99
|
var table = mobxStateTree.getParent(self, 2);
|
|
69
|
-
return ((_a = table.filteredColumns
|
|
100
|
+
return (((_a = table.filteredColumns.find(function (column) { return !column.type.startsWith('__'); })) === null || _a === void 0 ? void 0 : _a.id) === self.id);
|
|
70
101
|
}
|
|
71
102
|
}); })
|
|
72
103
|
.actions(function (self) { return ({
|
|
@@ -108,17 +139,27 @@ var Row = mobxStateTree.types
|
|
|
108
139
|
rowSpans: mobxStateTree.types.frozen({}),
|
|
109
140
|
index: mobxStateTree.types.number,
|
|
110
141
|
newIndex: mobxStateTree.types.number,
|
|
111
|
-
nth: 0,
|
|
112
142
|
path: '',
|
|
113
|
-
expandable: false,
|
|
114
143
|
checkdisable: false,
|
|
115
144
|
isHover: false,
|
|
116
145
|
children: mobxStateTree.types.optional(mobxStateTree.types.array(mobxStateTree.types.late(function () { return Row; })), []),
|
|
146
|
+
defer: false,
|
|
147
|
+
loaded: false,
|
|
148
|
+
loading: false,
|
|
149
|
+
error: '',
|
|
117
150
|
depth: mobxStateTree.types.number,
|
|
118
151
|
appeared: true,
|
|
119
152
|
lazyRender: false
|
|
120
153
|
})
|
|
121
154
|
.views(function (self) { return ({
|
|
155
|
+
get expandable() {
|
|
156
|
+
var table;
|
|
157
|
+
return !!((self && self.children.length) ||
|
|
158
|
+
(self && self.defer && !self.loaded) ||
|
|
159
|
+
((table = mobxStateTree.getParent(self, self.depth * 2)) &&
|
|
160
|
+
table.footable &&
|
|
161
|
+
table.footableColumns.length));
|
|
162
|
+
},
|
|
122
163
|
get checked() {
|
|
123
164
|
return mobxStateTree.getParent(self, self.depth * 2).isSelected(self);
|
|
124
165
|
},
|
|
@@ -246,30 +287,53 @@ var Row = mobxStateTree.types
|
|
|
246
287
|
}
|
|
247
288
|
});
|
|
248
289
|
if (Array.isArray(data.children)) {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
290
|
+
this.replaceChildren(data.children);
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
replaceChildren: function (children) {
|
|
294
|
+
var arr = children;
|
|
295
|
+
var pool = arr.concat();
|
|
296
|
+
// 把多的删了先
|
|
297
|
+
if (self.children.length > arr.length) {
|
|
298
|
+
self.children.splice(arr.length, self.children.length - arr.length);
|
|
299
|
+
}
|
|
300
|
+
var index = 0;
|
|
301
|
+
var len = self.children.length;
|
|
302
|
+
while (pool.length) {
|
|
303
|
+
// 因为父级id未更新,所以需要将子级的parentId正确指向父级id
|
|
304
|
+
var item = tslib.__assign(tslib.__assign({}, pool.shift()), { parentId: self.id });
|
|
305
|
+
if (index < len) {
|
|
306
|
+
self.children[index].replaceWith(item);
|
|
254
307
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
// 因为父级id未更新,所以需要将子级的parentId正确指向父级id
|
|
259
|
-
var item = tslib.__assign(tslib.__assign({}, pool.shift()), { parentId: self.id });
|
|
260
|
-
if (index < len) {
|
|
261
|
-
self.children[index].replaceWith(item);
|
|
262
|
-
}
|
|
263
|
-
else {
|
|
264
|
-
var row = Row.create(item);
|
|
265
|
-
self.children.push(row);
|
|
266
|
-
}
|
|
267
|
-
index++;
|
|
308
|
+
else {
|
|
309
|
+
var row = Row.create(item);
|
|
310
|
+
self.children.push(row);
|
|
268
311
|
}
|
|
312
|
+
index++;
|
|
269
313
|
}
|
|
270
314
|
},
|
|
271
315
|
markAppeared: function (value) {
|
|
272
316
|
value && (self.appeared = !!value);
|
|
317
|
+
},
|
|
318
|
+
markLoading: function (value) {
|
|
319
|
+
self.loading = !!value;
|
|
320
|
+
},
|
|
321
|
+
markLoaded: function (value) {
|
|
322
|
+
self.loaded = !!value;
|
|
323
|
+
},
|
|
324
|
+
setError: function (value) {
|
|
325
|
+
self.error = String(value);
|
|
326
|
+
},
|
|
327
|
+
resetDefered: function () {
|
|
328
|
+
self.error = '';
|
|
329
|
+
self.loaded = false;
|
|
330
|
+
},
|
|
331
|
+
setDeferData: function (_a) {
|
|
332
|
+
var children = _a.children, rest = tslib.__rest(_a, ["children"]);
|
|
333
|
+
self.data = tslib.__assign(tslib.__assign({}, self.data), rest);
|
|
334
|
+
if (Array.isArray(children)) {
|
|
335
|
+
this.replaceChildren(initChildren(children, self.depth, self.index, self.id, self.path));
|
|
336
|
+
}
|
|
273
337
|
}
|
|
274
338
|
}); });
|
|
275
339
|
var TableStore = iRenderer.iRendererStore
|
|
@@ -674,7 +738,7 @@ var TableStore = iRenderer.iRendererStore
|
|
|
674
738
|
function getTable() {
|
|
675
739
|
return tableRef;
|
|
676
740
|
}
|
|
677
|
-
function update(config) {
|
|
741
|
+
function update(config, options) {
|
|
678
742
|
var _a;
|
|
679
743
|
config.primaryField !== undefined &&
|
|
680
744
|
(self.primaryField = config.primaryField);
|
|
@@ -721,8 +785,15 @@ var TableStore = iRenderer.iRendererStore
|
|
|
721
785
|
(self.tableLayout = config.tableLayout);
|
|
722
786
|
if (config.columns && Array.isArray(config.columns)) {
|
|
723
787
|
var columns = config.columns
|
|
724
|
-
.
|
|
725
|
-
.
|
|
788
|
+
.map(function (column) {
|
|
789
|
+
if ((options === null || options === void 0 ? void 0 : options.resolveDefinitions) &&
|
|
790
|
+
typeof (column === null || column === void 0 ? void 0 : column.$ref) == 'string' &&
|
|
791
|
+
column.$ref) {
|
|
792
|
+
return tslib.__assign(tslib.__assign({}, options.resolveDefinitions(column.$ref)), column);
|
|
793
|
+
}
|
|
794
|
+
return column;
|
|
795
|
+
})
|
|
796
|
+
.filter(function (column) { return column; });
|
|
726
797
|
// 更新列顺序,afterCreate生命周期中更新columns不会触发组件的render
|
|
727
798
|
var key = getPersistDataKey(columns);
|
|
728
799
|
var data = localStorage.getItem(key);
|
|
@@ -772,11 +843,7 @@ var TableStore = iRenderer.iRendererStore
|
|
|
772
843
|
var origin = item.id
|
|
773
844
|
? originColumns_1.find(function (column) { return column.pristine.id === item.id; })
|
|
774
845
|
: originColumns_1[index];
|
|
775
|
-
return tslib.__assign(tslib.__assign({}, item), { id: (origin === null || origin === void 0 ? void 0 : origin.id) || helper.guid(), index: index, width: (origin === null || origin === void 0 ? void 0 : origin.width) || 0, minWidth: (origin === null || origin === void 0 ? void 0 : origin.minWidth) || 0, realWidth: (origin === null || origin === void 0 ? void 0 : origin.realWidth) || 0, rawIndex: index - PARTITION_INDEX, type: item.type || 'plain', pristine: item.pristine || item, toggled: item.toggled !== false, breakpoint: item.breakpoint,
|
|
776
|
-
/** 提前映射变量,方便后续view中使用 */
|
|
777
|
-
label: isPureVariable.isPureVariable(item.label)
|
|
778
|
-
? resolveVariableAndFilter.resolveVariableAndFilter(item.label, self.data)
|
|
779
|
-
: item.label });
|
|
846
|
+
return tslib.__assign(tslib.__assign({}, item), { id: (origin === null || origin === void 0 ? void 0 : origin.id) || helper.guid(), index: index, width: (origin === null || origin === void 0 ? void 0 : origin.width) || 0, minWidth: (origin === null || origin === void 0 ? void 0 : origin.minWidth) || 0, realWidth: (origin === null || origin === void 0 ? void 0 : origin.realWidth) || 0, rawIndex: index - PARTITION_INDEX, type: item.type || 'plain', pristine: item.pristine || item, toggled: item.toggled !== false, breakpoint: item.breakpoint, isPrimary: index === PARTITION_INDEX });
|
|
780
847
|
});
|
|
781
848
|
self.columns.replace(columns);
|
|
782
849
|
}
|
|
@@ -922,44 +989,11 @@ var TableStore = iRenderer.iRendererStore
|
|
|
922
989
|
}
|
|
923
990
|
return combineCell(arr, keys);
|
|
924
991
|
}
|
|
925
|
-
function initChildren(children, depth, pindex, parentId, path, nThRef) {
|
|
926
|
-
if (path === void 0) { path = ''; }
|
|
927
|
-
depth += 1;
|
|
928
|
-
return children.map(function (item, index) {
|
|
929
|
-
var _a;
|
|
930
|
-
item = object.isObject(item)
|
|
931
|
-
? item
|
|
932
|
-
: {
|
|
933
|
-
item: item
|
|
934
|
-
};
|
|
935
|
-
var id = (_a = item.__id) !== null && _a !== void 0 ? _a : helper.guid();
|
|
936
|
-
return {
|
|
937
|
-
// id: String(item && (item as any)[self.primaryField] || `${pindex}-${depth}-${key}`),
|
|
938
|
-
id: String(id),
|
|
939
|
-
parentId: String(parentId),
|
|
940
|
-
key: String("".concat(pindex, "-").concat(depth, "-").concat(index)),
|
|
941
|
-
path: "".concat(path).concat(index),
|
|
942
|
-
depth: depth,
|
|
943
|
-
index: index,
|
|
944
|
-
nth: nThRef.index++,
|
|
945
|
-
newIndex: index,
|
|
946
|
-
pristine: item,
|
|
947
|
-
data: item,
|
|
948
|
-
rowSpans: {},
|
|
949
|
-
children: item && Array.isArray(item.children)
|
|
950
|
-
? initChildren(item.children, depth, index, id, "".concat(path).concat(index, "."), nThRef)
|
|
951
|
-
: [],
|
|
952
|
-
expandable: !!((item && Array.isArray(item.children) && item.children.length) ||
|
|
953
|
-
(self.footable && self.footableColumns.length))
|
|
954
|
-
};
|
|
955
|
-
});
|
|
956
|
-
}
|
|
957
992
|
function initRows(rows, getEntryId, reUseRow) {
|
|
958
993
|
self.selectedRows.clear();
|
|
959
994
|
// self.expandedRows.clear();
|
|
960
995
|
/* 避免输入内容为非数组挂掉 */
|
|
961
996
|
rows = !Array.isArray(rows) ? [] : rows;
|
|
962
|
-
var nThRef = { index: 0 };
|
|
963
997
|
var arr = rows.map(function (item, index) {
|
|
964
998
|
var _a;
|
|
965
999
|
if (!object.isObject(item)) {
|
|
@@ -974,24 +1008,24 @@ var TableStore = iRenderer.iRendererStore
|
|
|
974
1008
|
key: String("".concat(index, "-1-").concat(index)),
|
|
975
1009
|
depth: 1,
|
|
976
1010
|
index: index,
|
|
977
|
-
nth: nThRef.index++,
|
|
978
1011
|
newIndex: index,
|
|
979
1012
|
pristine: item,
|
|
980
1013
|
path: "".concat(index),
|
|
981
1014
|
data: item,
|
|
982
1015
|
rowSpans: {},
|
|
1016
|
+
defer: !!item.defer,
|
|
1017
|
+
loaded: false,
|
|
1018
|
+
loading: false,
|
|
983
1019
|
children: item && Array.isArray(item.children)
|
|
984
|
-
? initChildren(item.children, 1, index, id, "".concat(index, ".")
|
|
985
|
-
: []
|
|
986
|
-
expandable: !!((item && Array.isArray(item.children) && item.children.length) ||
|
|
987
|
-
(self.footable && self.footableColumns.length))
|
|
1020
|
+
? initChildren(item.children, 1, index, id, "".concat(index, "."))
|
|
1021
|
+
: []
|
|
988
1022
|
};
|
|
989
1023
|
});
|
|
990
1024
|
if (self.combineNum) {
|
|
991
1025
|
arr = autoCombineCell(arr, self.columns, self.combineNum, self.combineFromIndex);
|
|
992
1026
|
}
|
|
993
1027
|
replaceRow(arr, reUseRow);
|
|
994
|
-
self.isNested = self.rows.some(function (item) { return item.children.length; });
|
|
1028
|
+
self.isNested = self.rows.some(function (item) { return item.children.length || (item.defer && !item.loaded); });
|
|
995
1029
|
// 前 20 个直接渲染,后面的按需渲染
|
|
996
1030
|
if (self.lazyRenderAfter &&
|
|
997
1031
|
self.falttenedRows.length > self.lazyRenderAfter) {
|
package/lib/store/table2.js
CHANGED
package/lib/theme.js
CHANGED
package/lib/types.d.ts
CHANGED
|
@@ -186,8 +186,14 @@ export interface ApiObject extends BaseApiObject {
|
|
|
186
186
|
mockResponse?: PlainObject;
|
|
187
187
|
adaptor?: (payload: object, response: fetcherResult, api: ApiObject, context: any) => any;
|
|
188
188
|
requestAdaptor?: (api: ApiObject, context: any) => ApiObject | Promise<ApiObject>;
|
|
189
|
+
/**
|
|
190
|
+
* api 发送上下文,可以用来传递一些数据给 api 的 adaptor
|
|
191
|
+
* @readonly
|
|
192
|
+
*/
|
|
193
|
+
context?: any;
|
|
189
194
|
/** 是否过滤为空字符串的 query 参数 */
|
|
190
195
|
filterEmptyQuery?: boolean;
|
|
196
|
+
downloadFileName?: string;
|
|
191
197
|
}
|
|
192
198
|
export type ApiString = string;
|
|
193
199
|
export type Api = ApiString | ApiObject;
|
package/lib/utils/Animation.js
CHANGED
package/lib/utils/ColorScale.js
CHANGED
package/lib/utils/DataSchema.js
CHANGED
package/lib/utils/DataScope.js
CHANGED
package/lib/utils/RootClose.js
CHANGED
package/lib/utils/SimpleMap.js
CHANGED
package/lib/utils/api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.5.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -379,6 +379,7 @@ function wrapFetcher(fn, tracker) {
|
|
|
379
379
|
switch (_d.label) {
|
|
380
380
|
case 0:
|
|
381
381
|
api = buildApi(api, data, options);
|
|
382
|
+
api.context = data;
|
|
382
383
|
if (!api.requestAdaptor) return [3 /*break*/, 2];
|
|
383
384
|
debug.debug('api', 'before requestAdaptor', api);
|
|
384
385
|
return [4 /*yield*/, api.requestAdaptor(api, data)];
|
package/lib/utils/arraySlice.js
CHANGED
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
* @param __
|
|
5
5
|
* @returns
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
import { ApiObject } from '../types';
|
|
8
|
+
export declare function attachmentAdpator(response: any, __: Function, api?: ApiObject): any;
|
|
8
9
|
export default attachmentAdpator;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.5.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -15,21 +15,27 @@ var tslib = require('tslib');
|
|
|
15
15
|
* @param __
|
|
16
16
|
* @returns
|
|
17
17
|
*/
|
|
18
|
-
function attachmentAdpator(response, __) {
|
|
18
|
+
function attachmentAdpator(response, __, api) {
|
|
19
19
|
if (response && response.headers && response.headers['content-disposition']) {
|
|
20
20
|
var disposition = response.headers['content-disposition'];
|
|
21
21
|
var filename = '';
|
|
22
22
|
if (disposition && disposition.indexOf('attachment') !== -1) {
|
|
23
|
-
//
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var matches = disposition.match(filenameRegex);
|
|
27
|
-
if (matches && matches.length) {
|
|
28
|
-
filename = matches[1].replace("UTF-8''", '').replace(/['"]/g, '');
|
|
23
|
+
// 如果 api 中配置了,则优先用 api 中的配置
|
|
24
|
+
if (api === null || api === void 0 ? void 0 : api.downloadFileName) {
|
|
25
|
+
filename = api.downloadFileName;
|
|
29
26
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
else {
|
|
28
|
+
// disposition 有可能是 attachment; filename="??.xlsx"; filename*=UTF-8''%E4%B8%AD%E6%96%87.xlsx
|
|
29
|
+
// 这种情况下最后一个才是正确的文件名
|
|
30
|
+
var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/i;
|
|
31
|
+
var matches = disposition.match(filenameRegex);
|
|
32
|
+
if (matches && matches.length) {
|
|
33
|
+
filename = matches[1].replace("UTF-8''", '').replace(/['"]/g, '');
|
|
34
|
+
}
|
|
35
|
+
// 很可能是中文被 url-encode 了
|
|
36
|
+
if (filename && filename.replace(/[^%]/g, '').length > 2) {
|
|
37
|
+
filename = decodeURIComponent(filename);
|
|
38
|
+
}
|
|
33
39
|
}
|
|
34
40
|
var type = response.headers['content-type'];
|
|
35
41
|
var blob = response.data.toString() === '[object Blob]'
|
package/lib/utils/autobind.js
CHANGED
package/lib/utils/dataMapping.js
CHANGED
package/lib/utils/date.js
CHANGED
package/lib/utils/debug.js
CHANGED
package/lib/utils/dom.js
CHANGED
package/lib/utils/errors.js
CHANGED
package/lib/utils/escapeHtml.js
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { PlainObject } from '../types';
|
|
2
|
+
import type { ClassValue } from '../theme';
|
|
3
|
+
/**
|
|
4
|
+
* 计算下发给子组件的className,处理对象类型的className,将其中的表达式计算出来,避免被classnames识别为true
|
|
5
|
+
*
|
|
6
|
+
* @param value - CSS类名值
|
|
7
|
+
* @param ctx - 数据域
|
|
8
|
+
*/
|
|
9
|
+
export declare function filterClassNameObject(classValue: ClassValue, ctx?: Record<string, any>): ClassValue;
|
|
2
10
|
/**
|
|
3
11
|
* 处理 Props 数据,所有带 On 结束的做一次
|
|
4
12
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.5.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -16,6 +16,25 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
16
16
|
|
|
17
17
|
var isPlainObject__default = /*#__PURE__*/_interopDefaultLegacy(isPlainObject);
|
|
18
18
|
|
|
19
|
+
/**
|
|
20
|
+
* 计算下发给子组件的className,处理对象类型的className,将其中的表达式计算出来,避免被classnames识别为true
|
|
21
|
+
*
|
|
22
|
+
* @param value - CSS类名值
|
|
23
|
+
* @param ctx - 数据域
|
|
24
|
+
*/
|
|
25
|
+
function filterClassNameObject(classValue, ctx) {
|
|
26
|
+
if (ctx === void 0) { ctx = {}; }
|
|
27
|
+
var result = classValue;
|
|
28
|
+
if (classValue && typeof classValue === 'string') {
|
|
29
|
+
result = tokenize.tokenize(classValue, ctx);
|
|
30
|
+
}
|
|
31
|
+
else if (classValue && isPlainObject__default["default"](classValue)) {
|
|
32
|
+
result = helper.mapObject(classValue, function (value) {
|
|
33
|
+
return typeof value === 'string' ? tpl.evalExpression(value, ctx) : value;
|
|
34
|
+
}, undefined, function (key) { return tokenize.tokenize(key, ctx); });
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
19
38
|
/**
|
|
20
39
|
* 处理 Props 数据,所有带 On 结束的做一次
|
|
21
40
|
*
|
|
@@ -66,16 +85,12 @@ function getExprProperties(schema, data, blackList, props) {
|
|
|
66
85
|
value &&
|
|
67
86
|
(typeof value === 'string' || isPlainObject__default["default"](value))) {
|
|
68
87
|
exprProps["".concat(key, "Raw")] = value;
|
|
69
|
-
exprProps[key] =
|
|
70
|
-
typeof value === 'string'
|
|
71
|
-
? tokenize.tokenize(value, data)
|
|
72
|
-
: helper.mapObject(value, function (value) {
|
|
73
|
-
return typeof value === 'string' ? tpl.evalExpression(value, data) : value;
|
|
74
|
-
}, undefined, function (key) { return tokenize.tokenize(key, data); });
|
|
88
|
+
exprProps[key] = filterClassNameObject(value, data);
|
|
75
89
|
}
|
|
76
90
|
});
|
|
77
91
|
return exprProps;
|
|
78
92
|
}
|
|
79
93
|
|
|
80
94
|
exports["default"] = getExprProperties;
|
|
95
|
+
exports.filterClassNameObject = filterClassNameObject;
|
|
81
96
|
exports.getExprProperties = getExprProperties;
|
package/lib/utils/filter.js
CHANGED
package/lib/utils/formula.js
CHANGED
package/lib/utils/getVariable.js
CHANGED
package/lib/utils/grammar.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.5.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -30,6 +30,7 @@ function handleAction(e, action, props, data) {
|
|
|
30
30
|
action.actionType = 'ajax';
|
|
31
31
|
var api$1 = api.normalizeApi(action.api);
|
|
32
32
|
api$1.responseType = 'blob';
|
|
33
|
+
api$1.downloadFileName = action.downloadFileName;
|
|
33
34
|
action.api = api$1;
|
|
34
35
|
}
|
|
35
36
|
onAction(e, action, data || props.data);
|