/* there is lots of code above this comment, this is the only part that matters. workspaceData was defined right before this */
var workspace
function switchToolbox(tlbx) {
fetch(tlbx).then(response => response.text()).then(xmlText => {
const parser = new DOMParser()
const toolbox = parser.parseFromString(xmlText, "text/xml").documentElement
workspace = Blockly.inject("blocklyDiv", {toolbox: toolbox, ...workspaceData})
workspace.addChangeListener(updateCode = () => {
const code = Blockly.gdScript.workspaceToCode(workspace)
document.getElementById("code").textContent = code
})
updateCode()
})
}
switchToolbox("core/toolboxfd.xml")
console.log(Blockly.gdScript)
console.log(Blockly.JavaScript)
const BubbleData = {
logic_null: () => `<div><b>number</b><br><span>null<span></div>`,
}
const mousePopup = document.getElementById("mousePopup")
let mousePopupTimeout = null
let mousePopupMove = null
let mousePopupStop = null
function showMousePopup(message, moveAlong) {
if (mousePopupTimeout !== null) {
clearTimeout(mousePopupTimeout)
mousePopupTimeout = null
}
if (mousePopupMove !== null) document.removeEventListener("mousemove", mousePopupMove)
if (mousePopupStop !== null) document.removeEventListener("mouseup", mousePopupStop)
mousePopup.innerHTML = message
mousePopup.style.display = "block"
mousePopupMove = function(e) {
mousePopup.style.left = `${e.clientX + 12}px`
mousePopup.style.top = `${e.clientY + 12}px`
}
if (moveAlong) document.addEventListener("mousemove", mousePopupMove)
mousePopupTimeout = setTimeout(hideMousePopup, workspaceData.popup.popupRemoveTimer)
}
function hideMousePopup() {
mousePopup.style.display = "none"
if (mousePopupTimeout !== null) {
clearTimeout(mousePopupTimeout)
mousePopupTimeout = null
}
if (mousePopupMove !== null) {
document.removeEventListener("mousemove", mousePopupMove)
mousePopupMove = null
}
if (mousePopupStop !== null) {
document.removeEventListener("mouseup", mousePopupStop)
mousePopupStop = null
}
}
workspace.addChangeListener((event) => { // This is what causes the error (workspace.addChangeListener)