@gct-paas/render 0.1.4-dev.9 → 0.1.5-dev.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 (110) hide show
  1. package/dist/index.min.css +2 -0
  2. package/dist/loader.esm.min.js +1 -0
  3. package/es/Event/Dependency/controller.d.ts +1 -1
  4. package/es/Event/Dependency/controller.mjs +81 -94
  5. package/es/Event/Dependency/displayRule.mjs +130 -68
  6. package/es/Event/Dependency/useDependency.mjs +117 -0
  7. package/es/Event/Dependency/useDependencyToShow.d.ts +1 -1
  8. package/es/Event/Dependency/useDependencyToShow.mjs +100 -96
  9. package/es/Event/baseEvent.d.ts +28 -32
  10. package/es/Event/baseEvent.mjs +383 -439
  11. package/es/Event/bizServiceRequest.d.ts +1 -1
  12. package/es/Event/bizServiceRequest.mjs +29 -41
  13. package/es/Event/eventType.d.ts +1 -1
  14. package/es/Event/eventType.mjs +1 -0
  15. package/es/Event/index.d.ts +6 -3
  16. package/es/Event/index.mjs +7 -0
  17. package/es/Event/utils/appRedis.mjs +39 -49
  18. package/es/Event/utils/globalLoading.d.ts +13 -0
  19. package/es/Event/utils/globalLoading.mjs +104 -0
  20. package/es/Event/utils/processRovedInfo.mjs +228 -294
  21. package/es/Event/utils/runGlobalByPage.d.ts +4 -1
  22. package/es/Event/utils/runGlobalByPage.mjs +297 -301
  23. package/es/Event/utils/verificationVar.mjs +32 -38
  24. package/es/_virtual/_plugin-vue_export-helper.mjs +8 -0
  25. package/es/_virtual/_rolldown/runtime.mjs +13 -0
  26. package/es/components/HandwritingPad.vue.d.ts +27 -0
  27. package/es/components/HandwritingPad.vue.mjs +7 -0
  28. package/es/components/HandwritingPad.vue_vue_type_script_setup_true_name_HandwritingPad_lang.mjs +109 -0
  29. package/es/components/HandwritingPad.vue_vue_type_style_index_0_scoped_d5b980b7_lang.css +9 -0
  30. package/es/components/index.d.ts +2 -0
  31. package/es/components/index.mjs +1 -0
  32. package/es/constant/data-format.d.ts +52 -0
  33. package/es/constant/data-format.mjs +66 -0
  34. package/es/constant/date-time.d.ts +99 -0
  35. package/es/constant/date-time.mjs +187 -0
  36. package/es/constant/index.d.ts +94 -0
  37. package/es/constant/index.mjs +100 -0
  38. package/es/controller/design-render/design-render.controller.d.ts +18 -0
  39. package/es/controller/design-render/design-render.controller.mjs +78 -0
  40. package/es/controller/design-render-base/design-render-base.controller.d.ts +9 -0
  41. package/es/controller/design-render-base/design-render-base.controller.mjs +12 -0
  42. package/es/controller/design-render-container/design-render-container.controller.d.ts +4 -0
  43. package/es/controller/design-render-container/design-render-container.controller.mjs +5 -0
  44. package/es/controller/design-render-item/design-render-item.controller.d.ts +4 -0
  45. package/es/controller/design-render-item/design-render-item.controller.mjs +5 -0
  46. package/es/controller/index.d.ts +4 -0
  47. package/es/controller/index.mjs +4 -0
  48. package/es/enums/index.mjs +17 -5
  49. package/es/hooks/index.d.ts +3 -0
  50. package/es/hooks/index.mjs +3 -0
  51. package/es/hooks/use-design-render-controller/use-design-render-controller.d.ts +11 -0
  52. package/es/hooks/use-design-render-controller/use-design-render-controller.mjs +32 -0
  53. package/es/hooks/useStorageRef.mjs +35 -31
  54. package/es/hooks/widgets/useFileAttrsHooks.d.ts +28 -0
  55. package/es/hooks/widgets/useFileAttrsHooks.mjs +37 -0
  56. package/es/index.d.ts +5 -0
  57. package/es/index.mjs +44 -21
  58. package/es/interface/controller/i-design-render-base.controller.d.ts +43 -0
  59. package/es/interface/controller/i-design-render-container.controller.d.ts +7 -0
  60. package/es/interface/controller/i-design-render-item.controller.d.ts +7 -0
  61. package/es/interface/controller/i-design-render.controller.d.ts +93 -0
  62. package/es/interface/index.d.ts +12 -0
  63. package/es/interface/provider/i-render-base-node.provider.d.ts +45 -0
  64. package/es/interface/provider/i-render-container-node.provider.d.ts +30 -0
  65. package/es/interface/provider/i-render-editor-node.provider.d.ts +29 -0
  66. package/es/interface/provider/i-render-item-node.provider.d.ts +30 -0
  67. package/es/interface/state/i-design-render-base.state.d.ts +19 -0
  68. package/es/interface/state/i-design-render-container.state.d.ts +11 -0
  69. package/es/interface/state/i-design-render-item.state.d.ts +11 -0
  70. package/es/interface/state/i-design-render.state.d.ts +18 -0
  71. package/es/loader.d.ts +1 -0
  72. package/es/register/index.d.ts +1 -0
  73. package/es/register/index.mjs +2 -0
  74. package/es/register/node/node.register.d.ts +92 -0
  75. package/es/register/node/node.register.mjs +116 -0
  76. package/es/register/render-register/render-register.mjs +63 -58
  77. package/es/state/design-render/design-render.state.d.ts +13 -0
  78. package/es/state/design-render/design-render.state.mjs +15 -0
  79. package/es/state/design-render-base/design-render-base.state.d.ts +4 -0
  80. package/es/state/design-render-base/design-render-base.state.mjs +6 -0
  81. package/es/state/design-render-container/design-render-container.state.d.ts +4 -0
  82. package/es/state/design-render-item/design-render-item.state.d.ts +4 -0
  83. package/es/state/index.d.ts +4 -0
  84. package/es/utils/cacheAdapter.mjs +62 -54
  85. package/es/utils/expression/index.d.ts +1 -1
  86. package/es/utils/expression/index.mjs +105 -122
  87. package/es/utils/expression/regularExpression/methods.mjs +426 -567
  88. package/es/utils/field-attrs/basicAttrs.mjs +56 -80
  89. package/es/utils/field-attrs/index.mjs +16 -13
  90. package/es/utils/get-ref-data.mjs +41 -59
  91. package/es/utils/getFieldSchema.mjs +66 -80
  92. package/es/utils/index.d.ts +6 -3
  93. package/es/utils/index.mjs +12 -0
  94. package/es/utils/model-transformer.mjs +74 -64
  95. package/es/utils/render-plugin-pkg-util/render-plugin-pkg-util.d.ts +43 -0
  96. package/es/utils/render-plugin-pkg-util/render-plugin-pkg-util.mjs +65 -0
  97. package/es/utils/search/index.d.ts +3 -0
  98. package/es/utils/search/index.mjs +3 -0
  99. package/es/utils/search/listhook.d.ts +17 -0
  100. package/es/utils/search/listhook.mjs +70 -0
  101. package/es/utils/search/search-default-value.d.ts +7 -0
  102. package/es/utils/search/search-default-value.mjs +244 -0
  103. package/es/utils/search/search-hooks.d.ts +6 -0
  104. package/es/utils/search/search-hooks.mjs +67 -0
  105. package/es/utils/useStyle.d.ts +2 -2
  106. package/es/utils/useStyle.mjs +20 -15
  107. package/package.json +21 -17
  108. package/dist/index.esm.min.mjs +0 -7758
  109. package/dist/index.min.cjs +0 -9
  110. package/dist/index.system.min.js +0 -9
