UNPKG

@d3fc/d3fc-element

Version:

Custom HTML elements that make it easier to create responsive visualisations that integrate easily with other UI frameworks (e.g. React, Angular)

27 lines (24 loc) 889 B
import element from './element'; export default class extends element( () => document.createElement('canvas'), (element, node, { width, height }) => { node.setAttribute('width', width); node.setAttribute('height', height); if (element.setWebglViewport) { const context = node.getContext('webgl'); context.viewport(0, 0, width, height); } } ) { get setWebglViewport() { return this.hasAttribute('set-webgl-viewport') && this.getAttribute('set-webgl-viewport') !== 'false'; } set setWebglViewport(setWebglViewport) { if (setWebglViewport && !this.setWebglViewport) { this.setAttribute('set-webgl-viewport', ''); } else if (!setWebglViewport && this.setWebglViewport) { this.removeAttribute('set-webgl-viewport'); } this.requestRedraw(); } }