amis-core 6.8.0 → 6.9.0-rc.1
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 +24 -2
- package/esm/SchemaRenderer.js +29 -15
- package/esm/Scoped.js +1 -1
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +10 -10
- package/esm/actions/Action.js +1 -1
- package/esm/actions/AjaxAction.js +1 -1
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.js +1 -1
- package/esm/actions/CmptAction.js +1 -1
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +1 -1
- 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/EventAction.js +1 -1
- package/esm/actions/LinkAction.js +1 -1
- package/esm/actions/LoopAction.js +1 -1
- package/esm/actions/PageAction.js +1 -1
- package/esm/actions/ParallelAction.js +1 -1
- package/esm/actions/PrintAction.js +1 -1
- package/esm/actions/StatusAction.js +1 -1
- package/esm/actions/SwitchAction.js +1 -1
- package/esm/actions/ToastAction.js +1 -1
- package/esm/actions/WaitAction.js +1 -1
- package/esm/components/CustomStyle.js +1 -1
- package/esm/components/ErrorBoundary.js +1 -1
- package/esm/components/LazyComponent.d.ts +40 -2
- package/esm/components/LazyComponent.js +13 -7
- package/esm/components/Overlay.js +1 -1
- package/esm/components/PopOver.d.ts +1 -1
- package/esm/components/PopOver.js +1 -1
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.d.ts +13 -2
- package/esm/factory.js +159 -45
- package/esm/index.d.ts +4 -4
- package/esm/index.js +5 -5
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +3 -3
- package/esm/renderers/Form.js +17 -9
- package/esm/renderers/Item.d.ts +18 -12
- package/esm/renderers/Item.js +6 -6
- package/esm/renderers/Options.d.ts +3 -3
- package/esm/renderers/Options.js +42 -19
- 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.d.ts +3 -3
- package/esm/renderers/wrapControl.js +19 -6
- package/esm/store/app.d.ts +3 -3
- package/esm/store/app.js +1 -1
- package/esm/store/combo.d.ts +15 -15
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +3 -3
- package/esm/store/crud.js +1 -1
- package/esm/store/form.d.ts +7 -7
- package/esm/store/form.js +24 -6
- package/esm/store/formItem.js +1 -1
- package/esm/store/iRenderer.d.ts +4 -3
- package/esm/store/iRenderer.js +28 -4
- package/esm/store/index.d.ts +1 -0
- package/esm/store/index.js +3 -2
- package/esm/store/list.d.ts +3 -3
- package/esm/store/list.js +1 -1
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.d.ts +3 -3
- package/esm/store/modal.js +1 -1
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.d.ts +3 -3
- package/esm/store/pagination.js +1 -1
- package/esm/store/root.d.ts +5 -3
- package/esm/store/root.js +45 -21
- package/esm/store/service.d.ts +3 -3
- package/esm/store/service.js +10 -4
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +15 -15
- package/esm/store/table.js +1 -1
- package/esm/store/table2.d.ts +3 -3
- package/esm/store/table2.js +1 -1
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +19 -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.d.ts +21 -1
- package/esm/utils/api.js +133 -41
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +1 -1
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/browser.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/concatData.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.js +1 -1
- 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/labelToString.js +4 -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/printElement.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 +1 -1
- 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/validateId.js +1 -1
- package/esm/utils/validations.js +1 -1
- package/esm/utils/visitedCache.js +1 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.d.ts +1 -1
- package/lib/RootRenderer.js +23 -1
- package/lib/SchemaRenderer.js +27 -13
- package/lib/Scoped.js +1 -1
- package/lib/StatusScoped.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +10 -10
- package/lib/actions/Action.js +1 -1
- package/lib/actions/AjaxAction.js +1 -1
- package/lib/actions/BreakAction.js +1 -1
- package/lib/actions/BroadcastAction.js +1 -1
- package/lib/actions/CmptAction.js +1 -1
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +1 -1
- 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/EventAction.js +1 -1
- package/lib/actions/LinkAction.js +1 -1
- package/lib/actions/LoopAction.js +1 -1
- package/lib/actions/PageAction.js +1 -1
- package/lib/actions/ParallelAction.js +1 -1
- package/lib/actions/PrintAction.js +1 -1
- package/lib/actions/StatusAction.js +1 -1
- package/lib/actions/SwitchAction.js +1 -1
- package/lib/actions/ToastAction.js +1 -1
- package/lib/actions/WaitAction.js +1 -1
- package/lib/components/CustomStyle.js +1 -1
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/LazyComponent.d.ts +40 -2
- package/lib/components/LazyComponent.js +14 -7
- package/lib/components/Overlay.js +1 -1
- package/lib/components/PopOver.d.ts +1 -1
- package/lib/components/PopOver.js +1 -1
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.d.ts +13 -2
- package/lib/factory.js +163 -44
- package/lib/index.d.ts +4 -4
- package/lib/index.js +10 -2
- package/lib/locale.js +1 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +3 -3
- package/lib/renderers/Form.js +15 -7
- package/lib/renderers/Item.d.ts +18 -12
- package/lib/renderers/Item.js +6 -6
- package/lib/renderers/Options.d.ts +3 -3
- package/lib/renderers/Options.js +42 -19
- 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.d.ts +3 -3
- package/lib/renderers/wrapControl.js +19 -6
- package/lib/store/app.d.ts +3 -3
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +15 -15
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +3 -3
- package/lib/store/crud.js +2 -2
- package/lib/store/form.d.ts +7 -7
- package/lib/store/form.js +24 -6
- package/lib/store/formItem.js +1 -1
- package/lib/store/iRenderer.d.ts +4 -3
- package/lib/store/iRenderer.js +28 -4
- package/lib/store/index.d.ts +1 -0
- package/lib/store/index.js +3 -1
- package/lib/store/list.d.ts +3 -3
- package/lib/store/list.js +1 -1
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.d.ts +3 -3
- package/lib/store/modal.js +1 -1
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.d.ts +3 -3
- package/lib/store/pagination.js +1 -1
- package/lib/store/root.d.ts +5 -3
- package/lib/store/root.js +43 -19
- package/lib/store/service.d.ts +3 -3
- package/lib/store/service.js +10 -4
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +15 -15
- package/lib/store/table.js +1 -1
- package/lib/store/table2.d.ts +3 -3
- package/lib/store/table2.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +19 -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.d.ts +21 -1
- package/lib/utils/api.js +136 -40
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +1 -1
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/browser.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/concatData.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.js +1 -1
- package/lib/utils/debug.js +2 -2
- package/lib/utils/decodeEntity.js +1 -1
- package/lib/utils/dom.js +1 -1
- package/lib/utils/errors.js +1 -1
- package/lib/utils/escapeHtml.js +1 -1
- package/lib/utils/filter-schema.js +1 -1
- 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/labelToString.js +4 -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/printElement.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 +1 -1
- 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/validateId.js +1 -1
- package/lib/utils/validations.js +1 -1
- package/lib/utils/visitedCache.js +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-rc.1
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
10
10
|
var tslib = require('tslib');
|
|
11
11
|
var React = require('react');
|
|
12
12
|
var reactIntersectionObserver = require('react-intersection-observer');
|
|
13
|
+
var theme = require('../theme.js');
|
|
13
14
|
|
|
14
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
16
|
|
|
@@ -21,19 +22,21 @@ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
|
|
|
21
22
|
var LazyComponent = /** @class */ (function (_super) {
|
|
22
23
|
tslib.__extends(LazyComponent, _super);
|
|
23
24
|
function LazyComponent(props) {
|
|
24
|
-
var _this =
|
|
25
|
+
var _this = this;
|
|
26
|
+
var _a;
|
|
27
|
+
_this = _super.call(this, props) || this;
|
|
25
28
|
_this.mounted = false;
|
|
26
29
|
_this.handleVisibleChange = _this.handleVisibleChange.bind(_this);
|
|
27
30
|
_this.mounted = true;
|
|
28
31
|
_this.state = {
|
|
29
|
-
visible: false,
|
|
32
|
+
visible: (_a = props.defaultVisible) !== null && _a !== void 0 ? _a : false,
|
|
30
33
|
component: props.component
|
|
31
34
|
};
|
|
32
35
|
return _this;
|
|
33
36
|
}
|
|
34
37
|
LazyComponent.prototype.componentDidMount = function () {
|
|
35
38
|
// jest 里面有点异常,先手动让它总是可见
|
|
36
|
-
if (typeof jest !== 'undefined') {
|
|
39
|
+
if (typeof jest !== 'undefined' || this.state.visible) {
|
|
37
40
|
this.handleVisibleChange(true);
|
|
38
41
|
}
|
|
39
42
|
};
|
|
@@ -65,7 +68,8 @@ var LazyComponent = /** @class */ (function (_super) {
|
|
|
65
68
|
});
|
|
66
69
|
};
|
|
67
70
|
LazyComponent.prototype.render = function () {
|
|
68
|
-
var _a = this.props, placeholder = _a.placeholder, unMountOnHidden = _a.unMountOnHidden, childProps = _a.childProps, partialVisibility = _a.partialVisibility, children = _a.children, rest = tslib.__rest(_a, ["placeholder", "unMountOnHidden", "childProps", "partialVisibility", "children"]);
|
|
71
|
+
var _a = this.props, placeholder = _a.placeholder, unMountOnHidden = _a.unMountOnHidden, childProps = _a.childProps, partialVisibility = _a.partialVisibility, children = _a.children, className = _a.className, rest = tslib.__rest(_a, ["placeholder", "unMountOnHidden", "childProps", "partialVisibility", "children", "className"]);
|
|
72
|
+
var cx = this.props.classnames;
|
|
69
73
|
var _b = this.state, visible = _b.visible, Component = _b.component;
|
|
70
74
|
// 需要监听从可见到不可见。
|
|
71
75
|
if (unMountOnHidden) {
|
|
@@ -87,7 +91,7 @@ var LazyComponent = /** @class */ (function (_super) {
|
|
|
87
91
|
else if (children) {
|
|
88
92
|
return children;
|
|
89
93
|
}
|
|
90
|
-
return _J$X_("div",
|
|
94
|
+
return _J$X_("div", { className: cx('LazyComponent', className) }, placeholder);
|
|
91
95
|
};
|
|
92
96
|
LazyComponent.defaultProps = {
|
|
93
97
|
placeholder: _J$X_("span", null, "Loading..."),
|
|
@@ -96,5 +100,8 @@ var LazyComponent = /** @class */ (function (_super) {
|
|
|
96
100
|
};
|
|
97
101
|
return LazyComponent;
|
|
98
102
|
}(React__default["default"].Component));
|
|
103
|
+
var themedLazyComponent = theme.themeable(LazyComponent);
|
|
104
|
+
themedLazyComponent.defaultProps = LazyComponent.defaultProps;
|
|
99
105
|
|
|
100
|
-
exports
|
|
106
|
+
exports.LazyComponent = LazyComponent;
|
|
107
|
+
exports["default"] = themedLazyComponent;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
/// <reference types="hoist-non-react-statics" />
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { ClassNamesFn } from '../theme';
|
|
9
|
-
import
|
|
9
|
+
import { TestIdBuilder } from '../utils';
|
|
10
10
|
export interface Offset {
|
|
11
11
|
x: number;
|
|
12
12
|
y: number;
|
package/lib/env.js
CHANGED
package/lib/envOverwrite.js
CHANGED
package/lib/factory.d.ts
CHANGED
|
@@ -13,8 +13,10 @@ export interface TestFunc {
|
|
|
13
13
|
export interface RendererBasicConfig {
|
|
14
14
|
test?: RegExp | TestFunc;
|
|
15
15
|
type?: string;
|
|
16
|
+
alias?: Array<string>;
|
|
16
17
|
name?: string;
|
|
17
18
|
storeType?: string;
|
|
19
|
+
defaultProps?: (type: string, schema: any) => any;
|
|
18
20
|
shouldSyncSuperStore?: (store: any, props: any, prevProps: any) => boolean | undefined;
|
|
19
21
|
storeExtendsData?: boolean | ((props: any) => boolean);
|
|
20
22
|
weight?: number;
|
|
@@ -47,7 +49,11 @@ export type RendererComponent = React.ComponentType<RendererProps> & {
|
|
|
47
49
|
propsList?: Array<any>;
|
|
48
50
|
};
|
|
49
51
|
export interface RendererConfig extends RendererBasicConfig {
|
|
50
|
-
component
|
|
52
|
+
component?: RendererComponent;
|
|
53
|
+
getComponent?: () => Promise<{
|
|
54
|
+
default: RendererComponent;
|
|
55
|
+
} | any>;
|
|
56
|
+
override?: boolean;
|
|
51
57
|
Renderer?: RendererComponent;
|
|
52
58
|
}
|
|
53
59
|
export interface RenderSchemaFilter {
|
|
@@ -77,7 +83,12 @@ export declare function filterSchema(schema: Schema, render: RendererConfig, pro
|
|
|
77
83
|
export declare function Renderer(config: RendererBasicConfig): <T extends RendererComponent>(component: T) => T;
|
|
78
84
|
export declare function registerRenderer(config: RendererConfig): RendererConfig;
|
|
79
85
|
export declare function unRegisterRenderer(config: RendererConfig | string): void;
|
|
80
|
-
export declare function
|
|
86
|
+
export declare function loadRendererError(schema: Schema, path: string): React.JSX.Element;
|
|
87
|
+
export declare function loadAsyncRenderer(renderer: RendererConfig): Promise<void>;
|
|
88
|
+
export declare function isAsyncRenderer(item: RendererConfig): false | (() => Promise<any>) | undefined;
|
|
89
|
+
export declare function hasAsyncRenderers(): boolean;
|
|
90
|
+
export declare function loadAsyncRenderersByType(type: string | Array<string>, ignore?: boolean): Promise<void>;
|
|
91
|
+
export declare function loadAllAsyncRenderers(): Promise<void>;
|
|
81
92
|
export declare const defaultOptions: RenderOptions;
|
|
82
93
|
export declare const stores: {
|
|
83
94
|
[propName: string]: IRendererStore;
|
package/lib/factory.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-rc.1
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -30,6 +30,8 @@ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
|
|
|
30
30
|
(__react_jsx__["default"] || __react_jsx__).Fragment;
|
|
31
31
|
var _a, _b;
|
|
32
32
|
var renderers = [];
|
|
33
|
+
// type 与 RendererConfig 的映射关系
|
|
34
|
+
var renderersTypeMap = {};
|
|
33
35
|
var renderersMap = {};
|
|
34
36
|
var schemaFilters = [];
|
|
35
37
|
var anonymousIndex = 1;
|
|
@@ -45,53 +47,87 @@ function Renderer(config) {
|
|
|
45
47
|
return renderer.component;
|
|
46
48
|
};
|
|
47
49
|
}
|
|
50
|
+
// 将 renderer 转成组件
|
|
51
|
+
function rendererToComponent(component, config) {
|
|
52
|
+
if (config.storeType && config.component) {
|
|
53
|
+
component = WithStore.HocStoreFactory({
|
|
54
|
+
storeType: config.storeType,
|
|
55
|
+
extendsData: config.storeExtendsData,
|
|
56
|
+
shouldSyncSuperStore: config.shouldSyncSuperStore
|
|
57
|
+
})(mobxReact.observer(component));
|
|
58
|
+
}
|
|
59
|
+
if (config.isolateScope) {
|
|
60
|
+
component = Scoped.HocScoped(component, config.type);
|
|
61
|
+
}
|
|
62
|
+
return component;
|
|
63
|
+
}
|
|
48
64
|
function registerRenderer(config) {
|
|
49
65
|
if (!config.test && !config.type) {
|
|
50
|
-
throw new TypeError('please set config.
|
|
66
|
+
throw new TypeError('please set config.type or config.test');
|
|
51
67
|
}
|
|
52
|
-
else if (!config.
|
|
53
|
-
|
|
68
|
+
else if (!config.type && config.name !== 'static') {
|
|
69
|
+
// todo static 目前还没办法不用 test 来实现
|
|
70
|
+
console.warn("config.type is recommended for register renderer(".concat(config.test, ")"));
|
|
54
71
|
}
|
|
55
72
|
if (typeof config.type === 'string' && config.type) {
|
|
56
73
|
config.type = config.type.toLowerCase();
|
|
57
74
|
config.test =
|
|
58
|
-
config.test ||
|
|
75
|
+
config.test ||
|
|
76
|
+
new RegExp("(^|/)(?:".concat((config.alias || [])
|
|
77
|
+
.concat(config.type)
|
|
78
|
+
.map(function (type) { return string2regExp.string2regExp(type); })
|
|
79
|
+
.join('|'), ")$"), 'i');
|
|
59
80
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
81
|
+
var exists = renderersTypeMap[config.type || ''];
|
|
82
|
+
var renderer = tslib.__assign({}, config);
|
|
83
|
+
if (exists &&
|
|
84
|
+
exists.component &&
|
|
85
|
+
exists.component !== Placeholder.Placeholder &&
|
|
86
|
+
config.component &&
|
|
87
|
+
!config.override) {
|
|
88
|
+
throw new Error("The renderer with type \"".concat(config.type, "\" has already exists, please try another type!"));
|
|
65
89
|
}
|
|
66
|
-
else if (
|
|
67
|
-
//
|
|
68
|
-
|
|
69
|
-
|
|
90
|
+
else if (exists) {
|
|
91
|
+
// 如果已经存在,合并配置,并用合并后的配置
|
|
92
|
+
Object.assign(exists, config);
|
|
93
|
+
renderer = exists;
|
|
70
94
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
95
|
+
renderer.weight = renderer.weight || 0;
|
|
96
|
+
renderer.name =
|
|
97
|
+
renderer.name || renderer.type || "anonymous-".concat(anonymousIndex++);
|
|
98
|
+
if (config.component) {
|
|
99
|
+
renderer.Renderer = config.component;
|
|
100
|
+
renderer.component = rendererToComponent(config.component, renderer);
|
|
77
101
|
}
|
|
78
|
-
if (
|
|
79
|
-
|
|
102
|
+
if (!exists) {
|
|
103
|
+
var idx = helper.findIndex(renderers, function (item) { return config.weight < item.weight; });
|
|
104
|
+
~idx ? renderers.splice(idx, 0, renderer) : renderers.push(renderer);
|
|
80
105
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return
|
|
106
|
+
renderersMap[renderer.name] = !!(renderer.component && renderer.component !== Placeholder.Placeholder);
|
|
107
|
+
renderer.type && (renderersTypeMap[renderer.type] = renderer);
|
|
108
|
+
(renderer.alias || []).forEach(function (alias) { return (renderersTypeMap[alias] = renderer); });
|
|
109
|
+
return renderer;
|
|
85
110
|
}
|
|
86
111
|
function unRegisterRenderer(config) {
|
|
112
|
+
var _a;
|
|
87
113
|
var name = (typeof config === 'string' ? config : config.name);
|
|
88
114
|
var idx = renderers.findIndex(function (item) { return item.name === name; });
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
115
|
+
if (~idx) {
|
|
116
|
+
var renderer_1 = renderers[idx];
|
|
117
|
+
renderers.splice(idx, 1);
|
|
118
|
+
delete renderersMap[name];
|
|
119
|
+
delete renderersTypeMap[renderer_1.type || ''];
|
|
120
|
+
(_a = renderer_1.alias) === null || _a === void 0 ? void 0 : _a.forEach(function (alias) { return delete renderersTypeMap[alias]; });
|
|
121
|
+
// 清空渲染器定位缓存
|
|
122
|
+
Object.keys(cache).forEach(function (key) {
|
|
123
|
+
var value = cache[key];
|
|
124
|
+
if (value === renderer_1) {
|
|
125
|
+
delete cache[key];
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
93
129
|
}
|
|
94
|
-
function
|
|
130
|
+
function loadRendererError(schema, path) {
|
|
95
131
|
return (_J$X_("div", { className: "RuntimeError" },
|
|
96
132
|
_J$X_("p", null, "Error: \u627E\u4E0D\u5230\u5BF9\u5E94\u7684\u6E32\u67D3\u5668"),
|
|
97
133
|
_J$X_("p", null,
|
|
@@ -100,12 +136,97 @@ function loadRenderer(schema, path) {
|
|
|
100
136
|
_J$X_("pre", null,
|
|
101
137
|
_J$X_("code", null, JSON.stringify(schema, null, 2)))));
|
|
102
138
|
}
|
|
139
|
+
function loadAsyncRenderer(renderer) {
|
|
140
|
+
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
141
|
+
var result;
|
|
142
|
+
return tslib.__generator(this, function (_a) {
|
|
143
|
+
switch (_a.label) {
|
|
144
|
+
case 0:
|
|
145
|
+
if (!isAsyncRenderer(renderer)) {
|
|
146
|
+
// already loaded
|
|
147
|
+
return [2 /*return*/];
|
|
148
|
+
}
|
|
149
|
+
return [4 /*yield*/, renderer.getComponent()];
|
|
150
|
+
case 1:
|
|
151
|
+
result = _a.sent();
|
|
152
|
+
// 如果异步加载的组件没有注册渲染器
|
|
153
|
+
// 同时默认导出了一个组件,则自动注册
|
|
154
|
+
if (!renderer.component && result.default) {
|
|
155
|
+
registerRenderer(tslib.__assign(tslib.__assign({}, renderer), { component: result.default }));
|
|
156
|
+
}
|
|
157
|
+
return [2 /*return*/];
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
function isAsyncRenderer(item) {
|
|
163
|
+
return (item &&
|
|
164
|
+
(!item.component || item.component === Placeholder.Placeholder) &&
|
|
165
|
+
item.getComponent);
|
|
166
|
+
}
|
|
167
|
+
function hasAsyncRenderers() {
|
|
168
|
+
return renderers.some(isAsyncRenderer);
|
|
169
|
+
}
|
|
170
|
+
function loadAsyncRenderersByType(type, ignore) {
|
|
171
|
+
if (ignore === void 0) { ignore = false; }
|
|
172
|
+
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
173
|
+
var types, asyncRenderers;
|
|
174
|
+
return tslib.__generator(this, function (_a) {
|
|
175
|
+
switch (_a.label) {
|
|
176
|
+
case 0:
|
|
177
|
+
types = Array.isArray(type) ? type : [type];
|
|
178
|
+
asyncRenderers = types
|
|
179
|
+
.map(function (type) {
|
|
180
|
+
var renderer = renderersTypeMap[type];
|
|
181
|
+
if (!renderer && !ignore) {
|
|
182
|
+
throw new Error("Can not find the renderer by type: ".concat(type));
|
|
183
|
+
}
|
|
184
|
+
return renderer;
|
|
185
|
+
})
|
|
186
|
+
.filter(isAsyncRenderer);
|
|
187
|
+
if (!asyncRenderers.length) return [3 /*break*/, 2];
|
|
188
|
+
return [4 /*yield*/, Promise.all(asyncRenderers.map(function (item) { return loadAsyncRenderer(item); }))];
|
|
189
|
+
case 1:
|
|
190
|
+
_a.sent();
|
|
191
|
+
_a.label = 2;
|
|
192
|
+
case 2: return [2 /*return*/];
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
function loadAllAsyncRenderers() {
|
|
198
|
+
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
199
|
+
var asyncRenderers;
|
|
200
|
+
var _this = this;
|
|
201
|
+
return tslib.__generator(this, function (_a) {
|
|
202
|
+
switch (_a.label) {
|
|
203
|
+
case 0:
|
|
204
|
+
asyncRenderers = renderers.filter(isAsyncRenderer);
|
|
205
|
+
if (!asyncRenderers.length) return [3 /*break*/, 2];
|
|
206
|
+
return [4 /*yield*/, Promise.all(renderers.map(function (renderer) { return tslib.__awaiter(_this, void 0, void 0, function () {
|
|
207
|
+
return tslib.__generator(this, function (_a) {
|
|
208
|
+
switch (_a.label) {
|
|
209
|
+
case 0: return [4 /*yield*/, loadAsyncRenderer(renderer)];
|
|
210
|
+
case 1:
|
|
211
|
+
_a.sent();
|
|
212
|
+
return [2 /*return*/];
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}); }))];
|
|
216
|
+
case 1:
|
|
217
|
+
_a.sent();
|
|
218
|
+
_a.label = 2;
|
|
219
|
+
case 2: return [2 /*return*/];
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
});
|
|
223
|
+
}
|
|
103
224
|
var defaultOptions = {
|
|
104
225
|
session: 'global',
|
|
105
226
|
richTextToken: '',
|
|
106
227
|
useMobileUI: true,
|
|
107
228
|
enableAMISDebug: (_b = (_a = window.enableAMISDebug) !== null && _a !== void 0 ? _a : location.search.indexOf('amisDebug=1') !== -1) !== null && _b !== void 0 ? _b : false,
|
|
108
|
-
loadRenderer:
|
|
229
|
+
loadRenderer: loadRendererError,
|
|
109
230
|
fetcher: function () {
|
|
110
231
|
return Promise.reject('fetcher is required');
|
|
111
232
|
},
|
|
@@ -272,8 +393,9 @@ function extendDefaultEnv(env) {
|
|
|
272
393
|
var cache = {};
|
|
273
394
|
function resolveRenderer(path, schema) {
|
|
274
395
|
var type = typeof (schema === null || schema === void 0 ? void 0 : schema.type) == 'string' ? schema.type.toLowerCase() : '';
|
|
275
|
-
|
|
276
|
-
|
|
396
|
+
// 直接匹配类型,后续注册渲染都应该用这个方式而不是之前的判断路径。
|
|
397
|
+
if (type && renderersTypeMap[type]) {
|
|
398
|
+
return renderersTypeMap[type];
|
|
277
399
|
}
|
|
278
400
|
else if (cache[path]) {
|
|
279
401
|
return cache[path];
|
|
@@ -284,15 +406,7 @@ function resolveRenderer(path, schema) {
|
|
|
284
406
|
var renderer = null;
|
|
285
407
|
renderers.some(function (item) {
|
|
286
408
|
var matched = false;
|
|
287
|
-
|
|
288
|
-
if (item.type && type) {
|
|
289
|
-
matched = item.type === type;
|
|
290
|
-
// 如果是type来命中的,那么cache的key直接用 type 即可。
|
|
291
|
-
if (matched) {
|
|
292
|
-
cache[type] = item;
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
else if (typeof item.test === 'function') {
|
|
409
|
+
if (typeof item.test === 'function') {
|
|
296
410
|
// 不应该搞得这么复杂的,让每个渲染器唯一 id,自己不晕别人用起来也不晕。
|
|
297
411
|
matched = item.test(path, schema, resolveRenderer);
|
|
298
412
|
}
|
|
@@ -331,7 +445,12 @@ exports.extendDefaultEnv = extendDefaultEnv;
|
|
|
331
445
|
exports.filterSchema = filterSchema;
|
|
332
446
|
exports.getRendererByName = getRendererByName;
|
|
333
447
|
exports.getRenderers = getRenderers;
|
|
334
|
-
exports.
|
|
448
|
+
exports.hasAsyncRenderers = hasAsyncRenderers;
|
|
449
|
+
exports.isAsyncRenderer = isAsyncRenderer;
|
|
450
|
+
exports.loadAllAsyncRenderers = loadAllAsyncRenderers;
|
|
451
|
+
exports.loadAsyncRenderer = loadAsyncRenderer;
|
|
452
|
+
exports.loadAsyncRenderersByType = loadAsyncRenderersByType;
|
|
453
|
+
exports.loadRendererError = loadRendererError;
|
|
335
454
|
exports.registerRenderer = registerRenderer;
|
|
336
455
|
exports.renderersMap = renderersMap;
|
|
337
456
|
exports.resolveRenderer = resolveRenderer;
|
package/lib/index.d.ts
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
/// <reference types="react" />
|
|
9
|
-
import { Renderer, getRendererByName, getRenderers, registerRenderer, unRegisterRenderer, resolveRenderer, filterSchema, clearStoresCache, updateEnv, addSchemaFilter, extendDefaultEnv } from './factory';
|
|
10
|
-
import type { RenderOptions, RendererConfig, RendererProps } from './factory';
|
|
9
|
+
import { Renderer, getRendererByName, getRenderers, loadAllAsyncRenderers, loadAsyncRenderersByType, loadAsyncRenderer, registerRenderer, unRegisterRenderer, resolveRenderer, filterSchema, clearStoresCache, updateEnv, addSchemaFilter, extendDefaultEnv } from './factory';
|
|
10
|
+
import type { RenderOptions, RendererConfig, RendererProps, hasAsyncRenderers } from './factory';
|
|
11
11
|
import './polyfills';
|
|
12
12
|
import './renderers/builtin';
|
|
13
13
|
import './renderers/register';
|
|
@@ -15,7 +15,7 @@ export * from './utils/index';
|
|
|
15
15
|
export * from './types';
|
|
16
16
|
export * from './store';
|
|
17
17
|
import * as utils from './utils/helper';
|
|
18
|
-
import { RegisterStore } from './store';
|
|
18
|
+
import { RegisterStore, registerStore } from './store';
|
|
19
19
|
import type { IColumn, IColumn2, IRow, IRow2 } from './store';
|
|
20
20
|
import { setDefaultLocale, getDefaultLocale, makeTranslator, register as registerLocale, extendLocale, removeLocaleData, localeable } from './locale';
|
|
21
21
|
import type { LocaleProps, TranslateFn } from './locale';
|
|
@@ -51,5 +51,5 @@ import type { IItem } from './store/list';
|
|
|
51
51
|
import CustomStyle from './components/CustomStyle';
|
|
52
52
|
import { StatusScoped } from './StatusScoped';
|
|
53
53
|
export declare const version = "__buildVersion";
|
|
54
|
-
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, splitTarget, CustomStyle, enableDebug, disableDebug, envOverwrite };
|
|
54
|
+
export { clearStoresCache, updateEnv, Renderer, RendererProps, RenderOptions, RendererEnv, EnvContext, RegisterStore, registerStore, FormItem, FormItemWrap, FormItemProps, OptionsControl, FormRenderer, FormHorizontal, utils, getRendererByName, registerRenderer, unRegisterRenderer, getRenderers, loadAllAsyncRenderers, loadAsyncRenderersByType, loadAsyncRenderer, hasAsyncRenderers, 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, splitTarget, CustomStyle, enableDebug, disableDebug, envOverwrite };
|
|
55
55
|
export declare function render(schema: Schema, props?: RootRenderProps, options?: RenderOptions, pathPrefix?: string): JSX.Element;
|
package/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-rc.1
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -139,7 +139,7 @@ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
|
|
|
139
139
|
(__react_jsx__["default"] || __react_jsx__).Fragment;
|
|
140
140
|
var classPrefix = theme.getClassPrefix();
|
|
141
141
|
// @ts-ignore
|
|
142
|
-
var version = '6.
|
|
142
|
+
var version = '6.9.0-rc.1';
|
|
143
143
|
function render(schema, props, options, pathPrefix) {
|
|
144
144
|
if (props === void 0) { props = {}; }
|
|
145
145
|
if (options === void 0) { options = {}; }
|
|
@@ -215,10 +215,15 @@ exports.extendDefaultEnv = factory.extendDefaultEnv;
|
|
|
215
215
|
exports.filterSchema = factory.filterSchema;
|
|
216
216
|
exports.getRendererByName = factory.getRendererByName;
|
|
217
217
|
exports.getRenderers = factory.getRenderers;
|
|
218
|
+
exports.loadAllAsyncRenderers = factory.loadAllAsyncRenderers;
|
|
219
|
+
exports.loadAsyncRenderer = factory.loadAsyncRenderer;
|
|
220
|
+
exports.loadAsyncRenderersByType = factory.loadAsyncRenderersByType;
|
|
218
221
|
exports.registerRenderer = factory.registerRenderer;
|
|
219
222
|
exports.resolveRenderer = factory.resolveRenderer;
|
|
220
223
|
exports.unRegisterRenderer = factory.unRegisterRenderer;
|
|
221
224
|
exports.updateEnv = factory.updateEnv;
|
|
225
|
+
exports.addApiRequestAdaptor = api.addApiRequestAdaptor;
|
|
226
|
+
exports.addApiResponseAdator = api.addApiResponseAdator;
|
|
222
227
|
exports.buildApi = api.buildApi;
|
|
223
228
|
exports.callStrFunction = api.callStrFunction;
|
|
224
229
|
exports.clearApiCache = api.clearApiCache;
|
|
@@ -232,6 +237,8 @@ exports.jsFetcher = api.jsFetcher;
|
|
|
232
237
|
exports.jsonpFetcher = api.jsonpFetcher;
|
|
233
238
|
exports.normalizeApi = api.normalizeApi;
|
|
234
239
|
exports.normalizeApiResponseData = api.normalizeApiResponseData;
|
|
240
|
+
exports.removeApiRequestAdaptor = api.removeApiRequestAdaptor;
|
|
241
|
+
exports.removeApiResponseAdaptor = api.removeApiResponseAdaptor;
|
|
235
242
|
exports.responseAdaptor = api.responseAdaptor;
|
|
236
243
|
exports.setApiCache = api.setApiCache;
|
|
237
244
|
exports.str2AsyncFunction = api.str2AsyncFunction;
|
|
@@ -473,6 +480,7 @@ exports.safeSub = math.safeSub;
|
|
|
473
480
|
exports.animation = Animation["default"];
|
|
474
481
|
exports.RegisterStore = index.RegisterStore;
|
|
475
482
|
exports.RendererStore = index.RendererStore;
|
|
483
|
+
exports.registerStore = index.registerStore;
|
|
476
484
|
exports.extendLocale = locale.extendLocale;
|
|
477
485
|
exports.getDefaultLocale = locale.getDefaultLocale;
|
|
478
486
|
exports.localeable = locale.localeable;
|
package/lib/locale.js
CHANGED
package/lib/polyfills.js
CHANGED
package/lib/renderers/Form.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { RendererProps } from '../factory';
|
|
4
4
|
import { IFormStore } from '../store/form';
|
|
5
|
-
import { SchemaNode, ActionObject, ClassName, BaseApiObject, SchemaExpression, SchemaClassName } from '../types';
|
|
5
|
+
import { SchemaNode, ActionObject, ClassName, BaseApiObject, SchemaExpression, SchemaClassName, DataChangeReason } from '../types';
|
|
6
6
|
import { IScopedContext } from '../Scoped';
|
|
7
7
|
import type { LabelAlign } from './Item';
|
|
8
8
|
export interface FormHorizontal {
|
|
@@ -354,12 +354,12 @@ export default class Form extends React.Component<FormProps, object> {
|
|
|
354
354
|
reset(): void;
|
|
355
355
|
addHook(fn: () => any, type?: 'validate' | 'init' | 'flush', enforce?: 'prev' | 'post'): () => void;
|
|
356
356
|
removeHook(fn: () => any, type?: string): void;
|
|
357
|
-
handleChange(value: any, name: string, submit: boolean, changePristine?: boolean): void;
|
|
357
|
+
handleChange(value: any, name: string, submit: boolean, changePristine?: boolean, changeReason?: DataChangeReason): void;
|
|
358
358
|
formItemDispatchEvent(type: string, data: any): Promise<import("../utils").RendererEvent<any, any>>;
|
|
359
359
|
emittedData: any;
|
|
360
360
|
emitting: boolean;
|
|
361
361
|
emitChange(submit: boolean, emitedFromWatch?: boolean): Promise<void>;
|
|
362
|
-
handleBulkChange(values: Object, submit: boolean): void;
|
|
362
|
+
handleBulkChange(values: Object, submit: boolean, changeReason?: DataChangeReason): void;
|
|
363
363
|
handleFormSubmit(e: React.UIEvent<any>): any;
|
|
364
364
|
handleReset(action: any): (data: any) => void;
|
|
365
365
|
handleAction(e: React.UIEvent<any> | void, action: ActionObject, data: object, throwErrors?: boolean, delegate?: IScopedContext): Promise<any>;
|
package/lib/renderers/Form.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-rc.1
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -196,7 +196,9 @@ var Form = /** @class */ (function (_super) {
|
|
|
196
196
|
successMessage: fetchSuccess,
|
|
197
197
|
errorMessage: fetchFailed,
|
|
198
198
|
onSuccess: function (json, data) {
|
|
199
|
-
store.setValues(data
|
|
199
|
+
store.setValues(data, undefined, undefined, undefined, {
|
|
200
|
+
type: 'api'
|
|
201
|
+
});
|
|
200
202
|
if (!api.isEffectiveApi(initAsyncApi, store.data) ||
|
|
201
203
|
store.data[initFinishedField || 'finished']) {
|
|
202
204
|
return;
|
|
@@ -463,7 +465,9 @@ var Form = /** @class */ (function (_super) {
|
|
|
463
465
|
Form.prototype.setValues = function (value, replace) {
|
|
464
466
|
var store = this.props.store;
|
|
465
467
|
this.flush();
|
|
466
|
-
store.setValues(value, undefined, replace
|
|
468
|
+
store.setValues(value, undefined, replace, undefined, {
|
|
469
|
+
type: 'action'
|
|
470
|
+
});
|
|
467
471
|
};
|
|
468
472
|
Form.prototype.submit = function (fn, throwErrors, skipFlush) {
|
|
469
473
|
if (throwErrors === void 0) { throwErrors = false; }
|
|
@@ -573,13 +577,15 @@ var Form = /** @class */ (function (_super) {
|
|
|
573
577
|
}
|
|
574
578
|
}
|
|
575
579
|
};
|
|
576
|
-
Form.prototype.handleChange = function (value, name, submit, changePristine) {
|
|
580
|
+
Form.prototype.handleChange = function (value, name, submit, changePristine, changeReason) {
|
|
577
581
|
if (changePristine === void 0) { changePristine = false; }
|
|
578
582
|
var _a = this.props, store = _a.store, formLazyChange = _a.formLazyChange, persistDataKeys = _a.persistDataKeys;
|
|
579
583
|
if (typeof name !== 'string') {
|
|
580
584
|
return;
|
|
581
585
|
}
|
|
582
|
-
store.changeValue(name, value, changePristine
|
|
586
|
+
store.changeValue(name, value, changePristine, undefined, undefined, changeReason || {
|
|
587
|
+
type: 'input'
|
|
588
|
+
});
|
|
583
589
|
if (!changePristine || typeof value !== 'undefined') {
|
|
584
590
|
(formLazyChange === false ? this.emitChange : this.lazyEmitChange)(submit);
|
|
585
591
|
}
|
|
@@ -637,9 +643,11 @@ var Form = /** @class */ (function (_super) {
|
|
|
637
643
|
});
|
|
638
644
|
});
|
|
639
645
|
};
|
|
640
|
-
Form.prototype.handleBulkChange = function (values, submit) {
|
|
646
|
+
Form.prototype.handleBulkChange = function (values, submit, changeReason) {
|
|
641
647
|
var _a = this.props; _a.onChange; var store = _a.store, formLazyChange = _a.formLazyChange;
|
|
642
|
-
store.setValues(values
|
|
648
|
+
store.setValues(values, undefined, undefined, undefined, changeReason || {
|
|
649
|
+
type: 'input'
|
|
650
|
+
});
|
|
643
651
|
// store.updateData(values);
|
|
644
652
|
// store.items.forEach(formItem => {
|
|
645
653
|
// const updatedValue = getVariable(values, formItem.name, false);
|