@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.
- package/dist/bricks.json +1 -1
- package/dist/chunks/{5522.678c03f6.js → 4577.f016e9de.js} +3 -3
- package/dist/chunks/4577.f016e9de.js.map +1 -0
- package/dist/chunks/7085.3c330b29.js +3 -0
- package/dist/chunks/7085.3c330b29.js.map +1 -0
- package/dist/chunks/9653.ac443b19.js +2 -0
- package/dist/chunks/9653.ac443b19.js.map +1 -0
- package/dist/chunks/chat-conversation.0ffc333f.js.map +1 -1
- package/dist/chunks/chat-preview.36976c55.js.map +1 -1
- package/dist/chunks/contract-select.252b9e45.js +3 -0
- package/dist/chunks/contract-select.252b9e45.js.map +1 -0
- package/dist/chunks/generate-snippets-context-menu.56acf448.js.map +1 -1
- package/dist/chunks/{main.819ae305.js → main.1cb52df3.js} +2 -2
- package/dist/chunks/{main.819ae305.js.map → main.1cb52df3.js.map} +1 -1
- package/dist/chunks/page-arch-node.379284ad.js +3 -0
- package/dist/chunks/page-arch-node.379284ad.js.map +1 -0
- package/dist/chunks/pre-generated-config-preview.cfbc2a1e.js.map +1 -1
- package/dist/chunks/pre-generated-config.a027788b.js.map +1 -1
- package/dist/chunks/pre-generated-container.dcfa8cc9.js.map +1 -1
- package/dist/chunks/pre-generated-preview.8e699675.js.map +1 -1
- package/dist/chunks/pre-generated-table-view.8a9d5527.js.map +1 -1
- package/dist/chunks/property-editor.dea9895b.js +2 -0
- package/dist/chunks/property-editor.dea9895b.js.map +1 -0
- package/dist/chunks/raw-data-preview.0bf12da3.js.map +1 -1
- package/dist/chunks/raw-metric-preview.c503481e.js.map +1 -1
- package/dist/chunks/workbench-action-list.c67329ed.js.map +1 -1
- package/dist/chunks/workbench-action.5b993227.js.map +1 -1
- package/dist/chunks/workbench-pane.5c4866a6.js +3 -0
- package/dist/chunks/workbench-pane.5c4866a6.js.map +1 -0
- package/dist/chunks/workbench-sidebar.01731e99.js.map +1 -1
- package/dist/chunks/{workbench-tree.e71a583f.js → workbench-tree.7097bd88.js} +3 -3
- package/dist/chunks/workbench-tree.7097bd88.js.map +1 -0
- package/dist/examples.json +47 -5
- package/dist/{index.e12e6fc9.js → index.93f39de8.js} +2 -2
- package/dist/{index.e12e6fc9.js.map → index.93f39de8.js.map} +1 -1
- package/dist/manifest.json +182 -28
- package/dist/types.json +1 -1
- package/dist-types/chat-conversation/index.d.ts +7 -1
- package/dist-types/chat-preview/index.d.ts +20 -1
- package/dist-types/contract-select/index.d.ts +16 -1
- package/dist-types/generate-snippets-context-menu/index.d.ts +17 -1
- package/dist-types/page-arch-node/index.d.ts +25 -1
- package/dist-types/pre-generated-config/index.d.ts +16 -1
- package/dist-types/pre-generated-config-preview/index.d.ts +13 -1
- package/dist-types/pre-generated-container/index.d.ts +3 -1
- package/dist-types/pre-generated-preview/index.d.ts +6 -1
- package/dist-types/pre-generated-table-view/index.d.ts +1 -1
- package/dist-types/property-editor/index.d.ts +10 -4
- package/dist-types/raw-data-preview/index.d.ts +9 -1
- package/dist-types/raw-metric-preview/index.d.ts +8 -1
- package/dist-types/workbench-action/index.d.ts +7 -0
- package/dist-types/workbench-action-list/index.d.ts +3 -0
- package/dist-types/workbench-pane/index.d.ts +4 -0
- package/dist-types/workbench-sidebar/index.d.ts +2 -0
- package/dist-types/workbench-tree/index.d.ts +19 -6
- package/docs/chat-conversation.md +51 -31
- package/docs/chat-conversation.react.md +115 -0
- package/docs/chat-preview.md +83 -0
- package/docs/chat-preview.react.md +105 -0
- package/docs/contract-select.md +97 -0
- package/docs/contract-select.react.md +95 -0
- package/docs/generate-snippets-context-menu.md +141 -0
- package/docs/generate-snippets-context-menu.react.md +134 -0
- package/docs/page-arch-node.md +87 -1
- package/docs/page-arch-node.react.md +97 -0
- package/docs/pre-generated-config-preview.md +74 -0
- package/docs/pre-generated-config-preview.react.md +82 -0
- package/docs/pre-generated-config.md +96 -0
- package/docs/pre-generated-config.react.md +78 -0
- package/docs/pre-generated-container.md +56 -0
- package/docs/pre-generated-container.react.md +62 -0
- package/docs/pre-generated-preview.md +83 -0
- package/docs/pre-generated-preview.react.md +92 -0
- package/docs/pre-generated-table-view.md +46 -0
- package/docs/pre-generated-table-view.react.md +36 -0
- package/docs/property-editor.md +44 -1
- package/docs/property-editor.react.md +97 -0
- package/docs/raw-data-preview.md +75 -1643
- package/docs/raw-data-preview.react.md +154 -0
- package/docs/raw-metric-preview.md +93 -0
- package/docs/raw-metric-preview.react.md +94 -0
- package/docs/workbench-action-list.md +80 -0
- package/docs/workbench-action-list.react.md +85 -0
- package/docs/workbench-action.md +80 -0
- package/docs/workbench-action.react.md +76 -0
- package/docs/workbench-history-action.md +42 -1
- package/docs/workbench-history-action.react.md +54 -0
- package/docs/workbench-pane.md +105 -0
- package/docs/workbench-pane.react.md +90 -0
- package/docs/workbench-sidebar.md +88 -0
- package/docs/workbench-sidebar.react.md +66 -0
- package/docs/workbench-tree.md +217 -0
- package/docs/workbench-tree.react.md +180 -0
- package/package.json +2 -2
- package/dist/chunks/5522.678c03f6.js.map +0 -1
- package/dist/chunks/7085.c58ac475.js +0 -3
- package/dist/chunks/7085.c58ac475.js.map +0 -1
- package/dist/chunks/9653.39737577.js +0 -2
- package/dist/chunks/9653.39737577.js.map +0 -1
- package/dist/chunks/contract-select.ff891ded.js +0 -3
- package/dist/chunks/contract-select.ff891ded.js.map +0 -1
- package/dist/chunks/page-arch-node.974674c0.js +0 -3
- package/dist/chunks/page-arch-node.974674c0.js.map +0 -1
- package/dist/chunks/property-editor.6de6adf4.js +0 -2
- package/dist/chunks/property-editor.6de6adf4.js.map +0 -1
- package/dist/chunks/workbench-pane.7e85de42.js +0 -3
- package/dist/chunks/workbench-pane.7e85de42.js.map +0 -1
- package/dist/chunks/workbench-tree.e71a583f.js.map +0 -1
- /package/dist/chunks/{5522.678c03f6.js.LICENSE.txt → 4577.f016e9de.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{7085.c58ac475.js.LICENSE.txt → 7085.3c330b29.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{contract-select.ff891ded.js.LICENSE.txt → contract-select.252b9e45.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{page-arch-node.974674c0.js.LICENSE.txt → page-arch-node.379284ad.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{workbench-pane.7e85de42.js.LICENSE.txt → workbench-pane.5c4866a6.js.LICENSE.txt} +0 -0
- /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
|
+
```
|
package/docs/property-editor.md
CHANGED
|
@@ -1,9 +1,50 @@
|
|
|
1
|
-
|
|
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
|
+
```
|