@next-bricks/advanced 0.51.3 → 0.51.5

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 (113) hide show
  1. package/dist/bricks.json +22 -22
  2. package/dist/chunks/{1889.b0931dce.js → 1889.f8507811.js} +2 -2
  3. package/dist/chunks/{1889.b0931dce.js.map → 1889.f8507811.js.map} +1 -1
  4. package/dist/chunks/3171.5a42835a.js +2 -0
  5. package/dist/chunks/3171.5a42835a.js.map +1 -0
  6. package/dist/chunks/4758.0ee6b1c2.js +3 -0
  7. package/dist/chunks/4758.0ee6b1c2.js.map +1 -0
  8. package/dist/chunks/5399.90afc78f.js +2 -0
  9. package/dist/chunks/5399.90afc78f.js.map +1 -0
  10. package/dist/chunks/5552.3af82478.js +2 -0
  11. package/dist/chunks/5552.3af82478.js.map +1 -0
  12. package/dist/chunks/6376.a5e3cba3.js +2 -0
  13. package/dist/chunks/6376.a5e3cba3.js.map +1 -0
  14. package/dist/chunks/{6070.74d93326.js → 7039.0ea489d5.js} +2 -2
  15. package/dist/chunks/7039.0ea489d5.js.map +1 -0
  16. package/dist/chunks/8382.ade8275e.js +2 -0
  17. package/dist/chunks/8382.ade8275e.js.map +1 -0
  18. package/dist/chunks/9118.f65d12a9.js +3 -0
  19. package/dist/chunks/9118.f65d12a9.js.map +1 -0
  20. package/dist/chunks/948.c45999d0.js +3 -0
  21. package/dist/chunks/948.c45999d0.js.map +1 -0
  22. package/dist/chunks/eo-cascader.8d423eaa.js +2 -0
  23. package/dist/chunks/eo-cascader.8d423eaa.js.map +1 -0
  24. package/dist/chunks/{eo-next-table.25f4bf4d.js → eo-next-table.7f8c557a.js} +2 -2
  25. package/dist/chunks/{eo-next-table.25f4bf4d.js.map → eo-next-table.7f8c557a.js.map} +1 -1
  26. package/dist/chunks/{eo-table.5dd09651.js → eo-table.9b4334a3.js} +2 -2
  27. package/dist/chunks/eo-table.9b4334a3.js.map +1 -0
  28. package/dist/chunks/eo-text-tooltip.74db365e.js.map +1 -1
  29. package/dist/chunks/eo-tree-select.49c195a4.js +2 -0
  30. package/dist/chunks/eo-tree-select.49c195a4.js.map +1 -0
  31. package/dist/chunks/{eo-tree.22180778.js → eo-tree.e8729dea.js} +3 -3
  32. package/dist/chunks/{eo-tree.22180778.js.map → eo-tree.e8729dea.js.map} +1 -1
  33. package/dist/chunks/{eo-workbench-layout-v2.24da89e7.js → eo-workbench-layout-v2.12b31a22.js} +3 -3
  34. package/dist/chunks/eo-workbench-layout-v2.12b31a22.js.map +1 -0
  35. package/dist/chunks/{eo-workbench-layout.1ed8ce80.js → eo-workbench-layout.39666f6e.js} +2 -2
  36. package/dist/chunks/eo-workbench-layout.39666f6e.js.map +1 -0
  37. package/dist/chunks/main.06ea33e1.js +2 -0
  38. package/dist/chunks/main.06ea33e1.js.map +1 -0
  39. package/dist/chunks/pdf-viewer.036787d7.js.map +1 -1
  40. package/dist/examples.json +17 -11
  41. package/dist/index.61a04a59.js +2 -0
  42. package/dist/index.61a04a59.js.map +1 -0
  43. package/dist/manifest.json +656 -563
  44. package/dist/types.json +244 -247
  45. package/dist-types/cascader/index.d.ts +18 -0
  46. package/dist-types/interfaces/workbench.d.ts +2 -2
  47. package/dist-types/next-table/CacheUseBrickItem.d.ts +2 -2
  48. package/dist-types/next-table/index.d.ts +2 -1
  49. package/dist-types/next-table/interface.d.ts +5 -5
  50. package/dist-types/pdf-viewer/index.d.ts +7 -1
  51. package/dist-types/table/BrickTable.d.ts +2 -2
  52. package/dist-types/table/index.d.ts +8 -6
  53. package/dist-types/text-tooltip/index.d.ts +5 -4
  54. package/dist-types/tree/index.d.ts +3 -3
  55. package/dist-types/tree-select/index.d.ts +41 -1
  56. package/dist-types/workbench-layout/index.d.ts +28 -3
  57. package/dist-types/workbench-layout-v2/index.d.ts +34 -12
  58. package/docs/eo-cascader.md +184 -1
  59. package/docs/eo-cascader.react.md +247 -0
  60. package/docs/eo-next-table.md +343 -168
  61. package/docs/eo-next-table.react.md +923 -0
  62. package/docs/eo-table.md +296 -0
  63. package/docs/eo-table.react.md +223 -0
  64. package/docs/eo-text-tooltip.md +46 -1
  65. package/docs/eo-text-tooltip.react.md +69 -0
  66. package/docs/eo-tree-select.md +127 -1
  67. package/docs/eo-tree-select.react.md +206 -0
  68. package/docs/eo-tree.md +108 -2
  69. package/docs/eo-tree.react.md +220 -0
  70. package/docs/eo-workbench-layout-v2.md +204 -0
  71. package/docs/eo-workbench-layout-v2.react.md +162 -0
  72. package/docs/eo-workbench-layout.md +45 -3
  73. package/docs/eo-workbench-layout.react.md +141 -0
  74. package/docs/pdf-viewer.md +48 -1
  75. package/docs/pdf-viewer.react.md +63 -0
  76. package/package.json +2 -2
  77. package/dist/chunks/3171.a0713c82.js +0 -2
  78. package/dist/chunks/3171.a0713c82.js.map +0 -1
  79. package/dist/chunks/4758.5f79e636.js +0 -3
  80. package/dist/chunks/4758.5f79e636.js.map +0 -1
  81. package/dist/chunks/4837.04c758cf.js +0 -2
  82. package/dist/chunks/4837.04c758cf.js.map +0 -1
  83. package/dist/chunks/5139.30dacc51.js +0 -2
  84. package/dist/chunks/5139.30dacc51.js.map +0 -1
  85. package/dist/chunks/5399.c6d3cd26.js +0 -2
  86. package/dist/chunks/5399.c6d3cd26.js.map +0 -1
  87. package/dist/chunks/5552.b8201181.js +0 -2
  88. package/dist/chunks/5552.b8201181.js.map +0 -1
  89. package/dist/chunks/6070.74d93326.js.map +0 -1
  90. package/dist/chunks/7218.bcb25b61.js +0 -2
  91. package/dist/chunks/7218.bcb25b61.js.map +0 -1
  92. package/dist/chunks/8382.d552299f.js +0 -2
  93. package/dist/chunks/8382.d552299f.js.map +0 -1
  94. package/dist/chunks/9118.cc8511ac.js +0 -3
  95. package/dist/chunks/9118.cc8511ac.js.map +0 -1
  96. package/dist/chunks/948.e02bc040.js +0 -3
  97. package/dist/chunks/948.e02bc040.js.map +0 -1
  98. package/dist/chunks/eo-cascader.86a685ca.js +0 -2
  99. package/dist/chunks/eo-cascader.86a685ca.js.map +0 -1
  100. package/dist/chunks/eo-table.5dd09651.js.map +0 -1
  101. package/dist/chunks/eo-tree-select.31dae71f.js +0 -2
  102. package/dist/chunks/eo-tree-select.31dae71f.js.map +0 -1
  103. package/dist/chunks/eo-workbench-layout-v2.24da89e7.js.map +0 -1
  104. package/dist/chunks/eo-workbench-layout.1ed8ce80.js.map +0 -1
  105. package/dist/chunks/main.f43a8ad8.js +0 -2
  106. package/dist/chunks/main.f43a8ad8.js.map +0 -1
  107. package/dist/index.3d8026b9.js +0 -2
  108. package/dist/index.3d8026b9.js.map +0 -1
  109. /package/dist/chunks/{4758.5f79e636.js.LICENSE.txt → 4758.0ee6b1c2.js.LICENSE.txt} +0 -0
  110. /package/dist/chunks/{9118.cc8511ac.js.LICENSE.txt → 9118.f65d12a9.js.LICENSE.txt} +0 -0
  111. /package/dist/chunks/{948.e02bc040.js.LICENSE.txt → 948.c45999d0.js.LICENSE.txt} +0 -0
  112. /package/dist/chunks/{eo-tree.22180778.js.LICENSE.txt → eo-tree.e8729dea.js.LICENSE.txt} +0 -0
  113. /package/dist/chunks/{eo-workbench-layout-v2.24da89e7.js.LICENSE.txt → eo-workbench-layout-v2.12b31a22.js.LICENSE.txt} +0 -0
