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/lib/store/form.js
CHANGED
package/lib/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/lib/store/formItem.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.6.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -10,10 +10,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
10
10
|
var tslib = require('tslib');
|
|
11
11
|
var mobxStateTree = require('mobx-state-tree');
|
|
12
12
|
var isEqualWith = require('lodash/isEqualWith');
|
|
13
|
+
var uniqWith = require('lodash/uniqWith');
|
|
13
14
|
var form = require('./form.js');
|
|
14
15
|
var validations = require('../utils/validations.js');
|
|
15
16
|
var combo = require('./combo.js');
|
|
16
17
|
var tpl = require('../utils/tpl.js');
|
|
18
|
+
require('amis-formula');
|
|
19
|
+
require('moment');
|
|
20
|
+
var object = require('../utils/object.js');
|
|
21
|
+
var resolveVariableAndFilter = require('../utils/resolveVariableAndFilter.js');
|
|
22
|
+
var dataMapping = require('../utils/dataMapping.js');
|
|
23
|
+
require('../utils/filter.js');
|
|
17
24
|
var api = require('../utils/api.js');
|
|
18
25
|
var findIndex = require('lodash/findIndex');
|
|
19
26
|
var helper = require('../utils/helper.js');
|
|
@@ -25,12 +32,11 @@ var node = require('./node.js');
|
|
|
25
32
|
var manager = require('./manager.js');
|
|
26
33
|
var normalizeOptions = require('../utils/normalizeOptions.js');
|
|
27
34
|
var optionValueCompare = require('../utils/optionValueCompare.js');
|
|
28
|
-
var dataMapping = require('../utils/dataMapping.js');
|
|
29
|
-
var object = require('../utils/object.js');
|
|
30
35
|
|
|
31
36
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
32
37
|
|
|
33
38
|
var isEqualWith__default = /*#__PURE__*/_interopDefaultLegacy(isEqualWith);
|
|
39
|
+
var uniqWith__default = /*#__PURE__*/_interopDefaultLegacy(uniqWith);
|
|
34
40
|
var findIndex__default = /*#__PURE__*/_interopDefaultLegacy(findIndex);
|
|
35
41
|
var find__default = /*#__PURE__*/_interopDefaultLegacy(find);
|
|
36
42
|
var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
|
|
@@ -80,6 +86,7 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
80
86
|
joinValues: true,
|
|
81
87
|
extractValue: false,
|
|
82
88
|
options: mobxStateTree.types.optional(mobxStateTree.types.frozen(), []),
|
|
89
|
+
optionsRaw: mobxStateTree.types.optional(mobxStateTree.types.frozen(), []),
|
|
83
90
|
expressionsInOptions: false,
|
|
84
91
|
selectFirst: false,
|
|
85
92
|
autoFill: mobxStateTree.types.frozen(),
|
|
@@ -95,7 +102,18 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
95
102
|
/** 当前表单项所属的InputGroup父元素, 用于收集InputGroup的子元素 */
|
|
96
103
|
inputGroupControl: mobxStateTree.types.optional(mobxStateTree.types.frozen(), {}),
|
|
97
104
|
colIndex: mobxStateTree.types.frozen(),
|
|
98
|
-
rowIndex: mobxStateTree.types.frozen()
|
|
105
|
+
rowIndex: mobxStateTree.types.frozen(),
|
|
106
|
+
/** Transfer组件分页模式 */
|
|
107
|
+
pagination: mobxStateTree.types.optional(mobxStateTree.types.frozen(), {
|
|
108
|
+
enable: false,
|
|
109
|
+
/** 当前页数 */
|
|
110
|
+
page: 1,
|
|
111
|
+
/** 每页显示条数 */
|
|
112
|
+
perPage: 10,
|
|
113
|
+
/** 总条数 */
|
|
114
|
+
total: 0
|
|
115
|
+
}),
|
|
116
|
+
accumulatedOptions: mobxStateTree.types.optional(mobxStateTree.types.frozen(), [])
|
|
99
117
|
})
|
|
100
118
|
.views(function (self) {
|
|
101
119
|
function getForm() {
|
|
@@ -146,6 +164,25 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
146
164
|
get lastSelectValue() {
|
|
147
165
|
return getLastOptionValue();
|
|
148
166
|
},
|
|
167
|
+
/** 数据源接口数据是否开启分页 */
|
|
168
|
+
get enableSourcePagination() {
|
|
169
|
+
return !!self.pagination.enable;
|
|
170
|
+
},
|
|
171
|
+
/** 数据源接口开启分页时当前页码 */
|
|
172
|
+
get sourcePageNum() {
|
|
173
|
+
var _a;
|
|
174
|
+
return (_a = self.pagination.page) !== null && _a !== void 0 ? _a : 1;
|
|
175
|
+
},
|
|
176
|
+
/** 数据源接口开启分页时每页显示条数 */
|
|
177
|
+
get sourcePerPageNum() {
|
|
178
|
+
var _a;
|
|
179
|
+
return (_a = self.pagination.perPage) !== null && _a !== void 0 ? _a : 10;
|
|
180
|
+
},
|
|
181
|
+
/** 数据源接口开启分页时数据总条数 */
|
|
182
|
+
get sourceTotalNum() {
|
|
183
|
+
var _a;
|
|
184
|
+
return (_a = self.pagination.total) !== null && _a !== void 0 ? _a : 0;
|
|
185
|
+
},
|
|
149
186
|
getSelectedOptions: function (value, nodeValueArray) {
|
|
150
187
|
if (value === void 0) { value = self.tmpValue; }
|
|
151
188
|
// 查看是否命中缓存
|
|
@@ -233,7 +270,7 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
233
270
|
var dialogCallbacks = new SimpleMap.SimpleMap();
|
|
234
271
|
var loadAutoUpdateCancel = null;
|
|
235
272
|
function config(_a) {
|
|
236
|
-
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;
|
|
273
|
+
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;
|
|
237
274
|
if (typeof rules === 'string') {
|
|
238
275
|
rules = validations.str2rules(rules);
|
|
239
276
|
}
|
|
@@ -265,6 +302,14 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
265
302
|
object.isObject(inputGroupControl) &&
|
|
266
303
|
(inputGroupControl === null || inputGroupControl === void 0 ? void 0 : inputGroupControl.name) != null &&
|
|
267
304
|
(self.inputGroupControl = inputGroupControl);
|
|
305
|
+
if (pagination && object.isObject(pagination) && !!pagination.enable) {
|
|
306
|
+
self.pagination = {
|
|
307
|
+
enable: true,
|
|
308
|
+
page: pagination.page ? pagination.page || 1 : 1,
|
|
309
|
+
perPage: pagination.perPage ? pagination.perPage || 10 : 10,
|
|
310
|
+
total: 0
|
|
311
|
+
};
|
|
312
|
+
}
|
|
268
313
|
if (typeof rules !== 'undefined' ||
|
|
269
314
|
typeof required !== 'undefined' ||
|
|
270
315
|
typeof minLength === 'number' ||
|
|
@@ -295,7 +340,7 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
295
340
|
}
|
|
296
341
|
var validateCancel = null;
|
|
297
342
|
var validate = mobxStateTree.flow(function validate(data, hook, customRules) {
|
|
298
|
-
var json, combo, group;
|
|
343
|
+
var json, err_1, combo, group;
|
|
299
344
|
var _a;
|
|
300
345
|
var _b, _c, _d, _e, _f;
|
|
301
346
|
return tslib.__generator(this, function (_g) {
|
|
@@ -313,24 +358,33 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
313
358
|
_g.label = 2;
|
|
314
359
|
case 2:
|
|
315
360
|
addError(validations.validate(self.tmpValue, data, customRules ? validations.str2rules(customRules) : self.rules, self.messages, self.__));
|
|
316
|
-
if (!(!self.errors.length && api.isEffectiveApi(self.validateApi, data))) return [3 /*break*/,
|
|
361
|
+
if (!(!self.errors.length && api.isEffectiveApi(self.validateApi, data))) return [3 /*break*/, 6];
|
|
317
362
|
if (validateCancel) {
|
|
318
363
|
validateCancel();
|
|
319
364
|
validateCancel = null;
|
|
320
365
|
}
|
|
366
|
+
_g.label = 3;
|
|
367
|
+
case 3:
|
|
368
|
+
_g.trys.push([3, 5, , 6]);
|
|
321
369
|
return [4 /*yield*/, mobxStateTree.getEnv(self).fetcher(self.validateApi,
|
|
322
370
|
/** 如果配置validateApi,需要将用户最新输入同步到数据域内 */
|
|
323
371
|
object.createObject(data, (_a = {}, _a[self.name] = self.tmpValue, _a)), {
|
|
324
|
-
cancelExecutor: function (executor) {
|
|
372
|
+
cancelExecutor: function (executor) {
|
|
373
|
+
return (validateCancel = executor);
|
|
374
|
+
}
|
|
325
375
|
})];
|
|
326
|
-
case
|
|
376
|
+
case 4:
|
|
327
377
|
json = _g.sent();
|
|
328
378
|
validateCancel = null;
|
|
329
379
|
if (!json.ok && json.status === 422 && json.errors) {
|
|
330
380
|
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"))));
|
|
331
381
|
}
|
|
332
|
-
|
|
333
|
-
case
|
|
382
|
+
return [3 /*break*/, 6];
|
|
383
|
+
case 5:
|
|
384
|
+
err_1 = _g.sent();
|
|
385
|
+
addError(String(err_1));
|
|
386
|
+
return [3 /*break*/, 6];
|
|
387
|
+
case 6:
|
|
334
388
|
self.validated = true;
|
|
335
389
|
if (self.unique && ((_f = (_e = self.form) === null || _e === void 0 ? void 0 : _e.parentStore) === null || _f === void 0 ? void 0 : _f.storeType) === 'ComboStore') {
|
|
336
390
|
combo = self.form.parentStore;
|
|
@@ -402,6 +456,12 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
402
456
|
finally { if (e_1) throw e_1.error; }
|
|
403
457
|
}
|
|
404
458
|
}
|
|
459
|
+
function setPagination(params) {
|
|
460
|
+
var _a = params || {}, page = _a.page, perPage = _a.perPage, total = _a.total;
|
|
461
|
+
if (self.enableSourcePagination) {
|
|
462
|
+
self.pagination = tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, self.pagination), (page != null && typeof page === 'number' ? { page: page } : {})), (perPage != null && typeof perPage === 'number' ? { perPage: perPage } : {})), (total != null && typeof total === 'number' ? { total: total } : {}));
|
|
463
|
+
}
|
|
464
|
+
}
|
|
405
465
|
function setOptions(options, onChange, data) {
|
|
406
466
|
if (!Array.isArray(options)) {
|
|
407
467
|
return;
|
|
@@ -409,6 +469,14 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
409
469
|
options = helper.filterTree(options, function (item) { return item; });
|
|
410
470
|
var originOptions = self.options.concat();
|
|
411
471
|
self.options = options;
|
|
472
|
+
/** 开启分页后当前选项内容需要累加 */
|
|
473
|
+
self.accumulatedOptions = self.enableSourcePagination
|
|
474
|
+
? uniqWith__default["default"](tslib.__spreadArray(tslib.__spreadArray([], tslib.__read(originOptions), false), tslib.__read(options), false), function (lhs, rhs) {
|
|
475
|
+
var _a, _b;
|
|
476
|
+
return lhs[(_a = self.valueField) !== null && _a !== void 0 ? _a : 'value'] ===
|
|
477
|
+
rhs[(_b = self.valueField) !== null && _b !== void 0 ? _b : 'value'];
|
|
478
|
+
})
|
|
479
|
+
: options;
|
|
412
480
|
syncOptions(originOptions, data);
|
|
413
481
|
var selectedOptions;
|
|
414
482
|
if (onChange &&
|
|
@@ -498,12 +566,12 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
498
566
|
});
|
|
499
567
|
var loadOptions = mobxStateTree.flow(function getInitData(api, data, config, clearValue, onChange, setErrorFlag) {
|
|
500
568
|
var json, options;
|
|
501
|
-
var _a, _b, _c;
|
|
502
|
-
return tslib.__generator(this, function (
|
|
503
|
-
switch (
|
|
569
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
570
|
+
return tslib.__generator(this, function (_h) {
|
|
571
|
+
switch (_h.label) {
|
|
504
572
|
case 0: return [4 /*yield*/, fetchOptions(api, data, config, setErrorFlag)];
|
|
505
573
|
case 1:
|
|
506
|
-
json =
|
|
574
|
+
json = _h.sent();
|
|
507
575
|
if (!json) {
|
|
508
576
|
return [2 /*return*/, null];
|
|
509
577
|
}
|
|
@@ -515,6 +583,9 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
515
583
|
json.data ||
|
|
516
584
|
[];
|
|
517
585
|
options = normalizeOptions.normalizeOptions(options, undefined, self.valueField);
|
|
586
|
+
if (self.enableSourcePagination) {
|
|
587
|
+
self.pagination = tslib.__assign(tslib.__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 });
|
|
588
|
+
}
|
|
518
589
|
if ((config === null || config === void 0 ? void 0 : config.extendsOptions) && self.selectedOptions.length > 0) {
|
|
519
590
|
self.selectedOptions.forEach(function (item) {
|
|
520
591
|
var exited = helper.findTree(options, optionValueCompare.optionValueCompare(item, self.valueField || 'value'), {
|
|
@@ -539,6 +610,22 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
539
610
|
}
|
|
540
611
|
});
|
|
541
612
|
});
|
|
613
|
+
/**
|
|
614
|
+
* 从数据域加载选项数据源,注意这里默认source变量解析后是全量的数据源
|
|
615
|
+
*/
|
|
616
|
+
function loadOptionsFromDataScope(source, ctx, onChange) {
|
|
617
|
+
var options = resolveVariableAndFilter.resolveVariableAndFilter(source, ctx, '| raw');
|
|
618
|
+
if (!Array.isArray(options)) {
|
|
619
|
+
return [];
|
|
620
|
+
}
|
|
621
|
+
options = normalizeOptions.normalizeOptions(options, undefined, self.valueField);
|
|
622
|
+
if (self.enableSourcePagination) {
|
|
623
|
+
self.pagination = tslib.__assign(tslib.__assign(tslib.__assign(tslib.__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 });
|
|
624
|
+
options = options.slice((self.pagination.page - 1) * self.pagination.perPage, self.pagination.page * self.pagination.perPage);
|
|
625
|
+
}
|
|
626
|
+
setOptions(options, onChange, ctx);
|
|
627
|
+
return options;
|
|
628
|
+
}
|
|
542
629
|
var loadAutoUpdateData = mobxStateTree.flow(function getAutoUpdateData(api, data, silent) {
|
|
543
630
|
var json, result;
|
|
544
631
|
var _a, _b;
|
|
@@ -960,8 +1047,10 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
|
|
|
960
1047
|
setError: setError,
|
|
961
1048
|
addError: addError,
|
|
962
1049
|
clearError: clearError,
|
|
1050
|
+
setPagination: setPagination,
|
|
963
1051
|
setOptions: setOptions,
|
|
964
1052
|
loadOptions: loadOptions,
|
|
1053
|
+
loadOptionsFromDataScope: loadOptionsFromDataScope,
|
|
965
1054
|
deferLoadOptions: deferLoadOptions,
|
|
966
1055
|
deferLoadLeftOptions: deferLoadLeftOptions,
|
|
967
1056
|
expandTreeOptions: expandTreeOptions,
|
package/lib/store/iRenderer.js
CHANGED
package/lib/store/index.js
CHANGED
package/lib/store/list.js
CHANGED
package/lib/store/manager.js
CHANGED
package/lib/store/modal.js
CHANGED
package/lib/store/node.js
CHANGED
package/lib/store/pagination.js
CHANGED
package/lib/store/root.js
CHANGED
package/lib/store/service.js
CHANGED
package/lib/store/status.js
CHANGED