2020-09-18 16:21:49 +02:00

33 lines
1.1 KiB
JavaScript

import Blockly from 'blockly';
const setVariableFunction = function (defaultValue) {
return function (block) {
const variableName = Blockly['Arduino'].variableDB_.getName(
block.getFieldValue('VAR'),
Blockly.Variables.NAME_TYPE
);
const variableValue = Blockly['Arduino'].valueToCode(
block,
'VALUE',
Blockly['Arduino'].ORDER_ATOMIC
);
const allVars = Blockly.getMainWorkspace().getVariableMap().getAllVariables();
const myVar = allVars.filter(v => v.name === variableName)[0]
Blockly.Arduino.setupCode_[''] = myVar.type + " " + myVar.name + ';\n';
return variableName + ' = ' + (variableValue || defaultValue) + ';\n';
};
};
const getVariableFunction = function (block) {
const variableName = Blockly['Arduino'].variableDB_.getName(
block.getFieldValue('VAR'),
Blockly.Variables.NAME_TYPE
);
return [variableName, Blockly['Arduino'].ORDER_ATOMIC];
};
Blockly['Arduino']['variables_set_dynamic'] = setVariableFunction()
Blockly['Arduino']['variables_get_dynamic'] = getVariableFunction;