@@ -0,0 +1,43 @@
1
+ import { IDesignNode, IDesignNodeData } from '@gct-paas/schema';
2
+ import { IDesignRenderBaseState } from '../state/i-design-render-base.state';
3
+ /**
4
+ * 渲染节点控制器
5
+ *
6
+ * @author zhanghanrui
7
+ * @date 2024-07-15 17:07:39
8
+ * @export
9
+ * @interface IDesignRenderBaseController
10
+ * @template T
11
+ */
12
+ export interface IDesignRenderBaseController<T extends IDesignNodeData = IDesignNodeData, S extends IDesignRenderBaseState = IDesignRenderBaseState> {
13
+ /**
14
+ * 模型只读,在控制器实例化时设置
15
+ *
16
+ * @author zhanghanrui
17
+ * @date 2024-07-15 17:07:46
18
+ * @type {T}
19
+ */
20
+ readonly model: IDesignNode<T>;
21
+ /**
22
+ * 绘制项状态
23
+ *
24
+ * @author zhanghanrui
25
+ * @date 2024-07-15 17:07:24
26
+ * @type {S}
27
+ */
28
+ state: S;
29
+ /**
30
+ * 界面挂载时调用
31
+ *
32
+ * @author zhanghanrui
33
+ * @date 2024-07-15 14:07:05
34
+ */
35
+ mounted(): void;
36
+ /**
37
+ * 控制器销毁调用
38
+ *
39
+ * @author zhanghanrui
40
+ * @date 2024-07-15 14:07:10
41
+ */
42
+ destroy(): void;
43
+ }
@@ -0,0 +1,7 @@
1
+ import { IDesignNodeData } from '@gct-paas/schema';
2
+ import { IDesignRenderContainerState } from '../state/i-design-render-container.state';
3
+ import { IDesignRenderBaseController } from './i-design-render-base.controller';
4
+ /**
5
+ * 容器渲染控制器
6
+ */
7
+ export type IDesignRenderContainerController<T extends IDesignNodeData = IDesignNodeData, S extends IDesignRenderContainerState = IDesignRenderContainerState> = IDesignRenderBaseController<T, S>;
@@ -0,0 +1,7 @@
1
+ import { IDesignNodeData } from '@gct-paas/schema';
2
+ import { IDesignRenderItemState } from '../state/i-design-render-item.state';
3
+ import { IDesignRenderBaseController } from './i-design-render-base.controller';
4
+ /**
5
+ * 渲染节点控制器
6
+ */
7
+ export type IDesignRenderItemController<T extends IDesignNodeData = IDesignNodeData, S extends IDesignRenderItemState = IDesignRenderItemState> = IDesignRenderBaseController<T, S>;
@@ -0,0 +1,93 @@
1
+ import { IDesignNode, IDesignTreeItem } from '@gct-paas/schema';
2
+ import { IDesignRenderState } from '../state/i-design-render.state';
3
+ import { IDesignRenderBaseController } from './i-design-render-base.controller';
4
+ /**
5
+ * 设计绘制界面控制器
6
+ *
7
+ * @author zhanghanrui
8
+ * @date 2024-07-15 14:07:15
9
+ * @export
10
+ * @interface IDesignRenderController
11
+ */
12
+ export interface IDesignRenderController {
13
+ /**
14
+ * 状态管理
15
+ *
16
+ * @author zhanghanrui
17
+ * @date 2024-07-15 17:07:30
18
+ * @type {IDesignRenderState}
19
+ */
20
+ state: IDesignRenderState;
21
+ /**
22
+ * 界面绘制项控制器实例
23
+ *
24
+ * @author zhanghanrui
25
+ * @date 2024-07-15 17:07:19
26
+ * @type {Map<string, IDesignRenderBaseController>}
27
+ */
28
+ item: Map<string, IDesignRenderBaseController>;
29
+ /**
30
+ * 界面绘制类型前缀
31
+ *
32
+ * @author zhanghanrui
33
+ * @date 2024-07-15 15:07:26
34
+ * @type {string}
35
+ */
36
+ prefix: string;
37
+ /**
38
+ * 是否为预览模式
39
+ *
40
+ * @author zhanghanrui
41
+ * @date 2024-07-19 09:07:58
42
+ * @type {boolean}
43
+ */
44
+ preview: boolean;
45
+ /**
46
+ * 设置结构树形数据
47
+ *
48
+ * @author zhanghanrui
49
+ * @date 2024-09-03 11:09:13
50
+ * @param {IDesignTreeItem[]} tree
51
+ */
52
+ setTree(tree: IDesignTreeItem[]): void;
53
+ /**
54
+ * 设置节点清单
55
+ *
56
+ * @author zhanghanrui
57
+ * @date 2024-07-15 17:07:04
58
+ * @param {IDesignNode[]} nodes
59
+ */
60
+ setNodes(nodes: IDesignNode[]): void;
61
+ /**
62
+ * 获取节点清单
63
+ *
64
+ * @author zhanghanrui
65
+ * @date 2024-07-15 14:07:09
66
+ * @param {string} [parentId] 父节点ID
67
+ * @return {*} {IDesignNode[]}
68
+ */
69
+ getNodes(parentId?: string): IDesignNode[];
70
+ /**
71
+ * 获取控制器实例
72
+ *
73
+ * @author zhanghanrui
74
+ * @date 2024-07-15 17:07:58
75
+ * @param {string} id
76
+ * @return {*} {IDesignRenderBaseController}
77
+ */
78
+ getController(id: string): IDesignRenderBaseController;
79
+ /**
80
+ * 界面挂载时调用
81
+ *
82
+ * @author zhanghanrui
83
+ * @date 2024-07-15 14:07:05
84
+ */
85
+ mounted(): void;
86
+ /**
87
+ * 界面销毁调用
88
+ *
89
+ * @author zhanghanrui
90
+ * @date 2024-07-15 14:07:10
91
+ */
92
+ unmounted(): void;
93
+ }
@@ -0,0 +1,12 @@
1
+ export type { IDesignRenderBaseController } from './controller/i-design-render-base.controller';
2
+ export type { IDesignRenderContainerController } from './controller/i-design-render-container.controller';
3
+ export type { IDesignRenderItemController } from './controller/i-design-render-item.controller';
4
+ export type { IDesignRenderController } from './controller/i-design-render.controller';
5
+ export type { IRenderBaseNodeProvider } from './provider/i-render-base-node.provider';
6
+ export type { IRenderContainerNodeProvider } from './provider/i-render-container-node.provider';
7
+ export type { IRenderEditorNodeProvider } from './provider/i-render-editor-node.provider';
8
+ export type { IRenderItemNodeProvider } from './provider/i-render-item-node.provider';
9
+ export type { IDesignRenderBaseState } from './state/i-design-render-base.state';
10
+ export type { IDesignRenderContainerState } from './state/i-design-render-container.state';
11
+ export type { IDesignRenderItemState } from './state/i-design-render-item.state';
12
+ export type { IDesignRenderState } from './state/i-design-render.state';
@@ -0,0 +1,45 @@
1
+ import { DesignNodeMode, IDesignNode } from '@gct-paas/schema';
2
+ import { IDesignRenderBaseController } from '../controller/i-design-render-base.controller';
3
+ import { Component } from 'vue';
4
+ /**
5
+ * 界面节点绘制适配器
6
+ *
7
+ * @author zhanghanrui
8
+ * @date 2024-07-15 15:07:30
9
+ * @export
10
+ * @interface IRenderBaseNodeProvider
11
+ */
12
+ export interface IRenderBaseNodeProvider {
13
+ /**
14
+ * 节点模式
15
+ *
16
+ * @author zhanghanrui
17
+ * @date 2024-07-06 12:07:05
18
+ * @type {DesignNodeMode}
19
+ */
20
+ readonly mode: DesignNodeMode;
21
+ /**
22
+ * 节点类型
23
+ *
24
+ * @author zhanghanrui
25
+ * @date 2024-07-06 11:07:24
26
+ * @type {string}
27
+ */
28
+ readonly type: string;
29
+ /**
30
+ * 设计界面节点绘制组件
31
+ *
32
+ * @author chitanda
33
+ * @date 2025-07-08 13:07:04
34
+ * @type {(string | Component)}
35
+ */
36
+ readonly component: string | Component;
37
+ /**
38
+ * 创建项控制器实例
39
+ *
40
+ * @author zhanghanrui
41
+ * @date 2024-07-15 17:07:25
42
+ * @return {*} {IDesignRenderBaseController}
43
+ */
44
+ createController?(model: IDesignNode): IDesignRenderBaseController;
45
+ }
@@ -0,0 +1,30 @@
1
+ import { DesignNodeMode, IDesignNode } from '@gct-paas/schema';
2
+ import { IRenderBaseNodeProvider } from './i-render-base-node.provider';
3
+ import { IDesignRenderContainerController } from '../controller/i-design-render-container.controller';
4
+ /**
5
+ * 容器项适配器
6
+ *
7
+ * @author zhanghanrui
8
+ * @date 2024-07-15 17:07:43
9
+ * @export
10
+ * @interface IRenderContainerNodeProvider
11
+ * @extends {IRenderBaseNodeProvider}
12
+ */
13
+ export interface IRenderContainerNodeProvider extends IRenderBaseNodeProvider {
14
+ /**
15
+ * 节点模式
16
+ *
17
+ * @author zhanghanrui
18
+ * @date 2024-07-15 18:07:57
19
+ * @type {DesignNodeMode.CONTAINER}
20
+ */
21
+ readonly mode: DesignNodeMode.CONTAINER;
22
+ /**
23
+ * 创建项控制器实例
24
+ *
25
+ * @author zhanghanrui
26
+ * @date 2024-07-15 17:07:25
27
+ * @return {*} {IDesignRenderContainerController}
28
+ */
29
+ createController?(model: IDesignNode): IDesignRenderContainerController;
30
+ }
@@ -0,0 +1,29 @@
1
+ import { IRenderItemNodeProvider } from './i-render-item-node.provider';
2
+ import { FIELD_TYPE } from '@gct-paas/core';
3
+ /**
4
+ * 编辑器节点适配器
5
+ *
6
+ * @author chitanda
7
+ * @date 2025-07-08 13:07:32
8
+ * @export
9
+ * @interface IRenderEditorNodeProvider
10
+ * @extends {IRenderItemNodeProvider}
11
+ */
12
+ export interface IRenderEditorNodeProvider extends IRenderItemNodeProvider {
13
+ /**
14
+ * 字段标识
15
+ *
16
+ * @author chitanda
17
+ * @date 2025-07-08 13:07:05
18
+ * @type {string}
19
+ */
20
+ fieldKey?: string;
21
+ /**
22
+ * 字段类型
23
+ *
24
+ * @author chitanda
25
+ * @date 2025-07-08 13:07:14
26
+ * @type {FIELD_TYPE}
27
+ */
28
+ fieldType?: FIELD_TYPE;
29
+ }
@@ -0,0 +1,30 @@
1
+ import { DesignNodeMode, IDesignNode } from '@gct-paas/schema';
2
+ import { IRenderBaseNodeProvider } from './i-render-base-node.provider';
3
+ import { IDesignRenderItemController } from '../controller/i-design-render-item.controller';
4
+ /**
5
+ * 容器项适配器
6
+ *
7
+ * @author zhanghanrui
8
+ * @date 2024-07-15 17:07:43
9
+ * @export
10
+ * @interface IRenderItemNodeProvider
11
+ * @extends {IRenderBaseNodeProvider}
12
+ */
13
+ export interface IRenderItemNodeProvider extends IRenderBaseNodeProvider {
14
+ /**
15
+ * 节点模式
16
+ *
17
+ * @author zhanghanrui
18
+ * @date 2024-07-15 18:07:57
19
+ * @type {DesignNodeMode.ITEM}
20
+ */
21
+ readonly mode: DesignNodeMode.ITEM;
22
+ /**
23
+ * 创建项控制器实例
24
+ *
25
+ * @author zhanghanrui
26
+ * @date 2024-07-15 17:07:25
27
+ * @return {*} {IDesignRenderItemController}
28
+ */
29
+ createController?(model: IDesignNode): IDesignRenderItemController;
30
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 绘制项状态
3
+ *
4
+ * @author zhanghanrui
5
+ * @date 2024-07-15 17:07:55
6
+ * @export
7
+ * @interface IDesignRenderBaseState
8
+ */
9
+ export interface IDesignRenderBaseState {
10
+ /**
11
+ * 是否已经销毁
12
+ *
13
+ * @default false
14
+ * @author zhanghanrui
15
+ * @date 2024-07-15 17:07:29
16
+ * @type {boolean}
17
+ */
18
+ isDestroy: boolean;
19
+ }
@@ -0,0 +1,11 @@
1
+ import { IDesignRenderBaseState } from './i-design-render-base.state';
2
+ /**
3
+ * 项绘制容器状态
4
+ *
5
+ * @author zhanghanrui
6
+ * @date 2024-07-15 17:07:42
7
+ * @export
8
+ * @interface IDesignRenderContainerState
9
+ * @extends {IDesignRenderBaseState}
10
+ */
11
+ export type IDesignRenderContainerState = IDesignRenderBaseState;
@@ -0,0 +1,11 @@
1
+ import { IDesignRenderBaseState } from './i-design-render-base.state';
2
+ /**
3
+ * 项绘制状态
4
+ *
5
+ * @author zhanghanrui
6
+ * @date 2024-07-15 17:07:32
7
+ * @export
8
+ * @interface IDesignRenderItemState
9
+ * @extends {IDesignRenderBaseState}
10
+ */
11
+ export type IDesignRenderItemState = IDesignRenderBaseState;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 设计绘制界面状态
3
+ *
4
+ * @author zhanghanrui
5
+ * @date 2024-07-15 17:07:48
6
+ * @export
7
+ * @interface IDesignRenderState
8
+ */
9
+ export interface IDesignRenderState {
10
+ /**
11
+ * 界面上下文
12
+ *
13
+ * @author zhanghanrui
14
+ * @date 2024-07-15 17:07:55
15
+ * @type {IContext}
16
+ */
17
+ context: IContext;
18
+ }
package/es/loader.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './index';
@@ -1 +1,2 @@
1
1
  export { RenderRegister } from './render-register/render-register';
2
+ export { RenderNodeRegister } from './node/node.register';
@@ -0,0 +1,2 @@
1
+ import "./render-register/render-register.mjs";
2
+ import "./node/node.register.mjs";
@@ -0,0 +1,92 @@
1
+ import { IRenderBaseNodeProvider, IRenderEditorNodeProvider } from '../../interface';
2
+ /**
3
+ * 设计界面节点适配器注册
4
+ *
5
+ * @author zhanghanrui
6
+ * @date 2024-07-06 11:07:57
7
+ * @export
8
+ * @class RenderNodeRegister
9
+ */
10
+ export declare class RenderNodeRegister {
11
+ /**
12
+ * 适配器缓存
13
+ *
14
+ * @author zhanghanrui
15
+ * @date 2024-07-06 11:07:15
16
+ * @protected
17
+ * @static
18
+ */
19
+ protected static map: Map<string, () => IRenderBaseNodeProvider>;
20
+ /**
21
+ * 实例缓存
22
+ *
23
+ * @author zhanghanrui
24
+ * @date 2024-07-06 12:07:33
25
+ * @protected
26
+ * @static
27
+ * @type {Map<string, IRenderBaseNodeProvider>}
28
+ */
29
+ protected static cache: Map<string, IRenderBaseNodeProvider>;
30
+ /**
31
+ * 注册适配器
32
+ *
33
+ * @author zhanghanrui
34
+ * @date 2024-07-09 09:07:17
35
+ * @static
36
+ * @param {string} name
37
+ * @param {() => IRenderBaseNodeProvider} provider
38
+ * @param {string} [prefix]
39
+ */
40
+ static register(name: string, provider: () => IRenderBaseNodeProvider, prefix?: string): void;
41
+ /**
42
+ * 获取适配器
43
+ *
44
+ * @author zhanghanrui
45
+ * @date 2024-07-09 09:07:49
46
+ * @static
47
+ * @param {string} name
48
+ * @param {string} [prefix]
49
+ * @return {*} {(IRenderBaseNodeProvider | null)}
50
+ */
51
+ static get(name: string, prefix?: string): IRenderBaseNodeProvider | null;
52
+ /**
53
+ * 注册自定义首页插件
54
+ *
55
+ * @author zhanghanrui
56
+ * @date 2024-07-09 09:07:44
57
+ * @static
58
+ * @param {string} name
59
+ * @param {() => IRenderBaseNodeProvider} provider
60
+ */
61
+ static registerCustomHome(name: string, provider: () => IRenderBaseNodeProvider): void;
62
+ /**
63
+ * 注册设计编辑器节点
64
+ *
65
+ * @author chitanda
66
+ * @date 2025-07-08 13:07:42
67
+ * @static
68
+ * @param {string} name
69
+ * @param {() => IRenderEditorNodeProvider} provider
70
+ */
71
+ static registerDesignEditorNode(name: string, provider: () => IRenderEditorNodeProvider): void;
72
+ /**
73
+ * 获取自定义首页插件
74
+ *
75
+ * @author zhanghanrui
76
+ * @date 2024-07-09 09:07:58
77
+ * @static
78
+ * @param {string} name
79
+ * @return {*} {(IRenderBaseNodeProvider | null)}
80
+ */
81
+ static getCustomHome(name: string): IRenderBaseNodeProvider | null;
82
+ /**
83
+ * 获取设计编辑器节点
84
+ *
85
+ * @author chitanda
86
+ * @date 2025-07-08 14:07:02
87
+ * @static
88
+ * @param {string} name
89
+ * @returns {*} {(IRenderEditorNodeProvider | null)}
90
+ */
91
+ static getDesignEditorNode(name: string): IRenderEditorNodeProvider | null;
92
+ }
@@ -0,0 +1,116 @@
1
+ import { DesignRenderViewPrefix } from "../../constant/index.mjs";
2
+ //#region src/register/node/node.register.ts
3
+ /**
4
+ * 设计界面节点适配器注册
5
+ *
6
+ * @author zhanghanrui
7
+ * @date 2024-07-06 11:07:57
8
+ * @export
9
+ * @class RenderNodeRegister
10
+ */
11
+ var RenderNodeRegister = class {
12
+ /**
13
+ * 适配器缓存
14
+ *
15
+ * @author zhanghanrui
16
+ * @date 2024-07-06 11:07:15
17
+ * @protected
18
+ * @static
19
+ */
20
+ static map = /* @__PURE__ */ new Map();
21
+ /**
22
+ * 实例缓存
23
+ *
24
+ * @author zhanghanrui
25
+ * @date 2024-07-06 12:07:33
26
+ * @protected
27
+ * @static
28
+ * @type {Map<string, IRenderBaseNodeProvider>}
29
+ */
30
+ static cache = /* @__PURE__ */ new Map();
31
+ /**
32
+ * 注册适配器
33
+ *
34
+ * @author zhanghanrui
35
+ * @date 2024-07-09 09:07:17
36
+ * @static
37
+ * @param {string} name
38
+ * @param {() => IRenderBaseNodeProvider} provider
39
+ * @param {string} [prefix]
40
+ */
41
+ static register(name, provider, prefix) {
42
+ const tag = prefix ? `${prefix}:${name}` : name;
43
+ this.map.set(tag, provider);
44
+ }
45
+ /**
46
+ * 获取适配器
47
+ *
48
+ * @author zhanghanrui
49
+ * @date 2024-07-09 09:07:49
50
+ * @static
51
+ * @param {string} name
52
+ * @param {string} [prefix]
53
+ * @return {*} {(IRenderBaseNodeProvider | null)}
54
+ */
55
+ static get(name, prefix) {
56
+ const tag = prefix ? `${prefix}:${name}` : name;
57
+ if (this.cache.has(tag)) return this.cache.get(tag);
58
+ const provider = this.map.get(tag);
59
+ if (provider) {
60
+ const ins = provider();
61
+ this.cache.set(tag, ins);
62
+ return ins;
63
+ }
64
+ return null;
65
+ }
66
+ /**
67
+ * 注册自定义首页插件
68
+ *
69
+ * @author zhanghanrui
70
+ * @date 2024-07-09 09:07:44
71
+ * @static
72
+ * @param {string} name
73
+ * @param {() => IRenderBaseNodeProvider} provider
74
+ */
75
+ static registerCustomHome(name, provider) {
76
+ this.register(name, provider, DesignRenderViewPrefix.CUSTOM_HOME);
77
+ }
78
+ /**
79
+ * 注册设计编辑器节点
80
+ *
81
+ * @author chitanda
82
+ * @date 2025-07-08 13:07:42
83
+ * @static
84
+ * @param {string} name
85
+ * @param {() => IRenderEditorNodeProvider} provider
86
+ */
87
+ static registerDesignEditorNode(name, provider) {
88
+ this.register(name, provider, DesignRenderViewPrefix.DESIGN_EDITOR);
89
+ }
90
+ /**
91
+ * 获取自定义首页插件
92
+ *
93
+ * @author zhanghanrui
94
+ * @date 2024-07-09 09:07:58
95
+ * @static
96
+ * @param {string} name
97
+ * @return {*} {(IRenderBaseNodeProvider | null)}
98
+ */
99
+ static getCustomHome(name) {
100
+ return this.get(name, DesignRenderViewPrefix.CUSTOM_HOME);
101
+ }
102
+ /**
103
+ * 获取设计编辑器节点
104
+ *
105
+ * @author chitanda
106
+ * @date 2025-07-08 14:07:02
107
+ * @static
108
+ * @param {string} name
109
+ * @returns {*} {(IRenderEditorNodeProvider | null)}
110
+ */
111
+ static getDesignEditorNode(name) {
112
+ return this.get(name, DesignRenderViewPrefix.DESIGN_EDITOR);
113
+ }
114
+ };
115
+ //#endregion
116
+ export { RenderNodeRegister };