/* -------------------------- */ /* consolPlugin */ /* -------------------------- */ var consolPlugin = function consolPlugin() { var consoleinput = null consoleinput = d3.select("#controls") .append("div") .attr("class", "consols") .selectAll(".consol") .data([consoleText]) .enter().append("input") .attr('type', "text") .attr('id', 'consol') .attr("class", "consol") .attr('style', 'width: 590px;') .style("font", "12px sans-serif") // _e_ .style("fill-opacity", 1) .on("change", changedconsol) var replacer = function (key,value) { if (typeof(value) === 'number') { let r = Math.floor(value * 100) / 100 return r } else if (typeof(value) === 'object') return value else if (typeof("value") === "string") return value else return value } var consoleText = (__mapper().config.consol && __mapper().config.consol.text) ? __mapper().config.consol.text : '{}' function changedconsol() { let anima = JSON.parse(this.value) __mapper('xsf').clear() __mapper({'fuel': fuelPlugin()}).fuel.clear() // clear fuel __mapper('animation').render(anima) } var consolPlugin = function consolPlugin() { } consolPlugin.render = function(params) { // render is based on superform var p = params consoleinput.property('value', d => JSON.stringify(p, replacer)) // consol } consolPlugin.clear = function() { var p = Object.assign({}) if (!consolElemsEnter.empty()) { consolElemsEnter.property('value', d => JSON.stringify(p, initialstate.consol.replacer)) // consol } } return consolPlugin }