@next-bricks/visual-builder 1.39.16 → 1.39.18

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 (149) hide show
  1. package/dist/bricks.json +6 -6
  2. package/dist/chunks/{1889.66ac8bcc.js → 1889.d98738ff.js} +2 -2
  3. package/dist/chunks/{1889.66ac8bcc.js.map → 1889.d98738ff.js.map} +1 -1
  4. package/dist/chunks/2475.e017360c.js +3 -0
  5. package/dist/chunks/2475.e017360c.js.map +1 -0
  6. package/dist/chunks/3171.a98dfd67.js +2 -0
  7. package/dist/chunks/3171.a98dfd67.js.map +1 -0
  8. package/dist/chunks/{5522.678c03f6.js → 4577.f016e9de.js} +3 -3
  9. package/dist/chunks/4577.f016e9de.js.map +1 -0
  10. package/dist/chunks/5399.610e20b1.js +2 -0
  11. package/dist/chunks/5399.610e20b1.js.map +1 -0
  12. package/dist/chunks/5552.3218f2f9.js +2 -0
  13. package/dist/chunks/5552.3218f2f9.js.map +1 -0
  14. package/dist/chunks/6376.689d9948.js +2 -0
  15. package/dist/chunks/6376.689d9948.js.map +1 -0
  16. package/dist/chunks/7085.15d2b16f.js +3 -0
  17. package/dist/chunks/7085.15d2b16f.js.map +1 -0
  18. package/dist/chunks/9118.0e4d0346.js +3 -0
  19. package/dist/chunks/9118.0e4d0346.js.LICENSE.txt +11 -0
  20. package/dist/chunks/9118.0e4d0346.js.map +1 -0
  21. package/dist/chunks/9653.460f1b70.js +2 -0
  22. package/dist/chunks/9653.460f1b70.js.map +1 -0
  23. package/dist/chunks/chat-conversation.0ffc333f.js.map +1 -1
  24. package/dist/chunks/chat-preview.36976c55.js.map +1 -1
  25. package/dist/chunks/contract-select.c295da96.js +3 -0
  26. package/dist/chunks/contract-select.c295da96.js.map +1 -0
  27. package/dist/chunks/generate-snippets-context-menu.56acf448.js.map +1 -1
  28. package/dist/chunks/main.77514a01.js +2 -0
  29. package/dist/chunks/main.77514a01.js.map +1 -0
  30. package/dist/chunks/page-arch-node.379284ad.js +3 -0
  31. package/dist/chunks/page-arch-node.379284ad.js.map +1 -0
  32. package/dist/chunks/pre-generated-config-preview.cfbc2a1e.js.map +1 -1
  33. package/dist/chunks/pre-generated-config.a027788b.js.map +1 -1
  34. package/dist/chunks/{pre-generated-container.dcfa8cc9.js → pre-generated-container.8dbf4f2a.js} +2 -2
  35. package/dist/chunks/pre-generated-container.8dbf4f2a.js.map +1 -0
  36. package/dist/chunks/pre-generated-preview.8e699675.js.map +1 -1
  37. package/dist/chunks/pre-generated-table-view.8a9d5527.js.map +1 -1
  38. package/dist/chunks/property-editor.acbb8759.js +2 -0
  39. package/dist/chunks/property-editor.acbb8759.js.map +1 -0
  40. package/dist/chunks/raw-data-preview.0bf12da3.js.map +1 -1
  41. package/dist/chunks/raw-metric-preview.c503481e.js.map +1 -1
  42. package/dist/chunks/workbench-action-list.c67329ed.js.map +1 -1
  43. package/dist/chunks/workbench-action.5b993227.js.map +1 -1
  44. package/dist/chunks/workbench-pane.5c4866a6.js +3 -0
  45. package/dist/chunks/workbench-pane.5c4866a6.js.map +1 -0
  46. package/dist/chunks/workbench-sidebar.01731e99.js.map +1 -1
  47. package/dist/chunks/{workbench-tree.e71a583f.js → workbench-tree.7097bd88.js} +3 -3
  48. package/dist/chunks/workbench-tree.7097bd88.js.map +1 -0
  49. package/dist/examples.json +48 -6
  50. package/dist/index.686cc18c.js +2 -0
  51. package/dist/index.686cc18c.js.map +1 -0
  52. package/dist/manifest.json +227 -73
  53. package/dist/types.json +29 -44
  54. package/dist-types/chat-conversation/index.d.ts +7 -1
  55. package/dist-types/chat-preview/index.d.ts +20 -1
  56. package/dist-types/contract-select/index.d.ts +19 -4
  57. package/dist-types/generate-snippets-context-menu/index.d.ts +17 -1
  58. package/dist-types/page-arch-node/index.d.ts +25 -1
  59. package/dist-types/pre-generated-config/i18n.d.ts +1 -1
  60. package/dist-types/pre-generated-config/index.d.ts +16 -1
  61. package/dist-types/pre-generated-config-preview/index.d.ts +13 -1
  62. package/dist-types/pre-generated-container/index.d.ts +6 -4
  63. package/dist-types/pre-generated-preview/index.d.ts +6 -1
  64. package/dist-types/pre-generated-table-view/index.d.ts +1 -1
  65. package/dist-types/property-editor/index.d.ts +10 -4
  66. package/dist-types/raw-data-preview/index.d.ts +9 -1
  67. package/dist-types/raw-metric-preview/index.d.ts +8 -1
  68. package/dist-types/workbench-action/index.d.ts +7 -0
  69. package/dist-types/workbench-action-list/index.d.ts +3 -0
  70. package/dist-types/workbench-pane/index.d.ts +4 -0
  71. package/dist-types/workbench-sidebar/index.d.ts +2 -0
  72. package/dist-types/workbench-tree/index.d.ts +19 -6
  73. package/docs/chat-conversation.md +51 -31
  74. package/docs/chat-conversation.react.md +115 -0
  75. package/docs/chat-preview.md +83 -0
  76. package/docs/chat-preview.react.md +105 -0
  77. package/docs/contract-select.md +97 -0
  78. package/docs/contract-select.react.md +95 -0
  79. package/docs/generate-snippets-context-menu.md +141 -0
  80. package/docs/generate-snippets-context-menu.react.md +134 -0
  81. package/docs/page-arch-node.md +87 -1
  82. package/docs/page-arch-node.react.md +97 -0
  83. package/docs/pre-generated-config-preview.md +74 -0
  84. package/docs/pre-generated-config-preview.react.md +82 -0
  85. package/docs/pre-generated-config.md +96 -0
  86. package/docs/pre-generated-config.react.md +78 -0
  87. package/docs/pre-generated-container.md +56 -0
  88. package/docs/pre-generated-container.react.md +62 -0
  89. package/docs/pre-generated-preview.md +83 -0
  90. package/docs/pre-generated-preview.react.md +92 -0
  91. package/docs/pre-generated-table-view.md +46 -0
  92. package/docs/pre-generated-table-view.react.md +36 -0
  93. package/docs/property-editor.md +44 -1
  94. package/docs/property-editor.react.md +97 -0
  95. package/docs/raw-data-preview.md +75 -1643
  96. package/docs/raw-data-preview.react.md +154 -0
  97. package/docs/raw-metric-preview.md +93 -0
  98. package/docs/raw-metric-preview.react.md +94 -0
  99. package/docs/workbench-action-list.md +80 -0
  100. package/docs/workbench-action-list.react.md +85 -0
  101. package/docs/workbench-action.md +80 -0
  102. package/docs/workbench-action.react.md +76 -0
  103. package/docs/workbench-history-action.md +42 -1
  104. package/docs/workbench-history-action.react.md +54 -0
  105. package/docs/workbench-pane.md +105 -0
  106. package/docs/workbench-pane.react.md +90 -0
  107. package/docs/workbench-sidebar.md +88 -0
  108. package/docs/workbench-sidebar.react.md +66 -0
  109. package/docs/workbench-tree.md +217 -0
  110. package/docs/workbench-tree.react.md +180 -0
  111. package/package.json +2 -2
  112. package/dist/chunks/2475.c80c77ca.js +0 -3
  113. package/dist/chunks/2475.c80c77ca.js.map +0 -1
  114. package/dist/chunks/3171.60f0baab.js +0 -2
  115. package/dist/chunks/3171.60f0baab.js.map +0 -1
  116. package/dist/chunks/4837.0ceea0f6.js +0 -2
  117. package/dist/chunks/4837.0ceea0f6.js.map +0 -1
  118. package/dist/chunks/5399.e52faadf.js +0 -2
  119. package/dist/chunks/5399.e52faadf.js.map +0 -1
  120. package/dist/chunks/5522.678c03f6.js.map +0 -1
  121. package/dist/chunks/5552.d9c38ba9.js +0 -2
  122. package/dist/chunks/5552.d9c38ba9.js.map +0 -1
  123. package/dist/chunks/7085.c58ac475.js +0 -3
  124. package/dist/chunks/7085.c58ac475.js.map +0 -1
  125. package/dist/chunks/7218.90be246f.js +0 -2
  126. package/dist/chunks/7218.90be246f.js.map +0 -1
  127. package/dist/chunks/9653.39737577.js +0 -2
  128. package/dist/chunks/9653.39737577.js.map +0 -1
  129. package/dist/chunks/contract-select.ff891ded.js +0 -3
  130. package/dist/chunks/contract-select.ff891ded.js.map +0 -1
  131. package/dist/chunks/main.819ae305.js +0 -2
  132. package/dist/chunks/main.819ae305.js.map +0 -1
  133. package/dist/chunks/page-arch-node.974674c0.js +0 -3
  134. package/dist/chunks/page-arch-node.974674c0.js.map +0 -1
  135. package/dist/chunks/pre-generated-container.dcfa8cc9.js.map +0 -1
  136. package/dist/chunks/property-editor.6de6adf4.js +0 -2
  137. package/dist/chunks/property-editor.6de6adf4.js.map +0 -1
  138. package/dist/chunks/workbench-pane.7e85de42.js +0 -3
  139. package/dist/chunks/workbench-pane.7e85de42.js.map +0 -1
  140. package/dist/chunks/workbench-tree.e71a583f.js.map +0 -1
  141. package/dist/index.e12e6fc9.js +0 -2
  142. package/dist/index.e12e6fc9.js.map +0 -1
  143. /package/dist/chunks/{2475.c80c77ca.js.LICENSE.txt → 2475.e017360c.js.LICENSE.txt} +0 -0
  144. /package/dist/chunks/{5522.678c03f6.js.LICENSE.txt → 4577.f016e9de.js.LICENSE.txt} +0 -0
  145. /package/dist/chunks/{7085.c58ac475.js.LICENSE.txt → 7085.15d2b16f.js.LICENSE.txt} +0 -0
  146. /package/dist/chunks/{contract-select.ff891ded.js.LICENSE.txt → contract-select.c295da96.js.LICENSE.txt} +0 -0
  147. /package/dist/chunks/{page-arch-node.974674c0.js.LICENSE.txt → page-arch-node.379284ad.js.LICENSE.txt} +0 -0
  148. /package/dist/chunks/{workbench-pane.7e85de42.js.LICENSE.txt → workbench-pane.5c4866a6.js.LICENSE.txt} +0 -0
  149. /package/dist/chunks/{workbench-tree.e71a583f.js.LICENSE.txt → workbench-tree.7097bd88.js.LICENSE.txt} +0 -0
