New keys for object, refactoring.

This commit is contained in:
barsdeveloper
2021-12-05 20:49:07 +01:00
parent 07afb4bcb9
commit 76ae9ed3c0
26 changed files with 165 additions and 142 deletions

View File

@@ -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)
}
}
}

View File

@@ -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
}

View File

@@ -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() {

View File

@@ -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
}

View File

@@ -19,4 +19,4 @@ export default class MouseTracking extends Pointing {
blueprintUnfocused() {
this.target.removeEventListener("mousemove", this.mousemoveHandler)
}
}
}

View File

@@ -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 */

View File

@@ -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)
}
}