amis-core 6.8.0 → 6.9.0-rc.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 +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 +1 -1
- 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 +157 -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.js +3 -3
- 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.js +1 -1
- package/esm/store/app.js +1 -1
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.js +1 -1
- package/esm/store/form.js +1 -1
- package/esm/store/formItem.js +1 -1
- package/esm/store/iRenderer.js +1 -1
- package/esm/store/index.d.ts +1 -0
- package/esm/store/index.js +3 -2
- 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.d.ts +2 -0
- package/esm/store/root.js +45 -21
- package/esm/store/service.js +1 -1
- package/esm/store/status.js +1 -1
- package/esm/store/table.js +1 -1
- package/esm/store/table2.js +1 -1
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +4 -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 +1 -1
- package/esm/utils/makeSorter.js +1 -1
- package/esm/utils/math.js +1 -1
- package/esm/utils/memoryParse.js +1 -1
- package/esm/utils/normalizeLink.js +1 -1
- package/esm/utils/normalizeOptions.js +1 -1
- package/esm/utils/object.js +1 -1
- package/esm/utils/offset.js +1 -1
- package/esm/utils/offsetParent.js +1 -1
- package/esm/utils/optionValueCompare.js +1 -1
- package/esm/utils/position.js +1 -1
- package/esm/utils/prettyBytes.js +1 -1
- package/esm/utils/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.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 +1 -1
- 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 +161 -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.js +1 -1
- 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.js +1 -1
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +24 -25
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.js +2 -2
- package/lib/store/form.d.ts +10 -11
- package/lib/store/form.js +1 -1
- package/lib/store/formItem.js +1 -1
- package/lib/store/iRenderer.js +1 -1
- package/lib/store/index.d.ts +1 -0
- package/lib/store/index.js +3 -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.d.ts +2 -0
- package/lib/store/root.js +43 -19
- package/lib/store/service.js +1 -1
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +20 -21
- package/lib/store/table.js +1 -1
- package/lib/store/table2.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +4 -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 +1 -1
- package/lib/utils/makeSorter.js +1 -1
- package/lib/utils/math.js +1 -1
- package/lib/utils/memoryParse.js +1 -1
- package/lib/utils/normalizeLink.js +1 -1
- package/lib/utils/normalizeOptions.js +1 -1
- package/lib/utils/object.js +1 -1
- package/lib/utils/offset.js +1 -1
- package/lib/utils/offsetParent.js +1 -1
- package/lib/utils/optionValueCompare.js +1 -1
- package/lib/utils/position.js +1 -1
- package/lib/utils/prettyBytes.js +1 -1
- package/lib/utils/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.0
|
|
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);
|
|
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.0
|
|
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
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.0
|
|
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
package/esm/envOverwrite.js
CHANGED
package/esm/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;
|