vis2 = {
let outerDiv = html`<div style="background:white;padding:10px"></div>`;
let div = html`<div></div>`;
outerDiv.append(div);
let selector = dataSelector();
let selectorDiv = html`<div style="display:inline-block;vertical-align:top">${selector}</div>`;
div.append(selectorDiv);
let divChart = html`<div style="display:inline-block"></div>`;
div.append(divChart);
let refresh = function () {
d3.select(divChart).selectAll('div').remove();
plot(selector.value).then(chart => {
divChart.append(chart)
});
}
d3.select(selector).on("input", refresh);
refresh();
function onresize () {
let fs = document.webkitFullscreenElement || document.mozFullscreenElement;
if (fs == outerDiv) {
let factor = window.innerWidth / 700;
d3.select(div)
.style('transform-origin', "0% 0%")
.style('transform', `scale(${factor})`)
} else {
d3.select(div)
.style('transform', null)
}
}
let resizeListener = window.addEventListener('resize', onresize, false);
invalidation.then(() => window.removeEventListener('resize',resizeListener));
return outerDiv;
}