Skip to content

Commit

Permalink
fix: change multiple selection judgment logic
Browse files Browse the repository at this point in the history
  • Loading branch information
SonyLeo committed Jan 21, 2025
1 parent 283aee0 commit e267d5e
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 14 deletions.
4 changes: 2 additions & 2 deletions packages/canvas/container/src/CanvasContainer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ import { onMounted, ref, computed, onUnmounted, watch, watchEffect } from 'vue'
import { iframeMonitoring } from '@opentiny/tiny-engine-common/js/monitor'
import { useTranslate, useCanvas, useMessage, useResource } from '@opentiny/tiny-engine-meta-register'
import { NODE_UID, NODE_LOOP, DESIGN_MODE } from '../../common'
import { registerHotkeyEvent, removeHotkeyEvent, multiSelectedStates, isCtrlPressed } from './keyboard'
import { registerHotkeyEvent, removeHotkeyEvent, multiSelectedStates } from './keyboard'
import CanvasMenu, { closeMenu, openMenu } from './components/CanvasMenu.vue'
import CanvasAction from './components/CanvasAction.vue'
import CanvasRouterJumper from './components/CanvasRouterJumper.vue'
Expand Down Expand Up @@ -203,7 +203,7 @@ export default {
// 多选组合键触发
if (element) {
const selectedState = getMultiState(element, doc)
if (event.buttons === 1 && isCtrlPressed.value) {
if (event.ctrlKey && event.button === 0) {
handleMultiState(multiSelectedStates, selectedState)
return
}
Expand Down
13 changes: 1 addition & 12 deletions packages/canvas/container/src/keyboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@ const KEY_LEFT = 37
const KEY_UP = 38
const KEY_DOWN = 40
const KEY_DEL = 46
const KEY_CTRL = 17

// 多选节点
const multiSelectedStates = ref([])
const isCtrlPressed = ref(false)

function handlerLeft({ parent }) {
selectNode(parent?.id)
Expand Down Expand Up @@ -83,7 +81,6 @@ const handleSaveEvent = (event) => {

const handlerCtrl = (event) => {
const keyCode = event.keyCode
isCtrlPressed.value = true
switch (keyCode) {
case KEY_Y:
useHistory().forward()
Expand Down Expand Up @@ -154,15 +151,8 @@ const keyboardHandler = (event) => {
handlerArrow(event.keyCode)
}

const handleKeyupEvent = (event) => {
if (event.keyCode === KEY_CTRL) {
isCtrlPressed.value = false
}
}

const removeHotkeyEvent = (dom) => {
dom.removeEventListener('keydown', keyboardHandler)
dom.removeEventListener('keyup', handleKeyupEvent)
dom.removeEventListener('copy', handlerClipboardEvent)
dom.removeEventListener('cut', handlerClipboardEvent)
dom.removeEventListener('paste', handlerClipboardEvent)
Expand All @@ -172,10 +162,9 @@ const registerHotkeyEvent = (dom) => {
removeHotkeyEvent(dom)

dom.addEventListener('keydown', keyboardHandler)
dom.addEventListener('keyup', handleKeyupEvent)
dom.addEventListener('copy', handlerClipboardEvent)
dom.addEventListener('cut', handlerClipboardEvent)
dom.addEventListener('paste', handlerClipboardEvent)
}

export { registerHotkeyEvent, removeHotkeyEvent, multiSelectedStates, isCtrlPressed }
export { registerHotkeyEvent, removeHotkeyEvent, multiSelectedStates }

0 comments on commit e267d5e

Please sign in to comment.