@@ -0,0 +1,220 @@
1
+ ---
2
+ tagName: eo-tree
3
+ displayName: WrappedEoTree
4
+ description: 树形构件
5
+ category: display
6
+ source: "@next-bricks/advanced"
7
+ ---
8
+
9
+ # WrappedEoTree
10
+
11
+ > 树形构件
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedEoTree } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | ---------------- | ---------------------------------- | ---- | ------ | ------------------------------------------------------------------------------- |
23
+ | dataSource | `TreeNode[]` | 否 | - | 树形数据源 |
24
+ | checkable | `boolean` | 否 | - | 是否显示 Checkbox,开启后可勾选节点 |
25
+ | selectable | `boolean` | 否 | - | 是否可选中节点 |
26
+ | defaultExpandAll | `boolean` | 否 | - | 是否默认展开所有树节点 |
27
+ | showLine | `boolean` | 否 | - | 是否显示连接线 |
28
+ | expandedKeys | `TreeNodeKey[]` | 否 | - | 受控展开的节点 key 集合 |
29
+ | checkedKeys | `TreeNodeKey[]` | 否 | - | 受控勾选的节点 key 集合(仅在 checkable 为 true 时有效) |
30
+ | nodeDraggable | `boolean \| { icon?: false }` | 否 | - | 是否允许拖拽节点,也可传入对象配置是否显示拖拽图标 |
31
+ | switcherIcon | `"auto" \| "chevron" \| false` | 否 | - | 自定义展开/折叠图标,可选 auto(默认箭头)、chevron(下箭头)或 false(不显示) |
32
+ | allowDrop | `(info: AllowDropInfo) => boolean` | 否 | - | 是否允许拖放到指定位置的判断函数 |
33
+ | titleSuffixBrick | `{ useBrick: UseBrickConf }` | 否 | - | 节点标题后缀插槽,通过 useBrick 在每个节点标题后渲染自定义构件 |
34
+
35
+ ## Events
36
+
37
+ | 事件 | detail | 说明 |
38
+ | ------------- | -------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
39
+ | onCheck | `TreeNodeKey[]` — 所有勾选节点的 key 数组 | 勾选状态变化时触发 |
40
+ | onCheckDetail | `CheckDetail` — { checkedKeys: 已勾选的节点 key 数组, halfCheckedKeys: 半选中的节点 key 数组 } | 勾选状态变化时触发,包含半选中状态 |
41
+ | onExpand | `TreeNodeKey[]` — 当前展开的节点 key 数组 | 展开/折叠节点时触发 |
42
+ | onNodeDrop | `DropDetail` — { dragNode: 被拖拽的节点, dropNode: 放置目标节点, dropPosition: 放置位置(0 表示内部,-1 表示上方,1 表示下方) } | 节点拖拽放置时触发 |
43
+
44
+ ## Examples
45
+
46
+ ### Basic
47
+
48
+ 展示树形构件的基本用法,默认展开所有节点。
49
+
50
+ ```tsx
51
+ <WrappedEoTree
52
+ defaultExpandAll={true}
53
+ dataSource={[
54
+ {
55
+ title: "parent 1",
56
+ key: "0-0",
57
+ children: [
58
+ {
59
+ title: "parent 1-0",
60
+ key: "0-0-0",
61
+ children: [
62
+ { title: "leaf", key: "0-0-0-0" },
63
+ { title: "leaf", key: "0-0-0-1" },
64
+ ],
65
+ },
66
+ {
67
+ title: "parent 1-1",
68
+ key: "0-0-1",
69
+ children: [{ title: "sss", key: "0-0-1-0" }],
70
+ },
71
+ ],
72
+ },
73
+ ]}
74
+ />
75
+ ```
76
+
77
+ ### Checkable
78
+
79
+ 开启 checkable 显示勾选框,并配置 showLine 显示连接线,勾选变化时触发 onCheck 事件。
80
+
81
+ ```tsx
82
+ <WrappedEoTree
83
+ defaultExpandAll={true}
84
+ checkable={true}
85
+ selectable={false}
86
+ showLine={true}
87
+ switcherIcon="chevron"
88
+ dataSource={[
89
+ {
90
+ title: "parent 1",
91
+ key: "0-0",
92
+ children: [
93
+ {
94
+ title: "parent 1-0",
95
+ key: "0-0-0",
96
+ children: [
97
+ { title: "leaf", key: "0-0-0-0" },
98
+ { title: "leaf", key: "0-0-0-1" },
99
+ ],
100
+ },
101
+ {
102
+ title: "parent 1-1",
103
+ key: "0-0-1",
104
+ children: [{ title: "sss", key: "0-0-1-0" }],
105
+ },
106
+ ],
107
+ },
108
+ ]}
109
+ onCheck={(e) => console.log(e.detail)}
110
+ onCheckDetail={(e) => console.log(e.detail)}
111
+ />
112
+ ```
113
+
114
+ ### Title Suffix Brick
115
+
116
+ 通过 titleSuffixBrick 在每个节点标题后渲染自定义构件。
117
+
118
+ ```tsx
119
+ <WrappedEoTree
120
+ defaultExpandAll={true}
121
+ titleSuffixBrick={{
122
+ useBrick: {
123
+ brick: "eo-link",
124
+ properties: {
125
+ icon: { lib: "antd", icon: "edit", theme: "outlined" },
126
+ style: { marginLeft: "5px", fontSize: "12px" },
127
+ },
128
+ },
129
+ }}
130
+ dataSource={[
131
+ {
132
+ title: "parent 1",
133
+ key: "0-0",
134
+ children: [
135
+ {
136
+ title: "parent 1-0",
137
+ key: "0-0-0",
138
+ children: [
139
+ { title: "leaf", key: "0-0-0-0" },
140
+ { title: "leaf", key: "0-0-0-1" },
141
+ ],
142
+ },
143
+ {
144
+ title: "parent 1-1",
145
+ key: "0-0-1",
146
+ children: [{ title: "sss", key: "0-0-1-0" }],
147
+ },
148
+ ],
149
+ },
150
+ ]}
151
+ />
152
+ ```
153
+
154
+ ### Draggable
155
+
156
+ 开启 nodeDraggable 允许拖拽节点,拖拽放置后触发 onNodeDrop 事件。
157
+
158
+ ```tsx
159
+ <WrappedEoTree
160
+ defaultExpandAll={true}
161
+ nodeDraggable={true}
162
+ dataSource={[
163
+ {
164
+ title: "parent 1",
165
+ key: "0-0",
166
+ children: [
167
+ {
168
+ title: "parent 1-0",
169
+ key: "0-0-0",
170
+ children: [
171
+ { title: "leaf", key: "0-0-0-0" },
172
+ { title: "leaf", key: "0-0-0-1" },
173
+ ],
174
+ },
175
+ {
176
+ title: "parent 1-1",
177
+ key: "0-0-1",
178
+ children: [{ title: "sss", key: "0-0-1-0" }],
179
+ },
180
+ ],
181
+ },
182
+ ]}
183
+ onNodeDrop={(e) => console.log(e.detail)}
184
+ />
185
+ ```
186
+
187
+ ### Controlled Expand and Check
188
+
189
+ 通过 expandedKeys 和 checkedKeys 受控管理展开与勾选状态,并监听 onExpand 事件。
190
+
191
+ ```tsx
192
+ <WrappedEoTree
193
+ checkable={true}
194
+ expandedKeys={["0-0"]}
195
+ checkedKeys={["0-0-0-0"]}
196
+ dataSource={[
197
+ {
198
+ title: "parent 1",
199
+ key: "0-0",
200
+ children: [
201
+ {
202
+ title: "parent 1-0",
203
+ key: "0-0-0",
204
+ children: [
205
+ { title: "leaf", key: "0-0-0-0" },
206
+ { title: "leaf", key: "0-0-0-1" },
207
+ ],
208
+ },
209
+ {
210
+ title: "parent 1-1",
211
+ key: "0-0-1",
212
+ children: [{ title: "sss", key: "0-0-1-0" }],
213
+ },
214
+ ],
215
+ },
216
+ ]}
217
+ onExpand={(e) => console.log(e.detail)}
218
+ onCheck={(e) => console.log(e.detail)}
219
+ />
220
+ ```
@@ -0,0 +1,204 @@
1
+ ---
2
+ tagName: eo-workbench-layout-v2
3
+ displayName: WrappedEoWorkbenchLayoutV2
4
+ description: 工作台布局 V2,支持拖拽式卡片布局与全局样式(不使用 shadow DOM)
5
+ category: layout
6
+ source: "@next-bricks/advanced"
7
+ ---
8
+
9
+ # eo-workbench-layout-v2
10
+
11
+ > 工作台布局 V2,支持拖拽式卡片布局与全局样式(不使用 shadow DOM)
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | -------------------------- | ------------------------------------ | ---- | ------ | ------------------------------------------------------------ |
17
+ | cardTitle | `string` | 否 | - | 编辑模式下左侧卡片列表面板的标题 |
18
+ | isEdit | `boolean` | 否 | - | 是否进入编辑模式,编辑模式下可拖拽调整布局并显示卡片选择面板 |
19
+ | layouts | `ExtraLayout[]` | 否 | - | 当前布局配置,每项对应一个卡片的位置与大小及样式信息 |
20
+ | toolbarBricks | `{ useBrick: UseSingleBrickConf[] }` | 否 | - | 编辑模式下工具栏区域的自定义构件 |
21
+ | componentList | `WorkbenchComponent[]` | 否 | - | 组件列表,每项包含 key、title、useBrick 和 position 信息 |
22
+ | customDefaultCardConfigMap | `Record<string, CardStyleConfig>` | 否 | - | 自定义卡片默认配置,用于覆盖默认卡片样式配置 |
23
+ | showSettingButton | `boolean` | 否 | - | 是否显示设置按钮,用于触发页面样式和布局设置 |
24
+ | gap | `number` | 否 | - | 卡片之间的间距(px) |
25
+
26
+ ## Events
27
+
28
+ | 事件 | detail | 说明 |
29
+ | ------------ | --------------------------------------------------------------------------------------------------- | ------------------------------ |
30
+ | change | `ExtraLayout[]` — 当前布局配置数组 | 布局发生变化时触发 |
31
+ | save | `ExtraLayout[]` — 保存时的布局配置数组 | 点击保存按钮时触发 |
32
+ | cancel | `void` | 点击取消按钮时触发 |
33
+ | setting | `void` | 点击设置按钮时触发 |
34
+ | action.click | `{ action: SimpleAction; layouts: Layout[] }` — { action: 点击的操作项, layouts: 当前布局配置数组 } | 更多操作菜单中的操作点击时触发 |
35
+
36
+ ## Methods
37
+
38
+ | 方法 | 参数 | 返回值 | 说明 |
39
+ | ---------- | ----------------------------- | ------ | ------------ |
40
+ | setLayouts | `(layouts: Layout[]) => void` | `void` | 设置布局配置 |
41
+
42
+ ## Examples
43
+
44
+ ### Basic
45
+
46
+ 展示工作台布局 V2 的基本用法,通过 layouts 和 componentList 配置卡片布局。
47
+
48
+ ```yaml preview
49
+ - brick: eo-workbench-layout-v2
50
+ properties:
51
+ layouts:
52
+ - i: hello
53
+ x: 0
54
+ y: 0
55
+ w: 2
56
+ h: 1
57
+ type: hello
58
+ cardWidth: 2
59
+ - i: world
60
+ x: 0
61
+ y: 1
62
+ w: 2
63
+ h: 1
64
+ type: world
65
+ cardWidth: 2
66
+ - i: small
67
+ x: 2
68
+ y: 0
69
+ w: 1
70
+ h: 1
71
+ type: small
72
+ cardWidth: 1
73
+ componentList:
74
+ - title: Hello 卡片
75
+ key: hello
76
+ position:
77
+ i: hello
78
+ x: 0
79
+ y: 0
80
+ w: 2
81
+ h: 1
82
+ useBrick:
83
+ brick: div
84
+ properties:
85
+ style:
86
+ padding: 16px
87
+ background: "#fff"
88
+ height: 100%
89
+ textContent: Hello World
90
+ - title: World 卡片
91
+ key: world
92
+ position:
93
+ i: world
94
+ x: 0
95
+ y: 2
96
+ w: 2
97
+ h: 1
98
+ useBrick:
99
+ brick: div
100
+ properties:
101
+ style:
102
+ padding: 16px
103
+ background: "#fff"
104
+ height: 100%
105
+ textContent: World Content
106
+ - title: Small 卡片
107
+ key: small
108
+ position:
109
+ i: small
110
+ x: 2
111
+ y: 0
112
+ w: 1
113
+ h: 1
114
+ useBrick:
115
+ brick: div
116
+ properties:
117
+ style:
118
+ padding: 16px
119
+ background: "#fff"
120
+ height: 100%
121
+ textContent: Small
122
+ ```
123
+
124
+ ### Edit Mode with Settings
125
+
126
+ 开启编辑模式,显示设置按钮,并监听 save、cancel、setting 事件。
127
+
128
+ ```yaml preview
129
+ - brick: eo-workbench-layout-v2
130
+ events:
131
+ save:
132
+ - action: console.log
133
+ cancel:
134
+ - action: console.log
135
+ change:
136
+ - action: console.log
137
+ setting:
138
+ - action: console.log
139
+ properties:
140
+ isEdit: true
141
+ showSettingButton: true
142
+ gap: 16
143
+ layouts:
144
+ - i: hello
145
+ x: 0
146
+ y: 0
147
+ w: 2
148
+ h: 1
149
+ type: hello
150
+ cardWidth: 2
151
+ - i: small
152
+ x: 2
153
+ y: 0
154
+ w: 1
155
+ h: 1
156
+ type: small
157
+ cardWidth: 1
158
+ componentList:
159
+ - title: Hello 卡片
160
+ key: hello
161
+ position:
162
+ i: hello
163
+ x: 0
164
+ y: 0
165
+ w: 2
166
+ h: 1
167
+ useBrick:
168
+ brick: div
169
+ properties:
170
+ style:
171
+ padding: 16px
172
+ height: 100%
173
+ textContent: Hello World
174
+ - title: Small 卡片
175
+ key: small
176
+ position:
177
+ i: small
178
+ x: 2
179
+ y: 0
180
+ w: 1
181
+ h: 1
182
+ useBrick:
183
+ brick: div
184
+ properties:
185
+ style:
186
+ padding: 16px
187
+ height: 100%
188
+ textContent: Small
189
+ - title: Extra 卡片
190
+ key: extra
191
+ position:
192
+ i: extra
193
+ x: 0
194
+ y: 2
195
+ w: 2
196
+ h: 1
197
+ useBrick:
198
+ brick: div
199
+ properties:
200
+ style:
201
+ padding: 16px
202
+ height: 100%
203
+ textContent: Extra Content
204
+ ```
@@ -0,0 +1,162 @@
1
+ ---
2
+ tagName: eo-workbench-layout-v2
3
+ displayName: WrappedEoWorkbenchLayoutV2
4
+ description: 工作台布局 V2,支持拖拽式卡片布局与全局样式(不使用 shadow DOM)
5
+ category: layout
6
+ source: "@next-bricks/advanced"
7
+ ---
8
+
9
+ # WrappedEoWorkbenchLayoutV2
10
+
11
+ > 工作台布局 V2,支持拖拽式卡片布局与全局样式(不使用 shadow DOM)
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedEoWorkbenchLayoutV2 } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | -------------------------- | ------------------------------------ | ---- | ------ | ------------------------------------------------------------ |
23
+ | cardTitle | `string` | 否 | - | 编辑模式下左侧卡片列表面板的标题 |
24
+ | isEdit | `boolean` | 否 | - | 是否进入编辑模式,编辑模式下可拖拽调整布局并显示卡片选择面板 |
25
+ | layouts | `ExtraLayout[]` | 否 | - | 当前布局配置,每项对应一个卡片的位置与大小及样式信息 |
26
+ | toolbarBricks | `{ useBrick: UseSingleBrickConf[] }` | 否 | - | 编辑模式下工具栏区域的自定义构件 |
27
+ | componentList | `WorkbenchComponent[]` | 否 | - | 组件列表,每项包含 key、title、useBrick 和 position 信息 |
28
+ | customDefaultCardConfigMap | `Record<string, CardStyleConfig>` | 否 | - | 自定义卡片默认配置,用于覆盖默认卡片样式配置 |
29
+ | showSettingButton | `boolean` | 否 | - | 是否显示设置按钮,用于触发页面样式和布局设置 |
30
+ | gap | `number` | 否 | - | 卡片之间的间距(px) |
31
+
32
+ ## Events
33
+
34
+ | 事件 | detail | 说明 |
35
+ | ------------- | --------------------------------------------------------------------------------------------------- | ------------------------------ |
36
+ | onChange | `ExtraLayout[]` — 当前布局配置数组 | 布局发生变化时触发 |
37
+ | onSave | `ExtraLayout[]` — 保存时的布局配置数组 | 点击保存按钮时触发 |
38
+ | onCancel | `void` | 点击取消按钮时触发 |
39
+ | onSetting | `void` | 点击设置按钮时触发 |
40
+ | onActionClick | `{ action: SimpleAction; layouts: Layout[] }` — { action: 点击的操作项, layouts: 当前布局配置数组 } | 更多操作菜单中的操作点击时触发 |
41
+
42
+ ## Methods
43
+
44
+ | 方法 | 参数 | 返回值 | 说明 |
45
+ | ---------- | ----------------------------- | ------ | ------------ |
46
+ | setLayouts | `(layouts: Layout[]) => void` | `void` | 设置布局配置 |
47
+
48
+ ## Examples
49
+
50
+ ### Basic
51
+
52
+ 展示工作台布局 V2 的基本用法,通过 layouts 和 componentList 配置卡片布局。
53
+
54
+ ```tsx
55
+ <WrappedEoWorkbenchLayoutV2
56
+ layouts={[
57
+ { i: "hello", x: 0, y: 0, w: 2, h: 1, type: "hello", cardWidth: 2 },
58
+ { i: "world", x: 0, y: 1, w: 2, h: 1, type: "world", cardWidth: 2 },
59
+ { i: "small", x: 2, y: 0, w: 1, h: 1, type: "small", cardWidth: 1 },
60
+ ]}
61
+ componentList={[
62
+ {
63
+ title: "Hello 卡片",
64
+ key: "hello",
65
+ position: { i: "hello", x: 0, y: 0, w: 2, h: 1 },
66
+ useBrick: {
67
+ brick: "div",
68
+ properties: {
69
+ style: { padding: "16px", height: "100%" },
70
+ textContent: "Hello World",
71
+ },
72
+ },
73
+ },
74
+ {
75
+ title: "World 卡片",
76
+ key: "world",
77
+ position: { i: "world", x: 0, y: 2, w: 2, h: 1 },
78
+ useBrick: {
79
+ brick: "div",
80
+ properties: {
81
+ style: { padding: "16px", height: "100%" },
82
+ textContent: "World Content",
83
+ },
84
+ },
85
+ },
86
+ {
87
+ title: "Small 卡片",
88
+ key: "small",
89
+ position: { i: "small", x: 2, y: 0, w: 1, h: 1 },
90
+ useBrick: {
91
+ brick: "div",
92
+ properties: {
93
+ style: { padding: "16px", height: "100%" },
94
+ textContent: "Small",
95
+ },
96
+ },
97
+ },
98
+ ]}
99
+ />
100
+ ```
101
+
102
+ ### Edit Mode with Settings
103
+
104
+ 开启编辑模式,显示设置按钮,并监听 onSave、onCancel、onSetting 事件。
105
+
106
+ ```tsx
107
+ const ref = useRef<any>();
108
+
109
+ <WrappedEoWorkbenchLayoutV2
110
+ ref={ref}
111
+ isEdit={true}
112
+ showSettingButton={true}
113
+ gap={16}
114
+ layouts={[
115
+ { i: "hello", x: 0, y: 0, w: 2, h: 1, type: "hello", cardWidth: 2 },
116
+ { i: "small", x: 2, y: 0, w: 1, h: 1, type: "small", cardWidth: 1 },
117
+ ]}
118
+ componentList={[
119
+ {
120
+ title: "Hello 卡片",
121
+ key: "hello",
122
+ position: { i: "hello", x: 0, y: 0, w: 2, h: 1 },
123
+ useBrick: {
124
+ brick: "div",
125
+ properties: {
126
+ style: { padding: "16px", height: "100%" },
127
+ textContent: "Hello World",
128
+ },
129
+ },
130
+ },
131
+ {
132
+ title: "Small 卡片",
133
+ key: "small",
134
+ position: { i: "small", x: 2, y: 0, w: 1, h: 1 },
135
+ useBrick: {
136
+ brick: "div",
137
+ properties: {
138
+ style: { padding: "16px", height: "100%" },
139
+ textContent: "Small",
140
+ },
141
+ },
142
+ },
143
+ {
144
+ title: "Extra 卡片",
145
+ key: "extra",
146
+ position: { i: "extra", x: 0, y: 2, w: 2, h: 1 },
147
+ useBrick: {
148
+ brick: "div",
149
+ properties: {
150
+ style: { padding: "16px", height: "100%" },
151
+ textContent: "Extra Content",
152
+ },
153
+ },
154
+ },
155
+ ]}
156
+ onChange={(e) => console.log(e.detail)}
157
+ onSave={(e) => console.log(e.detail)}
158
+ onCancel={() => console.log("cancel")}
159
+ onSetting={() => console.log("setting")}
160
+ onActionClick={(e) => console.log(e.detail)}
161
+ />;
162
+ ```
@@ -1,9 +1,45 @@
1
- 工作台布局
1
+ ---
2
+ tagName: eo-workbench-layout
3
+ displayName: WrappedEoWorkbenchLayout
4
+ description: 工作台布局(拖拽式卡片布局,支持编辑模式)
5
+ category: layout
6
+ source: "@next-bricks/advanced"
7
+ ---
8
+
9
+ # eo-workbench-layout
10
+
11
+ > 工作台布局(拖拽式卡片布局,支持编辑模式)。⚠️ 已废弃,请使用 `eo-workbench-layout-v2`。
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ------------- | ---------- | ---- | ------ | ------------------------------------------------------------ |
17
+ | cardTitle | `string` | 否 | - | 编辑模式下左侧卡片列表面板的标题 |
18
+ | isEdit | `boolean` | 否 | - | 是否进入编辑模式,编辑模式下可拖拽调整布局并显示卡片选择面板 |
19
+ | layouts | `Layout[]` | 否 | - | 当前布局配置,每项对应一个卡片的位置与大小 |
20
+ | componentList | `Item[]` | 否 | - | 组件列表,每项包含 key、title、useBrick 和 position 信息 |
21
+
22
+ ## Events
23
+
24
+ | 事件 | detail | 说明 |
25
+ | ------------ | --------------------------------------------------------------------------------------------------- | ------------------ |
26
+ | change | `Layout[]` — 当前布局配置数组 | 布局发生变化时触发 |
27
+ | save | `Layout[]` — 保存时的布局配置数组 | 点击保存按钮时触发 |
28
+ | cancel | `void` | 点击取消按钮时触发 |
29
+ | action.click | `{ action: SimpleAction; layouts: Layout[] }` — { action: 点击的操作项, layouts: 当前布局配置数组 } | 操作点击事件 |
30
+
31
+ ## Methods
32
+
33
+ | 方法 | 参数 | 返回值 | 说明 |
34
+ | ---------- | ----------------------------- | ------ | ------------ |
35
+ | setLayouts | `(layouts: Layout[]) => void` | `void` | 设置布局配置 |
2
36
 
3
37
  ## Examples
4
38
 
5
39
  ### Basic
6
40
 
41
+ 展示工作台布局的基本用法,通过 layouts 和 componentList 配置卡片位置与内容。
42
+
7
43
  ```yaml preview
8
44
  - brick: eo-workbench-layout
9
45
  properties:
@@ -100,12 +136,18 @@
100
136
  key: custom
101
137
  ```
102
138
 
103
- ### Edit & Event
139
+ ### Edit Mode
140
+
141
+ 开启 isEdit 进入编辑模式,支持拖拽调整卡片位置,并监听 save 和 cancel 事件。
104
142
 
105
143
  ```yaml preview
106
144
  - brick: eo-workbench-layout
107
145
  events:
108
- save.layout:
146
+ save:
147
+ - action: console.log
148
+ cancel:
149
+ - action: console.log
150
+ change:
109
151
  - action: console.log
110
152
  properties:
111
153
  isEdit: true