@@ -387,6 +387,46 @@ Blockly.JavaScript['demo_controller_showcolor'] = function (block) {
387387 return code ;
388388} ;
389389
390+ /*
391+ .88b d88. .d88b. d8888b. d888888b db d88888b
392+ 88'YbdP`88 .8P Y8. 88 `8D `88' 88 88'
393+ 88 88 88 88 88 88oooY' 88 88 88ooooo
394+ 88 88 88 88 88 88~~~b. 88 88 88~~~~~
395+ 88 88 88 `8b d8' 88 8D .88. 88booo. 88.
396+ YP YP YP `Y88P' Y8888P' Y888888P Y88888P Y88888P
397+ */
398+
399+
400+ // https://blockly-demo.appspot.com/static/demos/blockfactory/index.html#yztfg4
401+ Blockly . JavaScript [ 'mobile_deviceorientation_event' ] = function ( block ) {
402+ var statements_do_ = Blockly . JavaScript . statementToCode ( block , 'do_' ) ;
403+ var code = 'setDeviceOrientationListener(function(alpha, beta, gamma){\n' +
404+ statements_do_ +
405+ '});\n' ;
406+ return code ;
407+ } ;
408+
409+
410+ Blockly . JavaScript [ 'mobile_deviceorientation_event_val' ] = function ( block ) {
411+ var dropdown_val_ = block . getFieldValue ( 'val_' ) ;
412+ var dropdown_round_ = block . getFieldValue ( 'round_' ) ;
413+ var code ;
414+ if ( dropdown_round_ == 1 ) {
415+ code = 'Math.round(' + dropdown_val_ + ')' ;
416+ } else {
417+ code = 'Math.round(' + dropdown_val_ + '*' + dropdown_round_ + ')/' + dropdown_round_ ;
418+ }
419+
420+ return [ code , Blockly . JavaScript . ORDER_NONE ] ;
421+ } ;
422+
423+ Blockly . JavaScript [ 'mobile_deviceorientation_event_remove' ] = function ( block ) {
424+ var code = 'removeDeviceOrientationListener();\n' ;
425+ return code ;
426+ } ;
427+
428+
429+
390430/*
391431 . oooo
392432 .o8 `888
@@ -637,9 +677,9 @@ Blockly.JavaScript['board_ready'] = function (block) {
637677 var statements_callbacks_ = Blockly . JavaScript . statementToCode ( block , 'callbacks_' ) ;
638678 var type ;
639679 if ( checkbox_type_ == '1' ) {
640- if ( checkbox_multi_ == 'TRUE' ) {
680+ if ( checkbox_multi_ == 'TRUE' ) {
641681 type = 'boardReady({device:' + value_device_ + ' , multi:true}, async function (board) {\n' ;
642- } else {
682+ } else {
643683 type = 'boardReady(' + value_device_ + ', async function (board) {\n' ;
644684 }
645685 } else if ( checkbox_type_ == '2' ) {
@@ -1320,18 +1360,18 @@ Blockly.JavaScript['data_firebase_read'] = function (block) {
13201360 code = variable_name_ + '.on("value", function(snapshot) {\n' +
13211361 ' ' + value_read_ + '=[];\n' +
13221362 ' snapshot.forEach(function(data) {\n' +
1323- ' if(data.val().' + text_attr_ + '){\n' +
1363+ ' if(data.val().' + text_attr_ + '){\n' +
13241364 ' ' + value_read_ + '.push(data.val().' + text_attr_ + ');\n' +
1325- ' }\n' +
1365+ ' }\n' +
13261366 ' });\n' +
13271367 statements_do_ +
13281368 ' }, function (errorObject) {\n' +
13291369 ' console.log("The read failed: " + errorObject.code);\n' +
13301370 '});\n' ;
13311371 } else {
13321372 code = variable_name_ + '.limitToLast(1).on("child_added",function(snapshot){\n' +
1333- ' ' + value_read_ + ' = snapshot.val().' + text_attr_ + ';\n' +
1334- statements_do_ +
1373+ ' ' + value_read_ + ' = snapshot.val().' + text_attr_ + ';\n' +
1374+ statements_do_ +
13351375 '});\n' ;
13361376 }
13371377 return code ;
0 commit comments