@@ -110,8 +110,7 @@ Blockly.Blocks['control'] = {
110
110
this . appendDummyInput ( 'WITH_DELAY' )
111
111
. appendField ( Blockly . Translate ( 'control_delay' ) )
112
112
. appendField ( new Blockly . FieldCheckbox ( 'FALSE' , function ( option ) {
113
- var delayInput = ( option == true ) ;
114
- this . sourceBlock_ . updateShape_ ( delayInput ) ;
113
+ this . sourceBlock_ . updateShape_ ( option === true || option === 'true' || option === 'TRUE' ) ;
115
114
} ) , 'WITH_DELAY' ) ;
116
115
117
116
@@ -124,11 +123,13 @@ Blockly.Blocks['control'] = {
124
123
} ,
125
124
mutationToDom : function ( ) {
126
125
var container = document . createElement ( 'mutation' ) ;
127
- container . setAttribute ( 'delay_input' , this . getFieldValue ( 'WITH_DELAY' ) === 'TRUE' ) ;
126
+ var option = this . getFieldValue ( 'WITH_DELAY' ) ;
127
+ container . setAttribute ( 'delay_input' , option === true || option === 'true' || option === 'TRUE' ) ;
128
128
return container ;
129
129
} ,
130
130
domToMutation : function ( xmlElement ) {
131
- this . updateShape_ ( xmlElement . getAttribute ( 'delay_input' ) == 'true' ) ;
131
+ var option = xmlElement . getAttribute ( 'delay_input' ) ;
132
+ this . updateShape_ ( option === true || option === 'true' || option === 'TRUE' ) ;
132
133
} ,
133
134
updateShape_ : function ( delayInput ) {
134
135
// Add or remove a delay Input.
@@ -176,12 +177,15 @@ Blockly.JavaScript['control'] = function(block) {
176
177
} else if ( unit === 'sec' ) {
177
178
valueDelay *= 1000 ;
178
179
}
179
- var clearRunning = block . getFieldValue ( 'CLEAR_RUNNING' ) === 'TRUE' ;
180
+ var clearRunning = block . getFieldValue ( 'CLEAR_RUNNING' ) ;
180
181
var valueValue = Blockly . JavaScript . valueToCode ( block , 'VALUE' , Blockly . JavaScript . ORDER_ATOMIC ) ;
181
182
var objectName = main . objects [ valueObjectID ] && main . objects [ valueObjectID ] . common && main . objects [ valueObjectID ] . common . name ? main . objects [ valueObjectID ] . common . name : '' ;
182
183
var code ;
183
184
184
- if ( this . getFieldValue ( 'WITH_DELAY' ) === 'TRUE' ) {
185
+ clearRunning = clearRunning === 'true' || clearRunning === true || clearRunning === 'true' ;
186
+ var withDelay = this . getFieldValue ( 'WITH_DELAY' ) ;
187
+
188
+ if ( withDelay === 'true' || withDelay === true || withDelay === 'TRUE' ) {
185
189
code = 'setStateDelayed("' + valueObjectID + '"' + ( objectName ? '/*' + objectName + '*/' : '' ) + ', ' + valueValue + ', ' + valueDelay + ', ' + clearRunning + ');\n' ;
186
190
} else {
187
191
code = 'setState("' + valueObjectID + '"' + ( objectName ? '/*' + objectName + '*/' : '' ) + ', ' + valueValue + ');\n' ;
@@ -217,8 +221,7 @@ Blockly.Blocks['toggle'] = {
217
221
this . appendDummyInput ( 'WITH_DELAY' )
218
222
. appendField ( Blockly . Translate ( 'toggle_delay' ) )
219
223
. appendField ( new Blockly . FieldCheckbox ( 'FALSE' , function ( option ) {
220
- var delayInput = ( option == true ) ;
221
- this . sourceBlock_ . updateShape_ ( delayInput ) ;
224
+ this . sourceBlock_ . updateShape_ ( option === true || option === 'true' || option === 'TRUE' ) ;
222
225
} ) , 'WITH_DELAY' ) ;
223
226
224
227
this . setInputsInline ( true ) ;
@@ -230,11 +233,13 @@ Blockly.Blocks['toggle'] = {
230
233
} ,
231
234
mutationToDom : function ( ) {
232
235
var container = document . createElement ( 'mutation' ) ;
233
- container . setAttribute ( 'delay_input' , this . getFieldValue ( 'WITH_DELAY' ) === 'TRUE' ) ;
236
+ var option = this . getFieldValue ( 'WITH_DELAY' ) ;
237
+ container . setAttribute ( 'delay_input' , option === true || option === 'true' || option === 'TRUE' ) ;
234
238
return container ;
235
239
} ,
236
240
domToMutation : function ( xmlElement ) {
237
- this . updateShape_ ( xmlElement . getAttribute ( 'delay_input' ) == 'true' ) ;
241
+ var option = xmlElement . getAttribute ( 'delay_input' ) ;
242
+ this . updateShape_ ( option === true || option === 'true' || option === 'TRUE' ) ;
238
243
} ,
239
244
updateShape_ : function ( delayInput ) {
240
245
// Add or remove a delay Input.
@@ -282,11 +287,14 @@ Blockly.JavaScript['toggle'] = function(block) {
282
287
} else if ( unit === 'sec' ) {
283
288
valueDelay *= 1000 ;
284
289
}
285
- var clearRunning = block . getFieldValue ( 'CLEAR_RUNNING' ) === 'TRUE' ;
290
+ var clearRunning = block . getFieldValue ( 'CLEAR_RUNNING' ) ;
286
291
var objectName = main . objects [ valueObjectID ] && main . objects [ valueObjectID ] . common && main . objects [ valueObjectID ] . common . name ? main . objects [ valueObjectID ] . common . name : '' ;
287
292
var objectType = main . objects [ valueObjectID ] && main . objects [ valueObjectID ] . common && main . objects [ valueObjectID ] . common . type ? main . objects [ valueObjectID ] . common . type : 'boolean' ;
288
293
var code ;
289
294
var setCommand ;
295
+
296
+ clearRunning = clearRunning === 'TRUE' || clearRunning === 'true' || clearRunning === true ;
297
+
290
298
if ( objectType === 'number' ) {
291
299
var max = 100 ;
292
300
var min = 0 ;
@@ -300,8 +308,9 @@ Blockly.JavaScript['toggle'] = function(block) {
300
308
} else {
301
309
setCommand = ' setState("' + valueObjectID + '"' + ( objectName ? '/*' + objectName + '*/' : '' ) + ', state ? !state.val : true);\n' ;
302
310
}
311
+ var withDelay = block . getFieldValue ( 'WITH_DELAY' ) ;
303
312
304
- if ( this . getFieldValue ( 'WITH_DELAY' ) === 'TRUE' ) {
313
+ if ( withDelay === 'TRUE' || withDelay === 'true' || withDelay === true ) {
305
314
code =
306
315
'getState("' + valueObjectID + '", function (err, state) {\n' +
307
316
' setStateDelayed("' + valueObjectID + '"' + ( objectName ? '/*' + objectName + '*/' : '' ) + ', state ? !state.val : true, ' + valueDelay + ', ' + clearRunning + ');\n' +
@@ -350,7 +359,7 @@ Blockly.Blocks['update'] = {
350
359
this . appendDummyInput ( 'WITH_DELAY' )
351
360
. appendField ( Blockly . Translate ( 'update_delay' ) )
352
361
. appendField ( new Blockly . FieldCheckbox ( 'FALSE' , function ( option ) {
353
- this . sourceBlock_ . updateShape_ ( option == true ) ;
362
+ this . sourceBlock_ . updateShape_ ( option === true || option === 'true' || option === 'TRUE' ) ;
354
363
} ) , 'WITH_DELAY' ) ;
355
364
356
365
this . setInputsInline ( true ) ;
@@ -362,11 +371,13 @@ Blockly.Blocks['update'] = {
362
371
} ,
363
372
mutationToDom : function ( ) {
364
373
var container = document . createElement ( 'mutation' ) ;
365
- container . setAttribute ( 'delay_input' , this . getFieldValue ( 'WITH_DELAY' ) === 'TRUE' ) ;
374
+ var option = this . getFieldValue ( 'WITH_DELAY' ) ;
375
+ container . setAttribute ( 'delay_input' , option === true || option === 'true' || option === 'TRUE' ) ;
366
376
return container ;
367
377
} ,
368
378
domToMutation : function ( xmlElement ) {
369
- this . updateShape_ ( xmlElement . getAttribute ( 'delay_input' ) == 'true' ) ;
379
+ var option = xmlElement . getAttribute ( 'delay_input' ) ;
380
+ this . updateShape_ ( option === true || option === 'true' || option === 'TRUE' ) ;
370
381
} ,
371
382
updateShape_ : function ( delayInput ) {
372
383
// Add or remove a delay Input.
@@ -409,16 +420,21 @@ Blockly.JavaScript['update'] = function(block) {
409
420
410
421
var value_value = Blockly . JavaScript . valueToCode ( block , 'VALUE' , Blockly . JavaScript . ORDER_ATOMIC ) ;
411
422
var value_delay = parseInt ( block . getFieldValue ( 'DELAY_MS' ) , 10 ) ;
412
- var clearRunning = block . getFieldValue ( 'CLEAR_RUNNING' ) === 'TRUE' ;
423
+ var clearRunning = block . getFieldValue ( 'CLEAR_RUNNING' ) ;
413
424
var unit = block . getFieldValue ( 'UNIT' ) ;
414
425
if ( unit === 'min' ) {
415
426
value_delay *= 60000 ;
416
427
} else if ( unit === 'sec' ) {
417
428
value_delay *= 1000 ;
418
429
}
430
+
431
+ clearRunning = clearRunning === true || clearRunning === 'true' || clearRunning === 'TRUE' ;
432
+
419
433
var objectname = main . objects [ value_objectid ] && main . objects [ value_objectid ] . common && main . objects [ value_objectid ] . common . name ? main . objects [ value_objectid ] . common . name : '' ;
420
434
var code ;
421
- if ( this . getFieldValue ( 'WITH_DELAY' ) === 'TRUE' ) {
435
+ var withDelay = this . getFieldValue ( 'WITH_DELAY' ) ;
436
+
437
+ if ( withDelay === true || withDelay === 'true' || withDelay === 'TRUE' ) {
422
438
code = 'setStateDelayed("' + value_objectid + '"' + ( objectname ? '/*' + objectname + '*/' : '' ) + ', ' + value_value + ', true, ' + value_delay + ', ' + clearRunning + ');\n' ;
423
439
} else {
424
440
code = 'setState("' + value_objectid + '"' + ( objectname ? '/*' + objectname + '*/' : '' ) + ', ' + value_value + ', true);\n' ;
@@ -473,8 +489,8 @@ Blockly.JavaScript['direct'] = function(block) {
473
489
var oidSrc = Blockly . JavaScript . valueToCode ( block , 'OID_SRC' , Blockly . JavaScript . ORDER_ATOMIC ) ;
474
490
var onlyChanges = block . getFieldValue ( 'ONLY_CHANGES' ) ;
475
491
var oidDest = Blockly . JavaScript . valueToCode ( block , 'OID_DST' , Blockly . JavaScript . ORDER_ATOMIC ) ;
476
-
477
- return 'on({id: ' + oidSrc + ', change: "' + ( onlyChanges == 'TRUE' ? 'ne' : 'any' ) + '"}, function (obj) {\n setState(' + oidDest + ', obj.state.val);\n});' ;
492
+ onlyChanges = onlyChanges === true || onlyChanges === 'true' || onlyChanges === 'TRUE' ;
493
+ return 'on({id: ' + oidSrc + ', change: "' + ( onlyChanges ? 'ne' : 'any' ) + '"}, function (obj) {\n setState(' + oidDest + ', obj.state.val);\n});' ;
478
494
} ;
479
495
480
496
// --- control ex -----------------------------------------------------------
@@ -541,8 +557,10 @@ Blockly.JavaScript['control_ex'] = function(block) {
541
557
var valueObjectID = Blockly . JavaScript . valueToCode ( block , 'OID' , Blockly . JavaScript . ORDER_ATOMIC ) ;
542
558
var value = Blockly . JavaScript . valueToCode ( block , 'VALUE' , Blockly . JavaScript . ORDER_ATOMIC ) ;
543
559
var valueDelay = Blockly . JavaScript . valueToCode ( block , 'DELAY_MS' , Blockly . JavaScript . ORDER_ATOMIC ) ;
544
- var clearRunning = block . getFieldValue ( 'CLEAR_RUNNING' ) === 'TRUE' ;
545
- var type = block . getFieldValue ( 'TYPE' ) === 'true' ;
560
+ var clearRunning = block . getFieldValue ( 'CLEAR_RUNNING' ) ;
561
+ var type = block . getFieldValue ( 'TYPE' ) ;
562
+ type = type === true || type === 'true' || type === 'TRUE' ;
563
+ clearRunning = clearRunning === true || clearRunning === 'true' || clearRunning === 'TRUE' ;
546
564
return 'setStateDelayed(' + valueObjectID + ', ' + value + ', ' + type + ', parseInt(' + valueDelay + ', 10), ' + clearRunning + ');\n' ;
547
565
} ;
548
566
0 commit comments