(x: number, layerIdx: number)
| 660 | } |
| 661 | |
| 662 | function addPlusMinusControl(x: number, layerIdx: number) { |
| 663 | let div = d3.select("#network").append("div") |
| 664 | .classed("plus-minus-neurons", true) |
| 665 | .style("left", `${x - 10}px`); |
| 666 | |
| 667 | let i = layerIdx - 1; |
| 668 | let firstRow = div.append("div").attr("class", `ui-numNodes${layerIdx}`); |
| 669 | firstRow.append("button") |
| 670 | .attr("class", "mdl-button mdl-js-button mdl-button--icon") |
| 671 | .on("click", () => { |
| 672 | let numNeurons = state.networkShape[i]; |
| 673 | if (numNeurons >= 8) { |
| 674 | return; |
| 675 | } |
| 676 | state.networkShape[i]++; |
| 677 | parametersChanged = true; |
| 678 | reset(); |
| 679 | }) |
| 680 | .append("i") |
| 681 | .attr("class", "material-icons") |
| 682 | .text("add"); |
| 683 | |
| 684 | firstRow.append("button") |
| 685 | .attr("class", "mdl-button mdl-js-button mdl-button--icon") |
| 686 | .on("click", () => { |
| 687 | let numNeurons = state.networkShape[i]; |
| 688 | if (numNeurons <= 1) { |
| 689 | return; |
| 690 | } |
| 691 | state.networkShape[i]--; |
| 692 | parametersChanged = true; |
| 693 | reset(); |
| 694 | }) |
| 695 | .append("i") |
| 696 | .attr("class", "material-icons") |
| 697 | .text("remove"); |
| 698 | |
| 699 | let suffix = state.networkShape[i] > 1 ? "s" : ""; |
| 700 | div.append("div").text( |
| 701 | state.networkShape[i] + " neuron" + suffix |
| 702 | ); |
| 703 | } |
| 704 | |
| 705 | function updateHoverCard(type: HoverType, nodeOrLink?: nn.Node | nn.Link, |
| 706 | coordinates?: [number, number]) { |
no test coverage detected
searching dependent graphs…