ccIDE/src/virtualcode.js
2024-06-30 13:02:14 +07:00

46 lines
1.3 KiB
JavaScript

document.getElementById('statusMessage').textContent = "loading";
const fs = require('fs');
const path = require('path');
const { ipcRenderer } = require("electron");
const { loadperipheral } = require("./blocksmanager");
const { luaGenerator } = require('blockly/lua'); // Use require syntax for Blockly module
const ipc = ipcRenderer;
// override prompt command
window.prompt = function(promptText, defaultValue) {
return ipc.sendSync("prompt", promptText, defaultValue);
};
const Blockly = require('blockly');
const peripheralsfolder = path.join(__dirname, "../peripherals");
const originaltoolbar = fs.readFileSync(path.join(__dirname, "toolbox.xml"), 'utf8');
var workspace = Blockly.inject('blocklyDiv', {
toolbox: originaltoolbar,
trashcan: true,
grid: {
spacing: 20,
length: 3,
colour: '#ccc',
snap: true
}
});
loadperipheral(workspace, originaltoolbar, "test");
document.getElementById('statusMessage').textContent = "ready";
workspace.getToolbox().getFlyout().autoClose = false;
// Ensure Blockly container is shown after the workspace is injected
document.getElementById('loadingScreen').style.display = 'none';
document.getElementById('blocklyContainer').style.display = 'block';
function gencode() {
return luaGenerator.workspaceToCode(workspace);
}