Files
ueblueprint/js/template/SelectableDraggableTemplate.js
barsdeveloper a0eeca11d1 Various fixes
2022-03-28 23:04:24 +02:00

32 lines
1016 B
JavaScript
Executable File

// @ts-check
import ITemplate from "./ITemplate"
import sanitizeText from "./sanitizeText"
/**
* @typedef {import("../element/ISelectableDraggableElement").default} ISelectableDraggableElement
*/
export default class SelectableDraggableTemplate extends ITemplate {
/**
* Returns the html elements rendered from this template.
* @param {ISelectableDraggableElement} element Element of the graph
*/
applyLocation(element) {
element.style.setProperty("--ueb-position-x", sanitizeText(element.location[0]))
element.style.setProperty("--ueb-position-y", sanitizeText(element.location[1]))
}
/**
* Returns the html elements rendered from this template.
* @param {ISelectableDraggableElement} element Element of the graph
*/
applySelected(element) {
if (element.selected) {
element.classList.add("ueb-selected")
} else {
element.classList.remove("ueb-selected")
}
}
}