Skip to content

Commit 65ed830

Browse files
committed
App.js: expand the capabilities of the dynamic chart demo
- The user can now alternate between multiple loaded dataset configurations on the same chart via a drop down selection.
1 parent 614039c commit 65ed830

File tree

1 file changed

+52
-2
lines changed

1 file changed

+52
-2
lines changed

tests/src/App.js

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,51 @@ import timeseries_data from './data/timeseries.csv';
66
import xy_data from './data/xy.csv';
77
import jitter_data from './data/jitter.csv';
88

9+
const d3 = require("d3");
10+
11+
var choices = [
12+
{
13+
"label": "Null",
14+
"object": { }
15+
},
16+
{
17+
"label": "Histogram",
18+
"object": { csvfiles: [ histogram_data ] }
19+
},
20+
{
21+
"label": "Jitter",
22+
"object": { csvfiles: [ jitter_data ] }
23+
},
24+
{
25+
"label": "Jitter - Scatter",
26+
"object": { csvfiles: [ jitter_data ], scatterplot: true }
27+
}
28+
];
29+
for (var i = 0; i < choices.length; i++) {
30+
choices[i].index = i;
31+
}
32+
33+
function change_selection() {
34+
jschart.chart_reload("jschart_dynamic", choices[this.value].object);
35+
}
36+
37+
function setup_dynamic_chart_selection_box() {
38+
var myselect = d3.select("#select_dataset")
39+
.append("select")
40+
.on("change", change_selection)
41+
42+
myselect.selectAll(".options")
43+
.data(choices)
44+
.enter()
45+
.append("option")
46+
.attr("value", function(d) { return d.index; })
47+
.text(function(d) { return d.label; });
48+
}
49+
950
class App extends Component {
1051
componentDidMount = () => {
52+
setup_dynamic_chart_selection_box();
53+
1154
jschart.create_jschart(
1255
0,
1356
"timeseries",
@@ -16,7 +59,6 @@ class App extends Component {
1659
"Time (secs.)",
1760
null,
1861
{
19-
csvfiles: [ timeseries_data ],
2062
dynamic_chart: true
2163
}
2264
);
@@ -102,12 +144,20 @@ class App extends Component {
102144
<h1 className="App-title">JSChart Demos</h1>
103145
</header>
104146
<br></br>
105-
<div id="jschart_dynamic"></div>
147+
<div id="jschart_dynamic">
148+
<h3 id="select_dataset">
149+
Dynamic Chart Dataset Selection:
150+
</h3>
151+
</div>
152+
<br/>
106153
<div id="jschart_json"></div>
154+
<br/>
107155
<div id="jschart_histogram"></div>
108156
<div id="jschart_timeseries"></div>
157+
<br/>
109158
<div id="jschart_xy"></div>
110159
<div id="jschart_jitter"></div>
160+
<br/>
111161
<div id="jschart_jitter_scatter"></div>
112162
</div>
113163
);

0 commit comments

Comments
 (0)