@next-bricks/visual-builder 1.39.16 → 1.39.17

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 (114) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/{5522.678c03f6.js → 4577.f016e9de.js} +3 -3
  3. package/dist/chunks/4577.f016e9de.js.map +1 -0
  4. package/dist/chunks/7085.3c330b29.js +3 -0
  5. package/dist/chunks/7085.3c330b29.js.map +1 -0
  6. package/dist/chunks/9653.ac443b19.js +2 -0
  7. package/dist/chunks/9653.ac443b19.js.map +1 -0
  8. package/dist/chunks/chat-conversation.0ffc333f.js.map +1 -1
  9. package/dist/chunks/chat-preview.36976c55.js.map +1 -1
  10. package/dist/chunks/contract-select.252b9e45.js +3 -0
  11. package/dist/chunks/contract-select.252b9e45.js.map +1 -0
  12. package/dist/chunks/generate-snippets-context-menu.56acf448.js.map +1 -1
  13. package/dist/chunks/{main.819ae305.js → main.1cb52df3.js} +2 -2
  14. package/dist/chunks/{main.819ae305.js.map → main.1cb52df3.js.map} +1 -1
  15. package/dist/chunks/page-arch-node.379284ad.js +3 -0
  16. package/dist/chunks/page-arch-node.379284ad.js.map +1 -0
  17. package/dist/chunks/pre-generated-config-preview.cfbc2a1e.js.map +1 -1
  18. package/dist/chunks/pre-generated-config.a027788b.js.map +1 -1
  19. package/dist/chunks/pre-generated-container.dcfa8cc9.js.map +1 -1
  20. package/dist/chunks/pre-generated-preview.8e699675.js.map +1 -1
  21. package/dist/chunks/pre-generated-table-view.8a9d5527.js.map +1 -1
  22. package/dist/chunks/property-editor.dea9895b.js +2 -0
  23. package/dist/chunks/property-editor.dea9895b.js.map +1 -0
  24. package/dist/chunks/raw-data-preview.0bf12da3.js.map +1 -1
  25. package/dist/chunks/raw-metric-preview.c503481e.js.map +1 -1
  26. package/dist/chunks/workbench-action-list.c67329ed.js.map +1 -1
  27. package/dist/chunks/workbench-action.5b993227.js.map +1 -1
  28. package/dist/chunks/workbench-pane.5c4866a6.js +3 -0
  29. package/dist/chunks/workbench-pane.5c4866a6.js.map +1 -0
  30. package/dist/chunks/workbench-sidebar.01731e99.js.map +1 -1
  31. package/dist/chunks/{workbench-tree.e71a583f.js → workbench-tree.7097bd88.js} +3 -3
  32. package/dist/chunks/workbench-tree.7097bd88.js.map +1 -0
  33. package/dist/examples.json +47 -5
  34. package/dist/{index.e12e6fc9.js → index.93f39de8.js} +2 -2
  35. package/dist/{index.e12e6fc9.js.map → index.93f39de8.js.map} +1 -1
  36. package/dist/manifest.json +182 -28
  37. package/dist/types.json +1 -1
  38. package/dist-types/chat-conversation/index.d.ts +7 -1
  39. package/dist-types/chat-preview/index.d.ts +20 -1
  40. package/dist-types/contract-select/index.d.ts +16 -1
  41. package/dist-types/generate-snippets-context-menu/index.d.ts +17 -1
  42. package/dist-types/page-arch-node/index.d.ts +25 -1
  43. package/dist-types/pre-generated-config/index.d.ts +16 -1
  44. package/dist-types/pre-generated-config-preview/index.d.ts +13 -1
  45. package/dist-types/pre-generated-container/index.d.ts +3 -1
  46. package/dist-types/pre-generated-preview/index.d.ts +6 -1
  47. package/dist-types/pre-generated-table-view/index.d.ts +1 -1
  48. package/dist-types/property-editor/index.d.ts +10 -4
  49. package/dist-types/raw-data-preview/index.d.ts +9 -1
  50. package/dist-types/raw-metric-preview/index.d.ts +8 -1
  51. package/dist-types/workbench-action/index.d.ts +7 -0
  52. package/dist-types/workbench-action-list/index.d.ts +3 -0
  53. package/dist-types/workbench-pane/index.d.ts +4 -0
  54. package/dist-types/workbench-sidebar/index.d.ts +2 -0
  55. package/dist-types/workbench-tree/index.d.ts +19 -6
  56. package/docs/chat-conversation.md +51 -31
  57. package/docs/chat-conversation.react.md +115 -0
  58. package/docs/chat-preview.md +83 -0
  59. package/docs/chat-preview.react.md +105 -0
  60. package/docs/contract-select.md +97 -0
  61. package/docs/contract-select.react.md +95 -0
  62. package/docs/generate-snippets-context-menu.md +141 -0
  63. package/docs/generate-snippets-context-menu.react.md +134 -0
  64. package/docs/page-arch-node.md +87 -1
  65. package/docs/page-arch-node.react.md +97 -0
  66. package/docs/pre-generated-config-preview.md +74 -0
  67. package/docs/pre-generated-config-preview.react.md +82 -0
  68. package/docs/pre-generated-config.md +96 -0
  69. package/docs/pre-generated-config.react.md +78 -0
  70. package/docs/pre-generated-container.md +56 -0
  71. package/docs/pre-generated-container.react.md +62 -0
  72. package/docs/pre-generated-preview.md +83 -0
  73. package/docs/pre-generated-preview.react.md +92 -0
  74. package/docs/pre-generated-table-view.md +46 -0
  75. package/docs/pre-generated-table-view.react.md +36 -0
  76. package/docs/property-editor.md +44 -1
  77. package/docs/property-editor.react.md +97 -0
  78. package/docs/raw-data-preview.md +75 -1643
  79. package/docs/raw-data-preview.react.md +154 -0
  80. package/docs/raw-metric-preview.md +93 -0
  81. package/docs/raw-metric-preview.react.md +94 -0
  82. package/docs/workbench-action-list.md +80 -0
  83. package/docs/workbench-action-list.react.md +85 -0
  84. package/docs/workbench-action.md +80 -0
  85. package/docs/workbench-action.react.md +76 -0
  86. package/docs/workbench-history-action.md +42 -1
  87. package/docs/workbench-history-action.react.md +54 -0
  88. package/docs/workbench-pane.md +105 -0
  89. package/docs/workbench-pane.react.md +90 -0
  90. package/docs/workbench-sidebar.md +88 -0
  91. package/docs/workbench-sidebar.react.md +66 -0
  92. package/docs/workbench-tree.md +217 -0
  93. package/docs/workbench-tree.react.md +180 -0
  94. package/package.json +2 -2
  95. package/dist/chunks/5522.678c03f6.js.map +0 -1
  96. package/dist/chunks/7085.c58ac475.js +0 -3
  97. package/dist/chunks/7085.c58ac475.js.map +0 -1
  98. package/dist/chunks/9653.39737577.js +0 -2
  99. package/dist/chunks/9653.39737577.js.map +0 -1
  100. package/dist/chunks/contract-select.ff891ded.js +0 -3
  101. package/dist/chunks/contract-select.ff891ded.js.map +0 -1
  102. package/dist/chunks/page-arch-node.974674c0.js +0 -3
  103. package/dist/chunks/page-arch-node.974674c0.js.map +0 -1
  104. package/dist/chunks/property-editor.6de6adf4.js +0 -2
  105. package/dist/chunks/property-editor.6de6adf4.js.map +0 -1
  106. package/dist/chunks/workbench-pane.7e85de42.js +0 -3
  107. package/dist/chunks/workbench-pane.7e85de42.js.map +0 -1
  108. package/dist/chunks/workbench-tree.e71a583f.js.map +0 -1
  109. /package/dist/chunks/{5522.678c03f6.js.LICENSE.txt → 4577.f016e9de.js.LICENSE.txt} +0 -0
  110. /package/dist/chunks/{7085.c58ac475.js.LICENSE.txt → 7085.3c330b29.js.LICENSE.txt} +0 -0
  111. /package/dist/chunks/{contract-select.ff891ded.js.LICENSE.txt → contract-select.252b9e45.js.LICENSE.txt} +0 -0
  112. /package/dist/chunks/{page-arch-node.974674c0.js.LICENSE.txt → page-arch-node.379284ad.js.LICENSE.txt} +0 -0
  113. /package/dist/chunks/{workbench-pane.7e85de42.js.LICENSE.txt → workbench-pane.5c4866a6.js.LICENSE.txt} +0 -0
  114. /package/dist/chunks/{workbench-tree.e71a583f.js.LICENSE.txt → workbench-tree.7097bd88.js.LICENSE.txt} +0 -0
