@@ -25,13 +25,9 @@ connection.onclose = function (e) {
2525
2626connection . onmessage = function ( e ) {
2727 console . log ( 'Received: ' , e . data ) ;
28-
29- try {
30- handleJsonData ( JSON . parse ( e . data ) ) ;
31-
32- connectingOverlayText . innerHTML = 'Success!' ;
33- connectingOverlay . style . display = 'none' ;
34- } catch ( e ) { }
28+ handleJsonData ( JSON . parse ( e . data ) ) ;
29+ connectingOverlayText . innerHTML = 'Success!' ;
30+ connectingOverlay . style . display = 'none' ;
3531} ;
3632
3733function handleJsonData ( data ) {
@@ -51,7 +47,27 @@ function handleJsonData(data) {
5147 btn . onclick = ( ) => { sendAnimationButton ( idx ) ; } ;
5248 animationButtons . insertBefore ( btn , stopButton ) ;
5349 }
54- } )
50+ } ) ;
51+ }
52+
53+ if ( data . hasOwnProperty ( 'sliders' ) ) {
54+ data . sliders . forEach ( ( slider , idx ) => {
55+ let sliderDiv = document . createElement ( 'div' )
56+ sliderDiv . classList . add ( 'slider' )
57+ noUiSlider . create ( sliderDiv , {
58+ start : slider . value ,
59+ step : slider . step ,
60+ range : {
61+ 'min' : slider . min ,
62+ 'max' : slider . max
63+ }
64+ } ) ;
65+ sliderDiv . querySelector ( ".noUi-handle" ) . innerHTML = slider . name ;
66+ sliderDiv . noUiSlider . on ( 'update' , ( values , handle ) => {
67+ ws_pending_msg = [ 20 , idx , values [ handle ] ] ;
68+ } ) ;
69+ document . getElementById ( 'slidersWrapper' ) . appendChild ( sliderDiv ) ;
70+ } ) ;
5571 }
5672
5773 if ( data . hasOwnProperty ( 'alarmAnimation' ) )
@@ -85,10 +101,6 @@ function handleJsonData(data) {
85101 sunsetDuration . value = data . sunsetDuration ;
86102 if ( data . hasOwnProperty ( 'sunsetOffset' ) )
87103 sunsetOffset . value = data . sunsetOffset ;
88- if ( data . hasOwnProperty ( 'speed' ) )
89- speed . noUiSlider . set ( data . speed ) ;
90- if ( data . hasOwnProperty ( 'saturation' ) )
91- saturation . noUiSlider . set ( data . saturation ) ;
92104 if ( data . hasOwnProperty ( 'color' ) ) {
93105 colorButton . value = data . color ;
94106 currentColor = data . color ;
@@ -154,8 +166,6 @@ function sendConfig() {
154166 sunsetOffset : sunsetOffset . value ,
155167 sunsetAnimation : sunsetAnimation . value ,
156168 startupAnimation : useStartupAnimation . checked ? startupAnimation . value : '' ,
157- speed : speed . noUiSlider . get ( ) ,
158- saturation : saturation . noUiSlider . get ( ) ,
159169 color : currentColor
160170 } , null , 2 ) ;
161171 sendText ( json ) ;
@@ -221,14 +231,6 @@ let $customColorPicker = $('#colorButton').colorPicker({
221231 }
222232} ) ;
223233
224- // Sliders
225- noUiSlider . create ( speed , { start : 128 , step : 1 , range : { 'min' : 0 , 'max' : 255 } } ) ;
226- noUiSlider . create ( saturation , { start : 255 , step : 1 , range : { 'min' : 110 , 'max' : 255 } } ) ;
227- speed . noUiSlider . on ( 'update' , ( values , handle ) => { ws_pending_msg = [ 20 , values [ handle ] ] ; } ) ;
228- saturation . noUiSlider . on ( 'update' , ( values , handle ) => { ws_pending_msg = [ 21 , values [ handle ] ] ; } ) ;
229- document . querySelector ( '#speed .noUi-handle' ) . innerHTML = 'Speed' ;
230- document . querySelector ( '#saturation .noUi-handle' ) . innerHTML = 'Sat.' ;
231-
232234// Close connection after being ianctive for 5 minutes
233235let idleTime = 0 ;
234236setInterval ( ( ) => {
0 commit comments