Comments (5)
Hi,
as lot has changed since then, unfortunately the docs are not up to date.
- NgxToolboxBuilderService is obsolete.
Do it like this
const workspace = new Blockly.WorkspaceSvg(new Blockly.Options({}));
const toolbox: NgxBlocklyToolbox = new NgxBlocklyToolbox(workspace);
toolbox.nodes = [
LOGIC_CATEGORY,
new Category('bla', '#ff0000', [...this.customBlocks, this.button, this.label]),
LOOP_CATEGORY,
MATH_CATEGORY,
TEXT_CATEGORY,
LISTS_CATEGORY,
COLOUR_CATEGORY,
new Separator(),
VARIABLES_CATEGORY,
FUNCTIONS_CATEGORY,
LOGIC_CATEGORY,
new Category('bla', '#ff0000', [...this.customBlocks, this.button, this.label]),
LOOP_CATEGORY,
MATH_CATEGORY,
TEXT_CATEGORY,
LISTS_CATEGORY,
COLOUR_CATEGORY,
new Separator(),
VARIABLES_CATEGORY,
FUNCTIONS_CATEGORY,
LOGIC_CATEGORY,
new Category('bla', '#ff0000', [...this.customBlocks, this.button, this.label]),
LOOP_CATEGORY,
MATH_CATEGORY,
TEXT_CATEGORY,
LISTS_CATEGORY,
COLOUR_CATEGORY,
new Separator(),
VARIABLES_CATEGORY,
FUNCTIONS_CATEGORY
];
this.config.toolbox = toolbox.toXML();
- The blockly config has been changed
public config: NgxBlocklyConfig = {
...
move: {
scrollbars: true,
wheel: true
}
- Category constructor has been changed
new Category('bla', '#ff0000', [CustomBlockA, CustomBlockB]);
from ngx-blockly.
Thank you very much. Your suggestions solved the problem. I have an additional problem with fields. This code generates compilation errors:
const field = this.block.getField("GAME_OBJECTS");
if (this.mode)
field.menuGenerator_=TypeUtils.getInstances(this.unitytype);
else field.menuGenerator_=[['self','self'],['event_source','event_source']].concat(TypeUtils.getInstances(this.unitytype));
field.setValue(field.getOptions()[0][1]);
because field has no menuGenerator_ property and no getOptions() method
Thanks again for your help
J.
from ngx-blockly.
In this case you probably need to cast the Object to FieldDropdown since getField does return Blockly.Field
from ngx-blockly.
Thanks for your quick answer. This is producing a side effect because if I import
Blockly from 'ngx-blockly'
to do the casting:
const field = this.block.getField("GAME_OBJECTS") as Blockly.FieldDropdown;
then another part of my code is broken:
return [this.block.getFieldValue('GAME_OBJECTS'),Blockly.Lua.ORDER_ATOMIC];
because now BLockly has no Lua property.
In my previous code Blockly was defined as
declare var Blockly: any;
I apologize if I did not explain my problem correctly.
Best
J.
from ngx-blockly.
I solved this by importing Blockly with an Alias
Thanks
from ngx-blockly.
Related Issues (20)
- Custom Block - How to implement callback function that calls function in parent component HOT 3
- Add import "blockly/blocks" in app.module.ts HOT 1
- Dozens of "No message string for " warning HOT 14
- Generating code issue HOT 2
- [email protected] depends on angular 14 HOT 1
- ERROR TypeError: Unknown block type: controls_if HOT 3
- Readonly disappears forever if window is resized while not readonly HOT 4
- Blockly mainWorkspace undefined HOT 7
- Option `defaultBlocks` is completely useless. HOT 2
- Initiliazing workspace with blocks HOT 1
- Code generator limitation HOT 3
- new variable in block for mutator HOT 1
- After reloading from storage, Blocks don't receive the BLOCK_MOVE event anymore HOT 1
- Custom generator and blocks HOT 3
- How to import custom block into built-in Category HOT 6
- #Custom block: how to get data from parent component with Constructor HOT 2
- Unknown block type: ActionBlock - when use several custom blocks in different categories. HOT 8
- How to make custom block from built-in block in FUNCTIONS_CATEGORY HOT 5
- Custom Block - Is it possible to define twice in one component? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ngx-blockly.