Files
ueblueprint/js/template/SelectableDraggableTemplate.js
2022-02-27 13:16:31 +01:00

30 lines
1000 B
JavaScript
Executable File

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