@cuipengyu5/bling-renderer-core 0.0.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.
Files changed (93) hide show
  1. package/es/adapter/index.d.ts +24 -0
  2. package/es/adapter/index.js +95 -0
  3. package/es/components/Div.d.ts +2 -0
  4. package/es/components/Div.js +19 -0
  5. package/es/components/VisualDom/index.css +19 -0
  6. package/es/components/VisualDom/index.d.ts +3 -0
  7. package/es/components/VisualDom/index.js +44 -0
  8. package/es/context/index.d.ts +1 -0
  9. package/es/context/index.js +11 -0
  10. package/es/hoc/index.d.ts +7 -0
  11. package/es/hoc/index.js +90 -0
  12. package/es/hoc/leaf.d.ts +32 -0
  13. package/es/hoc/leaf.js +521 -0
  14. package/es/index.d.ts +7 -0
  15. package/es/index.js +9 -0
  16. package/es/renderer/addon.d.ts +2 -0
  17. package/es/renderer/addon.js +107 -0
  18. package/es/renderer/base.d.ts +13 -0
  19. package/es/renderer/base.js +1120 -0
  20. package/es/renderer/block.d.ts +2 -0
  21. package/es/renderer/block.js +43 -0
  22. package/es/renderer/component.d.ts +2 -0
  23. package/es/renderer/component.js +59 -0
  24. package/es/renderer/index.d.ts +8 -0
  25. package/es/renderer/index.js +8 -0
  26. package/es/renderer/page.d.ts +2 -0
  27. package/es/renderer/page.js +91 -0
  28. package/es/renderer/renderer.d.ts +2 -0
  29. package/es/renderer/renderer.js +230 -0
  30. package/es/renderer/temp.d.ts +2 -0
  31. package/es/renderer/temp.js +139 -0
  32. package/es/style.js +1 -0
  33. package/es/types/index.d.ts +275 -0
  34. package/es/types/index.js +1 -0
  35. package/es/utils/common.d.ts +119 -0
  36. package/es/utils/common.js +378 -0
  37. package/es/utils/data-helper.d.ts +74 -0
  38. package/es/utils/data-helper.js +300 -0
  39. package/es/utils/index.d.ts +3 -0
  40. package/es/utils/index.js +3 -0
  41. package/es/utils/is-use-loop.d.ts +2 -0
  42. package/es/utils/is-use-loop.js +16 -0
  43. package/es/utils/logger.d.ts +3 -0
  44. package/es/utils/logger.js +5 -0
  45. package/es/utils/request.d.ts +54 -0
  46. package/es/utils/request.js +209 -0
  47. package/lib/adapter/index.d.ts +24 -0
  48. package/lib/adapter/index.js +99 -0
  49. package/lib/components/Div.d.ts +2 -0
  50. package/lib/components/Div.js +24 -0
  51. package/lib/components/VisualDom/index.css +19 -0
  52. package/lib/components/VisualDom/index.d.ts +3 -0
  53. package/lib/components/VisualDom/index.js +49 -0
  54. package/lib/context/index.d.ts +1 -0
  55. package/lib/context/index.js +16 -0
  56. package/lib/hoc/index.d.ts +7 -0
  57. package/lib/hoc/index.js +95 -0
  58. package/lib/hoc/leaf.d.ts +32 -0
  59. package/lib/hoc/leaf.js +526 -0
  60. package/lib/index.d.ts +7 -0
  61. package/lib/index.js +34 -0
  62. package/lib/renderer/addon.d.ts +2 -0
  63. package/lib/renderer/addon.js +112 -0
  64. package/lib/renderer/base.d.ts +13 -0
  65. package/lib/renderer/base.js +1126 -0
  66. package/lib/renderer/block.d.ts +2 -0
  67. package/lib/renderer/block.js +48 -0
  68. package/lib/renderer/component.d.ts +2 -0
  69. package/lib/renderer/component.js +64 -0
  70. package/lib/renderer/index.d.ts +8 -0
  71. package/lib/renderer/index.js +18 -0
  72. package/lib/renderer/page.d.ts +2 -0
  73. package/lib/renderer/page.js +96 -0
  74. package/lib/renderer/renderer.d.ts +2 -0
  75. package/lib/renderer/renderer.js +235 -0
  76. package/lib/renderer/temp.d.ts +2 -0
  77. package/lib/renderer/temp.js +144 -0
  78. package/lib/style.js +1 -0
  79. package/lib/types/index.d.ts +275 -0
  80. package/lib/types/index.js +3 -0
  81. package/lib/utils/common.d.ts +119 -0
  82. package/lib/utils/common.js +409 -0
  83. package/lib/utils/data-helper.d.ts +74 -0
  84. package/lib/utils/data-helper.js +306 -0
  85. package/lib/utils/index.d.ts +3 -0
  86. package/lib/utils/index.js +21 -0
  87. package/lib/utils/is-use-loop.d.ts +2 -0
  88. package/lib/utils/is-use-loop.js +19 -0
  89. package/lib/utils/logger.d.ts +3 -0
  90. package/lib/utils/logger.js +9 -0
  91. package/lib/utils/request.d.ts +54 -0
  92. package/lib/utils/request.js +217 -0
  93. package/package.json +64 -0