@@ -0,0 +1,141 @@
1
+ ---
2
+ tagName: visual-builder.generate-snippets-context-menu
3
+ displayName: WrappedVisualBuilderGenerateSnippetsContextMenu
4
+ description: 用于 Visual Builder 的代码片段右键上下文菜单,支持拖拽片段到画布,菜单位置自动适配视口边界
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # visual-builder.generate-snippets-context-menu
10
+
11
+ > 用于 Visual Builder 的代码片段右键上下文菜单,支持拖拽片段到画布,菜单位置自动适配视口边界
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | -------- | ----------------- | ---- | ------ | ------------------------------------------------------------- |
17
+ | options | `SnippetOption[]` | 否 | - | 菜单选项列表,每组包含标题和子菜单项 |
18
+ | active | `boolean` | 否 | - | 菜单是否处于激活(显示)状态,通过 open/close 方法控制 |
19
+ | position | `Position` | 否 | - | 菜单显示位置,格式为 `[clientX, clientY]`,超出视口时自动修正 |
20
+
21
+ ## Events
22
+
23
+ | 事件 | detail | 说明 |
24
+ | --------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------ |
25
+ | item.drag.start | `SnippetItem` — { text: 片段文本, icon: 图标, dragConf: { format: 数据格式, data: 数据内容 } } | 用户开始拖拽菜单项时触发 |
26
+ | item.drag.end | `SnippetItem` — { text: 片段文本, icon: 图标, dragConf: { format: 数据格式, data: 数据内容 } } | 用户结束拖拽菜单项时触发,同时菜单自动关闭 |
27
+
28
+ ## Methods
29
+
30
+ | 方法 | 参数 | 返回值 | 说明 |
31
+ | ----- | ---------------------------------- | ------ | ------------------------------ |
32
+ | open | `({ position }: OpenInfo) => void` | `void` | 打开上下文菜单并定位到指定位置 |
33
+ | close | `() => void` | `void` | 关闭上下文菜单 |
34
+
35
+ ## Examples
36
+
37
+ ### Basic
38
+
39
+ 展示代码片段上下文菜单的基本用法,右键点击区域后显示菜单,可拖拽菜单项。
40
+
41
+ ```yaml preview
42
+ - brick: div
43
+ properties:
44
+ textContent: 右键点击此区域打开菜单
45
+ style:
46
+ padding: 40px
47
+ border: 1px dashed #ccc
48
+ textAlign: center
49
+ userSelect: none
50
+ events:
51
+ contextmenu:
52
+ target: "#snippet-menu"
53
+ method: open
54
+ args:
55
+ - position:
56
+ - "<% EVENT.clientX %>"
57
+ - "<% EVENT.clientY %>"
58
+ - brick: visual-builder.generate-snippets-context-menu
59
+ properties:
60
+ id: snippet-menu
61
+ options:
62
+ - title: 基础组件
63
+ children:
64
+ - text: 按钮
65
+ icon:
66
+ lib: antd
67
+ icon: border
68
+ dragConf:
69
+ format: text/plain
70
+ data:
71
+ brick: eo-button
72
+ properties:
73
+ textContent: 新按钮
74
+ - text: 输入框
75
+ icon:
76
+ lib: antd
77
+ icon: edit
78
+ dragConf:
79
+ format: text/plain
80
+ data:
81
+ brick: eo-input
82
+ - title: 布局组件
83
+ children:
84
+ - text: 卡片
85
+ icon:
86
+ lib: antd
87
+ icon: credit-card
88
+ tooltip: 拖拽以添加卡片
89
+ dragConf:
90
+ format: text/plain
91
+ data:
92
+ brick: eo-card
93
+ events:
94
+ item.drag.start:
95
+ action: console.log
96
+ item.drag.end:
97
+ action: console.log
98
+ ```
99
+
100
+ ### With Disabled Items
101
+
102
+ 展示带有禁用状态的菜单项,禁用项不可拖拽。
103
+
104
+ ```yaml preview
105
+ - brick: div
106
+ properties:
107
+ textContent: 右键点击此区域打开菜单(部分选项已禁用)
108
+ style:
109
+ padding: 40px
110
+ border: 1px dashed #ccc
111
+ textAlign: center
112
+ userSelect: none
113
+ events:
114
+ contextmenu:
115
+ target: "#snippet-menu-disabled"
116
+ method: open
117
+ args:
118
+ - position:
119
+ - "<% EVENT.clientX %>"
120
+ - "<% EVENT.clientY %>"
121
+ - brick: visual-builder.generate-snippets-context-menu
122
+ properties:
123
+ id: snippet-menu-disabled
124
+ options:
125
+ - title: 组件列表
126
+ children:
127
+ - text: 按钮(可用)
128
+ icon:
129
+ lib: antd
130
+ icon: border
131
+ dragConf:
132
+ format: text/plain
133
+ data:
134
+ brick: eo-button
135
+ - text: 表格(禁用)
136
+ icon:
137
+ lib: antd
138
+ icon: table
139
+ disabled: true
140
+ tooltip: 该组件在当前场景不可用
141
+ ```
@@ -0,0 +1,134 @@
1
+ ---
2
+ tagName: visual-builder.generate-snippets-context-menu
3
+ displayName: WrappedVisualBuilderGenerateSnippetsContextMenu
4
+ description: 用于 Visual Builder 的代码片段右键上下文菜单,支持拖拽片段到画布,菜单位置自动适配视口边界
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # WrappedVisualBuilderGenerateSnippetsContextMenu
10
+
11
+ > 用于 Visual Builder 的代码片段右键上下文菜单,支持拖拽片段到画布,菜单位置自动适配视口边界
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedVisualBuilderGenerateSnippetsContextMenu } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | -------- | ----------------- | ---- | ------ | ------------------------------------------------------------- |
23
+ | options | `SnippetOption[]` | 否 | - | 菜单选项列表,每组包含标题和子菜单项 |
24
+ | active | `boolean` | 否 | - | 菜单是否处于激活(显示)状态,通过 open/close 方法控制 |
25
+ | position | `Position` | 否 | - | 菜单显示位置,格式为 `[clientX, clientY]`,超出视口时自动修正 |
26
+
27
+ ## Events
28
+
29
+ | 事件 | detail | 说明 |
30
+ | --------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------ |
31
+ | onItemDragStart | `SnippetItem` — { text: 片段文本, icon: 图标, dragConf: { format: 数据格式, data: 数据内容 } } | 用户开始拖拽菜单项时触发 |
32
+ | onItemDragEnd | `SnippetItem` — { text: 片段文本, icon: 图标, dragConf: { format: 数据格式, data: 数据内容 } } | 用户结束拖拽菜单项时触发,同时菜单自动关闭 |
33
+
34
+ ## Methods
35
+
36
+ | 方法 | 参数 | 返回值 | 说明 |
37
+ | ----- | ---------------------------------- | ------ | ------------------------------ |
38
+ | open | `({ position }: OpenInfo) => void` | `void` | 打开上下文菜单并定位到指定位置 |
39
+ | close | `() => void` | `void` | 关闭上下文菜单 |
40
+
41
+ ## Examples
42
+
43
+ ### Basic
44
+
45
+ 展示代码片段上下文菜单的基本用法,右键点击区域后显示菜单,可拖拽菜单项。
46
+
47
+ ```tsx
48
+ const menuRef = useRef<any>();
49
+
50
+ <div
51
+ style={{ padding: "40px", border: "1px dashed #ccc", textAlign: "center", userSelect: "none" }}
52
+ onContextMenu={(e) => {
53
+ e.preventDefault();
54
+ menuRef.current?.open({ position: [e.clientX, e.clientY] });
55
+ }}
56
+ >
57
+ 右键点击此区域打开菜单
58
+ </div>
59
+ <WrappedVisualBuilderGenerateSnippetsContextMenu
60
+ ref={menuRef}
61
+ options={[
62
+ {
63
+ title: "基础组件",
64
+ children: [
65
+ {
66
+ text: "按钮",
67
+ icon: { lib: "antd", icon: "border" },
68
+ dragConf: {
69
+ format: "text/plain",
70
+ data: { brick: "eo-button", properties: { textContent: "新按钮" } },
71
+ },
72
+ },
73
+ {
74
+ text: "输入框",
75
+ icon: { lib: "antd", icon: "edit" },
76
+ dragConf: { format: "text/plain", data: { brick: "eo-input" } },
77
+ },
78
+ ],
79
+ },
80
+ {
81
+ title: "布局组件",
82
+ children: [
83
+ {
84
+ text: "卡片",
85
+ icon: { lib: "antd", icon: "credit-card" },
86
+ tooltip: "拖拽以添加卡片",
87
+ dragConf: { format: "text/plain", data: { brick: "eo-card" } },
88
+ },
89
+ ],
90
+ },
91
+ ]}
92
+ onItemDragStart={(e) => console.log(e.detail)}
93
+ onItemDragEnd={(e) => console.log(e.detail)}
94
+ />
95
+ ```
96
+
97
+ ### With Disabled Items
98
+
99
+ 展示带有禁用状态的菜单项,禁用项不可拖拽。
100
+
101
+ ```tsx
102
+ const menuRef = useRef<any>();
103
+
104
+ <div
105
+ style={{ padding: "40px", border: "1px dashed #ccc", textAlign: "center", userSelect: "none" }}
106
+ onContextMenu={(e) => {
107
+ e.preventDefault();
108
+ menuRef.current?.open({ position: [e.clientX, e.clientY] });
109
+ }}
110
+ >
111
+ 右键点击此区域打开菜单(部分选项已禁用)
112
+ </div>
113
+ <WrappedVisualBuilderGenerateSnippetsContextMenu
114
+ ref={menuRef}
115
+ options={[
116
+ {
117
+ title: "组件列表",
118
+ children: [
119
+ {
120
+ text: "按钮(可用)",
121
+ icon: { lib: "antd", icon: "border" },
122
+ dragConf: { format: "text/plain", data: { brick: "eo-button" } },
123
+ },
124
+ {
125
+ text: "表格(禁用)",
126
+ icon: { lib: "antd", icon: "table" },
127
+ disabled: true,
128
+ tooltip: "该组件在当前场景不可用",
129
+ },
130
+ ],
131
+ },
132
+ ]}
133
+ />
134
+ ```
@@ -1,9 +1,48 @@
1
- 构件 `visual-builder.page-arch-node`
1
+ ---
2
+ tagName: visual-builder.page-arch-node
3
+ displayName: WrappedVisualBuilderPageArchNode
4
+ description: Visual Builder 页面架构图节点,支持页面(page)和看板(board)两种类型,可内联编辑标签、追加子节点、显示外链和子节点
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # visual-builder.page-arch-node
10
+
11
+ > Visual Builder 页面架构图节点,支持页面(page)和看板(board)两种类型,可内联编辑标签、追加子节点、显示外链和子节点
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ------------------ | ------------------- | ---- | ------ | ---------------------------------------------------------------------------------------- |
17
+ | label | `string` | 否 | - | 节点标签文字,支持内联双击编辑 |
18
+ | type | `"page" \| "board"` | 否 | - | 节点类型,"page" 渲染为页面缩略图样式(高 130px),"board" 渲染为列表图标样式(高 70px) |
19
+ | external | `ExtraNodeData` | 否 | - | 外部链接节点数据,仅 type="page" 时显示,点击触发 external.click 事件 |
20
+ | subNodes | `ExtraNodeData[]` | 否 | - | 子节点列表,仅 type="page" 时显示,每个子节点可双击和右键操作 |
21
+ | active | `boolean` | 否 | - | 是否为当前激活节点,仅控制 CSS 样式(render: false),不触发重新渲染 |
22
+ | notSynced | `boolean` | 否 | - | 是否标记为未同步状态,仅控制 CSS 样式(render: false),不触发重新渲染 |
23
+ | disableChildAppend | `boolean` | 否 | - | 是否禁用追加子节点按钮,仅控制 CSS 样式(render: false),不触发重新渲染 |
24
+ | autoFocusOnce | `string` | 否 | - | 自动聚焦标识符,设置后节点首次挂载时会自动进入标签编辑模式,同一标识符只触发一次 |
25
+
26
+ ## Events
27
+
28
+ | 事件 | detail | 说明 |
29
+ | -------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
30
+ | label.editing.change | `boolean` — 当前标签是否正在编辑 | 节点标签编辑状态变化时触发 |
31
+ | label.change | `string` — 编辑完成后的新标签文字 | 节点标签编辑完成(失焦)后触发 |
32
+ | node.click | `void` | 点击节点主体区域时触发 |
33
+ | node.dblclick | `void` | 双击节点主体区域时触发 |
34
+ | node.contextmenu | `ContextMenuDetail` — { clientX: 鼠标 X 坐标, clientY: 鼠标 Y 坐标 } | 在节点上触发右键菜单时触发 |
35
+ | child.append | `void` | 点击节点的添加子节点按钮时触发 |
36
+ | external.click | `ExtraNodeData` — { id: 外链节点 ID, label: 外链节点标签 } | 点击节点的外链区域时触发 |
37
+ | subNode.dblclick | `ExtraNodeData` — { id: 子节点 ID, label: 子节点标签 } | 双击子节点时触发 |
38
+ | subNode.contextmenu | `SubNodeContextMenuData` — { node: { id: 子节点 ID, label: 子节点标签 }, clientX: 鼠标 X 坐标, clientY: 鼠标 Y 坐标 } | 在子节点上触发右键菜单时触发 |
2
39
 
