mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 08:41:34 +08:00
New keys for object, refactoring.
This commit is contained in:
@@ -23,4 +23,4 @@ export default class Copy extends Context {
|
||||
const value = this.blueprint.getNodes(true).map(node => this.serializer.write(node.entity)).join("\n")
|
||||
navigator.clipboard.writeText(value)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ export default class Drag extends MouseClickDrag {
|
||||
|
||||
startDrag() {
|
||||
if (isNaN(this.stepSize) || this.stepSize <= 0) {
|
||||
this.stepSize = parseInt(getComputedStyle(this.target).getPropertyValue('--ueb-grid-snap'))
|
||||
this.stepSize = parseInt(getComputedStyle(this.target).getPropertyValue("--ueb-grid-snap"))
|
||||
if (isNaN(this.stepSize) || this.stepSize <= 0) {
|
||||
this.stepSize = 1
|
||||
}
|
||||
|
||||
@@ -29,11 +29,11 @@ export default class KeyboardShortcut extends Context {
|
||||
}
|
||||
|
||||
blueprintFocused() {
|
||||
document.addEventListener('keydown', this.keyDownHandler)
|
||||
document.addEventListener("keydown", this.keyDownHandler)
|
||||
}
|
||||
|
||||
blueprintUnfocused() {
|
||||
document.removeEventListener('keydown', this.keyDownHandler)
|
||||
document.removeEventListener("keydown", this.keyDownHandler)
|
||||
}
|
||||
|
||||
fire() {
|
||||
|
||||
@@ -26,8 +26,8 @@ export default class MouseClickDrag extends Pointing {
|
||||
e.stopPropagation()
|
||||
self.started = false
|
||||
// Attach the listeners
|
||||
movementListenedElement.addEventListener('mousemove', self.mouseStartedMovingHandler)
|
||||
document.addEventListener('mouseup', self.mouseUpHandler)
|
||||
movementListenedElement.addEventListener("mousemove", self.mouseStartedMovingHandler)
|
||||
document.addEventListener("mouseup", self.mouseUpHandler)
|
||||
self.clickedPosition = self.getLocation(e)
|
||||
self.clicked(self.clickedPosition)
|
||||
}
|
||||
@@ -45,8 +45,8 @@ export default class MouseClickDrag extends Pointing {
|
||||
e.stopPropagation()
|
||||
|
||||
// Delegate from now on to self.mouseMoveHandler
|
||||
movementListenedElement.removeEventListener('mousemove', self.mouseStartedMovingHandler)
|
||||
movementListenedElement.addEventListener('mousemove', self.mouseMoveHandler)
|
||||
movementListenedElement.removeEventListener("mousemove", self.mouseStartedMovingHandler)
|
||||
movementListenedElement.addEventListener("mousemove", self.mouseMoveHandler)
|
||||
|
||||
// Do actual actions
|
||||
self.startDrag()
|
||||
@@ -64,16 +64,16 @@ export default class MouseClickDrag extends Pointing {
|
||||
this.mouseUpHandler = e => {
|
||||
if (!self.exitAnyButton || e.button == self.clickButton) {
|
||||
// Remove the handlers of "mousemove" and "mouseup"
|
||||
movementListenedElement.removeEventListener('mousemove', self.mouseStartedMovingHandler)
|
||||
movementListenedElement.removeEventListener('mousemove', self.mouseMoveHandler)
|
||||
document.removeEventListener('mouseup', self.mouseUpHandler)
|
||||
movementListenedElement.removeEventListener("mousemove", self.mouseStartedMovingHandler)
|
||||
movementListenedElement.removeEventListener("mousemove", self.mouseMoveHandler)
|
||||
document.removeEventListener("mouseup", self.mouseUpHandler)
|
||||
self.endDrag()
|
||||
}
|
||||
}
|
||||
|
||||
this.target.addEventListener('mousedown', this.mouseDownHandler)
|
||||
this.target.addEventListener("mousedown", this.mouseDownHandler)
|
||||
if (this.clickButton == 2) {
|
||||
this.target.addEventListener('contextmenu', this.preventDefault)
|
||||
this.target.addEventListener("contextmenu", this.preventDefault)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,9 +83,9 @@ export default class MouseClickDrag extends Pointing {
|
||||
|
||||
unlistenDOMElement() {
|
||||
super.unlistenDOMElement()
|
||||
this.target.removeEventListener('mousedown', this.mouseDownHandler)
|
||||
this.target.removeEventListener("mousedown", this.mouseDownHandler)
|
||||
if (this.clickButton == 2) {
|
||||
this.target.removeEventListener('contextmenu', this.preventDefault)
|
||||
this.target.removeEventListener("contextmenu", this.preventDefault)
|
||||
} blueprintunfocusHandler
|
||||
}
|
||||
|
||||
|
||||
@@ -19,4 +19,4 @@ export default class MouseTracking extends Pointing {
|
||||
blueprintUnfocused() {
|
||||
this.target.removeEventListener("mousemove", this.mousemoveHandler)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,18 +22,18 @@ export default class MouseWheel extends Pointing {
|
||||
this.mouseParentWheelHandler = e => e.preventDefault()
|
||||
|
||||
if (this.blueprint.focused) {
|
||||
this.movementSpace.addEventListener('wheel', this.mouseWheelHandler, false)
|
||||
this.movementSpace.addEventListener("wheel", this.mouseWheelHandler, false)
|
||||
}
|
||||
}
|
||||
|
||||
blueprintFocused() {
|
||||
this.movementSpace.addEventListener('wheel', this.mouseWheelHandler, false)
|
||||
this.movementSpace.parentElement?.addEventListener('wheel', this.mouseParentWheelHandler)
|
||||
this.movementSpace.addEventListener("wheel", this.mouseWheelHandler, false)
|
||||
this.movementSpace.parentElement?.addEventListener("wheel", this.mouseParentWheelHandler)
|
||||
}
|
||||
|
||||
blueprintUnfocused() {
|
||||
this.movementSpace.removeEventListener('wheel', this.mouseWheelHandler, false)
|
||||
this.movementSpace.parentElement?.removeEventListener('wheel', this.mouseParentWheelHandler)
|
||||
this.movementSpace.removeEventListener("wheel", this.mouseWheelHandler, false)
|
||||
this.movementSpace.parentElement?.removeEventListener("wheel", this.mouseParentWheelHandler)
|
||||
}
|
||||
|
||||
/* Subclasses will override the following method */
|
||||
|
||||
@@ -29,14 +29,18 @@ export default class Paste extends Context {
|
||||
left = Math.min(left, node.location[0])
|
||||
return node
|
||||
})
|
||||
if (nodes.length > 0) {
|
||||
this.blueprint.unselectAll()
|
||||
}
|
||||
let mousePosition = this.blueprint.entity.mousePosition
|
||||
this.blueprint.addNode(...nodes)
|
||||
nodes.forEach(node => {
|
||||
const locationOffset = [
|
||||
mousePosition[0] - left,
|
||||
mousePosition[1] - top
|
||||
]
|
||||
node.addLocation(locationOffset)
|
||||
node.setSelected(true)
|
||||
})
|
||||
this.blueprint.addNode(...nodes)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user