@@ -0,0 +1,24 @@
1
+ import { IRuntime, IRendererModules } from '../types';
2
+ export declare enum Env {
3
+ React = "react"
4
+ }
5
+ declare class Adapter {
6
+ runtime: IRuntime;
7
+ builtinModules: string[];
8
+ env: Env;
9
+ renderers: IRendererModules;
10
+ configProvider: any;
11
+ constructor();
12
+ initRuntime(): void;
13
+ setRuntime(runtime: IRuntime): void;
14
+ isValidRuntime(runtime: IRuntime): boolean;
15
+ getRuntime(): IRuntime;
16
+ setEnv(env: Env): void;
17
+ isReact(): boolean;
18
+ setRenderers(renderers: IRendererModules): void;
19
+ getRenderers(): {};
20
+ setConfigProvider(Comp: any): void;
21
+ getConfigProvider(): any;
22
+ }
23
+ declare const _default: Adapter;
24
+ export default _default;
@@ -0,0 +1,95 @@
1
+ export var Env = /*#__PURE__*/function (Env) {
2
+ Env["React"] = "react";
3
+ return Env;
4
+ }({});
5
+ var Adapter = /*#__PURE__*/function () {
6
+ function Adapter() {
7
+ this.runtime = void 0;
8
+ this.builtinModules = ['Component', 'PureComponent', 'createElement', 'createContext', 'forwardRef', 'findDOMNode'];
9
+ this.env = void 0;
10
+ this.renderers = void 0;
11
+ this.configProvider = void 0;
12
+ this.initRuntime();
13
+ }
14
+ var _proto = Adapter.prototype;
15
+ _proto.initRuntime = function initRuntime() {
16
+ var Component = /*#__PURE__*/function () {
17
+ function Component() {
18
+ this.state = void 0;
19
+ this.props = void 0;
20
+ this.refs = void 0;
21
+ this.context = void 0;
22
+ }
23
+ var _proto2 = Component.prototype;
24
+ _proto2.setState = function setState() {};
25
+ _proto2.forceUpdate = function forceUpdate() {};
26
+ _proto2.render = function render() {};
27
+ return Component;
28
+ }();
29
+ var PureComponent = /*#__PURE__*/function () {
30
+ function PureComponent() {
31
+ this.state = void 0;
32
+ this.props = void 0;
33
+ this.refs = void 0;
34
+ this.context = void 0;
35
+ }
36
+ var _proto3 = PureComponent.prototype;
37
+ _proto3.setState = function setState() {};
38
+ _proto3.forceUpdate = function forceUpdate() {};
39
+ _proto3.render = function render() {};
40
+ return PureComponent;
41
+ }();
42
+ var createElement = function createElement() {};
43
+ var createContext = function createContext() {};
44
+ var forwardRef = function forwardRef() {};
45
+ var findDOMNode = function findDOMNode() {};
46
+ this.runtime = {
47
+ Component: Component,
48
+ PureComponent: PureComponent,
49
+ createElement: createElement,
50
+ createContext: createContext,
51
+ forwardRef: forwardRef,
52
+ findDOMNode: findDOMNode
53
+ };
54
+ };
55
+ _proto.setRuntime = function setRuntime(runtime) {
56
+ if (this.isValidRuntime(runtime)) {
57
+ this.runtime = runtime;
58
+ }
59
+ };
60
+ _proto.isValidRuntime = function isValidRuntime(runtime) {
61
+ if (typeof runtime !== 'object' || Array.isArray(runtime)) {
62
+ return false;
63
+ }
64
+ return this.builtinModules.every(function (m) {
65
+ var flag = !!runtime[m];
66
+ if (!flag) {
67
+ throw new Error("runtime is invalid, module '" + m + "' does not exist");
68
+ }
69
+ return flag;
70
+ });
71
+ };
72
+ _proto.getRuntime = function getRuntime() {
73
+ return this.runtime;
74
+ };
75
+ _proto.setEnv = function setEnv(env) {
76
+ this.env = env;
77
+ };
78
+ _proto.isReact = function isReact() {
79
+ return this.env === Env.React;
80
+ };
81
+ _proto.setRenderers = function setRenderers(renderers) {
82
+ this.renderers = renderers;
83
+ };
84
+ _proto.getRenderers = function getRenderers() {
85
+ return this.renderers || {};
86
+ };
87
+ _proto.setConfigProvider = function setConfigProvider(Comp) {
88
+ this.configProvider = Comp;
89
+ };
90
+ _proto.getConfigProvider = function getConfigProvider() {
91
+ return this.configProvider;
92
+ };
93
+ return Adapter;
94
+ }();
95
+ export default new Adapter();
@@ -0,0 +1,2 @@
1
+ import { IGeneralConstructor } from '../types';
2
+ export default function divFactory(): IGeneralConstructor;
@@ -0,0 +1,19 @@
1
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
2
+ import adapter from '../adapter';
3
+ export default function divFactory() {
4
+ var _Div;
5
+ var _adapter$getRuntime = adapter.getRuntime(),
6
+ PureComponent = _adapter$getRuntime.PureComponent,
7
+ createElement = _adapter$getRuntime.createElement;
8
+ return _Div = /*#__PURE__*/function (_PureComponent) {
9
+ function Div() {
10
+ return _PureComponent.apply(this, arguments) || this;
11
+ }
12
+ _inheritsLoose(Div, _PureComponent);
13
+ var _proto = Div.prototype;
14
+ _proto.render = function render() {
15
+ return createElement('div', this.props);
16
+ };
17
+ return Div;
18
+ }(PureComponent), _Div.displayName = 'Div', _Div.version = '0.0.0', _Div;
19
+ }
@@ -0,0 +1,19 @@
1
+ .visual-dom .panel-container {
2
+ box-sizing: border-box;
3
+ border: 1px solid #e9e9e9;
4
+ }
5
+
6
+ .visual-dom .panel-container .title {
7
+ display: block;
8
+ font-size: 12px;
9
+ color: #333;
10
+ background-color: #ebecf0;
11
+ line-height: 28px;
12
+ padding: 0 12px;
13
+ border-bottom: 1px solid #e9e9e9;
14
+ }
15
+
16
+ .visual-dom .panel-container .content {
17
+ min-height: 20px;
18
+ padding: 5px;
19
+ }
@@ -0,0 +1,3 @@
1
+ import { IGeneralConstructor } from '../../types';
2
+ import './index.css';
3
+ export default function visualDomFactory(): IGeneralConstructor;
@@ -0,0 +1,44 @@
1
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
2
+ import PropTypes from 'prop-types';
3
+ import adapter from '../../adapter';
4
+ import './index.css';
5
+ export default function visualDomFactory() {
6
+ var _VisualDom;
7
+ var _adapter$getRuntime = adapter.getRuntime(),
8
+ PureComponent = _adapter$getRuntime.PureComponent,
9
+ createElement = _adapter$getRuntime.createElement;
10
+ return _VisualDom = /*#__PURE__*/function (_PureComponent) {
11
+ function VisualDom() {
12
+ return _PureComponent.apply(this, arguments) || this;
13
+ }
14
+ _inheritsLoose(VisualDom, _PureComponent);
15
+ var _proto = VisualDom.prototype;
16
+ _proto.render = function render() {
17
+ var _this$props = this.props,
18
+ children = _this$props.children,
19
+ cell = _this$props.cell,
20
+ title = _this$props.title,
21
+ label = _this$props.label,
22
+ text = _this$props.text,
23
+ __componentName = _this$props.__componentName;
24
+ var mainContent = children;
25
+ if (cell && typeof cell === 'function') {
26
+ mainContent = cell();
27
+ }
28
+ return createElement('div', {
29
+ className: 'visual-dom'
30
+ }, createElement('div', {
31
+ className: 'panel-container'
32
+ }, [createElement('span', {
33
+ className: 'title'
34
+ }, title || label || text || __componentName), createElement('div', {
35
+ className: 'content'
36
+ }, mainContent)]));
37
+ };
38
+ return VisualDom;
39
+ }(PureComponent), _VisualDom.displayName = 'VisualDom', _VisualDom.propTypes = {
40
+ children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)])
41
+ }, _VisualDom.defaultProps = {
42
+ children: null
43
+ }, _VisualDom;
44
+ }
@@ -0,0 +1 @@
1
+ export default function contextFactory(): any;
@@ -0,0 +1,11 @@
1
+ import adapter from '../adapter';
2
+ export default function contextFactory() {
3
+ var _adapter$getRuntime = adapter.getRuntime(),
4
+ createContext = _adapter$getRuntime.createContext;
5
+ var context = window.__appContext;
6
+ if (!context) {
7
+ context = createContext({});
8
+ window.__appContext = context;
9
+ }
10
+ return context;
11
+ }
@@ -0,0 +1,7 @@
1
+ import { IBaseRendererInstance } from '../types';
2
+ interface Options {
3
+ baseRenderer: IBaseRendererInstance;
4
+ schema: any;
5
+ }
6
+ export declare function compWrapper(Comp: any, options: Options): any;
7
+ export {};
@@ -0,0 +1,90 @@
1
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import { cloneEnumerableProperty } from '@alilc/lowcode-utils';
4
+ import adapter from '../adapter';
5
+ function patchDidCatch(Comp, _ref) {
6
+ var baseRenderer = _ref.baseRenderer;
7
+ if (Comp.patchedCatch) {
8
+ return;
9
+ }
10
+ Comp.patchedCatch = true;
11
+ var _adapter$getRuntime = adapter.getRuntime(),
12
+ PureComponent = _adapter$getRuntime.PureComponent;
13
+ // Rax 的 getDerivedStateFromError 有 BUG,这里先用 componentDidCatch 来替代
14
+ // @see https://github.com/alibaba/rax/issues/2211
15
+ var originalDidCatch = Comp.prototype.componentDidCatch;
16
+ Comp.prototype.componentDidCatch = function didCatch(error, errorInfo) {
17
+ this.setState({
18
+ engineRenderError: true,
19
+ error: error
20
+ });
21
+ if (originalDidCatch && typeof originalDidCatch === 'function') {
22
+ originalDidCatch.call(this, error, errorInfo);
23
+ }
24
+ };
25
+ var engine = baseRenderer.context.engine;
26
+ var originRender = Comp.prototype.render;
27
+ Comp.prototype.render = function () {
28
+ if (this.state && this.state.engineRenderError) {
29
+ this.state.engineRenderError = false;
30
+ return engine.createElement(engine.getFaultComponent(), _extends({}, this.props, {
31
+ error: this.state.error,
32
+ componentName: this.props._componentName
33
+ }));
34
+ }
35
+ return originRender.call(this);
36
+ };
37
+ if (!(Comp.prototype instanceof PureComponent)) {
38
+ var originShouldComponentUpdate = Comp.prototype.shouldComponentUpdate;
39
+ Comp.prototype.shouldComponentUpdate = function (nextProps, nextState) {
40
+ if (nextState && nextState.engineRenderError) {
41
+ return true;
42
+ }
43
+ return originShouldComponentUpdate ? originShouldComponentUpdate.call(this, nextProps, nextState) : true;
44
+ };
45
+ }
46
+ }
47
+ var cache = new Map();
48
+ export function compWrapper(Comp, options) {
49
+ var _Comp$prototype, _Comp$prototype2, _cache$get;
50
+ var _adapter$getRuntime2 = adapter.getRuntime(),
51
+ createElement = _adapter$getRuntime2.createElement,
52
+ Component = _adapter$getRuntime2.Component,
53
+ forwardRef = _adapter$getRuntime2.forwardRef;
54
+ if (Comp !== null && Comp !== void 0 && (_Comp$prototype = Comp.prototype) !== null && _Comp$prototype !== void 0 && _Comp$prototype.isReactComponent || // react
55
+ Comp !== null && Comp !== void 0 && (_Comp$prototype2 = Comp.prototype) !== null && _Comp$prototype2 !== void 0 && _Comp$prototype2.setState ||
56
+ // rax
57
+ (Comp === null || Comp === void 0 ? void 0 : Comp.prototype) instanceof Component) {
58
+ patchDidCatch(Comp, options);
59
+ return Comp;
60
+ }
61
+ if (cache.has(options.schema.id) && ((_cache$get = cache.get(options.schema.id)) === null || _cache$get === void 0 ? void 0 : _cache$get.Comp) === Comp) {
62
+ var _cache$get2;
63
+ return (_cache$get2 = cache.get(options.schema.id)) === null || _cache$get2 === void 0 ? void 0 : _cache$get2.WrapperComponent;
64
+ }
65
+ var Wrapper = /*#__PURE__*/function (_Component) {
66
+ function Wrapper() {
67
+ return _Component.apply(this, arguments) || this;
68
+ }
69
+ _inheritsLoose(Wrapper, _Component);
70
+ var _proto = Wrapper.prototype;
71
+ _proto.render = function render() {
72
+ return createElement(Comp, _extends({}, this.props, {
73
+ ref: this.props.forwardRef
74
+ }));
75
+ };
76
+ return Wrapper;
77
+ }(Component);
78
+ Wrapper.displayName = Comp.displayName;
79
+ patchDidCatch(Wrapper, options);
80
+ var WrapperComponent = cloneEnumerableProperty(forwardRef(function (props, ref) {
81
+ return createElement(Wrapper, _extends({}, props, {
82
+ forwardRef: ref
83
+ }));
84
+ }), Comp);
85
+ cache.set(options.schema.id, {
86
+ WrapperComponent: WrapperComponent,
87
+ Comp: Comp
88
+ });
89
+ return WrapperComponent;
90
+ }
@@ -0,0 +1,32 @@
1
+ import { IPublicTypeEngineOptions } from '@alilc/lowcode-types';
2
+ import * as types from '../types/index';
3
+ export interface IComponentHocInfo {
4
+ schema: any;
5
+ baseRenderer: types.IBaseRendererInstance;
6
+ componentInfo: any;
7
+ scope: any;
8
+ }
9
+ export interface IComponentHocProps {
10
+ __tag: any;
11
+ componentId: any;
12
+ _leaf: any;
13
+ forwardedRef?: any;
14
+ }
15
+ export interface IComponentHocState {
16
+ childrenInState: boolean;
17
+ nodeChildren: any;
18
+ nodeCacheProps: any;
19
+ /** 控制是否显示隐藏 */
20
+ visible: boolean;
21
+ /** 控制是否渲染 */
22
+ condition: boolean;
23
+ nodeProps: any;
24
+ }
25
+ type DesignMode = Pick<IPublicTypeEngineOptions, 'designMode'>['designMode'];
26
+ export interface IComponentHoc {
27
+ designMode: DesignMode | DesignMode[];
28
+ hoc: IComponentConstruct;
29
+ }
30
+ export type IComponentConstruct = (Comp: types.IBaseRenderComponent, info: IComponentHocInfo) => types.IGeneralConstructor;
31
+ export declare function leafWrapper(Comp: types.IBaseRenderComponent, { schema, baseRenderer, componentInfo, scope, }: IComponentHocInfo): any;
32
+ export {};