in src/playground.ts [662:703]
function addPlusMinusControl(x: number, layerIdx: number) {
let div = d3.select("#network").append("div")
.classed("plus-minus-neurons", true)
.style("left", `${x - 10}px`);
let i = layerIdx - 1;
let firstRow = div.append("div").attr("class", `ui-numNodes${layerIdx}`);
firstRow.append("button")
.attr("class", "mdl-button mdl-js-button mdl-button--icon")
.on("click", () => {
let numNeurons = state.networkShape[i];
if (numNeurons >= 8) {
return;
}
state.networkShape[i]++;
parametersChanged = true;
reset();
})
.append("i")
.attr("class", "material-icons")
.text("add");
firstRow.append("button")
.attr("class", "mdl-button mdl-js-button mdl-button--icon")
.on("click", () => {
let numNeurons = state.networkShape[i];
if (numNeurons <= 1) {
return;
}
state.networkShape[i]--;
parametersChanged = true;
reset();
})
.append("i")
.attr("class", "material-icons")
.text("remove");
let suffix = state.networkShape[i] > 1 ? "s" : "";
div.append("div").text(
state.networkShape[i] + " neuron" + suffix
);
}