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/lib/store/combo.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
|
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
10
10
|
var mobxStateTree = require('mobx-state-tree');
|
|
11
11
|
var iRenderer = require('./iRenderer.js');
|
|
12
12
|
var manager = require('./manager.js');
|
|
13
|
+
var helper = require('../utils/helper.js');
|
|
13
14
|
|
|
14
15
|
var UniqueGroup = mobxStateTree.types
|
|
15
16
|
.model('UniqueGroup', {
|
|
@@ -58,7 +59,7 @@ var ComboStore = iRenderer.iRendererStore
|
|
|
58
59
|
if (isFull_1 || !item.items.length) {
|
|
59
60
|
return;
|
|
60
61
|
}
|
|
61
|
-
var total = item.items[0].options.
|
|
62
|
+
var total = helper.countTree(item.items[0].options, function (item) { return typeof item.value !== 'undefined'; });
|
|
62
63
|
var current = item.items.reduce(function (total, item) {
|
|
63
64
|
return total + item.selectedOptions.length;
|
|
64
65
|
}, 0);
|
package/lib/store/crud.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { Instance } from 'mobx-state-tree';
|
|
2
2
|
import { Api, fetchOptions, ActionObject } from '../types';
|
|
3
|
+
interface MatchFunc {
|
|
4
|
+
(items: any, itemsRaw: any,
|
|
5
|
+
/** 相关配置 */
|
|
6
|
+
options?: {
|
|
7
|
+
query: Record<string, any>;
|
|
8
|
+
columns: any;
|
|
9
|
+
}): any;
|
|
10
|
+
}
|
|
3
11
|
export declare const CRUDStore: import("mobx-state-tree").IModelType<{
|
|
4
12
|
id: import("mobx-state-tree").ISimpleType<string>;
|
|
5
13
|
path: import("mobx-state-tree").IType<string | undefined, string, string>;
|
|
@@ -106,7 +114,6 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
|
|
|
106
114
|
fetchInitData: (api: Api, data?: object, options?: fetchOptions & {
|
|
107
115
|
forceReload?: boolean;
|
|
108
116
|
loadDataOnce?: boolean;
|
|
109
|
-
loadDataOnceFetchOnFilter?: boolean;
|
|
110
117
|
source?: string;
|
|
111
118
|
loadDataMode?: boolean;
|
|
112
119
|
syncResponse2Query?: boolean;
|
|
@@ -122,7 +129,10 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
|
|
|
122
129
|
setSelectedItems: (items: Array<any>) => void;
|
|
123
130
|
setUnSelectedItems: (items: Array<any>) => void;
|
|
124
131
|
setInnerModalOpened: (value: boolean) => void;
|
|
125
|
-
initFromScope: (scope: any, source: string
|
|
132
|
+
initFromScope: (scope: any, source: string, options: {
|
|
133
|
+
columns?: any[] | undefined;
|
|
134
|
+
matchFunc?: MatchFunc | null | undefined;
|
|
135
|
+
}) => void;
|
|
126
136
|
exportAsCSV: (options?: {
|
|
127
137
|
loadDataOnce?: boolean | undefined;
|
|
128
138
|
api?: Api | undefined;
|
|
@@ -133,3 +143,4 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
|
|
|
133
143
|
updateTotal: (total: number) => void;
|
|
134
144
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
135
145
|
export type ICRUDStore = Instance<typeof CRUDStore>;
|
|
146
|
+
export {};
|
package/lib/store/crud.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
|
|
|
@@ -67,7 +67,11 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
67
67
|
// 包两层,主要是为了处理以下 case
|
|
68
68
|
// 里面放了个 form,form 提交过来的时候不希望把 items 这些发送过来。
|
|
69
69
|
// 因为会把数据呈现在地址栏上。
|
|
70
|
-
return object.createObject(object.createObject(self.data,
|
|
70
|
+
return object.createObject(object.createObject(self.data, {
|
|
71
|
+
items: self.items.concat(),
|
|
72
|
+
selectedItems: self.selectedItems.concat(),
|
|
73
|
+
unSelectedItems: self.unSelectedItems.concat()
|
|
74
|
+
}), tslib.__assign({}, self.query));
|
|
71
75
|
},
|
|
72
76
|
get mergedData() {
|
|
73
77
|
return object.extendObject(self.data, tslib.__assign(tslib.__assign(tslib.__assign({}, self.query), self.data), { selectedItems: self.selectedItems, unSelectedItems: self.unSelectedItems }));
|
|
@@ -107,7 +111,7 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
107
111
|
}
|
|
108
112
|
}
|
|
109
113
|
var fetchInitData = mobxStateTree.flow(function getInitData(api$1, data, options) {
|
|
110
|
-
var items_1, dir, data_1, ctx, json, result, total, count, page, hasNext, oItems, oRows, columns, rest, items, _a, _b, key, rowsData, data_2, filteredItems_1, dir, e_1, env;
|
|
114
|
+
var matchFunc, items_1, dir, data_1, ctx, json, result, total, count, page, hasNext, oItems, oRows, columns, rest, items, _a, _b, key, rowsData, data_2, filteredItems_1, dir, e_1, env;
|
|
111
115
|
var _c, e_2, _d;
|
|
112
116
|
var _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
113
117
|
if (options === void 0) { options = {}; }
|
|
@@ -116,27 +120,37 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
116
120
|
case 0:
|
|
117
121
|
_q.trys.push([0, 2, , 3]);
|
|
118
122
|
if (!options.forceReload && options.loadDataOnce && self.total) {
|
|
123
|
+
matchFunc = options.matchFunc;
|
|
119
124
|
items_1 = options.source
|
|
120
125
|
? resolveVariableAndFilter.resolveVariableAndFilter(options.source, object.createObject(self.mergedData, {
|
|
121
126
|
items: self.data.itemsRaw,
|
|
122
127
|
rows: self.data.itemsRaw
|
|
123
128
|
}), '| raw')
|
|
124
129
|
: self.items.concat();
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
/** 字段的格式类型无法穷举,所以支持使用函数过滤 */
|
|
131
|
+
if (matchFunc && typeof matchFunc === 'function') {
|
|
132
|
+
items_1 = matchFunc(items_1, self.data.itemsRaw, {
|
|
133
|
+
query: self.query,
|
|
134
|
+
columns: options.columns
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
if (Array.isArray(options.columns)) {
|
|
139
|
+
options.columns.forEach(function (column) {
|
|
140
|
+
var value = typeof column.name === 'string'
|
|
141
|
+
? getVariable.getVariable(self.query, column.name)
|
|
142
|
+
: undefined;
|
|
143
|
+
var key = column.name;
|
|
144
|
+
if (value != null && key) {
|
|
145
|
+
// value可能为null、undefined、''、0
|
|
133
146
|
if (Array.isArray(value)) {
|
|
134
147
|
if (value.length > 0) {
|
|
135
148
|
var arr_1 = tslib.__spreadArray([], tslib.__read(items_1), false);
|
|
136
149
|
var arrItems_1 = [];
|
|
137
150
|
value.forEach(function (item) {
|
|
138
151
|
arrItems_1 = tslib.__spreadArray(tslib.__spreadArray([], tslib.__read(arrItems_1), false), tslib.__read(matchSorter.matchSorter(arr_1, item, {
|
|
139
|
-
keys: [key]
|
|
152
|
+
keys: [key],
|
|
153
|
+
threshold: matchSorter.matchSorter.rankings.CONTAINS
|
|
140
154
|
})), false);
|
|
141
155
|
});
|
|
142
156
|
items_1 = items_1.filter(function (item) {
|
|
@@ -146,12 +160,13 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
146
160
|
}
|
|
147
161
|
else {
|
|
148
162
|
items_1 = matchSorter.matchSorter(items_1, value, {
|
|
149
|
-
keys: [key]
|
|
163
|
+
keys: [key],
|
|
164
|
+
threshold: matchSorter.matchSorter.rankings.CONTAINS
|
|
150
165
|
});
|
|
151
166
|
}
|
|
152
167
|
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
155
170
|
}
|
|
156
171
|
if (self.query.orderBy) {
|
|
157
172
|
dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
|
|
@@ -258,7 +273,8 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
258
273
|
var arrItems_2 = [];
|
|
259
274
|
value.forEach(function (item) {
|
|
260
275
|
arrItems_2 = tslib.__spreadArray(tslib.__spreadArray([], tslib.__read(arrItems_2), false), tslib.__read(matchSorter.matchSorter(arr_2, item, {
|
|
261
|
-
keys: [key]
|
|
276
|
+
keys: [key],
|
|
277
|
+
threshold: matchSorter.matchSorter.rankings.CONTAINS
|
|
262
278
|
})), false);
|
|
263
279
|
});
|
|
264
280
|
filteredItems_1 = filteredItems_1.filter(function (item) {
|
|
@@ -268,7 +284,8 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
268
284
|
}
|
|
269
285
|
else {
|
|
270
286
|
filteredItems_1 = matchSorter.matchSorter(filteredItems_1, value, {
|
|
271
|
-
keys: [key]
|
|
287
|
+
keys: [key],
|
|
288
|
+
threshold: matchSorter.matchSorter.rankings.CONTAINS
|
|
272
289
|
});
|
|
273
290
|
}
|
|
274
291
|
}
|
|
@@ -415,14 +432,62 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
|
|
|
415
432
|
var setInnerModalOpened = function (value) {
|
|
416
433
|
self.hasInnerModalOpen = value;
|
|
417
434
|
};
|
|
418
|
-
var initFromScope = function (scope, source) {
|
|
419
|
-
var
|
|
420
|
-
|
|
435
|
+
var initFromScope = function (scope, source, options) {
|
|
436
|
+
var _a;
|
|
437
|
+
var matchFunc = options.matchFunc;
|
|
438
|
+
var items = resolveVariableAndFilter.resolveVariableAndFilter(source, scope, '| raw');
|
|
439
|
+
if (!Array.isArray(items) && !self.items.length) {
|
|
421
440
|
return;
|
|
422
441
|
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
442
|
+
items = Array.isArray(items) ? items : [];
|
|
443
|
+
/** 字段的格式类型无法穷举,所以支持使用函数过滤 */
|
|
444
|
+
if (matchFunc && typeof matchFunc === 'function') {
|
|
445
|
+
items = matchFunc(items, items.concat(), {
|
|
446
|
+
query: self.query,
|
|
447
|
+
columns: options.columns
|
|
448
|
+
});
|
|
449
|
+
}
|
|
450
|
+
else {
|
|
451
|
+
if (Array.isArray(options.columns)) {
|
|
452
|
+
options.columns.forEach(function (column) {
|
|
453
|
+
var value = typeof column.name === 'string'
|
|
454
|
+
? getVariable.getVariable(self.query, column.name)
|
|
455
|
+
: undefined;
|
|
456
|
+
var key = column.name;
|
|
457
|
+
if (value != null && key) {
|
|
458
|
+
// value可能为null、undefined、''、0
|
|
459
|
+
if (Array.isArray(value)) {
|
|
460
|
+
if (value.length > 0) {
|
|
461
|
+
var arr_3 = tslib.__spreadArray([], tslib.__read(items), false);
|
|
462
|
+
var arrItems_3 = [];
|
|
463
|
+
value.forEach(function (item) {
|
|
464
|
+
arrItems_3 = tslib.__spreadArray(tslib.__spreadArray([], tslib.__read(arrItems_3), false), tslib.__read(matchSorter.matchSorter(arr_3, item, {
|
|
465
|
+
keys: [key],
|
|
466
|
+
threshold: matchSorter.matchSorter.rankings.CONTAINS
|
|
467
|
+
})), false);
|
|
468
|
+
});
|
|
469
|
+
items = items.filter(function (item) {
|
|
470
|
+
return arrItems_3.find(function (a) { return a === item; });
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
else {
|
|
475
|
+
items = matchSorter.matchSorter(items, value, {
|
|
476
|
+
keys: [key],
|
|
477
|
+
threshold: matchSorter.matchSorter.rankings.CONTAINS
|
|
478
|
+
});
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
});
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
if (self.query.orderBy) {
|
|
485
|
+
var dir = /desc/i.test(self.query.orderDir) ? -1 : 1;
|
|
486
|
+
items = helper.sortArray(items, self.query.orderBy, dir);
|
|
487
|
+
}
|
|
488
|
+
var data = tslib.__assign(tslib.__assign({}, self.pristine), { items: items.slice((self.page - 1) * self.perPage, self.page * self.perPage), count: items.length, total: items.length });
|
|
489
|
+
self.total = parseInt((_a = data.total) !== null && _a !== void 0 ? _a : data.count, 10) || 0;
|
|
490
|
+
self.items.replace(items);
|
|
426
491
|
self.reInitData(data);
|
|
427
492
|
};
|
|
428
493
|
var exportAsCSV = function (options) {
|