@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,99 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = exports.Env = void 0;
5
+ var Env = exports.Env = /*#__PURE__*/function (Env) {
6
+ Env["React"] = "react";
7
+ return Env;
8
+ }({});
9
+ var Adapter = /*#__PURE__*/function () {
10
+ function Adapter() {
11
+ this.runtime = void 0;
12
+ this.builtinModules = ['Component', 'PureComponent', 'createElement', 'createContext', 'forwardRef', 'findDOMNode'];
13
+ this.env = void 0;
14
+ this.renderers = void 0;
15
+ this.configProvider = void 0;
16
+ this.initRuntime();
17
+ }
18
+ var _proto = Adapter.prototype;
19
+ _proto.initRuntime = function initRuntime() {
20
+ var Component = /*#__PURE__*/function () {
21
+ function Component() {
22
+ this.state = void 0;
23
+ this.props = void 0;
24
+ this.refs = void 0;
25
+ this.context = void 0;
26
+ }
27
+ var _proto2 = Component.prototype;
28
+ _proto2.setState = function setState() {};
29
+ _proto2.forceUpdate = function forceUpdate() {};
30
+ _proto2.render = function render() {};
31
+ return Component;
32
+ }();
33
+ var PureComponent = /*#__PURE__*/function () {
34
+ function PureComponent() {
35
+ this.state = void 0;
36
+ this.props = void 0;
37
+ this.refs = void 0;
38
+ this.context = void 0;
39
+ }
40
+ var _proto3 = PureComponent.prototype;
41
+ _proto3.setState = function setState() {};
42
+ _proto3.forceUpdate = function forceUpdate() {};
43
+ _proto3.render = function render() {};
44
+ return PureComponent;
45
+ }();
46
+ var createElement = function createElement() {};
47
+ var createContext = function createContext() {};
48
+ var forwardRef = function forwardRef() {};
49
+ var findDOMNode = function findDOMNode() {};
50
+ this.runtime = {
51
+ Component: Component,
52
+ PureComponent: PureComponent,
53
+ createElement: createElement,
54
+ createContext: createContext,
55
+ forwardRef: forwardRef,
56
+ findDOMNode: findDOMNode
57
+ };
58
+ };
59
+ _proto.setRuntime = function setRuntime(runtime) {
60
+ if (this.isValidRuntime(runtime)) {
61
+ this.runtime = runtime;
62
+ }
63
+ };
64
+ _proto.isValidRuntime = function isValidRuntime(runtime) {
65
+ if (typeof runtime !== 'object' || Array.isArray(runtime)) {
66
+ return false;
67
+ }
68
+ return this.builtinModules.every(function (m) {
69
+ var flag = !!runtime[m];
70
+ if (!flag) {
71
+ throw new Error("runtime is invalid, module '" + m + "' does not exist");
72
+ }
73
+ return flag;
74
+ });
75
+ };
76
+ _proto.getRuntime = function getRuntime() {
77
+ return this.runtime;
78
+ };
79
+ _proto.setEnv = function setEnv(env) {
80
+ this.env = env;
81
+ };
82
+ _proto.isReact = function isReact() {
83
+ return this.env === Env.React;
84
+ };
85
+ _proto.setRenderers = function setRenderers(renderers) {
86
+ this.renderers = renderers;
87
+ };
88
+ _proto.getRenderers = function getRenderers() {
89
+ return this.renderers || {};
90
+ };
91
+ _proto.setConfigProvider = function setConfigProvider(Comp) {
92
+ this.configProvider = Comp;
93
+ };
94
+ _proto.getConfigProvider = function getConfigProvider() {
95
+ return this.configProvider;
96
+ };
97
+ return Adapter;
98
+ }();
99
+ var _default = exports["default"] = new Adapter();
@@ -0,0 +1,2 @@
1
+ import { IGeneralConstructor } from '../types';
2
+ export default function divFactory(): IGeneralConstructor;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports["default"] = divFactory;
6
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
7
+ var _adapter = _interopRequireDefault(require("../adapter"));
8
+ function divFactory() {
9
+ var _Div;
10
+ var _adapter$getRuntime = _adapter["default"].getRuntime(),
11
+ PureComponent = _adapter$getRuntime.PureComponent,
12
+ createElement = _adapter$getRuntime.createElement;
13
+ return _Div = /*#__PURE__*/function (_PureComponent) {
14
+ function Div() {
15
+ return _PureComponent.apply(this, arguments) || this;
16
+ }
17
+ (0, _inheritsLoose2["default"])(Div, _PureComponent);
18
+ var _proto = Div.prototype;
19
+ _proto.render = function render() {
20
+ return createElement('div', this.props);
21
+ };
22
+ return Div;
23
+ }(PureComponent), _Div.displayName = 'Div', _Div.version = '0.0.0', _Div;
24
+ }
@@ -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,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports["default"] = visualDomFactory;
6
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _adapter = _interopRequireDefault(require("../../adapter"));
9
+ require("./index.css");
10
+ function visualDomFactory() {
11
+ var _VisualDom;
12
+ var _adapter$getRuntime = _adapter["default"].getRuntime(),
13
+ PureComponent = _adapter$getRuntime.PureComponent,
14
+ createElement = _adapter$getRuntime.createElement;
15
+ return _VisualDom = /*#__PURE__*/function (_PureComponent) {
16
+ function VisualDom() {
17
+ return _PureComponent.apply(this, arguments) || this;
18
+ }
19
+ (0, _inheritsLoose2["default"])(VisualDom, _PureComponent);
20
+ var _proto = VisualDom.prototype;
21
+ _proto.render = function render() {
22
+ var _this$props = this.props,
23
+ children = _this$props.children,
24
+ cell = _this$props.cell,
25
+ title = _this$props.title,
26
+ label = _this$props.label,
27
+ text = _this$props.text,
28
+ __componentName = _this$props.__componentName;
29
+ var mainContent = children;
30
+ if (cell && typeof cell === 'function') {
31
+ mainContent = cell();
32
+ }
33
+ return createElement('div', {
34
+ className: 'visual-dom'
35
+ }, createElement('div', {
36
+ className: 'panel-container'
37
+ }, [createElement('span', {
38
+ className: 'title'
39
+ }, title || label || text || __componentName), createElement('div', {
40
+ className: 'content'
41
+ }, mainContent)]));
42
+ };
43
+ return VisualDom;
44
+ }(PureComponent), _VisualDom.displayName = 'VisualDom', _VisualDom.propTypes = {
45
+ children: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].arrayOf(_propTypes["default"].element)])
46
+ }, _VisualDom.defaultProps = {
47
+ children: null
48
+ }, _VisualDom;
49
+ }
@@ -0,0 +1 @@
1
+ export default function contextFactory(): any;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports["default"] = contextFactory;
6
+ var _adapter = _interopRequireDefault(require("../adapter"));
7
+ function contextFactory() {
8
+ var _adapter$getRuntime = _adapter["default"].getRuntime(),
9
+ createContext = _adapter$getRuntime.createContext;
10
+ var context = window.__appContext;
11
+ if (!context) {
12
+ context = createContext({});
13
+ window.__appContext = context;
14
+ }
15
+ return context;
16
+ }
@@ -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,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.compWrapper = compWrapper;
6
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
7
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _lowcodeUtils = require("@alilc/lowcode-utils");
9
+ var _adapter = _interopRequireDefault(require("../adapter"));
10
+ function patchDidCatch(Comp, _ref) {
11
+ var baseRenderer = _ref.baseRenderer;
12
+ if (Comp.patchedCatch) {
13
+ return;
14
+ }
15
+ Comp.patchedCatch = true;
16
+ var _adapter$getRuntime = _adapter["default"].getRuntime(),
17
+ PureComponent = _adapter$getRuntime.PureComponent;
18
+ // Rax 的 getDerivedStateFromError 有 BUG,这里先用 componentDidCatch 来替代
19
+ // @see https://github.com/alibaba/rax/issues/2211
20
+ var originalDidCatch = Comp.prototype.componentDidCatch;
21
+ Comp.prototype.componentDidCatch = function didCatch(error, errorInfo) {
22
+ this.setState({
23
+ engineRenderError: true,
24
+ error: error
25
+ });
26
+ if (originalDidCatch && typeof originalDidCatch === 'function') {
27
+ originalDidCatch.call(this, error, errorInfo);
28
+ }
29
+ };
30
+ var engine = baseRenderer.context.engine;
31
+ var originRender = Comp.prototype.render;
32
+ Comp.prototype.render = function () {
33
+ if (this.state && this.state.engineRenderError) {
34
+ this.state.engineRenderError = false;
35
+ return engine.createElement(engine.getFaultComponent(), (0, _extends2["default"])({}, this.props, {
36
+ error: this.state.error,
37
+ componentName: this.props._componentName
38
+ }));
39
+ }
40
+ return originRender.call(this);
41
+ };
42
+ if (!(Comp.prototype instanceof PureComponent)) {
43
+ var originShouldComponentUpdate = Comp.prototype.shouldComponentUpdate;
44
+ Comp.prototype.shouldComponentUpdate = function (nextProps, nextState) {
45
+ if (nextState && nextState.engineRenderError) {
46
+ return true;
47
+ }
48
+ return originShouldComponentUpdate ? originShouldComponentUpdate.call(this, nextProps, nextState) : true;
49
+ };
50
+ }
51
+ }
52
+ var cache = new Map();
53
+ function compWrapper(Comp, options) {
54
+ var _Comp$prototype, _Comp$prototype2, _cache$get;
55
+ var _adapter$getRuntime2 = _adapter["default"].getRuntime(),
56
+ createElement = _adapter$getRuntime2.createElement,
57
+ Component = _adapter$getRuntime2.Component,
58
+ forwardRef = _adapter$getRuntime2.forwardRef;
59
+ if (Comp !== null && Comp !== void 0 && (_Comp$prototype = Comp.prototype) !== null && _Comp$prototype !== void 0 && _Comp$prototype.isReactComponent || // react
60
+ Comp !== null && Comp !== void 0 && (_Comp$prototype2 = Comp.prototype) !== null && _Comp$prototype2 !== void 0 && _Comp$prototype2.setState ||
61
+ // rax
62
+ (Comp === null || Comp === void 0 ? void 0 : Comp.prototype) instanceof Component) {
63
+ patchDidCatch(Comp, options);
64
+ return Comp;
65
+ }
66
+ if (cache.has(options.schema.id) && ((_cache$get = cache.get(options.schema.id)) === null || _cache$get === void 0 ? void 0 : _cache$get.Comp) === Comp) {
67
+ var _cache$get2;
68
+ return (_cache$get2 = cache.get(options.schema.id)) === null || _cache$get2 === void 0 ? void 0 : _cache$get2.WrapperComponent;
69
+ }
70
+ var Wrapper = /*#__PURE__*/function (_Component) {
71
+ function Wrapper() {
72
+ return _Component.apply(this, arguments) || this;
73
+ }
74
+ (0, _inheritsLoose2["default"])(Wrapper, _Component);
75
+ var _proto = Wrapper.prototype;
76
+ _proto.render = function render() {
77
+ return createElement(Comp, (0, _extends2["default"])({}, this.props, {
78
+ ref: this.props.forwardRef
79
+ }));
80
+ };
81
+ return Wrapper;
82
+ }(Component);
83
+ Wrapper.displayName = Comp.displayName;
84
+ patchDidCatch(Wrapper, options);
85
+ var WrapperComponent = (0, _lowcodeUtils.cloneEnumerableProperty)(forwardRef(function (props, ref) {
86
+ return createElement(Wrapper, (0, _extends2["default"])({}, props, {
87
+ forwardRef: ref
88
+ }));
89
+ }), Comp);
90
+ cache.set(options.schema.id, {
91
+ WrapperComponent: WrapperComponent,
92
+ Comp: Comp
93
+ });
94
+ return WrapperComponent;
95
+ }
@@ -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 {};