import { html } from "lit" import IInputPinTemplate from "./IInputPinTemplate" import RealPinTemplate from "./RealPinTemplate" /** * @typedef {import("../element/PinElement").default} PinElement * @typedef {import("../entity/LinearColorEntity").default} LinearColorEntity} */ export default class VectorPinTemplate extends RealPinTemplate { /** * @param {PinElement} pin * @param {String[]?} values */ setInputs(pin, values = [], updateDefaultValue = true) { this.inputContentElements.forEach( (element, i) => element.innerText = values[i] ) if (updateDefaultValue) { pin.setDefaultValue(values .map(v => IInputPinTemplate.stringFromInputToUE(v)) // Double newline at the end of a contenteditable element .reduce((acc, cur) => acc + cur, "")) } } /** @param {PinElement} pin */ renderInput(pin) { if (pin.isInput()) { return html` X
Y
Z
` } return html`` } }