3
40
  ## Examples
4
41
 
5
42
  ### Basic
6
43
 
44
+ 展示页面架构图节点的基本用法,包含节点标签和页面类型。
45
+
7
46
  ```yaml preview
8
47
  brick: visual-builder.page-arch-node
9
48
  properties:
@@ -11,8 +50,21 @@ properties:
11
50
  type: page
12
51
  ```
13
52
 
53
+ ### Board Type
54
+
55
+ 展示看板类型节点,渲染为带列表图标的简洁样式。
56
+
57
+ ```yaml preview
58
+ brick: visual-builder.page-arch-node
59
+ properties:
60
+ label: 看板视图
61
+ type: board
62
+ ```
63
+
14
64
  ### With SubNodes
15
65
 
66
+ 展示包含子节点的页面节点,子节点以骨架屏样式列于节点内部。
67
+
16
68
  ```yaml preview
17
69
  brick: visual-builder.page-arch-node
18
70
  properties:
@@ -22,3 +74,37 @@ properties:
22
74
  - label: 详情
23
75
  id: detail
24
76
  ```
77
+
78
+ ### With External Link
79
+
80
+ 展示带外链节点的页面节点,外链区域可点击触发跳转事件。
81
+
82
+ ```yaml preview
83
+ brick: visual-builder.page-arch-node
84
+ properties:
85
+ label: 主机列表
86
+ type: page
87
+ external:
88
+ id: host-detail
89
+ label: 主机详情
90
+ subNodes:
91
+ - label: IP 列
92
+ id: ip-col
93
+ - label: 主机名列
94
+ id: hostname-col
95
+ events:
96
+ label.change:
97
+ action: console.log
98
+ node.click:
99
+ action: console.log
100
+ child.append:
101
+ action: console.log
102
+ external.click:
103
+ action: console.log
104
+ subNode.dblclick:
105
+ action: console.log
106
+ subNode.contextmenu:
107
+ action: console.log
108
+ node.contextmenu:
109
+ action: console.log
110
+ ```
@@ -0,0 +1,97 @@
1
+ ---
2
+ tagName: visual-builder.page-arch-node
3
+ displayName: WrappedVisualBuilderPageArchNode
4
+ description: Visual Builder 页面架构图节点,支持页面(page)和看板(board)两种类型,可内联编辑标签、追加子节点、显示外链和子节点
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # WrappedVisualBuilderPageArchNode
10
+
11
+ > Visual Builder 页面架构图节点,支持页面(page)和看板(board)两种类型,可内联编辑标签、追加子节点、显示外链和子节点
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedVisualBuilderPageArchNode } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | ------------------ | ------------------- | ---- | ------ | ---------------------------------------------------------------------------------------- |
23
+ | label | `string` | 否 | - | 节点标签文字,支持内联双击编辑 |
24
+ | type | `"page" \| "board"` | 否 | - | 节点类型,"page" 渲染为页面缩略图样式(高 130px),"board" 渲染为列表图标样式(高 70px) |
25
+ | external | `ExtraNodeData` | 否 | - | 外部链接节点数据,仅 type="page" 时显示,点击触发 external.click 事件 |
26
+ | subNodes | `ExtraNodeData[]` | 否 | - | 子节点列表,仅 type="page" 时显示,每个子节点可双击和右键操作 |
27
+ | active | `boolean` | 否 | - | 是否为当前激活节点,仅控制 CSS 样式(render: false),不触发重新渲染 |
28
+ | notSynced | `boolean` | 否 | - | 是否标记为未同步状态,仅控制 CSS 样式(render: false),不触发重新渲染 |
29
+ | disableChildAppend | `boolean` | 否 | - | 是否禁用追加子节点按钮,仅控制 CSS 样式(render: false),不触发重新渲染 |
30
+ | autoFocusOnce | `string` | 否 | - | 自动聚焦标识符,设置后节点首次挂载时会自动进入标签编辑模式,同一标识符只触发一次 |
31
+
32
+ ## Events
33
+
34
+ | 事件 | detail | 说明 |
35
+ | -------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
36
+ | onLabelEditingChange | `boolean` — 当前标签是否正在编辑 | 节点标签编辑状态变化时触发 |
37
+ | onLabelChange | `string` — 编辑完成后的新标签文字 | 节点标签编辑完成(失焦)后触发 |
38
+ | onNodeClick | `void` | 点击节点主体区域时触发 |
39
+ | onNodeDblclick | `void` | 双击节点主体区域时触发 |
40
+ | onNodeContextmenu | `ContextMenuDetail` — { clientX: 鼠标 X 坐标, clientY: 鼠标 Y 坐标 } | 在节点上触发右键菜单时触发 |
41
+ | onChildAppend | `void` | 点击节点的添加子节点按钮时触发 |
42
+ | onExternalClick | `ExtraNodeData` — { id: 外链节点 ID, label: 外链节点标签 } | 点击节点的外链区域时触发 |
43
+ | onSubNodeDblclick | `ExtraNodeData` — { id: 子节点 ID, label: 子节点标签 } | 双击子节点时触发 |
44
+ | onSubNodeContextmenu | `SubNodeContextMenuData` — { node: { id: 子节点 ID, label: 子节点标签 }, clientX: 鼠标 X 坐标, clientY: 鼠标 Y 坐标 } | 在子节点上触发右键菜单时触发 |
45
+
46
+ ## Examples
47
+
48
+ ### Basic
49
+
50
+ 展示页面架构图节点的基本用法,包含节点标签和页面类型。
51
+
52
+ ```tsx
53
+ <WrappedVisualBuilderPageArchNode label="名称" type="page" />
54
+ ```
55
+
56
+ ### Board Type
57
+
58
+ 展示看板类型节点,渲染为带列表图标的简洁样式。
59
+
60
+ ```tsx
61
+ <WrappedVisualBuilderPageArchNode label="看板视图" type="board" />
62
+ ```
63
+
64
+ ### With SubNodes
65
+
66
+ 展示包含子节点的页面节点,子节点以骨架屏样式列于节点内部。
67
+
68
+ ```tsx
69
+ <WrappedVisualBuilderPageArchNode
70
+ label="列表"
71
+ type="page"
72
+ subNodes={[{ label: "详情", id: "detail" }]}
73
+ />
74
+ ```
75
+
76
+ ### With External Link
77
+
78
+ 展示带外链节点的页面节点,外链区域可点击触发跳转事件。
79
+
80
+ ```tsx
81
+ <WrappedVisualBuilderPageArchNode
82
+ label="主机列表"
83
+ type="page"
84
+ external={{ id: "host-detail", label: "主机详情" }}
85
+ subNodes={[
86
+ { label: "IP 列", id: "ip-col" },
87
+ { label: "主机名列", id: "hostname-col" },
88
+ ]}
89
+ onLabelChange={(e) => console.log(e.detail)}
90
+ onNodeClick={(e) => console.log(e.detail)}
91
+ onChildAppend={(e) => console.log(e.detail)}
92
+ onExternalClick={(e) => console.log(e.detail)}
93
+ onSubNodeDblclick={(e) => console.log(e.detail)}
94
+ onSubNodeContextmenu={(e) => console.log(e.detail)}
95
+ onNodeContextmenu={(e) => console.log(e.detail)}
96
+ />
97
+ ```
@@ -0,0 +1,74 @@
1
+ ---
2
+ tagName: visual-builder.pre-generated-config-preview
3
+ displayName: WrappedVisualBuilderPreGeneratedConfigPreview
4
+ description: AI 预生成配置预览构件,在 iframe 中将属性列表渲染为表格或描述列表,用于直观展示配置结果
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # visual-builder.pre-generated-config-preview
10
+
11
+ > AI 预生成配置预览构件,在 iframe 中将属性列表渲染为表格或描述列表,用于直观展示配置结果
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ---------- | --------------------------- | ---- | ------ | --------------------------------------------------------------------------- |
17
+ | previewUrl | `string` | 否 | - | 预览 iframe 的地址,默认使用内置预览地址 |
18
+ | container | `"table" \| "descriptions"` | 否 | - | 容器类型,"table" 渲染为表格,"descriptions" 渲染为描述列表,默认为 "table" |
19
+ | attrList | `ObjectAttr[]` | 否 | - | 属性列表,每项包含 id、name,以及可选的可视化配置 |
20
+ | mockList | `Record<string, unknown>[]` | 否 | - | 模拟数据列表,用于填充预览中的真实数据 |
21
+
22
+ ## Examples
23
+
24
+ ### Table Preview
25
+
26
+ 以表格形式预览属性列表配置。
27
+
28
+ ```yaml preview
29
+ brick: visual-builder.pre-generated-config-preview
30
+ properties:
31
+ container: table
32
+ attrList:
33
+ - id: name
34
+ name: 名称
35
+ - id: ip
36
+ name: IP 地址
37
+ - id: status
38
+ name: 运营状态
39
+ - id: createTime
40
+ name: 创建时间
41
+ mockList:
42
+ - name: 主机-001
43
+ ip: "192.168.1.1"
44
+ status: 运行中
45
+ createTime: "2024-01-01"
46
+ - name: 主机-002
47
+ ip: "192.168.1.2"
48
+ status: 已停止
49
+ createTime: "2024-01-02"
50
+ ```
51
+
52
+ ### Descriptions Preview
53
+
54
+ 以描述列表形式预览属性配置,适合展示单条记录的详细信息。
55
+
56
+ ```yaml preview
57
+ brick: visual-builder.pre-generated-config-preview
58
+ properties:
59
+ container: descriptions
60
+ attrList:
61
+ - id: name
62
+ name: 名称
63
+ - id: ip
64
+ name: IP 地址
65
+ - id: status
66
+ name: 运营状态
67
+ - id: createTime
68
+ name: 创建时间
69
+ mockList:
70
+ - name: 主机-001
71
+ ip: "192.168.1.1"
72
+ status: 运行中
73
+ createTime: "2024-01-01"
74
+ ```
@@ -0,0 +1,82 @@
1
+ ---
2
+ tagName: visual-builder.pre-generated-config-preview
3
+ displayName: WrappedVisualBuilderPreGeneratedConfigPreview
4
+ description: AI 预生成配置预览构件,在 iframe 中将属性列表渲染为表格或描述列表,用于直观展示配置结果
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # WrappedVisualBuilderPreGeneratedConfigPreview
10
+
11
+ > AI 预生成配置预览构件,在 iframe 中将属性列表渲染为表格或描述列表,用于直观展示配置结果
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedVisualBuilderPreGeneratedConfigPreview } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | ---------- | --------------------------- | ---- | ------ | --------------------------------------------------------------------------- |
23
+ | previewUrl | `string` | 否 | - | 预览 iframe 的地址,默认使用内置预览地址 |
24
+ | container | `"table" \| "descriptions"` | 否 | - | 容器类型,"table" 渲染为表格,"descriptions" 渲染为描述列表,默认为 "table" |
25
+ | attrList | `ObjectAttr[]` | 否 | - | 属性列表,每项包含 id、name,以及可选的可视化配置 |
26
+ | mockList | `Record<string, unknown>[]` | 否 | - | 模拟数据列表,用于填充预览中的真实数据 |
27
+
28
+ ## Examples
29
+
30
+ ### Table Preview
31
+
32
+ 以表格形式预览属性列表配置。
33
+
34
+ ```tsx
35
+ <WrappedVisualBuilderPreGeneratedConfigPreview
36
+ container="table"
37
+ attrList={[
38
+ { id: "name", name: "名称" },
39
+ { id: "ip", name: "IP 地址" },
40
+ { id: "status", name: "运营状态" },
41
+ { id: "createTime", name: "创建时间" },
42
+ ]}
43
+ mockList={[
44
+ {
45
+ name: "主机-001",
46
+ ip: "192.168.1.1",
47
+ status: "运行中",
48
+ createTime: "2024-01-01",
49
+ },
50
+ {
51
+ name: "主机-002",
52
+ ip: "192.168.1.2",
53
+ status: "已停止",
54
+ createTime: "2024-01-02",
55
+ },
56
+ ]}
57
+ />
58
+ ```
59
+
60
+ ### Descriptions Preview
61
+
62
+ 以描述列表形式预览属性配置,适合展示单条记录的详细信息。
63
+
64
+ ```tsx
65
+ <WrappedVisualBuilderPreGeneratedConfigPreview
66
+ container="descriptions"
67
+ attrList={[
68
+ { id: "name", name: "名称" },
69
+ { id: "ip", name: "IP 地址" },
70
+ { id: "status", name: "运营状态" },
71
+ { id: "createTime", name: "创建时间" },
72
+ ]}
73
+ mockList={[
74
+ {
75
+ name: "主机-001",
76
+ ip: "192.168.1.1",
77
+ status: "运行中",
78
+ createTime: "2024-01-01",
79
+ },
80
+ ]}
81
+ />
82
+ ```