Skip to content

Commit 0404fa9

Browse files
committed
refact: canvas interaction logic
1 parent d269dfe commit 0404fa9

24 files changed

Lines changed: 1803 additions & 514 deletions

designer-demo/engine.config.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ export default {
33
theme: 'light',
44
material: ['/mock/bundle.json'],
55
scripts: [],
6-
styles: []
6+
styles: [],
7+
selectMode: 'vue'
78
}

packages/canvas/DesignCanvas/src/DesignCanvas.vue

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ import {
4242
import { constants } from '@opentiny/tiny-engine-utils'
4343
import * as ast from '@opentiny/tiny-engine-common/js/ast'
4444
import { initCanvas } from '../../init-canvas/init-canvas'
45-
import { useMultiSelect } from '../../container/src/composables/useMultiSelect'
45+
// import { useMultiSelect } from '../../container/src/composables/useMultiSelect'
46+
import { useSelectNode } from '../../container/src/interactions'
4647
import { getImportMapData } from './importMap'
4748
import meta from '../meta'
4849
@@ -153,8 +154,10 @@ export default {
153154
}
154155
)
155156
156-
const { multiSelectedStates } = useMultiSelect()
157-
const multiStateLength = computed(() => multiSelectedStates.value.length)
157+
// const { multiSelectedStates } = useMultiSelect()
158+
// const multiStateLength = computed(() => multiSelectedStates.value.length)
159+
const { selectState } = useSelectNode()
160+
const multiStateLength = computed(() => selectState.value.length)
158161
159162
const nodeSelected = (node, parent, type, id) => {
160163
const { leftPanelFixed, rightPanelFixed } = getFixedPanelsStatus()
@@ -180,7 +183,7 @@ export default {
180183
181184
// 如果选中的节点是画布,就设置成默认选中最外层schema
182185
useProperties().getProps(schemaItem || pageSchema, parent)
183-
const multiSchemas = multiSelectedStates.value.map(({ schema }) => schema)
186+
const multiSchemas = selectState.value.map(({ node }) => node)
184187
const currentSchema = multiStateLength.value > 1 ? multiSchemas : schemaItem || pageSchema
185188
useCanvas().setCurrentSchema(currentSchema)
186189
footData.value = getNodePath(schemaItem?.id)

packages/canvas/container/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import CanvasContainer from './src/CanvasContainer.vue'
2-
import { useMultiSelect } from './src/composables/useMultiSelect'
2+
import { useSelectNode } from './src/interactions'
33
import { registerHotkeyEvent, removeHotkeyEvent } from './src/keyboard'
44
import metaData from './meta'
55

66
export default {
77
...metaData,
88
entry: CanvasContainer,
9-
api: { useMultiSelect, registerHotkeyEvent, removeHotkeyEvent }
9+
api: { useSelectNode, registerHotkeyEvent, removeHotkeyEvent }
1010
}

0 commit comments

Comments
 (0)