()
| 176 | ["#777", "black"]); |
| 177 | |
| 178 | function makeGUI() { |
| 179 | d3.select("#reset-button").on("click", () => { |
| 180 | reset(); |
| 181 | userHasInteracted(); |
| 182 | d3.select("#play-pause-button"); |
| 183 | }); |
| 184 | |
| 185 | d3.select("#play-pause-button").on("click", function () { |
| 186 | // Change the button's content. |
| 187 | userHasInteracted(); |
| 188 | player.playOrPause(); |
| 189 | }); |
| 190 | |
| 191 | player.onPlayPause(isPlaying => { |
| 192 | d3.select("#play-pause-button").classed("playing", isPlaying); |
| 193 | }); |
| 194 | |
| 195 | d3.select("#next-step-button").on("click", () => { |
| 196 | player.pause(); |
| 197 | userHasInteracted(); |
| 198 | if (iter === 0) { |
| 199 | simulationStarted(); |
| 200 | } |
| 201 | oneStep(); |
| 202 | }); |
| 203 | |
| 204 | d3.select("#data-regen-button").on("click", () => { |
| 205 | generateData(); |
| 206 | parametersChanged = true; |
| 207 | }); |
| 208 | |
| 209 | let dataThumbnails = d3.selectAll("canvas[data-dataset]"); |
| 210 | dataThumbnails.on("click", function() { |
| 211 | let newDataset = datasets[this.dataset.dataset]; |
| 212 | if (newDataset === state.dataset) { |
| 213 | return; // No-op. |
| 214 | } |
| 215 | state.dataset = newDataset; |
| 216 | dataThumbnails.classed("selected", false); |
| 217 | d3.select(this).classed("selected", true); |
| 218 | generateData(); |
| 219 | parametersChanged = true; |
| 220 | reset(); |
| 221 | }); |
| 222 | |
| 223 | let datasetKey = getKeyFromValue(datasets, state.dataset); |
| 224 | // Select the dataset according to the current state. |
| 225 | d3.select(`canvas[data-dataset=${datasetKey}]`) |
| 226 | .classed("selected", true); |
| 227 | |
| 228 | let regDataThumbnails = d3.selectAll("canvas[data-regDataset]"); |
| 229 | regDataThumbnails.on("click", function() { |
| 230 | let newDataset = regDatasets[this.dataset.regdataset]; |
| 231 | if (newDataset === state.regDataset) { |
| 232 | return; // No-op. |
| 233 | } |
| 234 | state.regDataset = newDataset; |
| 235 | regDataThumbnails.classed("selected", false); |
no test coverage detected
searching dependent graphs…