Dashboard Example
Interactive Quarto Dashboards with WebAssembly computation
The Lorenz System
viewof sRange = Inputs.range([0, 50], {value: 10, step: 0.5, label: "sigma"});
viewof bRange = Inputs.range([0, 20], {value: 2.5, step: 0.2, label: "beta"});
viewof rRange = Inputs.range([0, 50], {value: 28, step: 0.5, label: "rho"});
sigma = debounce(viewof sRange);
beta = debounce(viewof bRange);
rho = debounce(viewof rRange);

// From @mbostock/debouncing-input
function debounce(input, delay = 1000) {
  return Generators.observe(notify => {
    let timer = null;
    let value;
    function inputted() {
      if (timer !== null) return;
      notify(value = input.value);
      timer = setTimeout(delayed, delay);
    }
    function delayed() {
      timer = null;
      if (value === input.value) return;
      notify(value = input.value);
    }
    input.addEventListener("input", inputted), inputted();
    return () => input.removeEventListener("input", inputted);
  });
}
  • Edit this page
  • Report an issue