amis-core 3.4.2 → 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 +2 -2
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +8 -4
- 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.d.ts +1 -0
- package/esm/actions/CmptAction.js +23 -23
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +1 -1
- package/esm/actions/CustomAction.js +2 -2
- 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 +2 -1
- package/esm/components/PopOver.js +2 -2
- 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.d.ts +1 -0
- package/esm/index.js +4 -4
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.js +10 -4
- package/esm/renderers/Item.d.ts +2 -6
- package/esm/renderers/Item.js +11 -17
- package/esm/renderers/Options.js +2 -2
- 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 +41 -22
- package/esm/store/app.js +7 -5
- package/esm/store/combo.d.ts +120 -0
- package/esm/store/combo.js +3 -2
- package/esm/store/crud.d.ts +13 -2
- package/esm/store/crud.js +88 -23
- package/esm/store/form.d.ts +50 -0
- package/esm/store/form.js +5 -2
- package/esm/store/formItem.d.ts +1 -0
- package/esm/store/formItem.js +18 -6
- package/esm/store/iRenderer.js +2 -2
- 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 -2
- package/esm/store/service.js +1 -1
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +454 -83
- package/esm/store/table.js +114 -74
- package/esm/store/table2.d.ts +1 -1
- package/esm/store/table2.js +5 -4
- 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.d.ts +1 -1
- package/esm/utils/debug.js +5 -3
- package/esm/utils/decodeEntity.js +1 -1
- package/esm/utils/dom.js +1 -1
- package/esm/utils/errors.js +1 -1
- package/esm/utils/escapeHtml.js +1 -1
- package/esm/utils/filter-schema.d.ts +8 -0
- package/esm/utils/filter-schema.js +32 -14
- 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 +15 -1
- package/esm/utils/helper.js +59 -12
- 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 +5 -4
- 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 +2 -2
- package/lib/StatusScoped.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +8 -4
- 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.d.ts +1 -0
- package/lib/actions/CmptAction.js +23 -23
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +1 -1
- package/lib/actions/CustomAction.js +2 -2
- 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 +2 -1
- package/lib/components/PopOver.js +2 -2
- 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.d.ts +1 -0
- package/lib/index.js +7 -2
- package/lib/locale.js +1 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.js +10 -4
- package/lib/renderers/Item.d.ts +2 -6
- package/lib/renderers/Item.js +11 -17
- package/lib/renderers/Options.js +2 -2
- 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 +41 -22
- package/lib/store/app.js +6 -4
- package/lib/store/combo.d.ts +144 -25
- package/lib/store/combo.js +3 -2
- package/lib/store/crud.d.ts +13 -2
- package/lib/store/crud.js +88 -23
- package/lib/store/form.d.ts +60 -11
- package/lib/store/form.js +5 -2
- package/lib/store/formItem.d.ts +1 -0
- package/lib/store/formItem.js +16 -4
- package/lib/store/iRenderer.js +2 -2
- 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 -2
- package/lib/store/service.js +1 -1
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +474 -104
- package/lib/store/table.js +112 -72
- package/lib/store/table2.d.ts +1 -1
- package/lib/store/table2.js +5 -4
- 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.d.ts +1 -1
- package/lib/utils/debug.js +4 -2
- 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 +31 -13
- 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 +15 -1
- package/lib/utils/helper.js +62 -11
- 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 +6 -4
- 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/esm/store/table.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.5.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { __assign, __spreadArray, __read, __values } from 'tslib';
|
|
6
|
+
import { __assign, __rest, __spreadArray, __read, __values } from 'tslib';
|
|
7
7
|
import { types, getParent, isAlive } from 'mobx-state-tree';
|
|
8
8
|
import { iRendererStore } from './iRenderer.js';
|
|
9
9
|
import 'amis-formula';
|
|
10
10
|
import 'moment';
|
|
11
11
|
import { createObject, extendObject, isObject } from '../utils/object.js';
|
|
12
|
-
import { isPureVariable } from '../utils/isPureVariable.js';
|
|
13
12
|
import { resolveVariable } from '../utils/resolveVariable.js';
|
|
14
13
|
import { resolveVariableAndFilter } from '../utils/resolveVariableAndFilter.js';
|
|
15
14
|
import 'lodash/isPlainObject';
|
|
@@ -17,7 +16,7 @@ import '../utils/filter.js';
|
|
|
17
16
|
import isEqual from 'lodash/isEqual';
|
|
18
17
|
import find from 'lodash/find';
|
|
19
18
|
import sortBy from 'lodash/sortBy';
|
|
20
|
-
import { immutableExtends, flattenTree, findTree, eachTree, isVisible, hasVisibleExpression, isBreakpoint, difference,
|
|
19
|
+
import { immutableExtends, flattenTree, findTree, eachTree, guid, isVisible, hasVisibleExpression, isBreakpoint, difference, sortArray } from '../utils/helper.js';
|
|
21
20
|
import { evalExpression } from '../utils/tpl.js';
|
|
22
21
|
import { getStoreById } from './manager.js';
|
|
23
22
|
|
|
@@ -25,6 +24,38 @@ import { getStoreById } from './manager.js';
|
|
|
25
24
|
* 内部列的数量 '__checkme' | '__dragme' | '__expandme'
|
|
26
25
|
*/
|
|
27
26
|
var PARTITION_INDEX = 3;
|
|
27
|
+
function initChildren(children, depth, pindex, parentId, path) {
|
|
28
|
+
if (path === void 0) { path = ''; }
|
|
29
|
+
depth += 1;
|
|
30
|
+
return children.map(function (item, index) {
|
|
31
|
+
var _a;
|
|
32
|
+
item = isObject(item)
|
|
33
|
+
? item
|
|
34
|
+
: {
|
|
35
|
+
item: item
|
|
36
|
+
};
|
|
37
|
+
var id = (_a = item.__id) !== null && _a !== void 0 ? _a : guid();
|
|
38
|
+
return {
|
|
39
|
+
// id: String(item && (item as any)[self.primaryField] || `${pindex}-${depth}-${key}`),
|
|
40
|
+
id: String(id),
|
|
41
|
+
parentId: String(parentId),
|
|
42
|
+
key: String("".concat(pindex, "-").concat(depth, "-").concat(index)),
|
|
43
|
+
path: "".concat(path).concat(index),
|
|
44
|
+
depth: depth,
|
|
45
|
+
index: index,
|
|
46
|
+
newIndex: index,
|
|
47
|
+
pristine: item,
|
|
48
|
+
data: item,
|
|
49
|
+
defer: !!item.defer,
|
|
50
|
+
loaded: false,
|
|
51
|
+
loading: false,
|
|
52
|
+
rowSpans: {},
|
|
53
|
+
children: item && Array.isArray(item.children)
|
|
54
|
+
? initChildren(item.children, depth, index, id, "".concat(path).concat(index, "."))
|
|
55
|
+
: []
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
}
|
|
28
59
|
var Column = types
|
|
29
60
|
.model('Column', {
|
|
30
61
|
label: types.optional(types.frozen(), undefined),
|
|
@@ -37,7 +68,6 @@ var Column = types
|
|
|
37
68
|
toggable: true,
|
|
38
69
|
expandable: false,
|
|
39
70
|
checkdisable: false,
|
|
40
|
-
isPrimary: false,
|
|
41
71
|
searchable: types.maybe(types.frozen()),
|
|
42
72
|
enableSearch: true,
|
|
43
73
|
sortable: false,
|
|
@@ -53,6 +83,13 @@ var Column = types
|
|
|
53
83
|
remark: types.optional(types.frozen(), undefined),
|
|
54
84
|
className: types.union(types.string, types.frozen())
|
|
55
85
|
})
|
|
86
|
+
.views(function (self) { return ({
|
|
87
|
+
get isPrimary() {
|
|
88
|
+
var _a;
|
|
89
|
+
var table = getParent(self, 2);
|
|
90
|
+
return (((_a = table.filteredColumns.find(function (column) { return !column.type.startsWith('__'); })) === null || _a === void 0 ? void 0 : _a.id) === self.id);
|
|
91
|
+
}
|
|
92
|
+
}); })
|
|
56
93
|
.actions(function (self) { return ({
|
|
57
94
|
toggleToggle: function (min) {
|
|
58
95
|
if (min === void 0) { min = 1; }
|
|
@@ -92,17 +129,27 @@ var Row = types
|
|
|
92
129
|
rowSpans: types.frozen({}),
|
|
93
130
|
index: types.number,
|
|
94
131
|
newIndex: types.number,
|
|
95
|
-
nth: 0,
|
|
96
132
|
path: '',
|
|
97
|
-
expandable: false,
|
|
98
133
|
checkdisable: false,
|
|
99
134
|
isHover: false,
|
|
100
135
|
children: types.optional(types.array(types.late(function () { return Row; })), []),
|
|
136
|
+
defer: false,
|
|
137
|
+
loaded: false,
|
|
138
|
+
loading: false,
|
|
139
|
+
error: '',
|
|
101
140
|
depth: types.number,
|
|
102
141
|
appeared: true,
|
|
103
142
|
lazyRender: false
|
|
104
143
|
})
|
|
105
144
|
.views(function (self) { return ({
|
|
145
|
+
get expandable() {
|
|
146
|
+
var table;
|
|
147
|
+
return !!((self && self.children.length) ||
|
|
148
|
+
(self && self.defer && !self.loaded) ||
|
|
149
|
+
((table = getParent(self, self.depth * 2)) &&
|
|
150
|
+
table.footable &&
|
|
151
|
+
table.footableColumns.length));
|
|
152
|
+
},
|
|
106
153
|
get checked() {
|
|
107
154
|
return getParent(self, self.depth * 2).isSelected(self);
|
|
108
155
|
},
|
|
@@ -230,30 +277,53 @@ var Row = types
|
|
|
230
277
|
}
|
|
231
278
|
});
|
|
232
279
|
if (Array.isArray(data.children)) {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
280
|
+
this.replaceChildren(data.children);
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
replaceChildren: function (children) {
|
|
284
|
+
var arr = children;
|
|
285
|
+
var pool = arr.concat();
|
|
286
|
+
// 把多的删了先
|
|
287
|
+
if (self.children.length > arr.length) {
|
|
288
|
+
self.children.splice(arr.length, self.children.length - arr.length);
|
|
289
|
+
}
|
|
290
|
+
var index = 0;
|
|
291
|
+
var len = self.children.length;
|
|
292
|
+
while (pool.length) {
|
|
293
|
+
// 因为父级id未更新,所以需要将子级的parentId正确指向父级id
|
|
294
|
+
var item = __assign(__assign({}, pool.shift()), { parentId: self.id });
|
|
295
|
+
if (index < len) {
|
|
296
|
+
self.children[index].replaceWith(item);
|
|
238
297
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
// 因为父级id未更新,所以需要将子级的parentId正确指向父级id
|
|
243
|
-
var item = __assign(__assign({}, pool.shift()), { parentId: self.id });
|
|
244
|
-
if (index < len) {
|
|
245
|
-
self.children[index].replaceWith(item);
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
var row = Row.create(item);
|
|
249
|
-
self.children.push(row);
|
|
250
|
-
}
|
|
251
|
-
index++;
|
|
298
|
+
else {
|
|
299
|
+
var row = Row.create(item);
|
|
300
|
+
self.children.push(row);
|
|
252
301
|
}
|
|
302
|
+
index++;
|
|
253
303
|
}
|
|
254
304
|
},
|
|
255
305
|
markAppeared: function (value) {
|
|
256
306
|
value && (self.appeared = !!value);
|
|
307
|
+
},
|
|
308
|
+
markLoading: function (value) {
|
|
309
|
+
self.loading = !!value;
|
|
310
|
+
},
|
|
311
|
+
markLoaded: function (value) {
|
|
312
|
+
self.loaded = !!value;
|
|
313
|
+
},
|
|
314
|
+
setError: function (value) {
|
|
315
|
+
self.error = String(value);
|
|
316
|
+
},
|
|
317
|
+
resetDefered: function () {
|
|
318
|
+
self.error = '';
|
|
319
|
+
self.loaded = false;
|
|
320
|
+
},
|
|
321
|
+
setDeferData: function (_a) {
|
|
322
|
+
var children = _a.children, rest = __rest(_a, ["children"]);
|
|
323
|
+
self.data = __assign(__assign({}, self.data), rest);
|
|
324
|
+
if (Array.isArray(children)) {
|
|
325
|
+
this.replaceChildren(initChildren(children, self.depth, self.index, self.id, self.path));
|
|
326
|
+
}
|
|
257
327
|
}
|
|
258
328
|
}); });
|
|
259
329
|
var TableStore = iRendererStore
|
|
@@ -658,7 +728,7 @@ var TableStore = iRendererStore
|
|
|
658
728
|
function getTable() {
|
|
659
729
|
return tableRef;
|
|
660
730
|
}
|
|
661
|
-
function update(config) {
|
|
731
|
+
function update(config, options) {
|
|
662
732
|
var _a;
|
|
663
733
|
config.primaryField !== undefined &&
|
|
664
734
|
(self.primaryField = config.primaryField);
|
|
@@ -705,8 +775,15 @@ var TableStore = iRendererStore
|
|
|
705
775
|
(self.tableLayout = config.tableLayout);
|
|
706
776
|
if (config.columns && Array.isArray(config.columns)) {
|
|
707
777
|
var columns = config.columns
|
|
708
|
-
.
|
|
709
|
-
.
|
|
778
|
+
.map(function (column) {
|
|
779
|
+
if ((options === null || options === void 0 ? void 0 : options.resolveDefinitions) &&
|
|
780
|
+
typeof (column === null || column === void 0 ? void 0 : column.$ref) == 'string' &&
|
|
781
|
+
column.$ref) {
|
|
782
|
+
return __assign(__assign({}, options.resolveDefinitions(column.$ref)), column);
|
|
783
|
+
}
|
|
784
|
+
return column;
|
|
785
|
+
})
|
|
786
|
+
.filter(function (column) { return column; });
|
|
710
787
|
// 更新列顺序,afterCreate生命周期中更新columns不会触发组件的render
|
|
711
788
|
var key = getPersistDataKey(columns);
|
|
712
789
|
var data = localStorage.getItem(key);
|
|
@@ -756,11 +833,7 @@ var TableStore = iRendererStore
|
|
|
756
833
|
var origin = item.id
|
|
757
834
|
? originColumns_1.find(function (column) { return column.pristine.id === item.id; })
|
|
758
835
|
: originColumns_1[index];
|
|
759
|
-
return __assign(__assign({}, item), { id: (origin === null || origin === void 0 ? void 0 : origin.id) || 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, rawIndex: index - PARTITION_INDEX, type: item.type || 'plain', pristine: item.pristine || item, toggled: item.toggled !== false, breakpoint: item.breakpoint, isPrimary: index === PARTITION_INDEX
|
|
760
|
-
/** 提前映射变量,方便后续view中使用 */
|
|
761
|
-
label: isPureVariable(item.label)
|
|
762
|
-
? resolveVariableAndFilter(item.label, self.data)
|
|
763
|
-
: item.label });
|
|
836
|
+
return __assign(__assign({}, item), { id: (origin === null || origin === void 0 ? void 0 : origin.id) || 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 });
|
|
764
837
|
});
|
|
765
838
|
self.columns.replace(columns);
|
|
766
839
|
}
|
|
@@ -836,11 +909,11 @@ var TableStore = iRendererStore
|
|
|
836
909
|
if (!table) {
|
|
837
910
|
return;
|
|
838
911
|
}
|
|
839
|
-
var cols = [].slice.call(table.querySelectorAll(':scope>
|
|
912
|
+
var cols = [].slice.call(table.querySelectorAll(':scope>thead>tr>th[data-index]'));
|
|
840
913
|
cols.forEach(function (col) {
|
|
841
914
|
var index = parseInt(col.getAttribute('data-index'), 10);
|
|
842
915
|
var column = self.columns[index];
|
|
843
|
-
column.setRealWidth(col.
|
|
916
|
+
column.setRealWidth(col.offsetWidth);
|
|
844
917
|
});
|
|
845
918
|
}
|
|
846
919
|
function combineCell(arr, keys) {
|
|
@@ -906,44 +979,11 @@ var TableStore = iRendererStore
|
|
|
906
979
|
}
|
|
907
980
|
return combineCell(arr, keys);
|
|
908
981
|
}
|
|
909
|
-
function initChildren(children, depth, pindex, parentId, path, nThRef) {
|
|
910
|
-
if (path === void 0) { path = ''; }
|
|
911
|
-
depth += 1;
|
|
912
|
-
return children.map(function (item, index) {
|
|
913
|
-
var _a;
|
|
914
|
-
item = isObject(item)
|
|
915
|
-
? item
|
|
916
|
-
: {
|
|
917
|
-
item: item
|
|
918
|
-
};
|
|
919
|
-
var id = (_a = item.__id) !== null && _a !== void 0 ? _a : guid();
|
|
920
|
-
return {
|
|
921
|
-
// id: String(item && (item as any)[self.primaryField] || `${pindex}-${depth}-${key}`),
|
|
922
|
-
id: String(id),
|
|
923
|
-
parentId: String(parentId),
|
|
924
|
-
key: String("".concat(pindex, "-").concat(depth, "-").concat(index)),
|
|
925
|
-
path: "".concat(path).concat(index),
|
|
926
|
-
depth: depth,
|
|
927
|
-
index: index,
|
|
928
|
-
nth: nThRef.index++,
|
|
929
|
-
newIndex: index,
|
|
930
|
-
pristine: item,
|
|
931
|
-
data: item,
|
|
932
|
-
rowSpans: {},
|
|
933
|
-
children: item && Array.isArray(item.children)
|
|
934
|
-
? initChildren(item.children, depth, index, id, "".concat(path).concat(index, "."), nThRef)
|
|
935
|
-
: [],
|
|
936
|
-
expandable: !!((item && Array.isArray(item.children) && item.children.length) ||
|
|
937
|
-
(self.footable && self.footableColumns.length))
|
|
938
|
-
};
|
|
939
|
-
});
|
|
940
|
-
}
|
|
941
982
|
function initRows(rows, getEntryId, reUseRow) {
|
|
942
983
|
self.selectedRows.clear();
|
|
943
984
|
// self.expandedRows.clear();
|
|
944
985
|
/* 避免输入内容为非数组挂掉 */
|
|
945
986
|
rows = !Array.isArray(rows) ? [] : rows;
|
|
946
|
-
var nThRef = { index: 0 };
|
|
947
987
|
var arr = rows.map(function (item, index) {
|
|
948
988
|
var _a;
|
|
949
989
|
if (!isObject(item)) {
|
|
@@ -958,24 +998,24 @@ var TableStore = iRendererStore
|
|
|
958
998
|
key: String("".concat(index, "-1-").concat(index)),
|
|
959
999
|
depth: 1,
|
|
960
1000
|
index: index,
|
|
961
|
-
nth: nThRef.index++,
|
|
962
1001
|
newIndex: index,
|
|
963
1002
|
pristine: item,
|
|
964
1003
|
path: "".concat(index),
|
|
965
1004
|
data: item,
|
|
966
1005
|
rowSpans: {},
|
|
1006
|
+
defer: !!item.defer,
|
|
1007
|
+
loaded: false,
|
|
1008
|
+
loading: false,
|
|
967
1009
|
children: item && Array.isArray(item.children)
|
|
968
|
-
? initChildren(item.children, 1, index, id, "".concat(index, ".")
|
|
969
|
-
: []
|
|
970
|
-
expandable: !!((item && Array.isArray(item.children) && item.children.length) ||
|
|
971
|
-
(self.footable && self.footableColumns.length))
|
|
1010
|
+
? initChildren(item.children, 1, index, id, "".concat(index, "."))
|
|
1011
|
+
: []
|
|
972
1012
|
};
|
|
973
1013
|
});
|
|
974
1014
|
if (self.combineNum) {
|
|
975
1015
|
arr = autoCombineCell(arr, self.columns, self.combineNum, self.combineFromIndex);
|
|
976
1016
|
}
|
|
977
1017
|
replaceRow(arr, reUseRow);
|
|
978
|
-
self.isNested = self.rows.some(function (item) { return item.children.length; });
|
|
1018
|
+
self.isNested = self.rows.some(function (item) { return item.children.length || (item.defer && !item.loaded); });
|
|
979
1019
|
// 前 20 个直接渲染,后面的按需渲染
|
|
980
1020
|
if (self.lazyRenderAfter &&
|
|
981
1021
|
self.falttenedRows.length > self.lazyRenderAfter) {
|
package/esm/store/table2.d.ts
CHANGED
|
@@ -388,7 +388,7 @@ export declare const TableStore2: import("mobx-state-tree").IModelType<{
|
|
|
388
388
|
reset(): void;
|
|
389
389
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | null;
|
|
390
390
|
isSelected: (row: IRow2) => boolean;
|
|
391
|
-
getRowByIndex: (rowIndex: number, levels?: Array<
|
|
391
|
+
getRowByIndex: (rowIndex: number, levels?: Array<number>, rows?: Array<IRow2>) => IRow2;
|
|
392
392
|
readonly moved: number;
|
|
393
393
|
readonly movedRows: (import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
|
|
394
394
|
storeType: import("mobx-state-tree").IType<string | undefined, string, string>;
|
package/esm/store/table2.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
|
|
|
@@ -195,12 +195,13 @@ var TableStore2 = ServiceStore.named('TableStore2')
|
|
|
195
195
|
unSelectedItems: getUnSelectedRows().map(function (item) { return item.data; })
|
|
196
196
|
});
|
|
197
197
|
}
|
|
198
|
-
function getRowByIndex(rowIndex, levels) {
|
|
198
|
+
function getRowByIndex(rowIndex, levels, rows) {
|
|
199
|
+
rows = rows || self.rows;
|
|
199
200
|
if (levels && levels.length > 0) {
|
|
200
201
|
var index = +(levels.shift() || 0);
|
|
201
|
-
return getRowByIndex(
|
|
202
|
+
return getRowByIndex(rowIndex, levels, rows[index].children);
|
|
202
203
|
}
|
|
203
|
-
return
|
|
204
|
+
return rows[rowIndex];
|
|
204
205
|
}
|
|
205
206
|
function isSelected(row) {
|
|
206
207
|
return !!~self.selectedRows.indexOf(row);
|
package/esm/theme.js
CHANGED
package/esm/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/esm/utils/Animation.js
CHANGED
package/esm/utils/ColorScale.js
CHANGED
package/esm/utils/DataSchema.js
CHANGED
package/esm/utils/DataScope.js
CHANGED
package/esm/utils/RootClose.js
CHANGED
package/esm/utils/SimpleMap.js
CHANGED
package/esm/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
|
|
|
@@ -370,6 +370,7 @@ function wrapFetcher(fn, tracker) {
|
|
|
370
370
|
switch (_d.label) {
|
|
371
371
|
case 0:
|
|
372
372
|
api = buildApi(api, data, options);
|
|
373
|
+
api.context = data;
|
|
373
374
|
if (!api.requestAdaptor) return [3 /*break*/, 2];
|
|
374
375
|
debug('api', 'before requestAdaptor', api);
|
|
375
376
|
return [4 /*yield*/, api.requestAdaptor(api, data)];
|
package/esm/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
|
|
|
@@ -11,21 +11,27 @@ import { __assign } from 'tslib';
|
|
|
11
11
|
* @param __
|
|
12
12
|
* @returns
|
|
13
13
|
*/
|
|
14
|
-
function attachmentAdpator(response, __) {
|
|
14
|
+
function attachmentAdpator(response, __, api) {
|
|
15
15
|
if (response && response.headers && response.headers['content-disposition']) {
|
|
16
16
|
var disposition = response.headers['content-disposition'];
|
|
17
17
|
var filename = '';
|
|
18
18
|
if (disposition && disposition.indexOf('attachment') !== -1) {
|
|
19
|
-
//
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var matches = disposition.match(filenameRegex);
|
|
23
|
-
if (matches && matches.length) {
|
|
24
|
-
filename = matches[1].replace("UTF-8''", '').replace(/['"]/g, '');
|
|
19
|
+
// 如果 api 中配置了,则优先用 api 中的配置
|
|
20
|
+
if (api === null || api === void 0 ? void 0 : api.downloadFileName) {
|
|
21
|
+
filename = api.downloadFileName;
|
|
25
22
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
else {
|
|
24
|
+
// disposition 有可能是 attachment; filename="??.xlsx"; filename*=UTF-8''%E4%B8%AD%E6%96%87.xlsx
|
|
25
|
+
// 这种情况下最后一个才是正确的文件名
|
|
26
|
+
var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/i;
|
|
27
|
+
var matches = disposition.match(filenameRegex);
|
|
28
|
+
if (matches && matches.length) {
|
|
29
|
+
filename = matches[1].replace("UTF-8''", '').replace(/['"]/g, '');
|
|
30
|
+
}
|
|
31
|
+
// 很可能是中文被 url-encode 了
|
|
32
|
+
if (filename && filename.replace(/[^%]/g, '').length > 2) {
|
|
33
|
+
filename = decodeURIComponent(filename);
|
|
34
|
+
}
|
|
29
35
|
}
|
|
30
36
|
var type = response.headers['content-type'];
|
|
31
37
|
var blob = response.data.toString() === '[object Blob]'
|
package/esm/utils/autobind.js
CHANGED
package/esm/utils/dataMapping.js
CHANGED
package/esm/utils/date.js
CHANGED
package/esm/utils/debug.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* amis 运行时调试功能,为了避免循环引用,这个组件不要依赖 amis 里的组件
|
|
3
3
|
*/
|
|
4
4
|
import React, { Component } from 'react';
|
|
5
|
-
export declare const JsonView: React.LazyExoticComponent<React.ComponentType<
|
|
5
|
+
export declare const JsonView: React.LazyExoticComponent<React.ComponentType<any>>;
|
|
6
6
|
export declare function enableDebug(): void;
|
|
7
7
|
export declare function disableDebug(): void;
|
|
8
8
|
interface DebugWrapperProps {
|
package/esm/utils/debug.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
|
|
|
@@ -9,13 +9,15 @@ import cx from 'classnames';
|
|
|
9
9
|
import { findDOMNode, render, unmountComponentAtNode } from 'react-dom';
|
|
10
10
|
import { observable, autorun } from 'mobx';
|
|
11
11
|
import { observer } from 'mobx-react';
|
|
12
|
-
import { uuidv4 } from './helper.js';
|
|
12
|
+
import { importLazyComponent, uuidv4 } from './helper.js';
|
|
13
13
|
import { position } from './position.js';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* amis 运行时调试功能,为了避免循环引用,这个组件不要依赖 amis 里的组件
|
|
17
17
|
*/
|
|
18
|
-
var JsonView = React.lazy(function () {
|
|
18
|
+
var JsonView = React.lazy(function () {
|
|
19
|
+
return import('react-json-view').then(importLazyComponent);
|
|
20
|
+
});
|
|
19
21
|
/** @class */ ((function () {
|
|
20
22
|
function Log() {
|
|
21
23
|
this.cat = '';
|
package/esm/utils/dom.js
CHANGED
package/esm/utils/errors.js
CHANGED
package/esm/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
|
*
|