@@ -205,9 +205,68 @@ Code.getBBox_ = function (element) {
205205 y : y
206206 } ;
207207} ;
208+ Code . checkDeviceOnline = function ( device ) {
209+ device = { } ;
210+ device . inputArea = document . getElementById ( 'input-device' ) ;
211+ device . btn = document . getElementById ( 'check-btn' ) ;
212+ device . icon = document . getElementById ( 'check-icon' ) ;
213+
214+ if ( ! localStorage . boardCheckOpen ) {
215+ localStorage . boardCheckOpen = 0 ;
216+ }
217+
218+ device . btn . onclick = function ( ) {
219+ if ( localStorage . boardCheckOpen == 1 ) {
220+ localStorage . boardCheckOpen = 0 ;
221+ device . inputArea . className = device . inputArea . className . replace ( "open" , "" ) ;
222+ } else {
223+ localStorage . boardCheckOpen = 1 ;
224+ device . inputArea . className = device . inputArea . className + "open" ;
225+ }
226+ } ;
227+
228+ device . check = function ( v ) {
229+ device . boardEvent = webduino . BoardEvent ,
230+ device . board = new webduino . WebArduino ( v ) ;
231+ device . icon . setAttribute ( 'class' , 'check icon21 board-error' ) ;
232+
233+ device . board . on ( device . boardEvent . READY , function ( ) {
234+ console . log ( v + ' : ok' ) ;
235+ device . icon . setAttribute ( 'class' , 'check icon21 board-online' ) ;
236+ } ) ;
208237
209- Code . loadDemoArea = function ( demo ) {
210- if ( document . getElementById ( 'demo-area' ) ) {
238+ device . board . on ( device . boardEvent . ERROR , function ( ) {
239+ device . icon . setAttribute ( 'class' , 'check icon21 board-error' ) ;
240+ } ) ;
241+ }
242+
243+ device . inputArea . oninput = function ( ) {
244+ localStorage . boardState = this . value ;
245+ if ( this . value . length > 3 ) {
246+ device . check ( this . value . toString ( ) ) ;
247+ } else {
248+ device . icon . setAttribute ( 'class' , 'check icon21' ) ;
249+ }
250+ } ;
251+
252+ if ( localStorage . boardState ) {
253+ device . inputArea . value = localStorage . boardState ;
254+ device . inputArea . oninput ( ) ;
255+ }
256+
257+ if ( localStorage . boardCheckOpen == 0 ) {
258+ device . inputArea . className = device . inputArea . className . replace ( "open" , "" ) ;
259+ } else if ( localStorage . boardCheckOpen == 1 && device . inputArea . value . length < 4 ) {
260+ localStorage . boardCheckOpen = 0 ;
261+ device . inputArea . className = device . inputArea . className . replace ( "open" , "" ) ;
262+ } else {
263+ device . inputArea . className = device . inputArea . className + "open" ;
264+ }
265+
266+ }
267+
268+ Code . loadDemoArea = function ( demo ) {
269+ if ( document . getElementById ( 'demo-area' ) ) {
211270 demo = { } ;
212271 demo . btn = document . getElementById ( 'demoButton' ) ;
213272 demo . area = document . getElementById ( 'demo-area' ) ;
@@ -219,49 +278,49 @@ Code.loadDemoArea = function(demo){
219278 demo . area . style . height = ( demo . contentHeight - 130 ) + 'px' ;
220279 demo . resizeBar = document . getElementById ( 'demo-resize-bar' ) ;
221280
222- if ( localStorage . demoAreaWidth ) {
281+ if ( localStorage . demoAreaWidth ) {
223282 demo . area . style . width = localStorage . demoAreaWidth ;
224283 }
225284
226- window . addEventListener ( 'resize' , function ( ) {
285+ window . addEventListener ( 'resize' , function ( ) {
227286 demo . contentHeight = document . getElementById ( 'content_blocks' ) . offsetHeight ;
228287 demo . area . style . height = ( demo . contentHeight - 130 ) + 'px' ;
229288 } ) ;
230289
231- demo . resizeBar . onmousedown = function ( e , dr ) {
290+ demo . resizeBar . onmousedown = function ( e , dr ) {
232291 demo . area . style . opacity = '0.4' ;
233- dr = { } ;
292+ dr = { } ;
234293 dr . ox = e . pageX ;
235294 dr . dw = demo . area . offsetWidth ;
236295 demo . area . className = demo . area . className + " resize" ;
237- document . onmousemove = function ( event ) {
296+ document . onmousemove = function ( event ) {
238297 dr . rx = event . pageX ;
239- demo . area . style . width = dr . dw - dr . rx + dr . ox - 20 + 'px' ;
298+ demo . area . style . width = dr . dw - dr . rx + dr . ox - 20 + 'px' ;
240299 localStorage . demoAreaWidth = demo . area . style . width ;
241300 }
242301 }
243302
244- document . onmouseup = function ( ) {
303+ document . onmouseup = function ( ) {
245304 demo . area . style . opacity = '1' ;
246305 demo . area . className = demo . area . className . replace ( " resize" , "" ) ;
247306 document . onmousemove = null ;
248307 }
249308
250- demo . content = function ( p , s ) {
251- s = { } ;
252- for ( s . i = 0 ; s . i < demo . da . length ; s . i ++ ) {
309+ demo . content = function ( p , s ) {
310+ s = { } ;
311+ for ( s . i = 0 ; s . i < demo . da . length ; s . i ++ ) {
253312 demo . da [ s . i ] . className = demo . da [ s . i ] . className . replace ( "show" , "" ) ;
254313 }
255- demo . option [ p - 1 ] . selected = true ;
256- document . getElementById ( 'demo-area-0' + p ) . className = document . getElementById ( 'demo-area-0' + p ) . className + " show" ;
314+ demo . option [ p - 1 ] . selected = true ;
315+ document . getElementById ( 'demo-area-0' + p ) . className = document . getElementById ( 'demo-area-0' + p ) . className + " show" ;
257316 localStorage . demoAreaSelect = p ;
258317 }
259318
260319 demo . btn . onclick = function ( ) {
261- if ( localStorage . demoArea == 'open' ) {
320+ if ( localStorage . demoArea == 'open' ) {
262321 demo . area . className = demo . area . className . replace ( "show" , "" ) ;
263322 localStorage . demoArea = 'close' ;
264- } else {
323+ } else {
265324 demo . area . className = demo . area . className . replace ( "show" , "" ) ;
266325 demo . area . className = demo . area . className + "show" ;
267326 localStorage . demoArea = 'open' ;
@@ -272,37 +331,37 @@ Code.loadDemoArea = function(demo){
272331 localStorage . demoArea = 'close' ;
273332 } ;
274333
275- demo . select . addEventListener ( 'change' , function ( s ) {
276- s = { } ;
334+ demo . select . addEventListener ( 'change' , function ( s ) {
335+ s = { } ;
277336 s . selectValue = this . value ;
278- s . selectId = 'demo-area-0' + s . selectValue ;
337+ s . selectId = 'demo-area-0' + s . selectValue ;
279338 localStorage . demoAreaSelect = s . selectValue ;
280- for ( s . i = 0 ; s . i < demo . da . length ; s . i ++ ) {
339+ for ( s . i = 0 ; s . i < demo . da . length ; s . i ++ ) {
281340 demo . da [ s . i ] . className = demo . da [ s . i ] . className . replace ( "show" , "" ) ;
282341 }
283342 document . getElementById ( s . selectId ) . className = document . getElementById ( s . selectId ) . className + " show"
284343 } ) ;
285344
286- if ( localStorage . demoArea == 'open' ) {
345+ if ( localStorage . demoArea == 'open' ) {
287346 demo . area . className = demo . area . className . replace ( "show" , "" ) ;
288347 demo . area . className = demo . area . className + "show" ;
289- } else {
348+ } else {
290349 demo . area . className = demo . area . className . replace ( "show" , "" ) ;
291350 }
292351
293- if ( localStorage . demoAreaSelect == 1 ) {
352+ if ( localStorage . demoAreaSelect == 1 ) {
294353 demo . content ( 1 ) ;
295- } else if ( localStorage . demoAreaSelect == 2 ) {
354+ } else if ( localStorage . demoAreaSelect == 2 ) {
296355 demo . content ( 2 ) ;
297- } else if ( localStorage . demoAreaSelect == 3 ) {
356+ } else if ( localStorage . demoAreaSelect == 3 ) {
298357 demo . content ( 3 ) ;
299- } else if ( localStorage . demoAreaSelect == 4 ) {
358+ } else if ( localStorage . demoAreaSelect == 4 ) {
300359 demo . content ( 4 ) ;
301- } else if ( localStorage . demoAreaSelect == 5 ) {
360+ } else if ( localStorage . demoAreaSelect == 5 ) {
302361 demo . content ( 5 ) ;
303- } else if ( localStorage . demoAreaSelect == 6 ) {
362+ } else if ( localStorage . demoAreaSelect == 6 ) {
304363 demo . content ( 6 ) ;
305- } else if ( localStorage . demoAreaSelect == 7 ) {
364+ } else if ( localStorage . demoAreaSelect == 7 ) {
306365 demo . content ( 7 ) ;
307366 }
308367 }
@@ -499,6 +558,7 @@ Code.init = function () {
499558 // Lazy-load the syntax-highlighting.
500559 window . setTimeout ( Code . importPrettify , 1 ) ;
501560 window . setTimeout ( Code . loadDemoArea , 1 ) ;
561+ window . setTimeout ( Code . checkDeviceOnline , 1 ) ;
502562
503563} ;
504564
0 commit comments