Files
ueblueprint/js/template/ISelectableDraggableTemplate.js
barsdeveloper fdd86ce5de Refactor jsdoc types (#16)
* WIP

* Fix type 1

* Missing types info

* Some fixes

* Several types refactoring and fixes

* WIP

* Fix grammar
2023-09-22 22:56:33 +02:00

29 lines
936 B
JavaScript
Executable File

import IDraggablePositionedTemplate from "./IDraggablePositionedTemplate.js"
import MouseMoveNodes from "../input/mouse/MouseMoveNodes.js"
/**
* @template {NodeElement} T
* @extends {IDraggablePositionedTemplate<T>}
*/
export default class ISelectableDraggableTemplate extends IDraggablePositionedTemplate {
getDraggableElement() {
return /** @type {Element} */(this.element)
}
createDraggableObject() {
return /** @type {MouseMoveDraggable} */(new MouseMoveNodes(this.element, this.blueprint, {
draggableElement: this.getDraggableElement(),
scrollGraphEdge: true,
}))
}
/** @param {PropertyValues} changedProperties */
firstUpdated(changedProperties) {
super.firstUpdated(changedProperties)
if (this.element.selected && !this.element.listeningDrag) {
this.element.setSelected(true)
}
}
}