skip disabled blocks
This commit is contained in:
parent
2b0a0e2496
commit
0a97554600
4 changed files with 10 additions and 4 deletions
|
|
@ -98,7 +98,7 @@ BlockDefinition.parseRawDefinition = function(rawBlockDefinition, definitionPath
|
|||
blockDef.tooltip = blockDef.description.split("\n")[0]
|
||||
// blockDef.definitionSet = definitionSet
|
||||
// blockDef.definitionJS = rawBlockDefinition
|
||||
// blockDef.disabled = !!rawBlockDefinition.disabled
|
||||
blockDef.disabled = !!rawBlockDefinition.disabled
|
||||
blockDef.visualization = rawBlockDefinition.visualization
|
||||
blockDef.connections = rawBlockDefinition.connections
|
||||
blockDef.lines = rawBlockDefinition.lines
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ export const BlocklyJSExporter = {
|
|||
|
||||
const
|
||||
exportToolboxJs = toolboxDefinition => {
|
||||
// TODO: fix category callbacks
|
||||
const
|
||||
categoriesWithCallbacks = filter(toolboxDefinition, "callback"),
|
||||
// { "Category Name": () -> { /* category callback */ }}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { writeFileSync } from 'fs'
|
||||
import { forEach } from 'lodash-es'
|
||||
import { forEach, reject } from 'lodash-es'
|
||||
|
||||
import DefinitionLoader from '#src/definition_loader.js'
|
||||
import BlocklyJSExporter from '#src/blockly_js_exporter.js'
|
||||
|
|
@ -63,6 +63,7 @@ DefinitionSet.load = async function() {
|
|||
|
||||
const
|
||||
rawDefinitions = await DefinitionLoader.loadAll(),
|
||||
enabledBlocks = reject(rawDefinitions.blocks, "definition.disabled"),
|
||||
definitionSet = new DefinitionSet()
|
||||
|
||||
// TODO: fields
|
||||
|
|
@ -74,9 +75,11 @@ DefinitionSet.load = async function() {
|
|||
// TODO: update mutator definition/template/export routine
|
||||
definitionSet.mutators = rawDefinitions.mutators
|
||||
|
||||
forEach(rawDefinitions.blocks, ({ definition, path }) => {
|
||||
forEach(enabledBlocks, ({ definition, path }) => {
|
||||
const blockDef = BlockDefinition.parseRawDefinition(definition, path, definitionSet)
|
||||
definitionSet.blocks.push(blockDef)
|
||||
// TODO: inline mixins defined on blocks
|
||||
// TODO: inline extensions defined on blocks
|
||||
definitionSet.generators[blockDef.type] = blockDef.generators
|
||||
definitionSet.regenerators[blockDef.type] = blockDef.regenerators
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import fs from "node:fs"
|
||||
import { describe, it, beforeEach, afterEach } from 'node:test'
|
||||
import { filter } from "lodash-es"
|
||||
import { assert } from 'chai'
|
||||
|
||||
import DefinitionSet from "#src/definition_set.js"
|
||||
|
|
@ -29,9 +30,10 @@ describe("DefinitionSet", function() {
|
|||
assert.instanceOf(this.definitionSet.toolboxes[0], ToolboxDefinition)
|
||||
})
|
||||
|
||||
it("has blocks", function() {
|
||||
it("has blocks, but not disabled blocks", function() {
|
||||
assert.isAbove(this.definitionSet.blocks.length, 1)
|
||||
assert.instanceOf(this.definitionSet.blocks[0], BlockDefinition)
|
||||
assert.isEmpty(filter(this.definitionSet.blocks, "disabled"))
|
||||
})
|
||||
|
||||
it("has mixins", function() {
|
||||
|
|
|
|||
Loading…
Reference in a new issue