amis-core 3.5.3 → 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.js +1 -1
- package/esm/SchemaRenderer.js +1 -1
- package/esm/Scoped.d.ts +2 -0
- package/esm/Scoped.js +48 -6
- 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 +3 -3
- 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.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.js +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.js +4 -3
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +1 -1
- package/esm/renderers/Form.js +15 -8
- package/esm/renderers/Item.d.ts +54 -0
- package/esm/renderers/Item.js +1 -1
- package/esm/renderers/Options.d.ts +4 -0
- package/esm/renderers/Options.js +5 -4
- 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 +4 -6
- package/esm/store/app.js +1 -1
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +9 -1
- package/esm/store/crud.js +29 -13
- package/esm/store/form.js +1 -1
- package/esm/store/formItem.js +16 -7
- 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 +1 -0
- package/esm/store/table.js +8 -12
- package/esm/store/table2.js +1 -1
- package/esm/theme.js +1 -1
- 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.js +1 -1
- 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.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 +5 -3
- package/esm/utils/style.js +1 -1
- package/esm/utils/toNumber.js +1 -1
- package/esm/utils/tokenize.js +1 -1
- package/esm/utils/tpl-builtin.js +1 -1
- package/esm/utils/tpl-lodash.js +1 -1
- package/esm/utils/tpl.js +1 -1
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validations.js +1 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.js +1 -1
- package/lib/SchemaRenderer.js +1 -1
- package/lib/Scoped.d.ts +2 -0
- package/lib/Scoped.js +47 -5
- 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 +3 -3
- 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.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.js +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +5 -2
- package/lib/locale.js +1 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +1 -1
- package/lib/renderers/Form.js +15 -8
- package/lib/renderers/Item.d.ts +54 -0
- package/lib/renderers/Item.js +1 -1
- package/lib/renderers/Options.d.ts +4 -0
- package/lib/renderers/Options.js +5 -4
- 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 +4 -6
- package/lib/store/app.js +1 -1
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +9 -1
- package/lib/store/crud.js +29 -13
- package/lib/store/form.js +1 -1
- package/lib/store/formItem.js +16 -7
- 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 +1 -0
- package/lib/store/table.js +8 -12
- package/lib/store/table2.js +1 -1
- package/lib/theme.js +1 -1
- 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.js +1 -1
- 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.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 +5 -3
- package/lib/utils/style.js +1 -1
- package/lib/utils/toNumber.js +1 -1
- package/lib/utils/tokenize.js +1 -1
- package/lib/utils/tpl-builtin.js +1 -1
- package/lib/utils/tpl-lodash.js +1 -1
- package/lib/utils/tpl.js +1 -1
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validations.js +1 -1
- package/package.json +3 -3
|
@@ -46,9 +46,13 @@ export declare class PopOver extends React.PureComponent<PopOverProps, PopOverSt
|
|
|
46
46
|
};
|
|
47
47
|
parent: HTMLElement;
|
|
48
48
|
wrapperRef: React.RefObject<HTMLDivElement>;
|
|
49
|
+
isRootClosed: boolean;
|
|
49
50
|
componentDidMount(): void;
|
|
50
51
|
componentDidUpdate(): void;
|
|
51
52
|
componentWillUnmount(): void;
|
|
53
|
+
handleRootMouseDownCapture(e: MouseEvent): void;
|
|
54
|
+
handleRootMouseUpCapture(e: MouseEvent): void;
|
|
55
|
+
handleRootMouseUp(e: MouseEvent): void;
|
|
52
56
|
mayUpdateOffset(): void;
|
|
53
57
|
render(): React.JSX.Element;
|
|
54
58
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.6.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { __extends, __rest, __assign } from 'tslib';
|
|
6
|
+
import { __extends, __rest, __assign, __decorate, __metadata } from 'tslib';
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { findDOMNode } from 'react-dom';
|
|
9
9
|
import { themeable } from '../theme.js';
|
|
@@ -18,7 +18,7 @@ import 'moment';
|
|
|
18
18
|
import '../utils/debug.js';
|
|
19
19
|
import '../utils/errors.js';
|
|
20
20
|
import '../utils/tpl.js';
|
|
21
|
-
import { preventDefault, camel } from '../utils/helper.js';
|
|
21
|
+
import { preventDefault, camel, autobind } from '../utils/helper.js';
|
|
22
22
|
import '../utils/filter.js';
|
|
23
23
|
import 'lodash/isObject';
|
|
24
24
|
import 'lodash/isString';
|
|
@@ -57,6 +57,7 @@ var PopOver = /** @class */ (function (_super) {
|
|
|
57
57
|
yOffset: 0
|
|
58
58
|
};
|
|
59
59
|
_this.wrapperRef = React.createRef();
|
|
60
|
+
_this.isRootClosed = false;
|
|
60
61
|
return _this;
|
|
61
62
|
}
|
|
62
63
|
PopOver.prototype.componentDidMount = function () {
|
|
@@ -71,6 +72,14 @@ var PopOver = /** @class */ (function (_super) {
|
|
|
71
72
|
capture: false
|
|
72
73
|
});
|
|
73
74
|
}
|
|
75
|
+
// 从弹窗中处理复制过来的,如果要修改,请同步修改
|
|
76
|
+
// 因为 overlay 功能其实是用 postion: fixed 来实现的
|
|
77
|
+
// 目的是加一个蒙层监听蒙层点击然后关闭弹窗。意图就是 closeOnOutside
|
|
78
|
+
// 但是如果上层有个 translateZ 之类的样式就会影响 fixed 的定位,导致功能失效
|
|
79
|
+
// 所以这里兜底加了个 closeOnOutside 的功能
|
|
80
|
+
document.body.addEventListener('mousedown', this.handleRootMouseDownCapture, true);
|
|
81
|
+
document.body.addEventListener('mouseup', this.handleRootMouseUpCapture, true);
|
|
82
|
+
document.body.addEventListener('mouseup', this.handleRootMouseUp);
|
|
74
83
|
};
|
|
75
84
|
PopOver.prototype.componentDidUpdate = function () {
|
|
76
85
|
this.mayUpdateOffset();
|
|
@@ -80,6 +89,42 @@ var PopOver = /** @class */ (function (_super) {
|
|
|
80
89
|
if (this.wrapperRef && this.wrapperRef.current) {
|
|
81
90
|
this.wrapperRef.current.removeEventListener('touchmove', preventDefault);
|
|
82
91
|
}
|
|
92
|
+
document.body.removeEventListener('mouseup', this.handleRootMouseUp);
|
|
93
|
+
document.body.removeEventListener('mousedown', this.handleRootMouseDownCapture, true);
|
|
94
|
+
document.body.removeEventListener('mouseup', this.handleRootMouseUpCapture, true);
|
|
95
|
+
};
|
|
96
|
+
PopOver.prototype.handleRootMouseDownCapture = function (e) {
|
|
97
|
+
var target = e.target;
|
|
98
|
+
var _a = this.props, closeOnOutside = _a.overlay, ns = _a.classPrefix;
|
|
99
|
+
var isLeftButton = (e.button === 1 && window.event !== null) || e.button === 0;
|
|
100
|
+
this.isRootClosed = !!(isLeftButton &&
|
|
101
|
+
closeOnOutside &&
|
|
102
|
+
target &&
|
|
103
|
+
this.wrapperRef.current &&
|
|
104
|
+
((!this.wrapperRef.current.contains(target) &&
|
|
105
|
+
!target.closest('[role=dialog]')) ||
|
|
106
|
+
(target.matches(".".concat(ns, "Modal")) && target === this.wrapperRef.current))); // 干脆过滤掉来自弹框里面的点击
|
|
107
|
+
};
|
|
108
|
+
PopOver.prototype.handleRootMouseUpCapture = function (e) {
|
|
109
|
+
// mousedown 的时候不在弹窗里面,则不需要判断了
|
|
110
|
+
if (!this.isRootClosed) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
// 再判断 mouseup 的时候是不是在弹窗里面
|
|
114
|
+
this.handleRootMouseDownCapture(e);
|
|
115
|
+
};
|
|
116
|
+
PopOver.prototype.handleRootMouseUp = function (e) {
|
|
117
|
+
var onHide = this.props.onHide;
|
|
118
|
+
if (this.isRootClosed && !e.defaultPrevented) {
|
|
119
|
+
// 因为原来 overlay 是不会让别的部分还有点击事件的,所以这里要阻止默认事件
|
|
120
|
+
// 参考:https://stackoverflow.com/questions/8643739/cancel-click-event-in-the-mouseup-event-handler
|
|
121
|
+
var captureClick_1 = function (e) {
|
|
122
|
+
e.stopPropagation();
|
|
123
|
+
window.removeEventListener('click', captureClick_1, true);
|
|
124
|
+
};
|
|
125
|
+
window.addEventListener('click', captureClick_1, true);
|
|
126
|
+
onHide === null || onHide === void 0 ? void 0 : onHide();
|
|
127
|
+
}
|
|
83
128
|
};
|
|
84
129
|
PopOver.prototype.mayUpdateOffset = function () {
|
|
85
130
|
var offset;
|
|
@@ -118,6 +163,24 @@ var PopOver = /** @class */ (function (_super) {
|
|
|
118
163
|
overlay: false,
|
|
119
164
|
placement: 'auto'
|
|
120
165
|
};
|
|
166
|
+
__decorate([
|
|
167
|
+
autobind,
|
|
168
|
+
__metadata("design:type", Function),
|
|
169
|
+
__metadata("design:paramtypes", [MouseEvent]),
|
|
170
|
+
__metadata("design:returntype", void 0)
|
|
171
|
+
], PopOver.prototype, "handleRootMouseDownCapture", null);
|
|
172
|
+
__decorate([
|
|
173
|
+
autobind,
|
|
174
|
+
__metadata("design:type", Function),
|
|
175
|
+
__metadata("design:paramtypes", [MouseEvent]),
|
|
176
|
+
__metadata("design:returntype", void 0)
|
|
177
|
+
], PopOver.prototype, "handleRootMouseUpCapture", null);
|
|
178
|
+
__decorate([
|
|
179
|
+
autobind,
|
|
180
|
+
__metadata("design:type", Function),
|
|
181
|
+
__metadata("design:paramtypes", [MouseEvent]),
|
|
182
|
+
__metadata("design:returntype", void 0)
|
|
183
|
+
], PopOver.prototype, "handleRootMouseUp", null);
|
|
121
184
|
return PopOver;
|
|
122
185
|
}(React.PureComponent));
|
|
123
186
|
var PopOver$1 = themeable(PopOver);
|
package/esm/env.js
CHANGED
package/esm/envOverwrite.js
CHANGED
package/esm/factory.js
CHANGED
package/esm/index.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ import type { FilterContext } from 'amis-formula';
|
|
|
39
39
|
import LazyComponent from './components/LazyComponent';
|
|
40
40
|
import Overlay from './components/Overlay';
|
|
41
41
|
import PopOver from './components/PopOver';
|
|
42
|
+
import ErrorBoundary from './components/ErrorBoundary';
|
|
42
43
|
import { FormRenderer } from './renderers/Form';
|
|
43
44
|
import type { FormHorizontal, FormSchemaBase } from './renderers/Form';
|
|
44
45
|
import { enableDebug, disableDebug } from './utils/index';
|
|
@@ -49,5 +50,5 @@ import type { IItem } from './store/list';
|
|
|
49
50
|
import CustomStyle from './components/CustomStyle';
|
|
50
51
|
import { StatusScoped } from './StatusScoped';
|
|
51
52
|
export declare const version = "__buildVersion";
|
|
52
|
-
export { clearStoresCache, updateEnv, Renderer, RendererProps, RenderOptions, RendererEnv, EnvContext, RegisterStore, FormItem, FormItemWrap, FormItemProps, OptionsControl, FormRenderer, FormHorizontal, utils, getRendererByName, registerRenderer, unRegisterRenderer, getRenderers, registerFormItem, getFormItemByName, registerOptionsControl, resolveRenderer, filterSchema, Scoped, ScopedContext, IScopedContext, StatusScoped, setDefaultTheme, theme, themeable, ThemeProps, getTheme, classPrefix, getClassPrefix, classnames, makeClassnames, getDefaultLocale, setDefaultLocale, registerLocale, makeTranslator, extendLocale, removeLocaleData, localeable, LocaleProps, TranslateFn, ClassNamesFn, parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, extendsFilters, registerFunction, evaluate, evaluateForAsync, LazyComponent, Overlay, PopOver, addSchemaFilter, OptionsControlProps, FormOptionsControl, FormControlProps, FormBaseControl, extendDefaultEnv, addRootWrapper, RendererConfig, styleMap, RENDERER_TRANSMISSION_OMIT_PROPS, ScopedComponentType, IItem, IColumn, IRow, IColumn2, IRow2, OnEventProps, FormSchemaBase, filterTarget, CustomStyle, enableDebug, disableDebug };
|
|
53
|
+
export { clearStoresCache, updateEnv, Renderer, RendererProps, RenderOptions, RendererEnv, EnvContext, RegisterStore, FormItem, FormItemWrap, FormItemProps, OptionsControl, FormRenderer, FormHorizontal, utils, getRendererByName, registerRenderer, unRegisterRenderer, getRenderers, registerFormItem, getFormItemByName, registerOptionsControl, resolveRenderer, filterSchema, Scoped, ScopedContext, IScopedContext, StatusScoped, setDefaultTheme, theme, themeable, ThemeProps, getTheme, classPrefix, getClassPrefix, classnames, makeClassnames, getDefaultLocale, setDefaultLocale, registerLocale, makeTranslator, extendLocale, removeLocaleData, localeable, LocaleProps, TranslateFn, ClassNamesFn, parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, extendsFilters, registerFunction, evaluate, evaluateForAsync, LazyComponent, Overlay, PopOver, ErrorBoundary, addSchemaFilter, OptionsControlProps, FormOptionsControl, FormControlProps, FormBaseControl, extendDefaultEnv, addRootWrapper, RendererConfig, styleMap, RENDERER_TRANSMISSION_OMIT_PROPS, ScopedComponentType, IItem, IColumn, IRow, IColumn2, IRow2, OnEventProps, FormSchemaBase, filterTarget, CustomStyle, enableDebug, disableDebug };
|
|
53
54
|
export declare function render(schema: Schema, props?: RootRenderProps, options?: RenderOptions, pathPrefix?: string): JSX.Element;
|
package/esm/index.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
|
|
|
@@ -24,7 +24,7 @@ export { DebugWrapper, JsonView, debug, disableDebug, enableDebug, traceProps, w
|
|
|
24
24
|
export { calculatePosition, getContainer, getStyleNumber, ownerDocument, renderTextByKeyword } from './utils/dom.js';
|
|
25
25
|
export { ServerError } from './utils/errors.js';
|
|
26
26
|
export { escapeHtml } from './utils/escapeHtml.js';
|
|
27
|
-
export { filterClassNameObject, getExprProperties } from './utils/filter-schema.js';
|
|
27
|
+
export { filterClassNameObject, getExprProperties, hasExprPropertiesChanged } from './utils/filter-schema.js';
|
|
28
28
|
import './utils/filter.js';
|
|
29
29
|
export { formatDuration } from './utils/formatDuration.js';
|
|
30
30
|
export { FormulaExec, formulaExec, isExpression, isNeedFormula, registerFormulaExec, replaceExpression } from './utils/formula.js';
|
|
@@ -112,6 +112,7 @@ export { AsyncEvaluator, Evaluator, evaluate, evaluateForAsync, extendsFilters,
|
|
|
112
112
|
export { default as LazyComponent } from './components/LazyComponent.js';
|
|
113
113
|
export { default as Overlay } from './components/Overlay.js';
|
|
114
114
|
export { default as PopOver } from './components/PopOver.js';
|
|
115
|
+
export { default as ErrorBoundary } from './components/ErrorBoundary.js';
|
|
115
116
|
export { FormRenderer } from './renderers/Form.js';
|
|
116
117
|
export { RENDERER_TRANSMISSION_OMIT_PROPS } from './SchemaRenderer.js';
|
|
117
118
|
export { default as CustomStyle } from './components/CustomStyle.js';
|
|
@@ -140,7 +141,7 @@ export { StoreNode } from './store/node.js';
|
|
|
140
141
|
*/
|
|
141
142
|
var classPrefix = getClassPrefix();
|
|
142
143
|
// @ts-ignore
|
|
143
|
-
var version = '3.
|
|
144
|
+
var version = '3.6.0';
|
|
144
145
|
function render(schema, props, options, pathPrefix) {
|
|
145
146
|
if (props === void 0) { props = {}; }
|
|
146
147
|
if (options === void 0) { options = {}; }
|
package/esm/locale.js
CHANGED
package/esm/polyfills.js
CHANGED
package/esm/renderers/Form.d.ts
CHANGED
|
@@ -355,7 +355,7 @@ export default class Form extends React.Component<FormProps, object> {
|
|
|
355
355
|
removeHook(fn: () => any, type?: string): void;
|
|
356
356
|
handleChange(value: any, name: string, submit: boolean, changePristine?: boolean): void;
|
|
357
357
|
formItemDispatchEvent(type: string, data: any): any;
|
|
358
|
-
emitChange(submit: boolean): Promise<void>;
|
|
358
|
+
emitChange(submit: boolean, skipIfNothingChanges?: boolean): Promise<void>;
|
|
359
359
|
handleBulkChange(values: Object, submit: boolean): void;
|
|
360
360
|
handleFormSubmit(e: React.UIEvent<any>): any;
|
|
361
361
|
handleReset(action: any): (data: any) => void;
|
package/esm/renderers/Form.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
|
|
|
@@ -101,6 +101,12 @@ var Form = /** @class */ (function (_super) {
|
|
|
101
101
|
return form.items.forEach(function (item) { return item.unique && item.syncOptions(undefined, form.data); });
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
|
+
// withStore 里面与上层数据会做同步
|
|
105
|
+
// 这个时候变更的数据没有同步 onChange 出去,出现数据不一致的问题。
|
|
106
|
+
// https://github.com/baidu/amis/issues/8773
|
|
107
|
+
_this.toDispose.push(reaction(function () { return store.initedAt; }, function () {
|
|
108
|
+
store.inited && _this.emitChange(!!_this.props.submitOnChange, true);
|
|
109
|
+
}));
|
|
104
110
|
return _this;
|
|
105
111
|
}
|
|
106
112
|
Form.prototype.componentDidMount = function () {
|
|
@@ -472,9 +478,10 @@ var Form = /** @class */ (function (_super) {
|
|
|
472
478
|
var dispatchEvent = this.props.dispatchEvent;
|
|
473
479
|
return dispatchEvent(type, data);
|
|
474
480
|
};
|
|
475
|
-
Form.prototype.emitChange = function (submit) {
|
|
481
|
+
Form.prototype.emitChange = function (submit, skipIfNothingChanges) {
|
|
482
|
+
if (skipIfNothingChanges === void 0) { skipIfNothingChanges = false; }
|
|
476
483
|
return __awaiter(this, void 0, void 0, function () {
|
|
477
|
-
var _a, onChange, store, submitOnChange, dispatchEvent, data, changeProps, dispatcher;
|
|
484
|
+
var _a, onChange, store, submitOnChange, dispatchEvent, data, diff, changeProps, dispatcher;
|
|
478
485
|
return __generator(this, function (_b) {
|
|
479
486
|
switch (_b.label) {
|
|
480
487
|
case 0:
|
|
@@ -482,11 +489,11 @@ var Form = /** @class */ (function (_super) {
|
|
|
482
489
|
if (!isAlive(store)) {
|
|
483
490
|
return [2 /*return*/];
|
|
484
491
|
}
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
];
|
|
492
|
+
diff = difference(store.data, store.pristine);
|
|
493
|
+
if (skipIfNothingChanges && !Object.keys(diff).length) {
|
|
494
|
+
return [2 /*return*/];
|
|
495
|
+
}
|
|
496
|
+
changeProps = [store.data, diff, this.props];
|
|
490
497
|
return [4 /*yield*/, dispatchEvent('change', createObject(data, store.data))];
|
|
491
498
|
case 1:
|
|
492
499
|
dispatcher = _b.sent();
|
package/esm/renderers/Item.d.ts
CHANGED
|
@@ -515,6 +515,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
515
515
|
onChildStoreDispose(child: any): void;
|
|
516
516
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
517
517
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
518
|
+
/**
|
|
519
|
+
* 配置当前表单项展示模式
|
|
520
|
+
*/
|
|
518
521
|
addChildId: (id: string) => void;
|
|
519
522
|
removeChildId: (id: string) => void;
|
|
520
523
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -533,9 +536,15 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
533
536
|
onChildStoreDispose(child: any): void;
|
|
534
537
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
535
538
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
539
|
+
/**
|
|
540
|
+
* 配置当前表单项展示模式
|
|
541
|
+
*/
|
|
536
542
|
addChildId: (id: string) => void;
|
|
537
543
|
removeChildId: (id: string) => void;
|
|
538
544
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
545
|
+
/**
|
|
546
|
+
* @deprecated 用 description 代替
|
|
547
|
+
*/
|
|
539
548
|
readonly stores: {
|
|
540
549
|
[propName: string]: {
|
|
541
550
|
id: string;
|
|
@@ -553,6 +562,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
553
562
|
onChildStoreDispose(child: any): void;
|
|
554
563
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
555
564
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
565
|
+
/**
|
|
566
|
+
* 配置当前表单项展示模式
|
|
567
|
+
*/
|
|
556
568
|
addChildId: (id: string) => void;
|
|
557
569
|
removeChildId: (id: string) => void;
|
|
558
570
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -571,6 +583,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
571
583
|
onChildStoreDispose(child: any): void;
|
|
572
584
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
573
585
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
586
|
+
/**
|
|
587
|
+
* 配置当前表单项展示模式
|
|
588
|
+
*/
|
|
574
589
|
addChildId: (id: string) => void;
|
|
575
590
|
removeChildId: (id: string) => void;
|
|
576
591
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
@@ -598,6 +613,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
598
613
|
onChildStoreDispose(child: any): void;
|
|
599
614
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
600
615
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
616
|
+
/**
|
|
617
|
+
* 配置当前表单项展示模式
|
|
618
|
+
*/
|
|
601
619
|
addChildId: (id: string) => void;
|
|
602
620
|
removeChildId: (id: string) => void;
|
|
603
621
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -616,6 +634,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
616
634
|
onChildStoreDispose(child: any): void;
|
|
617
635
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
618
636
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
637
|
+
/**
|
|
638
|
+
* 配置当前表单项展示模式
|
|
639
|
+
*/
|
|
619
640
|
addChildId: (id: string) => void;
|
|
620
641
|
removeChildId: (id: string) => void;
|
|
621
642
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
@@ -635,6 +656,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
635
656
|
onChildStoreDispose(child: any): void;
|
|
636
657
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
637
658
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
659
|
+
/**
|
|
660
|
+
* 配置当前表单项展示模式
|
|
661
|
+
*/
|
|
638
662
|
addChildId: (id: string) => void;
|
|
639
663
|
removeChildId: (id: string) => void;
|
|
640
664
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -653,6 +677,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
653
677
|
onChildStoreDispose(child: any): void;
|
|
654
678
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
655
679
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
680
|
+
/**
|
|
681
|
+
* 配置当前表单项展示模式
|
|
682
|
+
*/
|
|
656
683
|
addChildId: (id: string) => void;
|
|
657
684
|
removeChildId: (id: string) => void;
|
|
658
685
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
|
|
@@ -679,6 +706,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
679
706
|
onChildStoreDispose(child: any): void;
|
|
680
707
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
681
708
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
709
|
+
/**
|
|
710
|
+
* 配置当前表单项展示模式
|
|
711
|
+
*/
|
|
682
712
|
addChildId: (id: string) => void;
|
|
683
713
|
removeChildId: (id: string) => void;
|
|
684
714
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -697,9 +727,15 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
697
727
|
onChildStoreDispose(child: any): void;
|
|
698
728
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
699
729
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
730
|
+
/**
|
|
731
|
+
* 配置当前表单项展示模式
|
|
732
|
+
*/
|
|
700
733
|
addChildId: (id: string) => void;
|
|
701
734
|
removeChildId: (id: string) => void;
|
|
702
735
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
736
|
+
/**
|
|
737
|
+
* @deprecated 用 description 代替
|
|
738
|
+
*/
|
|
703
739
|
readonly stores: {
|
|
704
740
|
[propName: string]: {
|
|
705
741
|
id: string;
|
|
@@ -717,6 +753,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
717
753
|
onChildStoreDispose(child: any): void;
|
|
718
754
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
719
755
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
756
|
+
/**
|
|
757
|
+
* 配置当前表单项展示模式
|
|
758
|
+
*/
|
|
720
759
|
addChildId: (id: string) => void;
|
|
721
760
|
removeChildId: (id: string) => void;
|
|
722
761
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -735,6 +774,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
735
774
|
onChildStoreDispose(child: any): void;
|
|
736
775
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
737
776
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
777
|
+
/**
|
|
778
|
+
* 配置当前表单项展示模式
|
|
779
|
+
*/
|
|
738
780
|
addChildId: (id: string) => void;
|
|
739
781
|
removeChildId: (id: string) => void;
|
|
740
782
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
@@ -762,6 +804,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
762
804
|
onChildStoreDispose(child: any): void;
|
|
763
805
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
764
806
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
807
|
+
/**
|
|
808
|
+
* 配置当前表单项展示模式
|
|
809
|
+
*/
|
|
765
810
|
addChildId: (id: string) => void;
|
|
766
811
|
removeChildId: (id: string) => void;
|
|
767
812
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -780,6 +825,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
780
825
|
onChildStoreDispose(child: any): void;
|
|
781
826
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
782
827
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
828
|
+
/**
|
|
829
|
+
* 配置当前表单项展示模式
|
|
830
|
+
*/
|
|
783
831
|
addChildId: (id: string) => void;
|
|
784
832
|
removeChildId: (id: string) => void;
|
|
785
833
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
@@ -799,6 +847,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
799
847
|
onChildStoreDispose(child: any): void;
|
|
800
848
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
801
849
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
850
|
+
/**
|
|
851
|
+
* 配置当前表单项展示模式
|
|
852
|
+
*/
|
|
802
853
|
addChildId: (id: string) => void;
|
|
803
854
|
removeChildId: (id: string) => void;
|
|
804
855
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
@@ -817,6 +868,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
817
868
|
onChildStoreDispose(child: any): void;
|
|
818
869
|
syncProps(props: any, prevProps: any, list?: string[]): void;
|
|
819
870
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
871
|
+
/**
|
|
872
|
+
* 配置当前表单项展示模式
|
|
873
|
+
*/
|
|
820
874
|
addChildId: (id: string) => void;
|
|
821
875
|
removeChildId: (id: string) => void;
|
|
822
876
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
|
package/esm/renderers/Item.js
CHANGED
package/esm/renderers/Options.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
|
|
|
@@ -517,12 +517,12 @@ function registerOptionsControl(config) {
|
|
|
517
517
|
if (idx === void 0) { idx = -1; }
|
|
518
518
|
if (skipForm === void 0) { skipForm = false; }
|
|
519
519
|
return __awaiter(this, void 0, void 0, function () {
|
|
520
|
-
var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, model, createBtnLabel, env, __, parent, ctx, result, _d, payload, e_1, isPrevented, options;
|
|
520
|
+
var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, result, _d, payload, e_1, isPrevented, options;
|
|
521
521
|
var _e;
|
|
522
522
|
return __generator(this, function (_f) {
|
|
523
523
|
switch (_f.label) {
|
|
524
524
|
case 0:
|
|
525
|
-
_c = this.props, addControls = _c.addControls, addDialog = _c.addDialog, disabled = _c.disabled, labelField = _c.labelField, onOpenDialog = _c.onOpenDialog, optionLabel = _c.optionLabel, addApi = _c.addApi, source = _c.source, data = _c.data, valueField = _c.valueField, model = _c.formItem, createBtnLabel = _c.createBtnLabel, env = _c.env, __ = _c.translate;
|
|
525
|
+
_c = this.props, addControls = _c.addControls, addDialog = _c.addDialog, disabled = _c.disabled, labelField = _c.labelField, onOpenDialog = _c.onOpenDialog, optionLabel = _c.optionLabel, addApi = _c.addApi, source = _c.source, data = _c.data, valueField = _c.valueField, deferField = _c.deferField, model = _c.formItem, createBtnLabel = _c.createBtnLabel, env = _c.env, __ = _c.translate;
|
|
526
526
|
// 禁用或者没有配置 name
|
|
527
527
|
if (disabled || !model) {
|
|
528
528
|
return [2 /*return*/];
|
|
@@ -607,7 +607,8 @@ function registerOptionsControl(config) {
|
|
|
607
607
|
if (isPrevented) {
|
|
608
608
|
return [2 /*return*/];
|
|
609
609
|
}
|
|
610
|
-
if (!(parent === null || parent === void 0 ? void 0 : parent.
|
|
610
|
+
if (!(((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
|
|
611
|
+
(parent === null || parent === void 0 ? void 0 : parent.defer))) return [3 /*break*/, 10];
|
|
611
612
|
return [4 /*yield*/, this.deferLoad(parent)];
|
|
612
613
|
case 9:
|
|
613
614
|
_f.sent();
|
package/esm/renderers/builtin.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
|
|
|
@@ -549,9 +549,7 @@ function wrapControl(ComposedComponent) {
|
|
|
549
549
|
formItem: this.model,
|
|
550
550
|
formMode: control.mode || formMode,
|
|
551
551
|
ref: this.controlRef,
|
|
552
|
-
data:
|
|
553
|
-
? model.getMergedData(data || (store === null || store === void 0 ? void 0 : store.data))
|
|
554
|
-
: data || (store === null || store === void 0 ? void 0 : store.data),
|
|
552
|
+
data: data || (store === null || store === void 0 ? void 0 : store.data),
|
|
555
553
|
name: (_c = model === null || model === void 0 ? void 0 : model.name) !== null && _c !== void 0 ? _c : control.name,
|
|
556
554
|
value: value,
|
|
557
555
|
changeMotivation: model === null || model === void 0 ? void 0 : model.changeMotivation,
|
|
@@ -564,8 +562,8 @@ function wrapControl(ComposedComponent) {
|
|
|
564
562
|
prinstine: model ? model.prinstine : undefined,
|
|
565
563
|
setPrinstineValue: this.setPrinstineValue,
|
|
566
564
|
onValidate: this.validate,
|
|
567
|
-
onFlushChange: this.flushChange
|
|
568
|
-
render: this.renderChild // 如果覆盖,那么用的就是 form 上的 render,这个里面用到的 data 是比较旧的。
|
|
565
|
+
onFlushChange: this.flushChange
|
|
566
|
+
// render: this.renderChild // 如果覆盖,那么用的就是 form 上的 render,这个里面用到的 data 是比较旧的。
|
|
569
567
|
// !没了这个, tree 里的 options 渲染会出问题
|
|
570
568
|
// todo 理论上不应该影响,待确认
|
|
571
569
|
// _filteredOptions: this.model?.filteredOptions
|
package/esm/store/app.js
CHANGED
package/esm/store/combo.js
CHANGED
package/esm/store/crud.d.ts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { Instance } from 'mobx-state-tree';
|
|
2
2
|
import { Api, fetchOptions, ActionObject } from '../types';
|
|
3
|
+
import type { MatchSorterOptions } from 'match-sorter';
|
|
3
4
|
interface MatchFunc {
|
|
4
5
|
(items: any, itemsRaw: any,
|
|
5
6
|
/** 相关配置 */
|
|
6
7
|
options?: {
|
|
7
8
|
query: Record<string, any>;
|
|
8
9
|
columns: any;
|
|
10
|
+
/**
|
|
11
|
+
* match-sorter 匹配函数
|
|
12
|
+
* @doc https://github.com/kentcdodds/match-sorter
|
|
13
|
+
*/
|
|
14
|
+
matchSorter: (items: any[], value: string, options?: MatchSorterOptions<any>) => any[];
|
|
9
15
|
}): any;
|
|
10
16
|
}
|
|
11
17
|
export declare const CRUDStore: import("mobx-state-tree").IModelType<{
|
|
@@ -120,7 +126,7 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
|
|
|
120
126
|
columns?: Array<any>;
|
|
121
127
|
isTable2?: Boolean;
|
|
122
128
|
}) => Promise<any>;
|
|
123
|
-
changePage: (page: number, perPage?: number | string) => void;
|
|
129
|
+
changePage: (page: number | string, perPage?: number | string) => void;
|
|
124
130
|
changePerPage: (perPage: number | string) => void;
|
|
125
131
|
selectAction: (action: ActionObject) => void;
|
|
126
132
|
saveRemote: (api: Api, data?: object, options?: fetchOptions) => Promise<any>;
|
|
@@ -138,6 +144,8 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
|
|
|
138
144
|
api?: Api | undefined;
|
|
139
145
|
data?: any;
|
|
140
146
|
filename?: string | undefined;
|
|
147
|
+
pageField?: string | undefined;
|
|
148
|
+
perPageField?: string | undefined;
|
|
141
149
|
}) => Promise<void>;
|
|
142
150
|
updateColumns: (columns: Array<any>) => void;
|
|
143
151
|
updateTotal: (total: number) => void;
|