Published
Edited
Dec 4, 2018
Importers
8 stars
Insert cell
Insert cell
Insert cell
noUiSlider = {
if (!document.getElementById('nouislider-css')) {
const href = await require.resolve("nouislider@12.1.0/distribute/nouislider.min.css");
document.head.appendChild(html`<link id='nouislider-css' href=${href} rel=stylesheet>`);
}
return await require('nouislider@12.1.0/distribute/nouislider.min.js');
}
Insert cell
Insert cell
viewof slider = {
const slider = html`<div id=slider style='max-width:550px; margin:0 auto;'>`;
noUiSlider.create(slider, {
start: [20, 80],
behaviour: 'drag',
connect: true,
tooltips: true,
range: {
'min': 0,
'max': 100
}
});
// This fires immediately when bound, so we don't need to assign slider.value separately on initialization.
slider.noUiSlider.on('update', (e) => {
slider.value = slider.noUiSlider.get();
slider.dispatchEvent(new CustomEvent('input'));
})
return slider;
}
Insert cell
slider
Insert cell
// Some CSS to auto-hide the tooltips, see https://refreshless.com/nouislider/examples/#section-hiding-tooltips
html`<style>
.noUi-tooltip {
display: none;
}
.noUi-active .noUi-tooltip {
display: block;
}
`
Insert cell
Insert cell
Insert cell
Insert cell
colorpicker
Insert cell
Insert cell
Insert cell
Insert cell
coloredconnect
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more