@giro3d/function-curve-editor
Version:
A function curve editor widget / web component
57 lines • 1.51 kB
JavaScript
import { Widget } from "./FunctionCurveEditor.js";
export class FunctionCurveEditorElement extends HTMLElement {
constructor() {
super();
this.attachShadow({ mode: "open" });
this.shadowRoot.innerHTML = htmlTemplate;
const canvas = this.shadowRoot.querySelector("canvas");
this.widget = new Widget(canvas, false);
this.widget.setEventTarget(this);
}
connectedCallback() {
this.widget.setConnected(true);
}
disconnectedCallback() {
this.widget.setConnected(false);
}
getEditorState() {
return this.widget.getEditorState();
}
setEditorState(eState) {
this.widget.setEditorState(eState);
}
getFunction() {
return this.widget.getFunction();
}
getRawHelpText() {
return this.widget.getRawHelpText();
}
getFormattedHelpText() {
return this.widget.getFormattedHelpText();
}
}
const style = `
:host {
display: block;
contain: content;
background-color: #f8f8f8;
border-style: solid;
border-width: 1px;
border-color: #dddddd;
}
canvas {
display: block;
width: 100%;
height: 100%;
outline: none;
}
`;
const htmlTemplate = `
<style>${style}</style>
<canvas tabindex="-1">
</canvas>
`;
export function registerCustomElement() {
customElements.define("function-curve-editor", FunctionCurveEditorElement);
}
//# sourceMappingURL=FunctionCurveEditorWebComponent.js.map