Drag nodes using arrows

This commit is contained in:
barsdeveloper
2023-04-10 00:18:41 +02:00
parent 41165fe20e
commit 1015f4787c
5 changed files with 113 additions and 15 deletions

View File

@@ -1,4 +1,6 @@
import Configuration from "../Configuration.js"
import ITemplate from "./ITemplate.js"
import KeyboardShortcutAction from "../input/keybaord/KeyboardShortcutAction.js"
import MouseMoveDraggable from "../input/mouse/MouseMoveDraggable.js"
/**
@@ -26,6 +28,30 @@ export default class IDraggableTemplate extends ITemplate {
return [
...super.createInputObjects(),
this.createDraggableObject(),
new KeyboardShortcutAction(
this.element,
this.blueprint,
{
activationKeys: [
Configuration.Keys.ArrowUp,
Configuration.Keys.ArrowRight,
Configuration.Keys.ArrowDown,
Configuration.Keys.ArrowLeft,
]
},
self => self.target.acknowledgeDrag([
self.pressedKey === Configuration.Keys.ArrowLeft
? -Configuration.gridSize
: self.pressedKey === Configuration.Keys.ArrowRight
? Configuration.gridSize
: 0,
self.pressedKey === Configuration.Keys.ArrowUp
? -Configuration.gridSize
: self.pressedKey === Configuration.Keys.ArrowDown
? Configuration.gridSize
: 0,
])
)
]
}