Blockly: Fix UoM on Nashorn message & Adjust to library change (#1657)

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
pull/1675/head
Florian Hotze 2023-01-25 09:09:36 +01:00 committed by GitHub
parent 86b63331e2
commit 952392225a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 8 deletions

View File

@ -6,6 +6,8 @@
import Blockly from 'blockly'
import { javascriptGenerator } from 'blockly/javascript'
const unavailMsg = 'Units of Measurements blocks aren\'t supported in "application/javascript;version=ECMAScript-5.1"'
export default function (f7, isGraalJs) {
Blockly.Blocks['oh_quantity'] = {
init: function () {
@ -21,7 +23,11 @@ export default function (f7, isGraalJs) {
javascriptGenerator['oh_quantity'] = function (block) {
const quantity = javascriptGenerator.valueToCode(block, 'quantity', javascriptGenerator.ORDER_NONE)
return [`Quantity(${quantity})`, 0]
if (isGraalJs) {
return [`Quantity(${quantity})`, 0]
} else {
throw new Error(unavailMsg)
}
}
Blockly.Blocks['oh_quantity_arithmetic'] = {
@ -50,7 +56,7 @@ export default function (f7, isGraalJs) {
const operand = block.getFieldValue('operand')
return [`${first}.${operand}(${second})`, javascriptGenerator.ORDER_NONE]
} else {
console.warn('arithmetic function unit of measurement only supported with jsscripting')
throw new Error(unavailMsg)
}
}
@ -63,10 +69,10 @@ export default function (f7, isGraalJs) {
.appendField(new Blockly.FieldDropdown([
['=', 'equal'],
// ['\u2260', 'NEQ'], // maybe later by adding a not
['\u200F<', 'smallerThan'],
['\u200F\u2264', 'smallerThanOrEqual'],
['\u200F>', 'largerThan'],
['\u200F\u2265', 'largerThanOrEqual']
['\u200F<', 'lessThan'],
['\u200F\u2264', 'lessThanOrEqual'],
['\u200F>', 'greaterThan'],
['\u200F\u2265', 'greaterThanOrEqual']
]), 'operand')
this.setInputsInline(true)
@ -85,7 +91,7 @@ export default function (f7, isGraalJs) {
const operand = block.getFieldValue('operand')
return [`${first}.${operand}(${second})`, javascriptGenerator.ORDER_NONE]
} else {
console.warn('compare function unit of measurement only supported with jsscripting')
throw new Error(unavailMsg)
}
}
@ -107,6 +113,10 @@ export default function (f7, isGraalJs) {
javascriptGenerator['oh_quantity_to_unit'] = function (block) {
const quantity = javascriptGenerator.valueToCode(block, 'quantity', javascriptGenerator.ORDER_NONE)
const unit = javascriptGenerator.valueToCode(block, 'unit', javascriptGenerator.ORDER_NONE)
return [`${quantity}.toUnit(${unit})`, javascriptGenerator.ORDER_NONE]
if (isGraalJs) {
return [`${quantity}.toUnit(${unit})`, javascriptGenerator.ORDER_NONE]
} else {
throw new Error(unavailMsg)
}
}
}