@@ -6,8 +6,51 @@ import timeseries_data from './data/timeseries.csv';
66import xy_data from './data/xy.csv' ;
77import 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+
950class 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