@@ -0,0 +1,56 @@
1
+ ---
2
+ tagName: visual-builder.pre-generated-container
3
+ displayName: WrappedVisualBuilderPreGeneratedContainer
4
+ description: 预生成编排容器,使用 useBrick 渲染指定的构件配置,并将 dataSource 作为数据传入
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # visual-builder.pre-generated-container
10
+
11
+ > 预生成编排容器,使用 useBrick 渲染指定的构件配置,并将 dataSource 作为数据传入
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ---------- | -------------- | ---- | ------ | ---------------- |
17
+ | useBrick | `UseBrickConf` | 否 | - | 要渲染的构件配置 |
18
+ | dataSource | `unknown` | 否 | - | 传入构件的数据 |
19
+
20
+ ## Examples
21
+
22
+ ### Basic
23
+
24
+ 使用 useBrick 配置渲染一个简单的文本构件,并通过 dataSource 注入数据。
25
+
26
+ ```yaml preview
27
+ brick: visual-builder.pre-generated-container
28
+ properties:
29
+ useBrick:
30
+ brick: span
31
+ properties:
32
+ textContent: "<% DATA.label %>"
33
+ dataSource:
34
+ label: Hello World
35
+ ```
36
+
37
+ ### 渲染列表构件
38
+
39
+ 通过 useBrick 渲染列表构件,将 dataSource 传递给列表。
40
+
41
+ ```yaml preview
42
+ brick: visual-builder.pre-generated-container
43
+ properties:
44
+ useBrick:
45
+ brick: eo-descriptions
46
+ properties:
47
+ list:
48
+ - label: 名称
49
+ field: name
50
+ - label: 状态
51
+ field: status
52
+ dataSource: "<% DATA %>"
53
+ dataSource:
54
+ name: 示例对象
55
+ status: 运行中
56
+ ```
@@ -0,0 +1,62 @@
1
+ ---
2
+ tagName: visual-builder.pre-generated-container
3
+ displayName: WrappedVisualBuilderPreGeneratedContainer
4
+ description: 预生成编排容器,使用 useBrick 渲染指定的构件配置,并将 dataSource 作为数据传入
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # WrappedVisualBuilderPreGeneratedContainer
10
+
11
+ > 预生成编排容器,使用 useBrick 渲染指定的构件配置,并将 dataSource 作为数据传入
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedVisualBuilderPreGeneratedContainer } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | ---------- | -------------- | ---- | ------ | ---------------- |
23
+ | useBrick | `UseBrickConf` | 否 | - | 要渲染的构件配置 |
24
+ | dataSource | `unknown` | 否 | - | 传入构件的数据 |
25
+
26
+ ## Examples
27
+
28
+ ### Basic
29
+
30
+ 使用 useBrick 配置渲染一个简单的文本构件,并通过 dataSource 注入数据。
31
+
32
+ ```tsx
33
+ <WrappedVisualBuilderPreGeneratedContainer
34
+ useBrick={{
35
+ brick: "span",
36
+ properties: {
37
+ textContent: "<% DATA.label %>",
38
+ },
39
+ }}
40
+ dataSource={{ label: "Hello World" }}
41
+ />
42
+ ```
43
+
44
+ ### 渲染列表构件
45
+
46
+ 通过 useBrick 渲染列表构件,将 dataSource 传递给列表。
47
+
48
+ ```tsx
49
+ <WrappedVisualBuilderPreGeneratedContainer
50
+ useBrick={{
51
+ brick: "eo-descriptions",
52
+ properties: {
53
+ list: [
54
+ { label: "名称", field: "name" },
55
+ { label: "状态", field: "status" },
56
+ ],
57
+ dataSource: "<% DATA %>",
58
+ },
59
+ }}
60
+ dataSource={{ name: "示例对象", status: "运行中" }}
61
+ />
62
+ ```
@@ -0,0 +1,83 @@
1
+ ---
2
+ tagName: visual-builder.pre-generated-preview
3
+ displayName: WrappedVisualBuilderPreGeneratedPreview
4
+ description: 预生成编排预览,在 iframe 中渲染属性生成结果的对比表格
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # visual-builder.pre-generated-preview
10
+
11
+ > 预生成编排预览,在 iframe 中渲染属性生成结果的对比表格
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ----------- | ------------------------------------------------------------------------------------------- | ---- | --------- | -------------------------------- |
17
+ | generations | `AttributeGeneration[]` | 否 | - | 属性生成数据列表 |
18
+ | category | `"detail-item" \| "form-item" \| "table-column" \| "card-item" \| "metric-item" \| "value"` | 否 | `"value"` | 预览分类,影响数据容器的渲染方式 |
19
+ | theme | `string` | 否 | - | 预览主题 |
20
+ | uiVersion | `string` | 否 | - | UI 版本 |
21
+ | app | `MicroApp` | 否 | - | 微应用信息 |
22
+
23
+ ## Examples
24
+
25
+ ### Basic
26
+
27
+ 展示属性生成编排的对比表格预览,按展示等级分列渲染不同视觉重量的编排。
28
+
29
+ ```yaml preview minHeight="400px"
30
+ brick: visual-builder.pre-generated-preview
31
+ properties:
32
+ theme: <% THEME.getTheme() %>
33
+ uiVersion: "8.2"
34
+ category: detail-item
35
+ generations:
36
+ - instanceId: abc001
37
+ objectId: HOST
38
+ propertyId: hostname
39
+ propertyName: 主机名
40
+ displayLevel: 0
41
+ rwType: string
42
+ category: detail-item
43
+ mockData:
44
+ - server-01
45
+ - web-server-02
46
+ storyboard:
47
+ brick: span
48
+ properties:
49
+ textContent: "<% DATA.hostname %>"
50
+ ```
51
+
52
+ ### Form Item 预览
53
+
54
+ 以表单项模式预览生成的编排,适用于表单输入场景。
55
+
56
+ ```yaml preview minHeight="400px"
57
+ brick: visual-builder.pre-generated-preview
58
+ properties:
59
+ theme: <% THEME.getTheme() %>
60
+ uiVersion: "8.2"
61
+ category: form-item
62
+ generations:
63
+ - instanceId: abc002
64
+ objectId: HOST
65
+ propertyId: status
66
+ propertyName: 状态
67
+ displayLevel: 1
68
+ rwType: enum
69
+ category: form-item
70
+ mockData:
71
+ - running
72
+ - stopped
73
+ storyboard:
74
+ brick: eo-select
75
+ properties:
76
+ name: status
77
+ label: 状态
78
+ options:
79
+ - label: 运行中
80
+ value: running
81
+ - label: 已停止
82
+ value: stopped
83
+ ```
@@ -0,0 +1,92 @@
1
+ ---
2
+ tagName: visual-builder.pre-generated-preview
3
+ displayName: WrappedVisualBuilderPreGeneratedPreview
4
+ description: 预生成编排预览,在 iframe 中渲染属性生成结果的对比表格
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # WrappedVisualBuilderPreGeneratedPreview
10
+
11
+ > 预生成编排预览,在 iframe 中渲染属性生成结果的对比表格
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedVisualBuilderPreGeneratedPreview } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | ----------- | ------------------------------------------------------------------------------------------- | ---- | --------- | -------------------------------- |
23
+ | generations | `AttributeGeneration[]` | 否 | - | 属性生成数据列表 |
24
+ | category | `"detail-item" \| "form-item" \| "table-column" \| "card-item" \| "metric-item" \| "value"` | 否 | `"value"` | 预览分类,影响数据容器的渲染方式 |
25
+ | theme | `string` | 否 | - | 预览主题 |
26
+ | uiVersion | `string` | 否 | - | UI 版本 |
27
+ | app | `MicroApp` | 否 | - | 微应用信息 |
28
+
29
+ ## Examples
30
+
31
+ ### Basic
32
+
33
+ 展示属性生成编排的对比表格预览,按展示等级分列渲染不同视觉重量的编排。
34
+
35
+ ```tsx
36
+ <WrappedVisualBuilderPreGeneratedPreview
37
+ theme="light"
38
+ uiVersion="8.2"
39
+ category="detail-item"
40
+ generations={[
41
+ {
42
+ instanceId: "abc001",
43
+ objectId: "HOST",
44
+ propertyId: "hostname",
45
+ propertyName: "主机名",
46
+ displayLevel: 0,
47
+ rwType: "string",
48
+ category: "detail-item",
49
+ mockData: ["server-01", "web-server-02"],
50
+ storyboard: {
51
+ brick: "span",
52
+ properties: { textContent: "<% DATA.hostname %>" },
53
+ },
54
+ },
55
+ ]}
56
+ />
57
+ ```
58
+
59
+ ### Form Item 预览
60
+
61
+ 以表单项模式预览生成的编排,适用于表单输入场景。
62
+
63
+ ```tsx
64
+ <WrappedVisualBuilderPreGeneratedPreview
65
+ theme="light"
66
+ uiVersion="8.2"
67
+ category="form-item"
68
+ generations={[
69
+ {
70
+ instanceId: "abc002",
71
+ objectId: "HOST",
72
+ propertyId: "status",
73
+ propertyName: "状态",
74
+ displayLevel: 1,
75
+ rwType: "enum",
76
+ category: "form-item",
77
+ mockData: ["running", "stopped"],
78
+ storyboard: {
79
+ brick: "eo-select",
80
+ properties: {
81
+ name: "status",
82
+ label: "状态",
83
+ options: [
84
+ { label: "运行中", value: "running" },
85
+ { label: "已停止", value: "stopped" },
86
+ ],
87
+ },
88
+ },
89
+ },
90
+ ]}
91
+ />
92
+ ```
@@ -0,0 +1,46 @@
1
+ ---
2
+ tagName: visual-builder.pre-generated-table-view
3
+ displayName: WrappedVisualBuilderPreGeneratedTableView
4
+ description: 预生成编排表格视图,使用 CSS Grid 布局渲染子构件
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # visual-builder.pre-generated-table-view
10
+
11
+ > 预生成编排表格视图,使用 CSS Grid 布局渲染子构件
12
+
13
+ ## Examples
14
+
15
+ ### Basic
16
+
17
+ 使用 CSS Grid 布局将子构件排列成表格,通过 style 属性定义列宽。
18
+
19
+ ```yaml preview
20
+ brick: visual-builder.pre-generated-table-view
21
+ properties:
22
+ style:
23
+ gridTemplateColumns: "120px 1fr 1fr"
24
+ children:
25
+ - brick: div
26
+ properties:
27
+ textContent: 列1标题
28
+ className: head-cell
29
+ - brick: div
30
+ properties:
31
+ textContent: 列2标题
32
+ className: head-cell
33
+ - brick: div
34
+ properties:
35
+ textContent: 列3标题
36
+ className: head-cell
37
+ - brick: div
38
+ properties:
39
+ textContent: 数据A
40
+ - brick: div
41
+ properties:
42
+ textContent: 数据B
43
+ - brick: div
44
+ properties:
45
+ textContent: 数据C
46
+ ```
@@ -0,0 +1,36 @@
1
+ ---
2
+ tagName: visual-builder.pre-generated-table-view
3
+ displayName: WrappedVisualBuilderPreGeneratedTableView
4
+ description: 预生成编排表格视图,使用 CSS Grid 布局渲染子构件
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # WrappedVisualBuilderPreGeneratedTableView
10
+
11
+ > 预生成编排表格视图,使用 CSS Grid 布局渲染子构件
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedVisualBuilderPreGeneratedTableView } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Examples
20
+
21
+ ### Basic
22
+
23
+ 使用 CSS Grid 布局将子构件排列成表格,通过 style 属性定义列宽。
24
+
25
+ ```tsx
26
+ <WrappedVisualBuilderPreGeneratedTableView
27
+ style={{ gridTemplateColumns: "120px 1fr 1fr" }}
28
+ >
29
+ <div className="head-cell">列1标题</div>
30
+ <div className="head-cell">列2标题</div>
31
+ <div className="head-cell">列3标题</div>
32
+ <div>数据A</div>
33
+ <div>数据B</div>
34
+ <div>数据C</div>
35
+ </WrappedVisualBuilderPreGeneratedTableView>
36
+ ```
@@ -1,9 +1,50 @@
1
- 构件 `visual-builder.property-editor`
1
+ ---
2
+ tagName: visual-builder.property-editor
3
+ displayName: WrappedVisualBuilderPropertyEditor
4
+ description: 构件属性编辑器,基于 Formily 渲染指定构件的属性编辑表单
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # visual-builder.property-editor
10
+
11
+ > 构件属性编辑器,基于 Formily 渲染指定构件的属性编辑表单
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | -------------- | ---------------- | ---- | ------ | ------------------------------------------------ |
17
+ | editorName | `string` | 否 | - | 构件名称,用于加载对应的属性编辑器 |
18
+ | values | `any` | 否 | - | 属性编辑器的当前值 |
19
+ | advancedMode | `boolean` | 否 | - | 是否启用高级模式,高级模式下直接编辑原始属性对象 |
20
+ | dataList | `DataItem[]` | 是 | - | 数据列表,用于编辑器中的数据绑定选项 |
21
+ | editorPackages | `BrickPackage[]` | 是 | - | 构件包信息,用于加载自定义编辑器 |
22
+ | links | `any` | 是 | - | 链接配置,用于编辑器中的跳转链接选项 |
23
+ | extraLibs | `SelectOptions` | 是 | - | 额外的代码补全库,用于代码编辑器的类型提示 |
24
+ | childSlots | `SelectOptions` | 是 | - | 子插槽选项,用于编辑器中选择子插槽 |
25
+
26
+ ## Events
27
+
28
+ | 事件 | detail | 说明 |
29
+ | ---------------- | -------------------------------------------------- | ------------------------------- |
30
+ | validate.success | `Record<string, unknown>` — 表单验证成功后的表单值 | 表单验证成功时触发事件 |
31
+ | validate.error | `any[]` — 表单验证错误信息数组 | 表单验证报错时触发事件 |
32
+ | values.change | `any` — 当前表单的最新值 | 表单值发生变化时触发 |
33
+ | token.click | `string` — 被点击的 token 字符串 | 点击代码编辑器中的 token 时触发 |
34
+ | trigger.action | `string` — 触发的动作标识 | 编辑器内部触发自定义动作时触发 |
35
+
36
+ ## Methods
37
+
38
+ | 方法 | 参数 | 返回值 | 说明 |
39
+ | -------- | ------------ | ------ | ---------------------------------------------------------------------------------- |
40
+ | validate | `() => void` | `void` | 触发表单校验,验证成功后触发 validate.success 事件,失败后触发 validate.error 事件 |
2
41
 
