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
package/esm/Root.js
CHANGED
package/esm/RootRenderer.d.ts
CHANGED
|
@@ -30,5 +30,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
|
|
|
30
30
|
renderError(): React.ReactNode;
|
|
31
31
|
renderDialog(): React.ReactNode;
|
|
32
32
|
renderDrawer(): React.ReactNode;
|
|
33
|
-
render(): string | number | boolean |
|
|
33
|
+
render(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
|
|
34
34
|
}
|
package/esm/RootRenderer.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
|
|
|
@@ -8,7 +8,7 @@ import { observer } from 'mobx-react';
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { filterTarget, ScopedContext } from './Scoped.js';
|
|
10
10
|
import { RootStore } from './store/root.js';
|
|
11
|
-
import { guid, bulkBindFunctions, isVisible } from './utils/helper.js';
|
|
11
|
+
import { guid, bulkBindFunctions, JSONTraverse, isVisible } from './utils/helper.js';
|
|
12
12
|
import { filter } from './utils/tpl.js';
|
|
13
13
|
import qs from 'qs';
|
|
14
14
|
import pick from 'lodash/pick';
|
|
@@ -16,6 +16,8 @@ import mapValues from 'lodash/mapValues';
|
|
|
16
16
|
import { saveAs } from 'file-saver';
|
|
17
17
|
import { normalizeApi } from './utils/api.js';
|
|
18
18
|
import { findDOMNode } from 'react-dom';
|
|
19
|
+
import themedLazyComponent from './components/LazyComponent.js';
|
|
20
|
+
import { hasAsyncRenderers, loadAsyncRenderersByType } from './factory.js';
|
|
19
21
|
|
|
20
22
|
var RootRenderer = /** @class */ (function (_super) {
|
|
21
23
|
__extends(RootRenderer, _super);
|
|
@@ -41,6 +43,23 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
41
43
|
'handleDrawerClose',
|
|
42
44
|
'handlePageVisibilityChange'
|
|
43
45
|
]);
|
|
46
|
+
_this.store.init(function () {
|
|
47
|
+
if (!hasAsyncRenderers()) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
var schema = props.schema;
|
|
51
|
+
var types = ['tpl', 'dialog', 'drawer'];
|
|
52
|
+
JSONTraverse(schema, function (value, key) {
|
|
53
|
+
if (key === 'type') {
|
|
54
|
+
types.push(value);
|
|
55
|
+
// form 依赖 panel
|
|
56
|
+
if (value === 'form') {
|
|
57
|
+
types.push('panel');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
return loadAsyncRenderersByType(types, true);
|
|
62
|
+
});
|
|
44
63
|
return _this;
|
|
45
64
|
}
|
|
46
65
|
RootRenderer.prototype.componentDidMount = function () {
|
|
@@ -339,6 +358,9 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
339
358
|
if (store.runtimeError) {
|
|
340
359
|
return this.renderRuntimeError();
|
|
341
360
|
}
|
|
361
|
+
else if (!store.ready) {
|
|
362
|
+
return React.createElement(themedLazyComponent, { className: "RootLoader" });
|
|
363
|
+
}
|
|
342
364
|
return (React.createElement(React.Fragment, null,
|
|
343
365
|
render(pathPrefix, schema, __assign(__assign({}, rest), { topStore: this.store, data: this.store.downStream, context: store.context, onAction: this.handleAction })),
|
|
344
366
|
this.renderSpinner(),
|
package/esm/SchemaRenderer.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
|
|
|
@@ -8,8 +8,8 @@ import difference from 'lodash/difference';
|
|
|
8
8
|
import omit from 'lodash/omit';
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import { isValidElementType } from 'react-is';
|
|
11
|
-
import
|
|
12
|
-
import { resolveRenderer,
|
|
11
|
+
import themedLazyComponent from './components/LazyComponent.js';
|
|
12
|
+
import { resolveRenderer, loadRendererError, loadAsyncRenderer, filterSchema } from './factory.js';
|
|
13
13
|
import { asFormItem } from './renderers/Item.js';
|
|
14
14
|
import { ScopedContext } from './Scoped.js';
|
|
15
15
|
import { DebugWrapper } from './utils/debug.js';
|
|
@@ -205,7 +205,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
205
205
|
var omitList = RENDERER_TRANSMISSION_OMIT_PROPS.concat();
|
|
206
206
|
if (this.renderer) {
|
|
207
207
|
var Component = this.renderer.component;
|
|
208
|
-
Component.propsList &&
|
|
208
|
+
(Component === null || Component === void 0 ? void 0 : Component.propsList) &&
|
|
209
209
|
omitList.push.apply(omitList, Component.propsList);
|
|
210
210
|
}
|
|
211
211
|
return render("".concat($path).concat(region ? "/".concat(region) : ''), node || '', __assign(__assign(__assign(__assign({}, omit(rest, omitList)), { defaultStatic: (_c = (_b = (((_a = this.renderer) === null || _a === void 0 ? void 0 : _a.type) &&
|
|
@@ -222,12 +222,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
222
222
|
SchemaRenderer.prototype.render = function () {
|
|
223
223
|
var e_1, _a;
|
|
224
224
|
var _this = this;
|
|
225
|
-
var _b, _c, _d, _e, _f, _g;
|
|
226
|
-
var
|
|
225
|
+
var _b, _c, _d, _e, _f, _g, _h;
|
|
226
|
+
var _j = this.props; _j.$path; var __ = _j.schema, rootStore = _j.rootStore, statusStore = _j.statusStore, render = _j.render, propKey = _j.key, rest = __rest(_j, ["$path", "schema", "rootStore", "statusStore", "render", "key"]);
|
|
227
227
|
if (__ == null) {
|
|
228
228
|
return null;
|
|
229
229
|
}
|
|
230
|
-
var
|
|
230
|
+
var _k = this.resolveRenderer(this.props), $path = _k.path, schema = _k.schema;
|
|
231
231
|
var theme = this.props.env.theme;
|
|
232
232
|
if (Array.isArray(schema)) {
|
|
233
233
|
return render($path, schema, rest);
|
|
@@ -284,7 +284,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
284
284
|
return null;
|
|
285
285
|
}
|
|
286
286
|
else if (!this.renderer) {
|
|
287
|
-
return rest.invisible ? null : (React.createElement(
|
|
287
|
+
return rest.invisible ? null : (React.createElement(themedLazyComponent, { defaultVisible: true, getComponent: function () { return __awaiter(_this, void 0, void 0, function () {
|
|
288
288
|
var result;
|
|
289
289
|
return __generator(this, function (_a) {
|
|
290
290
|
switch (_a.label) {
|
|
@@ -298,10 +298,24 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
298
298
|
return [2 /*return*/, function () { return result; }];
|
|
299
299
|
}
|
|
300
300
|
this.reRender();
|
|
301
|
-
return [2 /*return*/, function () { return
|
|
301
|
+
return [2 /*return*/, function () { return loadRendererError(schema, $path); }];
|
|
302
302
|
}
|
|
303
303
|
});
|
|
304
|
-
}); }
|
|
304
|
+
}); } }));
|
|
305
|
+
}
|
|
306
|
+
else if (this.renderer.getComponent && !this.renderer.component) {
|
|
307
|
+
// 处理异步渲染器
|
|
308
|
+
return rest.invisible ? null : (React.createElement(themedLazyComponent, { defaultVisible: true, getComponent: function () { return __awaiter(_this, void 0, void 0, function () {
|
|
309
|
+
return __generator(this, function (_a) {
|
|
310
|
+
switch (_a.label) {
|
|
311
|
+
case 0: return [4 /*yield*/, loadAsyncRenderer(this.renderer)];
|
|
312
|
+
case 1:
|
|
313
|
+
_a.sent();
|
|
314
|
+
this.reRender();
|
|
315
|
+
return [2 /*return*/, function () { return null; }];
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
}); } }));
|
|
305
319
|
}
|
|
306
320
|
var renderer = this.renderer;
|
|
307
321
|
schema = filterSchema(schema, renderer, rest);
|
|
@@ -325,9 +339,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
325
339
|
}
|
|
326
340
|
var supportRef = ((_e = Component.prototype) === null || _e === void 0 ? void 0 : _e.isReactComponent) ||
|
|
327
341
|
Component.$$typeof === Symbol.for('react.forward_ref');
|
|
328
|
-
var props = __assign(__assign(__assign(__assign(__assign({}, theme.getRendererConfig(renderer.name)), restSchema), chainEvents(rest, restSchema)), exprProps), {
|
|
342
|
+
var props = __assign(__assign(__assign(__assign(__assign(__assign({}, (_f = renderer.defaultProps) === null || _f === void 0 ? void 0 : _f.call(renderer, schema.type, schema)), theme.getRendererConfig(renderer.name)), restSchema), chainEvents(rest, restSchema)), exprProps), {
|
|
329
343
|
// value: defaultValue, // 备注: 此处并没有将value传递给渲染器
|
|
330
|
-
defaultData: (
|
|
344
|
+
defaultData: (_g = restSchema.defaultData) !== null && _g !== void 0 ? _g : defaultData, defaultValue: (_h = restSchema.defaultValue) !== null && _h !== void 0 ? _h : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent, mobileUI: schema.useMobileUI === false ? false : rest.mobileUI });
|
|
331
345
|
// style 支持公式
|
|
332
346
|
if (schema.style) {
|
|
333
347
|
props.style = buildStyle(schema.style, detectData);
|
|
@@ -350,8 +364,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
350
364
|
// 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
|
|
351
365
|
if (renderer.autoVar) {
|
|
352
366
|
try {
|
|
353
|
-
for (var
|
|
354
|
-
var key =
|
|
367
|
+
for (var _l = __values(Object.keys(schema)), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
368
|
+
var key = _m.value;
|
|
355
369
|
if (typeof props[key] === 'string' && isExpression(props[key])) {
|
|
356
370
|
props[key] = resolveVariableAndFilter(props[key], props.data, '| raw');
|
|
357
371
|
}
|
|
@@ -360,7 +374,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
360
374
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
361
375
|
finally {
|
|
362
376
|
try {
|
|
363
|
-
if (
|
|
377
|
+
if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
|
|
364
378
|
}
|
|
365
379
|
finally { if (e_1) throw e_1.error; }
|
|
366
380
|
}
|
package/esm/Scoped.js
CHANGED
package/esm/StatusScoped.js
CHANGED
package/esm/WithRootStore.js
CHANGED
package/esm/WithStore.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
|
|
|
@@ -97,7 +97,7 @@ function HocStoreFactory(renderer) {
|
|
|
97
97
|
};
|
|
98
98
|
StoreFactory.prototype.componentDidUpdate = function (prevProps) {
|
|
99
99
|
var _this = this;
|
|
100
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
100
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
101
101
|
var props = this.props;
|
|
102
102
|
var store = this.store;
|
|
103
103
|
// dialog 场景下 schema 是显示的时候更新的,
|
|
@@ -131,7 +131,7 @@ function HocStoreFactory(renderer) {
|
|
|
131
131
|
(props.data &&
|
|
132
132
|
prevProps.data &&
|
|
133
133
|
props.data.__super !== prevProps.data.__super))) {
|
|
134
|
-
store.initData(extendObject(props.data, __assign(__assign(__assign(__assign({}, this.formatData(dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), ((_c = props.updatePristineAfterStoreDataReInit) !== null && _c !== void 0 ? _c : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false);
|
|
134
|
+
store.initData(extendObject(props.data, __assign(__assign(__assign(__assign({}, this.formatData(dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))), ((_c = props.updatePristineAfterStoreDataReInit) !== null && _c !== void 0 ? _c : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_d = props.data) === null || _d === void 0 ? void 0 : _d.__changeReason);
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
else if (shouldSync === true ||
|
|
@@ -143,7 +143,7 @@ function HocStoreFactory(renderer) {
|
|
|
143
143
|
isSuperDataModified(props.data, prevProps.data, store)))) {
|
|
144
144
|
if (props.store && props.scope === props.data) {
|
|
145
145
|
store.initData(createObject(props.store.data, __assign(__assign({}, this.formatData(dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), (props.syncSuperStore === false
|
|
146
|
-
? __assign({}, store.data) : syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)))), ((
|
|
146
|
+
? __assign({}, store.data) : syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)))), ((_e = props.updatePristineAfterStoreDataReInit) !== null && _e !== void 0 ? _e : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_f = props.data) === null || _f === void 0 ? void 0 : _f.__changeReason);
|
|
147
147
|
}
|
|
148
148
|
else if (props.data && props.data.__super) {
|
|
149
149
|
store.initData(extendObject(props.data, __assign(__assign({}, this.formatData(dataMapping(this.props.defaultData, this.props.data, ignoreSchemaProps))), // 有远程数据
|
|
@@ -151,12 +151,12 @@ function HocStoreFactory(renderer) {
|
|
|
151
151
|
(store.hasRemoteData || !store.path.includes('/')
|
|
152
152
|
? __assign(__assign({}, store.data), props.data) : // combo 不需要同步,如果要同步,在 Combo.tsx 里面已经实现了相关逻辑
|
|
153
153
|
// 目前主要的问题是,如果 combo 中表单项名字和 combo 本身的名字一样,会导致里面的值会被覆盖成数组
|
|
154
|
-
((
|
|
154
|
+
((_g = props.store) === null || _g === void 0 ? void 0 : _g.storeType) === 'ComboStore'
|
|
155
155
|
? undefined
|
|
156
|
-
: syncDataFromSuper(__assign(__assign({}, store.pristineDiff), props.data), props.data.__super, prevProps.data.__super, store, false)))), ((
|
|
156
|
+
: syncDataFromSuper(__assign(__assign({}, store.pristineDiff), props.data), props.data.__super, prevProps.data.__super, store, false)))), ((_h = props.updatePristineAfterStoreDataReInit) !== null && _h !== void 0 ? _h : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_j = props.data) === null || _j === void 0 ? void 0 : _j.__changeReason);
|
|
157
157
|
}
|
|
158
158
|
else {
|
|
159
|
-
store.initData(createObject(props.scope, props.data), ((
|
|
159
|
+
store.initData(createObject(props.scope, props.data), ((_k = props.updatePristineAfterStoreDataReInit) !== null && _k !== void 0 ? _k : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_l = props.data) === null || _l === void 0 ? void 0 : _l.__changeReason);
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
else if (!props.trackExpression &&
|
|
@@ -166,9 +166,9 @@ function HocStoreFactory(renderer) {
|
|
|
166
166
|
// 这个用法很少,当 data.__super 值发生变化时,更新 store.data
|
|
167
167
|
if (!prevProps.data ||
|
|
168
168
|
isObjectShallowModified(props.data.__super, prevProps.data.__super, false)) {
|
|
169
|
-
store.initData(createObject(props.data.__super, __assign(__assign({}, props.data), store.data)), ((
|
|
169
|
+
store.initData(createObject(props.data.__super, __assign(__assign({}, props.data), store.data)), ((_m = props.updatePristineAfterStoreDataReInit) !== null && _m !== void 0 ? _m : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false ||
|
|
170
170
|
(store.storeType === 'FormStore' &&
|
|
171
|
-
((
|
|
171
|
+
((_o = prevProps.store) === null || _o === void 0 ? void 0 : _o.storeType) === 'CRUDStore'), (_p = props.data) === null || _p === void 0 ? void 0 : _p.__changeReason);
|
|
172
172
|
}
|
|
173
173
|
// nextProps.data.__super !== props.data.__super) &&
|
|
174
174
|
}
|
|
@@ -178,7 +178,7 @@ function HocStoreFactory(renderer) {
|
|
|
178
178
|
prevProps.data !== props.data) {
|
|
179
179
|
// 只有父级数据变动的时候才应该进来,
|
|
180
180
|
// 目前看来这个 case 很少有情况下能进来
|
|
181
|
-
store.initData(createObject(props.scope, __assign({}, store.data)), ((
|
|
181
|
+
store.initData(createObject(props.scope, __assign({}, store.data)), ((_q = props.updatePristineAfterStoreDataReInit) !== null && _q !== void 0 ? _q : props.dataUpdatedAt !== prevProps.dataUpdatedAt) === false, (_r = props.data) === null || _r === void 0 ? void 0 : _r.__changeReason);
|
|
182
182
|
}
|
|
183
183
|
};
|
|
184
184
|
StoreFactory.prototype.componentWillUnmount = function () {
|
package/esm/actions/Action.js
CHANGED
|
@@ -3,20 +3,24 @@
|
|
|
3
3
|
* @description
|
|
4
4
|
* @author fex
|
|
5
5
|
*/
|
|
6
|
+
/// <reference types="hoist-non-react-statics" />
|
|
6
7
|
import React from 'react';
|
|
7
|
-
|
|
8
|
+
import { ThemeProps } from '../theme';
|
|
9
|
+
export interface LazyComponentProps extends ThemeProps {
|
|
8
10
|
component?: React.ElementType;
|
|
9
11
|
getComponent?: () => Promise<React.ElementType>;
|
|
10
12
|
placeholder?: React.ReactNode;
|
|
11
13
|
unMountOnHidden?: boolean;
|
|
12
14
|
childProps?: object;
|
|
15
|
+
defaultVisible?: boolean;
|
|
16
|
+
className?: string;
|
|
13
17
|
[propName: string]: any;
|
|
14
18
|
}
|
|
15
19
|
export interface LazyComponentState {
|
|
16
20
|
visible: boolean;
|
|
17
21
|
component?: React.ElementType;
|
|
18
22
|
}
|
|
19
|
-
export
|
|
23
|
+
export declare class LazyComponent extends React.Component<LazyComponentProps, LazyComponentState> {
|
|
20
24
|
static defaultProps: {
|
|
21
25
|
placeholder: React.JSX.Element;
|
|
22
26
|
unMountOnHidden: boolean;
|
|
@@ -29,3 +33,37 @@ export default class LazyComponent extends React.Component<LazyComponentProps, L
|
|
|
29
33
|
handleVisibleChange(visible: boolean, entry?: any): void;
|
|
30
34
|
render(): React.ReactNode;
|
|
31
35
|
}
|
|
36
|
+
declare const themedLazyComponent: {
|
|
37
|
+
new (props: Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps): {
|
|
38
|
+
ref: any;
|
|
39
|
+
childRef(ref: any): void;
|
|
40
|
+
getWrappedInstance(): any;
|
|
41
|
+
render(): React.JSX.Element;
|
|
42
|
+
context: unknown;
|
|
43
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
44
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
|
45
|
+
readonly props: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>;
|
|
46
|
+
state: Readonly<{}>;
|
|
47
|
+
refs: {
|
|
48
|
+
[key: string]: React.ReactInstance;
|
|
49
|
+
};
|
|
50
|
+
componentDidMount?(): void;
|
|
51
|
+
shouldComponentUpdate?(nextProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
52
|
+
componentWillUnmount?(): void;
|
|
53
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
54
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, prevState: Readonly<{}>): any;
|
|
55
|
+
componentDidUpdate?(prevProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
56
|
+
componentWillMount?(): void;
|
|
57
|
+
UNSAFE_componentWillMount?(): void;
|
|
58
|
+
componentWillReceiveProps?(nextProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, nextContext: any): void;
|
|
59
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, nextContext: any): void;
|
|
60
|
+
componentWillUpdate?(nextProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
61
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<LazyComponentProps, keyof ThemeProps> & import("../theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
62
|
+
};
|
|
63
|
+
displayName: string;
|
|
64
|
+
contextType: React.Context<string>;
|
|
65
|
+
ComposedComponent: React.ComponentType<typeof LazyComponent>;
|
|
66
|
+
} & import("hoist-non-react-statics").NonReactStatics<typeof LazyComponent, {}> & {
|
|
67
|
+
ComposedComponent: typeof LazyComponent;
|
|
68
|
+
};
|
|
69
|
+
export default themedLazyComponent;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-rc.1
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { __extends, __rest, __assign } from 'tslib';
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { InView } from 'react-intersection-observer';
|
|
9
|
+
import { themeable } from '../theme.js';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* @file LazyComponent
|
|
@@ -15,19 +16,21 @@ import { InView } from 'react-intersection-observer';
|
|
|
15
16
|
var LazyComponent = /** @class */ (function (_super) {
|
|
16
17
|
__extends(LazyComponent, _super);
|
|
17
18
|
function LazyComponent(props) {
|
|
18
|
-
var _this =
|
|
19
|
+
var _this = this;
|
|
20
|
+
var _a;
|
|
21
|
+
_this = _super.call(this, props) || this;
|
|
19
22
|
_this.mounted = false;
|
|
20
23
|
_this.handleVisibleChange = _this.handleVisibleChange.bind(_this);
|
|
21
24
|
_this.mounted = true;
|
|
22
25
|
_this.state = {
|
|
23
|
-
visible: false,
|
|
26
|
+
visible: (_a = props.defaultVisible) !== null && _a !== void 0 ? _a : false,
|
|
24
27
|
component: props.component
|
|
25
28
|
};
|
|
26
29
|
return _this;
|
|
27
30
|
}
|
|
28
31
|
LazyComponent.prototype.componentDidMount = function () {
|
|
29
32
|
// jest 里面有点异常,先手动让它总是可见
|
|
30
|
-
if (typeof jest !== 'undefined') {
|
|
33
|
+
if (typeof jest !== 'undefined' || this.state.visible) {
|
|
31
34
|
this.handleVisibleChange(true);
|
|
32
35
|
}
|
|
33
36
|
};
|
|
@@ -59,7 +62,8 @@ var LazyComponent = /** @class */ (function (_super) {
|
|
|
59
62
|
});
|
|
60
63
|
};
|
|
61
64
|
LazyComponent.prototype.render = function () {
|
|
62
|
-
var _a = this.props, placeholder = _a.placeholder, unMountOnHidden = _a.unMountOnHidden, childProps = _a.childProps, partialVisibility = _a.partialVisibility, children = _a.children, rest = __rest(_a, ["placeholder", "unMountOnHidden", "childProps", "partialVisibility", "children"]);
|
|
65
|
+
var _a = this.props, placeholder = _a.placeholder, unMountOnHidden = _a.unMountOnHidden, childProps = _a.childProps, partialVisibility = _a.partialVisibility, children = _a.children, className = _a.className, rest = __rest(_a, ["placeholder", "unMountOnHidden", "childProps", "partialVisibility", "children", "className"]);
|
|
66
|
+
var cx = this.props.classnames;
|
|
63
67
|
var _b = this.state, visible = _b.visible, Component = _b.component;
|
|
64
68
|
// 需要监听从可见到不可见。
|
|
65
69
|
if (unMountOnHidden) {
|
|
@@ -81,7 +85,7 @@ var LazyComponent = /** @class */ (function (_super) {
|
|
|
81
85
|
else if (children) {
|
|
82
86
|
return children;
|
|
83
87
|
}
|
|
84
|
-
return React.createElement("div",
|
|
88
|
+
return React.createElement("div", { className: cx('LazyComponent', className) }, placeholder);
|
|
85
89
|
};
|
|
86
90
|
LazyComponent.defaultProps = {
|
|
87
91
|
placeholder: React.createElement("span", null, "Loading..."),
|
|
@@ -90,5 +94,7 @@ var LazyComponent = /** @class */ (function (_super) {
|
|
|
90
94
|
};
|
|
91
95
|
return LazyComponent;
|
|
92
96
|
}(React.Component));
|
|
97
|
+
var themedLazyComponent = themeable(LazyComponent);
|
|
98
|
+
themedLazyComponent.defaultProps = LazyComponent.defaultProps;
|
|
93
99
|
|
|
94
|
-
export { LazyComponent as default };
|
|
100
|
+
export { LazyComponent, themedLazyComponent as default };
|
|
@@ -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/esm/env.js
CHANGED