@@ -21,8 +21,10 @@ const { App } = createFactories(require("./containers/app"));
2121const { configureStore } = require ( "./store/configure-store" ) ;
2222const { addFrames, filterFrames, clear } = require ( "./actions/frames" ) ;
2323const { showTableView, showListView } = require ( "./actions/perspective" ) ;
24+ const { updateConfig } = require ( "./actions/config" ) ;
2425
25- var store = configureStore ( ) ;
26+ /** Redux store, populated on view initialize */
27+ var store ;
2628
2729/**
2830 * This object represents a view that is responsible for rendering
@@ -53,6 +55,18 @@ var WebSocketsView = createView(PanelView,
5355
5456 // Render the top level application component.
5557 this . content = document . getElementById ( "content" ) ;
58+
59+ // Initialize the redux store with user preferences
60+ store = configureStore ( {
61+ config : {
62+ enableSocketIo : Options . get ( "enableSocketIo" ) ,
63+ enableSockJs : Options . get ( "enableSockJs" ) ,
64+ enableJson : Options . get ( "enableJson" ) ,
65+ enableMqtt : Options . get ( "enableMqtt" ) ,
66+ }
67+ } ) ;
68+
69+ // Render the app
5670 this . theApp = ReactDOM . render ( Provider ( { store : store } ,
5771 App ( config )
5872 ) , this . content ) ;
@@ -152,15 +166,27 @@ var WebSocketsView = createView(PanelView,
152166
153167 onPrefChanged : function ( event ) {
154168 var prefName = event . prefName ;
155- if ( prefName != "tabularView" ) {
156- return ;
157- }
158169
159- // Update the way how frames are displayed.
160- if ( event . newValue ) {
161- store . dispatch ( showTableView ( ) ) ;
162- } else {
163- store . dispatch ( showListView ( ) ) ;
170+ switch ( prefName ) {
171+ case "tabularView" :
172+
173+ // Update the way how frames are displayed.
174+ if ( event . newValue ) {
175+ store . dispatch ( showTableView ( ) ) ;
176+ } else {
177+ store . dispatch ( showListView ( ) ) ;
178+ }
179+ break ;
180+ case "enableSocketIo" :
181+ case "enableSockJs" :
182+ case "enableJson" :
183+ case "enableMqtt" :
184+
185+ // Place protocol toggle prefs into config store
186+ store . dispatch ( updateConfig ( prefName , event . newValue ) ) ;
187+ break ;
188+ default :
189+ break ;
164190 }
165191 }
166192} ) ;
0 commit comments