From dd74c4ca9622a3a5756f5de807c4d5781a135b58 Mon Sep 17 00:00:00 2001 From: Nadine Martin Date: Mon, 4 Mar 2024 15:47:28 +0000 Subject: [PATCH] added output block, and now puts solution in block --- src/blocks/essence.js | 14 ++++++++++++++ src/index.js | 17 ++++++++++------- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/blocks/essence.js b/src/blocks/essence.js index 92d98e7..b462cdc 100644 --- a/src/blocks/essence.js +++ b/src/blocks/essence.js @@ -518,6 +518,20 @@ export const blocks = Blockly.common.createBlockDefinitionsFromJsonArray([ "tooltip": "", "helpUrl": "" }, +{ + "type": "output", + "message0": "%1", + "args0": [ + { + "type": "field_label_serializable", + "name": "SOLUTION", + "text": "test" + } + ], + "colour": 0, + "tooltip": "", + "helpUrl": "" +} ]) diff --git a/src/index.js b/src/index.js index 59de7b6..f1e9ff7 100644 --- a/src/index.js +++ b/src/index.js @@ -26,13 +26,7 @@ const outputDiv = document.getElementById('output'); const blocklyDiv = document.getElementById('blocklyDiv'); const ws = Blockly.inject(blocklyDiv, {toolbox}); const blockOut = Blockly.inject(document.getElementById('blocklyDiv2'), {toolbox}); -blockOut.addChangeListener(function addBlock(addNewBlockEvent){ - addNewBlockEvent.run(true); -}); -new Blockly.Events.BlockCreate(blockOut.newBlock("letting_be_expr")); -//blockOut.addTopBlock(blocks["letting_be_expr"]); -//console.log(blockOut.getTopBlocks()); -//blockOut.cleanUp(); + //variable category using https://www.npmjs.com/package/@blockly/plugin-typed-variable-modal. // much of the code below is from the usage instructions @@ -185,6 +179,15 @@ async function getSolution() { solution = await get(currentJobid); } solutionText.innerHTML = JSON.stringify(solution, undefined, 2); + + if (solution.status == "ok"){ + console.log(solution.solution); + let newBlock = blockOut.newBlock("output"); + newBlock.setFieldValue(JSON.stringify(solution.solution), 'SOLUTION'); + console.log(newBlock.getFieldValue('SOLUTION')); + let addNewBlockEvent = new Blockly.Events.BlockCreate(newBlock); + addNewBlockEvent.run(true) + } } // generate essence file from generated code