/* -------------------------- */ /* controlsPlugin */ /* -------------------------- */ var controlsPlugin = function controlsPlugin() { var format = d3.format(".4n")// d3.format(".2f") // var xsfdomain = __mapper("scales").xsfdomain() var controlElems = d3.select("#controls") .append("div") .attr("class", "controls") .style("height", 10) var controlElem = controlElems .selectAll("div") .data(d3.entries(xsfdomain)) .style("height", 10) .enter().append("div") .attr("id", d => d.key ) .style("font", "5px century-gothic") controlElem.append("label") .text( d => d.key ) .style("font", "5px century-gothic") .style("height", "5px") .style("padding", "2px") controlElem.append("input") .attr("type", "range") .attr("min", d => xsfdomain[d.key][0]) .attr("max", d => xsfdomain[d.key][2]) .style("height", 10) .property("value", d => xsfdomain[d.key][0]) .style("font", "5px century-gothic") .on("change", onChangedcontrol) .on("input", onChangedcontrol); controlElem.append("span") .text(function(d) { return format(xsfdomain[d.key][1]); }) .style("font", "5px century-gothic") function onChangedcontrol(d) { // onchange let k = d.key, v, formattedv v = __mapper("scales").scales()[d.key].invert(this.value) formattedv = v // / __mapper("config").controls.multiplier // _e_ let params = {} params[k] = formattedv d3.select(this.nextSibling).text(formattedv) // update scale value __mapper("xsf")(params).render() // render form __mapper({'fuel': fuelPlugin()}).fuel.clear() // clear fuel if (__mapper("dots")) __mapper('dots')(__mapper('xsf').formparams()).render() // update dots if (__mapper("consol")) __mapper().consol.render(__mapper('xsf').formparams()) } var controlsPlugin = function controlsPlugin() {} controlsPlugin.render = function(params) { } return controlsPlugin } ;