3
42
  ## Examples
4
43
 
5
44
  ### Basic
6
45
 
46
+ 选择构件后加载对应的属性编辑器,支持普通模式与高级模式切换,点击 Submit 触发校验。
47
+
7
48
  ```yaml preview
8
49
  - brick: eo-select
9
50
  properties:
@@ -28,6 +69,8 @@
28
69
  - action: console.log
29
70
  validate.error:
30
71
  - action: console.log
72
+ values.change:
73
+ - action: console.log
31
74
  - brick: eo-search-bar
32
75
  context:
33
76
  - name: isAdvanced
@@ -0,0 +1,97 @@
1
+ ---
2
+ tagName: visual-builder.property-editor
3
+ displayName: WrappedVisualBuilderPropertyEditor
4
+ description: 构件属性编辑器,基于 Formily 渲染指定构件的属性编辑表单
5
+ category: ""
6
+ source: "@next-bricks/visual-builder"
7
+ ---
8
+
9
+ # WrappedVisualBuilderPropertyEditor
10
+
11
+ > 构件属性编辑器,基于 Formily 渲染指定构件的属性编辑表单
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedVisualBuilderPropertyEditor } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | -------------- | ---------------- | ---- | ------ | ------------------------------------------------ |
23
+ | editorName | `string` | 否 | - | 构件名称,用于加载对应的属性编辑器 |
24
+ | values | `any` | 否 | - | 属性编辑器的当前值 |
25
+ | advancedMode | `boolean` | 否 | - | 是否启用高级模式,高级模式下直接编辑原始属性对象 |
26
+ | dataList | `DataItem[]` | 是 | - | 数据列表,用于编辑器中的数据绑定选项 |
27
+ | editorPackages | `BrickPackage[]` | 是 | - | 构件包信息,用于加载自定义编辑器 |
28
+ | links | `any` | 是 | - | 链接配置,用于编辑器中的跳转链接选项 |
29
+ | extraLibs | `SelectOptions` | 是 | - | 额外的代码补全库,用于代码编辑器的类型提示 |
30
+ | childSlots | `SelectOptions` | 是 | - | 子插槽选项,用于编辑器中选择子插槽 |
31
+
32
+ ## Events
33
+
34
+ | 事件 | detail | 说明 |
35
+ | ----------------- | -------------------------------------------------- | ------------------------------- |
36
+ | onValidateSuccess | `Record<string, unknown>` — 表单验证成功后的表单值 | 表单验证成功时触发事件 |
37
+ | onValidateError | `any[]` — 表单验证错误信息数组 | 表单验证报错时触发事件 |
38
+ | onValuesChange | `any` — 当前表单的最新值 | 表单值发生变化时触发 |
39
+ | onTokenClick | `string` — 被点击的 token 字符串 | 点击代码编辑器中的 token 时触发 |
40
+ | onTriggerAction | `string` — 触发的动作标识 | 编辑器内部触发自定义动作时触发 |
41
+
42
+ ## Methods
43
+
44
+ | 方法 | 参数 | 返回值 | 说明 |
45
+ | -------- | ------------ | ------ | ---------------------------------------------------------------------------------- |
46
+ | validate | `() => void` | `void` | 触发表单校验,验证成功后触发 validate.success 事件,失败后触发 validate.error 事件 |
47
+
48
+ ## Examples
49
+
50
+ ### Basic
51
+
52
+ 选择构件后加载对应的属性编辑器,支持普通模式与高级模式切换,点击 Submit 触发校验。
53
+
54
+ ```tsx
55
+ import { useRef, useState } from "react";
56
+ import { WrappedVisualBuilderPropertyEditor } from "@easyops/wrapped-components";
57
+ import { WrappedEoSelect } from "@easyops/wrapped-components";
58
+ import { WrappedEoSearchBar } from "@easyops/wrapped-components";
59
+ import { WrappedEoButton } from "@easyops/wrapped-components";
60
+ import { WrappedEoLink } from "@easyops/wrapped-components";
61
+
62
+ function PropertyEditorExample() {
63
+ const editorRef = useRef<any>();
64
+ const [editorName, setEditorName] = useState("eo-button");
65
+ const [isAdvanced, setIsAdvanced] = useState(false);
66
+
67
+ return (
68
+ <>
69
+ <WrappedEoSelect
70
+ label="选择一个构件"
71
+ value={editorName}
72
+ style={{ display: "block", marginBottom: "2em" }}
73
+ onChange={(e) => setEditorName(e.detail.value)}
74
+ />
75
+ <WrappedVisualBuilderPropertyEditor
76
+ ref={editorRef}
77
+ editorName={editorName}
78
+ advancedMode={isAdvanced}
79
+ onValidateSuccess={(e) => console.log(e.detail)}
80
+ onValidateError={(e) => console.log(e.detail)}
81
+ onValuesChange={(e) => console.log(e.detail)}
82
+ />
83
+ <WrappedEoSearchBar>
84
+ <WrappedEoButton
85
+ slot="start"
86
+ onClick={() => editorRef.current?.validate()}
87
+ >
88
+ Submit
89
+ </WrappedEoButton>
90
+ <WrappedEoLink slot="end" onClick={() => setIsAdvanced(!isAdvanced)}>
91
+ {`切换到${isAdvanced ? "普通" : "高级"}模式`}
92
+ </WrappedEoLink>
93
+ </WrappedEoSearchBar>
94
+ </>
95
+ );
96
+ }
97
+ ```