[blockly] Add undefined block (#2465)

Adds the undefined block as discussed at https://community.openhab.org/t/blockly-proposal-to-change-contextual-info-blocks/154403.

Signed-off-by: Stefan Höhn <mail@stefanhoehn.com>
pull/2344/head^2
stefan-hoehn 2024-03-08 18:55:24 +01:00 committed by GitHub
parent 67e8ed4d5d
commit 9f006fdff3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,30 @@
/*
* Adds new blocks to the logic section
*/
import Blockly from 'blockly'
import { javascriptGenerator } from 'blockly/javascript.js'
export default function (f7, isGraalJs) {
/*
* Add a block returning undefined
* Blockly part
*/
Blockly.Blocks['oh_logic_undefined'] = {
init: function () {
this.appendDummyInput()
.appendField('undefined')
this.setOutput(true, null)
this.setColour('%{BKY_LOGIC_HUE}')
this.setTooltip('returns undefined as value')
}
}
/*
* returns undefined
* Code part
*/
javascriptGenerator.forBlock['oh_logic_undefined'] = function (block) {
return ['undefined', javascriptGenerator.ORDER_ATOMIC]
}
}

View File

@ -18,6 +18,7 @@ import defineUomBlocks from './blocks-uom.js'
import defineMetaBlocks from './blocks-metadata.js'
import defineMathBlocks from './blocks-math.js'
import defineHttpBlocks from './blocks-http.js'
import defineLogicBlocks from './blocks-logic.js'
import { defineLibraries } from './libraries.js'
@ -44,5 +45,6 @@ export default function (f7, libraryDefinitions, data, isGraalJs) {
defineMathBlocks(f7, isGraalJs)
defineMetaBlocks(f7, isGraalJs)
defineHttpBlocks(f7, isGraalJs)
defineLogicBlocks(f7, isGraalJs)
defineLibraries(libraryDefinitions)
}

View File

@ -10,6 +10,7 @@
<block type="logic_negate" />
<block type="logic_boolean" />
<block type="logic_null" />
<block type="oh_logic_undefined" />
<block type="logic_ternary" />
</category>