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
|
@@ -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
|
|
|
@@ -16,10 +16,10 @@ var ToastAction = /** @class */ (function () {
|
|
|
16
16
|
var _a, _b, _c, _d, _e;
|
|
17
17
|
return __awaiter(this, void 0, void 0, function () {
|
|
18
18
|
return __generator(this, function (_f) {
|
|
19
|
-
if (!((_a =
|
|
19
|
+
if (!((_a = event.context.env) === null || _a === void 0 ? void 0 : _a.notify)) {
|
|
20
20
|
throw new Error('env.notify is required!');
|
|
21
21
|
}
|
|
22
|
-
(_c = (_b = event.context.env).notify) === null || _c === void 0 ? void 0 : _c.call(_b, ((_d = action.args) === null || _d === void 0 ? void 0 : _d.msgType) || 'info', String((_e = action.args) === null || _e === void 0 ? void 0 : _e.msg), action.args);
|
|
22
|
+
(_c = (_b = event.context.env) === null || _b === void 0 ? void 0 : _b.notify) === null || _c === void 0 ? void 0 : _c.call(_b, ((_d = action.args) === null || _d === void 0 ? void 0 : _d.msgType) || 'info', String((_e = action.args) === null || _e === void 0 ? void 0 : _e.msg), action.args);
|
|
23
23
|
return [2 /*return*/];
|
|
24
24
|
});
|
|
25
25
|
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file ErrorBoundary
|
|
3
|
+
* @description 捕获发生在其子组件树任何位置的 JavaScript 错误,并打印这些错误
|
|
4
|
+
* @author wibetter
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
interface ErrorBoundaryProps {
|
|
8
|
+
customErrorMsg?: string;
|
|
9
|
+
fallback?: () => void;
|
|
10
|
+
children: any;
|
|
11
|
+
}
|
|
12
|
+
interface ErrorBoundaryStates {
|
|
13
|
+
hasError: boolean;
|
|
14
|
+
}
|
|
15
|
+
export default class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryStates> {
|
|
16
|
+
constructor(props: any);
|
|
17
|
+
componentDidCatch(error: any, errorInfo: any): void;
|
|
18
|
+
render(): any;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* amis-core v3.6.0
|
|
3
|
+
* Copyright 2018-2023 fex
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { __extends } from 'tslib';
|
|
7
|
+
import React from 'react';
|
|
8
|
+
|
|
9
|
+
var ErrorBoundary = /** @class */ (function (_super) {
|
|
10
|
+
__extends(ErrorBoundary, _super);
|
|
11
|
+
function ErrorBoundary(props) {
|
|
12
|
+
var _this = _super.call(this, props) || this;
|
|
13
|
+
_this.state = { hasError: false };
|
|
14
|
+
return _this;
|
|
15
|
+
}
|
|
16
|
+
ErrorBoundary.prototype.componentDidCatch = function (error, errorInfo) {
|
|
17
|
+
var customErrorMsg = this.props.customErrorMsg;
|
|
18
|
+
if (customErrorMsg) {
|
|
19
|
+
console.warn(customErrorMsg);
|
|
20
|
+
}
|
|
21
|
+
console.warn('错误对象:', error);
|
|
22
|
+
console.warn('错误信息:', errorInfo);
|
|
23
|
+
this.setState({
|
|
24
|
+
hasError: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
ErrorBoundary.prototype.render = function () {
|
|
28
|
+
var fallback = this.props.fallback;
|
|
29
|
+
if (this.state.hasError) {
|
|
30
|
+
if (fallback) {
|
|
31
|
+
return fallback();
|
|
32
|
+
}
|
|
33
|
+
// 默认渲染错误信息
|
|
34
|
+
return (React.createElement("div", { className: "renderer-error-boundary" }, "\u6E32\u67D3\u53D1\u751F\u9519\u8BEF\uFF0C\u8BE6\u7EC6\u9519\u8BEF\u4FE1\u606F\u8BF7\u67E5\u770B\u63A7\u5236\u53F0\u8F93\u51FA\u3002"));
|
|
35
|
+
}
|
|
36
|
+
return this.props.children;
|
|
37
|
+
};
|
|
38
|
+
return ErrorBoundary;
|
|
39
|
+
}(React.Component));
|
|
40
|
+
|
|
41
|
+
export { ErrorBoundary as default };
|
|
@@ -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.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export interface WsObject {
|
|
|
16
16
|
body?: any;
|
|
17
17
|
}
|
|
18
18
|
export interface RendererEnv {
|
|
19
|
+
forceSilenceInsideError?: boolean;
|
|
19
20
|
session?: string;
|
|
20
21
|
fetcher: (api: Api, data?: any, options?: object) => Promise<Payload>;
|
|
21
22
|
isCancel: (val: any) => boolean;
|
|
@@ -63,6 +64,14 @@ export interface RendererEnv {
|
|
|
63
64
|
*/
|
|
64
65
|
affixOffsetBottom?: number;
|
|
65
66
|
richTextToken: string;
|
|
67
|
+
/**
|
|
68
|
+
* 默认的选址组件提供商,目前支持仅 baidu
|
|
69
|
+
*/
|
|
70
|
+
locationPickerVendor?: string;
|
|
71
|
+
/**
|
|
72
|
+
* 选址组件的 ak
|
|
73
|
+
*/
|
|
74
|
+
locationPickerAK?: string;
|
|
66
75
|
loadRenderer: (schema: Schema, path: string, reRender: Function) => Promise<React.ElementType> | React.ElementType | JSX.Element | void;
|
|
67
76
|
loadChartExtends?: () => void | Promise<void>;
|
|
68
77
|
loadTinymcePlugin?: (tinymce: any) => void | Promise<void>;
|
package/esm/env.js
CHANGED
package/esm/envOverwrite.d.ts
CHANGED
package/esm/envOverwrite.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.
|
|
2
|
+
* amis-core v3.6.0
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
6
|
+
import { JSONValueMap } from './utils/helper.js';
|
|
7
|
+
import isPlainObject from 'lodash/isPlainObject';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @file 用于在移动端或不同语言环境下使用不同配置
|
|
@@ -15,41 +15,21 @@ var isMobile = ((_b = (_a = window).matchMedia) === null || _b === void 0 ? void
|
|
|
15
15
|
: false;
|
|
16
16
|
// 这里不能用 addSchemaFilter 是因为还需要更深层的替换,比如 select 里的 options
|
|
17
17
|
var envOverwrite = function (schema, locale) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
try {
|
|
22
|
-
for (var schemaNodes_1 = __values(schemaNodes), schemaNodes_1_1 = schemaNodes_1.next(); !schemaNodes_1_1.done; schemaNodes_1_1 = schemaNodes_1.next()) {
|
|
23
|
-
var schemaNode = schemaNodes_1_1.value;
|
|
24
|
-
Object.assign(schemaNode, schemaNode[locale]);
|
|
25
|
-
delete schemaNode[locale];
|
|
26
|
-
}
|
|
18
|
+
return JSONValueMap(schema, function (value) {
|
|
19
|
+
if (!isPlainObject(value)) {
|
|
20
|
+
return value;
|
|
27
21
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
finally { if (e_1) throw e_1.error; }
|
|
22
|
+
if (locale && value[locale]) {
|
|
23
|
+
var newValue = Object.assign({}, value, value[locale]);
|
|
24
|
+
delete newValue[locale];
|
|
25
|
+
return newValue;
|
|
34
26
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
for (var schemaNodes_2 = __values(schemaNodes), schemaNodes_2_1 = schemaNodes_2.next(); !schemaNodes_2_1.done; schemaNodes_2_1 = schemaNodes_2.next()) {
|
|
40
|
-
var schemaNode = schemaNodes_2_1.value;
|
|
41
|
-
Object.assign(schemaNode, schemaNode['mobile']);
|
|
42
|
-
delete schemaNode['mobile'];
|
|
43
|
-
}
|
|
27
|
+
else if (isMobile && value.mobile) {
|
|
28
|
+
var newValue = Object.assign({}, value, value.mobile);
|
|
29
|
+
delete newValue.mobile;
|
|
30
|
+
return newValue;
|
|
44
31
|
}
|
|
45
|
-
|
|
46
|
-
finally {
|
|
47
|
-
try {
|
|
48
|
-
if (schemaNodes_2_1 && !schemaNodes_2_1.done && (_b = schemaNodes_2.return)) _b.call(schemaNodes_2);
|
|
49
|
-
}
|
|
50
|
-
finally { if (e_2) throw e_2.error; }
|
|
51
|
-
}
|
|
52
|
-
}
|
|
32
|
+
}, true);
|
|
53
33
|
};
|
|
54
34
|
|
|
55
35
|
export { envOverwrite };
|
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 = {}; }
|
|
@@ -199,7 +200,7 @@ function AMISRenderer(_a) {
|
|
|
199
200
|
props.mobileUI = env.isMobile();
|
|
200
201
|
}
|
|
201
202
|
// 根据环境覆盖 schema,这个要在最前面做,不然就无法覆盖 validations
|
|
202
|
-
envOverwrite(schema, locale);
|
|
203
|
+
schema = envOverwrite(schema, locale);
|
|
203
204
|
schema = replaceText(schema, options.replaceText, env.replaceTextIgnoreKeys);
|
|
204
205
|
return (React.createElement(EnvContext.Provider, { value: env },
|
|
205
206
|
React.createElement(ScopedRootRenderer, __assign({}, props, { schema: schema, pathPrefix: pathPrefix, rootStore: store, env: env, theme: theme, locale: locale, translate: translate }))));
|
package/esm/locale.js
CHANGED
package/esm/polyfills.js
CHANGED
package/esm/renderers/Form.d.ts
CHANGED
|
@@ -265,6 +265,7 @@ export interface FormProps extends RendererProps, Omit<FormSchemaBase, 'mode' |
|
|
|
265
265
|
onFailed?: (reason: string, errors: any) => any;
|
|
266
266
|
onFinished: (values: object, action: any) => any;
|
|
267
267
|
onValidate: (values: object, form: any) => any;
|
|
268
|
+
onValidChange?: (valid: boolean, props: any) => void;
|
|
268
269
|
messages: {
|
|
269
270
|
fetchSuccess?: string;
|
|
270
271
|
fetchFailed?: string;
|
|
@@ -315,8 +316,7 @@ export default class Form extends React.Component<FormProps, object> {
|
|
|
315
316
|
[propName: string]: Array<() => Promise<any>>;
|
|
316
317
|
};
|
|
317
318
|
asyncCancel: () => void;
|
|
318
|
-
|
|
319
|
-
disposeRulesValidate: () => void;
|
|
319
|
+
toDispose: Array<() => void>;
|
|
320
320
|
shouldLoadInitApi: boolean;
|
|
321
321
|
timer: ReturnType<typeof setTimeout>;
|
|
322
322
|
mounted: boolean;
|
|
@@ -326,6 +326,12 @@ export default class Form extends React.Component<FormProps, object> {
|
|
|
326
326
|
componentDidMount(): void;
|
|
327
327
|
componentDidUpdate(prevProps: FormProps): void;
|
|
328
328
|
componentWillUnmount(): void;
|
|
329
|
+
/** 获取表单联合校验的规则 */
|
|
330
|
+
getNormalizedRules(): {
|
|
331
|
+
message: any;
|
|
332
|
+
rule: string;
|
|
333
|
+
name?: string | string[] | undefined;
|
|
334
|
+
}[];
|
|
329
335
|
dispatchInited(value: any): Promise<any>;
|
|
330
336
|
blockRouting(): any;
|
|
331
337
|
beforePageUnload(e: any): any;
|
|
@@ -335,7 +341,7 @@ export default class Form extends React.Component<FormProps, object> {
|
|
|
335
341
|
silentReload(target?: string, query?: any): void;
|
|
336
342
|
initInterval(value: any): any;
|
|
337
343
|
isValidated(): boolean;
|
|
338
|
-
validate(forceValidate?: boolean, throwErrors?: boolean): Promise<boolean>;
|
|
344
|
+
validate(forceValidate?: boolean, throwErrors?: boolean, toastErrors?: boolean): Promise<boolean>;
|
|
339
345
|
setErrors(errors: {
|
|
340
346
|
[propName: string]: string;
|
|
341
347
|
}, tag?: string): void;
|
|
@@ -349,7 +355,7 @@ export default class Form extends React.Component<FormProps, object> {
|
|
|
349
355
|
removeHook(fn: () => any, type?: string): void;
|
|
350
356
|
handleChange(value: any, name: string, submit: boolean, changePristine?: boolean): void;
|
|
351
357
|
formItemDispatchEvent(type: string, data: any): any;
|
|
352
|
-
emitChange(submit: boolean): Promise<void>;
|
|
358
|
+
emitChange(submit: boolean, skipIfNothingChanges?: boolean): Promise<void>;
|
|
353
359
|
handleBulkChange(values: Object, submit: boolean): void;
|
|
354
360
|
handleFormSubmit(e: React.UIEvent<any>): any;
|
|
355
361
|
handleReset(action: any): (data: any) => void;
|