* 给插入面板使用的,将当前选中的节点插入到当前选中的节点容器内。 * @param position
()
| 1214 | * @param position |
| 1215 | */ |
| 1216 | async insert() { |
| 1217 | const store = this.store; |
| 1218 | const subRenderer = store.selectedInsertRendererInfo; |
| 1219 | if (!subRenderer) { |
| 1220 | return; |
| 1221 | } |
| 1222 | |
| 1223 | const id = store.insertId; |
| 1224 | const region = store.insertRegion; |
| 1225 | const beforeId = store.insertBeforeId; // 插入组件面板选中的组件 |
| 1226 | let value = |
| 1227 | subRenderer.scaffold || |
| 1228 | ({ |
| 1229 | type: subRenderer.type |
| 1230 | } as SchemaObject); |
| 1231 | |
| 1232 | if (subRenderer.scaffoldForm) { |
| 1233 | value = await this.scaffold(subRenderer.scaffoldForm, value); |
| 1234 | } |
| 1235 | const child = this.addChild(id, region, value, beforeId, subRenderer); |
| 1236 | if (child) { |
| 1237 | store.closeInsertPanel(); |
| 1238 | // mobx 修改数据是异步的 |
| 1239 | setTimeout(() => { |
| 1240 | store.setActiveId(child.$$id); |
| 1241 | }, 100); |
| 1242 | } |
| 1243 | } |
| 1244 | |
| 1245 | /** |
| 1246 | * 给插入面板使用的,替换组件类型。 |
no test coverage detected