amis-core 3.5.2 → 3.6.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.d.ts +1 -1
- package/esm/RootRenderer.js +2 -2
- package/esm/SchemaRenderer.js +1 -1
- package/esm/Scoped.d.ts +2 -0
- package/esm/Scoped.js +49 -7
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +27 -12
- package/esm/actions/Action.js +30 -22
- 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 +31 -32
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +3 -3
- 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 +5 -5
- 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 +3 -3
- package/esm/components/CustomStyle.js +1 -1
- package/esm/components/ErrorBoundary.d.ts +20 -0
- package/esm/components/ErrorBoundary.js +41 -0
- package/esm/components/LazyComponent.js +1 -1
- package/esm/components/Overlay.js +1 -1
- package/esm/components/PopOver.d.ts +4 -0
- package/esm/components/PopOver.js +66 -3
- package/esm/env.d.ts +9 -0
- package/esm/env.js +1 -1
- package/esm/envOverwrite.d.ts +1 -1
- package/esm/envOverwrite.js +15 -35
- package/esm/factory.js +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.js +5 -4
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +10 -4
- package/esm/renderers/Form.js +64 -32
- package/esm/renderers/Item.d.ts +54 -0
- package/esm/renderers/Item.js +1 -1
- package/esm/renderers/Options.d.ts +5 -1
- package/esm/renderers/Options.js +11 -9
- 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 +10 -17
- package/esm/store/app.js +1 -1
- package/esm/store/combo.d.ts +1154 -48
- package/esm/store/combo.js +10 -3
- package/esm/store/crud.d.ts +9 -1
- package/esm/store/crud.js +50 -15
- package/esm/store/form.d.ts +480 -20
- package/esm/store/form.js +1 -1
- package/esm/store/formItem.d.ts +23 -1
- package/esm/store/formItem.js +103 -15
- 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 +1078 -42
- package/esm/store/table.js +64 -6
- package/esm/store/table2.js +1 -4
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +8 -2
- 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 +1 -1
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +3 -1
- 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 +2 -1
- package/esm/utils/filter-schema.js +14 -5
- 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 +2 -2
- package/esm/utils/helper.js +37 -29
- 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 +8 -5
- 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 +15 -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.d.ts +7 -0
- package/esm/utils/renderer-event.js +30 -18
- 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.js +12 -15
- package/esm/utils/style.js +3 -2
- 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.d.ts +1 -1
- package/lib/RootRenderer.js +2 -2
- package/lib/SchemaRenderer.js +1 -1
- package/lib/Scoped.d.ts +2 -0
- package/lib/Scoped.js +48 -6
- package/lib/StatusScoped.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +26 -11
- package/lib/actions/Action.js +29 -21
- 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 +31 -32
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +3 -3
- 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 +5 -5
- 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 +3 -3
- package/lib/components/CustomStyle.js +1 -1
- package/lib/components/ErrorBoundary.d.ts +20 -0
- package/lib/components/ErrorBoundary.js +52 -0
- package/lib/components/LazyComponent.js +1 -1
- package/lib/components/Overlay.js +1 -1
- package/lib/components/PopOver.d.ts +4 -0
- package/lib/components/PopOver.js +64 -1
- package/lib/env.d.ts +9 -0
- package/lib/env.js +1 -1
- package/lib/envOverwrite.d.ts +1 -1
- package/lib/envOverwrite.js +18 -34
- package/lib/factory.js +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +6 -3
- package/lib/locale.js +1 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +10 -4
- package/lib/renderers/Form.js +64 -32
- package/lib/renderers/Item.d.ts +54 -0
- package/lib/renderers/Item.js +1 -1
- package/lib/renderers/Options.d.ts +5 -1
- package/lib/renderers/Options.js +11 -9
- 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 +10 -17
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +1154 -49
- package/lib/store/combo.js +10 -3
- package/lib/store/crud.d.ts +9 -1
- package/lib/store/crud.js +50 -15
- package/lib/store/form.d.ts +480 -21
- package/lib/store/form.js +1 -1
- package/lib/store/formItem.d.ts +23 -1
- package/lib/store/formItem.js +104 -15
- 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 +1078 -43
- package/lib/store/table.js +63 -5
- package/lib/store/table2.js +1 -4
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +8 -2
- 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 +1 -1
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +3 -1
- 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 +2 -1
- package/lib/utils/filter-schema.js +14 -4
- 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 +2 -2
- package/lib/utils/helper.js +36 -28
- 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 +8 -5
- 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 +15 -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.d.ts +7 -0
- package/lib/utils/renderer-event.js +30 -18
- 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.js +12 -15
- package/lib/utils/style.js +3 -2
- 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 +3 -3
package/esm/store/form.js
CHANGED
package/esm/store/formItem.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
|
|
|
40
40
|
joinValues: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
41
41
|
extractValue: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
42
42
|
options: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>;
|
|
43
|
+
optionsRaw: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>;
|
|
43
44
|
expressionsInOptions: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
44
45
|
selectFirst: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
45
46
|
autoFill: import("mobx-state-tree").IType<any, any, any>;
|
|
@@ -55,6 +56,8 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
|
|
|
55
56
|
inputGroupControl: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
|
56
57
|
colIndex: import("mobx-state-tree").IType<any, any, any>;
|
|
57
58
|
rowIndex: import("mobx-state-tree").IType<any, any, any>;
|
|
59
|
+
pagination: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
|
60
|
+
accumulatedOptions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>;
|
|
58
61
|
}, {
|
|
59
62
|
readonly parentStore: any;
|
|
60
63
|
readonly __: any;
|
|
@@ -75,13 +78,21 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
|
|
|
75
78
|
readonly valid: boolean;
|
|
76
79
|
readonly errClassNames: string;
|
|
77
80
|
readonly lastSelectValue: string;
|
|
81
|
+
/** 数据源接口数据是否开启分页 */
|
|
82
|
+
readonly enableSourcePagination: boolean;
|
|
83
|
+
/** 数据源接口开启分页时当前页码 */
|
|
84
|
+
readonly sourcePageNum: number;
|
|
85
|
+
/** 数据源接口开启分页时每页显示条数 */
|
|
86
|
+
readonly sourcePerPageNum: number;
|
|
87
|
+
/** 数据源接口开启分页时数据总条数 */
|
|
88
|
+
readonly sourceTotalNum: number;
|
|
78
89
|
getSelectedOptions: (value?: any, nodeValueArray?: any[] | undefined) => any;
|
|
79
90
|
splitExtraValue(value: any): any[];
|
|
80
91
|
getMergedData(data: any): any;
|
|
81
92
|
} & {
|
|
82
93
|
focus: () => void;
|
|
83
94
|
blur: () => void;
|
|
84
|
-
config: ({ extraName, required, unique, value, isValueSchemaExp, rules, messages, delimiter, multiple, valueField, labelField, joinValues, extractValue, type, id, selectFirst, autoFill, clearValueOnHidden, validateApi, maxLength, minLength, validateOnChange, label, inputGroupControl }: {
|
|
95
|
+
config: ({ extraName, required, unique, value, isValueSchemaExp, rules, messages, delimiter, multiple, valueField, labelField, joinValues, extractValue, type, id, selectFirst, autoFill, clearValueOnHidden, validateApi, maxLength, minLength, validateOnChange, label, inputGroupControl, pagination }: {
|
|
85
96
|
extraName?: string | undefined;
|
|
86
97
|
required?: boolean | undefined;
|
|
87
98
|
unique?: boolean | undefined;
|
|
@@ -114,6 +125,11 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
|
|
|
114
125
|
name: string;
|
|
115
126
|
path: string;
|
|
116
127
|
} | undefined;
|
|
128
|
+
pagination?: {
|
|
129
|
+
enable?: boolean | undefined;
|
|
130
|
+
page?: number | undefined;
|
|
131
|
+
perPage?: number | undefined;
|
|
132
|
+
} | undefined;
|
|
117
133
|
}) => void;
|
|
118
134
|
validate: (data: Object, hook?: any, customRules?: {
|
|
119
135
|
[propName: string]: any;
|
|
@@ -124,10 +140,16 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
|
|
|
124
140
|
rule: string;
|
|
125
141
|
})[], tag?: string) => void;
|
|
126
142
|
clearError: (tag?: string) => void;
|
|
143
|
+
setPagination: (params: {
|
|
144
|
+
page?: number | undefined;
|
|
145
|
+
perPage?: number | undefined;
|
|
146
|
+
total?: number | undefined;
|
|
147
|
+
}) => void;
|
|
127
148
|
setOptions: (options: Array<object>, onChange?: ((value: any) => void) | undefined, data?: Object) => void;
|
|
128
149
|
loadOptions: (api: Api, data?: object, config?: (fetchOptions & {
|
|
129
150
|
extendsOptions?: boolean | undefined;
|
|
130
151
|
}) | undefined, clearValue?: boolean, onChange?: ((value: any) => void) | undefined, setErrorFlag?: boolean) => Promise<Payload | null>;
|
|
152
|
+
loadOptionsFromDataScope: (source: string, ctx: Record<string, any>, onChange?: ((value: any) => void) | undefined) => any[];
|
|
131
153
|
deferLoadOptions: (option: any, api: Api, data?: object, config?: fetchOptions | undefined) => Promise<Payload | null>;
|
|
132
154
|
deferLoadLeftOptions: (option: any, leftOptions: any, api: Api, data?: object, config?: fetchOptions | undefined) => Promise<Payload | null>;
|
|
133
155
|
expandTreeOptions: (nodePathArr: any[], api: Api, data?: object, config?: fetchOptions | undefined) => Promise<Payload | null | void>;
|
package/esm/store/formItem.js
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.6.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { __generator, __assign, __values, __spreadArray, __read } from 'tslib';
|
|
7
7
|
import { types, flow, getEnv, isAlive } from 'mobx-state-tree';
|
|
8
8
|
import isEqualWith from 'lodash/isEqualWith';
|
|
9
|
+
import uniqWith from 'lodash/uniqWith';
|
|
9
10
|
import { FormStore } from './form.js';
|
|
10
11
|
import { validate, str2rules } from '../utils/validations.js';
|
|
11
12
|
import { ComboStore } from './combo.js';
|
|
12
13
|
import { evalExpression } from '../utils/tpl.js';
|
|
14
|
+
import 'amis-formula';
|
|
15
|
+
import 'moment';
|
|
16
|
+
import { cloneObject, setVariable, createObject, isObject } from '../utils/object.js';
|
|
17
|
+
import { resolveVariableAndFilter } from '../utils/resolveVariableAndFilter.js';
|
|
18
|
+
import { dataMapping } from '../utils/dataMapping.js';
|
|
19
|
+
import '../utils/filter.js';
|
|
13
20
|
import { isEffectiveApi, buildApi } from '../utils/api.js';
|
|
14
21
|
import findIndex from 'lodash/findIndex';
|
|
15
22
|
import { findTree, spliceTree, flattenTree, findTreeIndex, isObjectShallowModified, filterTree, isArrayChildrenModified, eachTree, mapTree } from '../utils/helper.js';
|
|
@@ -21,8 +28,6 @@ import { StoreNode } from './node.js';
|
|
|
21
28
|
import { getStoreById } from './manager.js';
|
|
22
29
|
import { normalizeOptions } from '../utils/normalizeOptions.js';
|
|
23
30
|
import { getOptionValueBindField, getOptionValue, optionValueCompare } from '../utils/optionValueCompare.js';
|
|
24
|
-
import { dataMapping } from '../utils/dataMapping.js';
|
|
25
|
-
import { cloneObject, setVariable, createObject, isObject } from '../utils/object.js';
|
|
26
31
|
|
|
27
32
|
var ErrorDetail = types.model('ErrorDetail', {
|
|
28
33
|
msg: '',
|
|
@@ -68,6 +73,7 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
68
73
|
joinValues: true,
|
|
69
74
|
extractValue: false,
|
|
70
75
|
options: types.optional(types.frozen(), []),
|
|
76
|
+
optionsRaw: types.optional(types.frozen(), []),
|
|
71
77
|
expressionsInOptions: false,
|
|
72
78
|
selectFirst: false,
|
|
73
79
|
autoFill: types.frozen(),
|
|
@@ -83,7 +89,18 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
83
89
|
/** 当前表单项所属的InputGroup父元素, 用于收集InputGroup的子元素 */
|
|
84
90
|
inputGroupControl: types.optional(types.frozen(), {}),
|
|
85
91
|
colIndex: types.frozen(),
|
|
86
|
-
rowIndex: types.frozen()
|
|
92
|
+
rowIndex: types.frozen(),
|
|
93
|
+
/** Transfer组件分页模式 */
|
|
94
|
+
pagination: types.optional(types.frozen(), {
|
|
95
|
+
enable: false,
|
|
96
|
+
/** 当前页数 */
|
|
97
|
+
page: 1,
|
|
98
|
+
/** 每页显示条数 */
|
|
99
|
+
perPage: 10,
|
|
100
|
+
/** 总条数 */
|
|
101
|
+
total: 0
|
|
102
|
+
}),
|
|
103
|
+
accumulatedOptions: types.optional(types.frozen(), [])
|
|
87
104
|
})
|
|
88
105
|
.views(function (self) {
|
|
89
106
|
function getForm() {
|
|
@@ -134,6 +151,25 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
134
151
|
get lastSelectValue() {
|
|
135
152
|
return getLastOptionValue();
|
|
136
153
|
},
|
|
154
|
+
/** 数据源接口数据是否开启分页 */
|
|
155
|
+
get enableSourcePagination() {
|
|
156
|
+
return !!self.pagination.enable;
|
|
157
|
+
},
|
|
158
|
+
/** 数据源接口开启分页时当前页码 */
|
|
159
|
+
get sourcePageNum() {
|
|
160
|
+
var _a;
|
|
161
|
+
return (_a = self.pagination.page) !== null && _a !== void 0 ? _a : 1;
|
|
162
|
+
},
|
|
163
|
+
/** 数据源接口开启分页时每页显示条数 */
|
|
164
|
+
get sourcePerPageNum() {
|
|
165
|
+
var _a;
|
|
166
|
+
return (_a = self.pagination.perPage) !== null && _a !== void 0 ? _a : 10;
|
|
167
|
+
},
|
|
168
|
+
/** 数据源接口开启分页时数据总条数 */
|
|
169
|
+
get sourceTotalNum() {
|
|
170
|
+
var _a;
|
|
171
|
+
return (_a = self.pagination.total) !== null && _a !== void 0 ? _a : 0;
|
|
172
|
+
},
|
|
137
173
|
getSelectedOptions: function (value, nodeValueArray) {
|
|
138
174
|
if (value === void 0) { value = self.tmpValue; }
|
|
139
175
|
// 查看是否命中缓存
|
|
@@ -221,7 +257,7 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
221
257
|
var dialogCallbacks = new SimpleMap();
|
|
222
258
|
var loadAutoUpdateCancel = null;
|
|
223
259
|
function config(_a) {
|
|
224
|
-
var extraName = _a.extraName, required = _a.required, unique = _a.unique; _a.value; var isValueSchemaExp = _a.isValueSchemaExp, rules = _a.rules, messages = _a.messages, delimiter = _a.delimiter, multiple = _a.multiple, valueField = _a.valueField, labelField = _a.labelField, joinValues = _a.joinValues, extractValue = _a.extractValue, type = _a.type, id = _a.id, selectFirst = _a.selectFirst, autoFill = _a.autoFill, clearValueOnHidden = _a.clearValueOnHidden, validateApi = _a.validateApi, maxLength = _a.maxLength, minLength = _a.minLength, validateOnChange = _a.validateOnChange, label = _a.label, inputGroupControl = _a.inputGroupControl;
|
|
260
|
+
var extraName = _a.extraName, required = _a.required, unique = _a.unique; _a.value; var isValueSchemaExp = _a.isValueSchemaExp, rules = _a.rules, messages = _a.messages, delimiter = _a.delimiter, multiple = _a.multiple, valueField = _a.valueField, labelField = _a.labelField, joinValues = _a.joinValues, extractValue = _a.extractValue, type = _a.type, id = _a.id, selectFirst = _a.selectFirst, autoFill = _a.autoFill, clearValueOnHidden = _a.clearValueOnHidden, validateApi = _a.validateApi, maxLength = _a.maxLength, minLength = _a.minLength, validateOnChange = _a.validateOnChange, label = _a.label, inputGroupControl = _a.inputGroupControl, pagination = _a.pagination;
|
|
225
261
|
if (typeof rules === 'string') {
|
|
226
262
|
rules = str2rules(rules);
|
|
227
263
|
}
|
|
@@ -253,6 +289,14 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
253
289
|
isObject(inputGroupControl) &&
|
|
254
290
|
(inputGroupControl === null || inputGroupControl === void 0 ? void 0 : inputGroupControl.name) != null &&
|
|
255
291
|
(self.inputGroupControl = inputGroupControl);
|
|
292
|
+
if (pagination && isObject(pagination) && !!pagination.enable) {
|
|
293
|
+
self.pagination = {
|
|
294
|
+
enable: true,
|
|
295
|
+
page: pagination.page ? pagination.page || 1 : 1,
|
|
296
|
+
perPage: pagination.perPage ? pagination.perPage || 10 : 10,
|
|
297
|
+
total: 0
|
|
298
|
+
};
|
|
299
|
+
}
|
|
256
300
|
if (typeof rules !== 'undefined' ||
|
|
257
301
|
typeof required !== 'undefined' ||
|
|
258
302
|
typeof minLength === 'number' ||
|
|
@@ -283,7 +327,7 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
283
327
|
}
|
|
284
328
|
var validateCancel = null;
|
|
285
329
|
var validate$1 = flow(function validate$1(data, hook, customRules) {
|
|
286
|
-
var json, combo, group;
|
|
330
|
+
var json, err_1, combo, group;
|
|
287
331
|
var _a;
|
|
288
332
|
var _b, _c, _d, _e, _f;
|
|
289
333
|
return __generator(this, function (_g) {
|
|
@@ -301,24 +345,33 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
301
345
|
_g.label = 2;
|
|
302
346
|
case 2:
|
|
303
347
|
addError(validate(self.tmpValue, data, customRules ? str2rules(customRules) : self.rules, self.messages, self.__));
|
|
304
|
-
if (!(!self.errors.length && isEffectiveApi(self.validateApi, data))) return [3 /*break*/,
|
|
348
|
+
if (!(!self.errors.length && isEffectiveApi(self.validateApi, data))) return [3 /*break*/, 6];
|
|
305
349
|
if (validateCancel) {
|
|
306
350
|
validateCancel();
|
|
307
351
|
validateCancel = null;
|
|
308
352
|
}
|
|
353
|
+
_g.label = 3;
|
|
354
|
+
case 3:
|
|
355
|
+
_g.trys.push([3, 5, , 6]);
|
|
309
356
|
return [4 /*yield*/, getEnv(self).fetcher(self.validateApi,
|
|
310
357
|
/** 如果配置validateApi,需要将用户最新输入同步到数据域内 */
|
|
311
358
|
createObject(data, (_a = {}, _a[self.name] = self.tmpValue, _a)), {
|
|
312
|
-
cancelExecutor: function (executor) {
|
|
359
|
+
cancelExecutor: function (executor) {
|
|
360
|
+
return (validateCancel = executor);
|
|
361
|
+
}
|
|
313
362
|
})];
|
|
314
|
-
case
|
|
363
|
+
case 4:
|
|
315
364
|
json = _g.sent();
|
|
316
365
|
validateCancel = null;
|
|
317
366
|
if (!json.ok && json.status === 422 && json.errors) {
|
|
318
367
|
addError(String((_d = (_c = (_b = self.validateApi) === null || _b === void 0 ? void 0 : _b.messages) === null || _c === void 0 ? void 0 : _c.failed) !== null && _d !== void 0 ? _d : (json.errors || json.msg || "\u8868\u5355\u9879\u300C".concat(self.name, "\u300D\u6821\u9A8C\u5931\u8D25"))));
|
|
319
368
|
}
|
|
320
|
-
|
|
321
|
-
case
|
|
369
|
+
return [3 /*break*/, 6];
|
|
370
|
+
case 5:
|
|
371
|
+
err_1 = _g.sent();
|
|
372
|
+
addError(String(err_1));
|
|
373
|
+
return [3 /*break*/, 6];
|
|
374
|
+
case 6:
|
|
322
375
|
self.validated = true;
|
|
323
376
|
if (self.unique && ((_f = (_e = self.form) === null || _e === void 0 ? void 0 : _e.parentStore) === null || _f === void 0 ? void 0 : _f.storeType) === 'ComboStore') {
|
|
324
377
|
combo = self.form.parentStore;
|
|
@@ -390,6 +443,12 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
390
443
|
finally { if (e_1) throw e_1.error; }
|
|
391
444
|
}
|
|
392
445
|
}
|
|
446
|
+
function setPagination(params) {
|
|
447
|
+
var _a = params || {}, page = _a.page, perPage = _a.perPage, total = _a.total;
|
|
448
|
+
if (self.enableSourcePagination) {
|
|
449
|
+
self.pagination = __assign(__assign(__assign(__assign({}, self.pagination), (page != null && typeof page === 'number' ? { page: page } : {})), (perPage != null && typeof perPage === 'number' ? { perPage: perPage } : {})), (total != null && typeof total === 'number' ? { total: total } : {}));
|
|
450
|
+
}
|
|
451
|
+
}
|
|
393
452
|
function setOptions(options, onChange, data) {
|
|
394
453
|
if (!Array.isArray(options)) {
|
|
395
454
|
return;
|
|
@@ -397,6 +456,14 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
397
456
|
options = filterTree(options, function (item) { return item; });
|
|
398
457
|
var originOptions = self.options.concat();
|
|
399
458
|
self.options = options;
|
|
459
|
+
/** 开启分页后当前选项内容需要累加 */
|
|
460
|
+
self.accumulatedOptions = self.enableSourcePagination
|
|
461
|
+
? uniqWith(__spreadArray(__spreadArray([], __read(originOptions), false), __read(options), false), function (lhs, rhs) {
|
|
462
|
+
var _a, _b;
|
|
463
|
+
return lhs[(_a = self.valueField) !== null && _a !== void 0 ? _a : 'value'] ===
|
|
464
|
+
rhs[(_b = self.valueField) !== null && _b !== void 0 ? _b : 'value'];
|
|
465
|
+
})
|
|
466
|
+
: options;
|
|
400
467
|
syncOptions(originOptions, data);
|
|
401
468
|
var selectedOptions;
|
|
402
469
|
if (onChange &&
|
|
@@ -486,12 +553,12 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
486
553
|
});
|
|
487
554
|
var loadOptions = flow(function getInitData(api, data, config, clearValue, onChange, setErrorFlag) {
|
|
488
555
|
var json, options;
|
|
489
|
-
var _a, _b, _c;
|
|
490
|
-
return __generator(this, function (
|
|
491
|
-
switch (
|
|
556
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
557
|
+
return __generator(this, function (_h) {
|
|
558
|
+
switch (_h.label) {
|
|
492
559
|
case 0: return [4 /*yield*/, fetchOptions(api, data, config, setErrorFlag)];
|
|
493
560
|
case 1:
|
|
494
|
-
json =
|
|
561
|
+
json = _h.sent();
|
|
495
562
|
if (!json) {
|
|
496
563
|
return [2 /*return*/, null];
|
|
497
564
|
}
|
|
@@ -503,6 +570,9 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
503
570
|
json.data ||
|
|
504
571
|
[];
|
|
505
572
|
options = normalizeOptions(options, undefined, self.valueField);
|
|
573
|
+
if (self.enableSourcePagination) {
|
|
574
|
+
self.pagination = __assign(__assign({}, self.pagination), { page: parseInt((_d = json.data) === null || _d === void 0 ? void 0 : _d.page, 10) || 1, total: parseInt((_f = (_e = json.data) === null || _e === void 0 ? void 0 : _e.total) !== null && _f !== void 0 ? _f : (_g = json.data) === null || _g === void 0 ? void 0 : _g.count, 10) || 0 });
|
|
575
|
+
}
|
|
506
576
|
if ((config === null || config === void 0 ? void 0 : config.extendsOptions) && self.selectedOptions.length > 0) {
|
|
507
577
|
self.selectedOptions.forEach(function (item) {
|
|
508
578
|
var exited = findTree(options, optionValueCompare(item, self.valueField || 'value'), {
|
|
@@ -527,6 +597,22 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
527
597
|
}
|
|
528
598
|
});
|
|
529
599
|
});
|
|
600
|
+
/**
|
|
601
|
+
* 从数据域加载选项数据源,注意这里默认source变量解析后是全量的数据源
|
|
602
|
+
*/
|
|
603
|
+
function loadOptionsFromDataScope(source, ctx, onChange) {
|
|
604
|
+
var options = resolveVariableAndFilter(source, ctx, '| raw');
|
|
605
|
+
if (!Array.isArray(options)) {
|
|
606
|
+
return [];
|
|
607
|
+
}
|
|
608
|
+
options = normalizeOptions(options, undefined, self.valueField);
|
|
609
|
+
if (self.enableSourcePagination) {
|
|
610
|
+
self.pagination = __assign(__assign(__assign(__assign({}, self.pagination), ((ctx === null || ctx === void 0 ? void 0 : ctx.page) ? { page: ctx === null || ctx === void 0 ? void 0 : ctx.page } : {})), ((ctx === null || ctx === void 0 ? void 0 : ctx.perPage) ? { perPage: ctx === null || ctx === void 0 ? void 0 : ctx.perPage } : {})), { total: options.length });
|
|
611
|
+
options = options.slice((self.pagination.page - 1) * self.pagination.perPage, self.pagination.page * self.pagination.perPage);
|
|
612
|
+
}
|
|
613
|
+
setOptions(options, onChange, ctx);
|
|
614
|
+
return options;
|
|
615
|
+
}
|
|
530
616
|
var loadAutoUpdateData = flow(function getAutoUpdateData(api, data, silent) {
|
|
531
617
|
var json, result;
|
|
532
618
|
var _a, _b;
|
|
@@ -948,8 +1034,10 @@ var FormItemStore = StoreNode.named('FormItemStore')
|
|
|
948
1034
|
setError: setError,
|
|
949
1035
|
addError: addError,
|
|
950
1036
|
clearError: clearError,
|
|
1037
|
+
setPagination: setPagination,
|
|
951
1038
|
setOptions: setOptions,
|
|
952
1039
|
loadOptions: loadOptions,
|
|
1040
|
+
loadOptionsFromDataScope: loadOptionsFromDataScope,
|
|
953
1041
|
deferLoadOptions: deferLoadOptions,
|
|
954
1042
|
deferLoadLeftOptions: deferLoadLeftOptions,
|
|
955
1043
|
expandTreeOptions: expandTreeOptions,
|
package/esm/store/iRenderer.js
CHANGED
package/esm/store/index.js
CHANGED
package/esm/store/list.js
CHANGED
package/esm/store/manager.js
CHANGED
package/esm/store/modal.js
CHANGED
package/esm/store/node.js
CHANGED
package/esm/store/pagination.js
CHANGED
package/esm/store/root.js
CHANGED
package/esm/store/service.js
CHANGED
package/esm/store/status.js
CHANGED