diff --git a/package/package-lock.json b/package/package-lock.json index 8691a560..360aaf36 100644 --- a/package/package-lock.json +++ b/package/package-lock.json @@ -1,12 +1,12 @@ { "name": "sparql-blockly", - "version": "0.0.4-16", + "version": "0.0.4-17", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "sparql-blockly", - "version": "0.0.4-16", + "version": "0.0.4-17", "license": "MIT", "dependencies": { "@rdfjs/term-map": "^1.0.0", diff --git a/package/package.json b/package/package.json index 9861f3ef..5e870488 100644 --- a/package/package.json +++ b/package/package.json @@ -1,6 +1,6 @@ { "name": "sparql-blockly", - "version": "0.0.4-16", + "version": "0.0.4-17", "description": "A library for working with SPARQL in Blockly", "main": "dist/index.js", "license": "MIT", diff --git a/package/src/CodeGenerator.ts b/package/src/CodeGenerator.ts index 63c543fd..1a171000 100644 --- a/package/src/CodeGenerator.ts +++ b/package/src/CodeGenerator.ts @@ -53,6 +53,18 @@ export default class CodeGenerator extends Blockly.Generator { .forEach(addToInstance) } + public scrub_(block: Blockly.Block, code: string, thisOnly?: boolean): string { + if (!thisOnly) { + const next = block.getNextBlock(); + + if (next) { + code += this.blockToCode(next) + } + } + + return code + } + public sparqlQuery(block: Blockly.Block): string { const prologue = this.statementToCode(block, "prologue") const value = this.valueToCode(block, "value") @@ -82,7 +94,7 @@ export default class CodeGenerator extends Blockly.Generator { public sparqlAskQuery(block: Blockly.Block): CodeTuple { const value = this.valueToCode(block, "value") - const code = join(" ", "ASK", value) + const code = join("\n", "ASK", value) return codeTuple(code) } @@ -900,7 +912,7 @@ export default class CodeGenerator extends Blockly.Generator { const next = this.blockToCode(block.getNextBlock()) if (next) { - code += delimiter + next + code += delimiter } return code diff --git a/package/src/initialiseBlockly.ts b/package/src/initialiseBlockly.ts index 6216532e..65e80c10 100644 --- a/package/src/initialiseBlockly.ts +++ b/package/src/initialiseBlockly.ts @@ -1,3 +1,21 @@ import "./defineCustomBlocks" import "./unregisterDefaultMenuItems" import "./registerCustomMenuItems" +import * as Blockly from "blockly" +import CodeGenerator from "./CodeGenerator" + +// This is what's displayed when block collapsed +Blockly.Block.prototype.toString = function () { + const code = new CodeGenerator().blockToCode(this, true) + + if (code instanceof Array) + return code[0] + else + return code +} + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +const blockly = Blockly as any +blockly.COLLAPSE_CHARS = 3000 + +Blockly.Field.prototype.maxDisplayLength = 3000 diff --git a/package/src/unregisterDefaultMenuItems.ts b/package/src/unregisterDefaultMenuItems.ts index 1a9a9f53..2c2d9c90 100644 --- a/package/src/unregisterDefaultMenuItems.ts +++ b/package/src/unregisterDefaultMenuItems.ts @@ -3,13 +3,11 @@ ContextMenuRegistry.registry.unregister("undoWorkspace"); ContextMenuRegistry.registry.unregister("redoWorkspace"); ContextMenuRegistry.registry.unregister("cleanWorkspace"); -ContextMenuRegistry.registry.unregister("collapseWorkspace"); ContextMenuRegistry.registry.unregister("expandWorkspace"); ContextMenuRegistry.registry.unregister("workspaceDelete"); ContextMenuRegistry.registry.unregister("blockDuplicate"); ContextMenuRegistry.registry.unregister("blockComment"); ContextMenuRegistry.registry.unregister("blockInline"); -ContextMenuRegistry.registry.unregister("blockCollapseExpand"); ContextMenuRegistry.registry.unregister("blockDisable"); ContextMenuRegistry.registry.unregister("blockDelete"); ContextMenuRegistry.registry.unregister("blockHelp");