Angular and customs blocks

220 views
Skip to first unread message

Keino TT

unread,
Oct 9, 2019, 4:17:24 AM10/9/19
to Blockly
Hello, I want to add my custom blocks to angular blockly. How I can do it? 

David

unread,
Oct 9, 2019, 8:09:42 AM10/9/19
to Blockly
Hey, Keino.

I did this and worked for me:

    (Blockly as any).Blocks.my_custom_block = {
      init() {
        this.jsonInit({
          message0: ' %1 %2 %3 ',
          args0: [
            {
              type: 'input_value',
              name: 'A',
              check: 'Number'
            },
            {
              type: 'field_dropdown',
              name: 'OP',
              options: [
                ['%{BKY_MATH_ADDITION_SYMBOL}''ADD'],
                ['%{BKY_MATH_SUBTRACTION_SYMBOL}''MINUS'],
                ['%{BKY_MATH_MULTIPLICATION_SYMBOL}''MULTIPLY'],
                ['%{BKY_MATH_DIVISION_SYMBOL}''DIVIDE'],
                ['%{BKY_MATH_POWER_SYMBOL}''POWER']
              ]
            },
            {
              type: 'input_value',
              name: 'B',
              check: 'Number'
            }
          ],
          inputsInline: true,
          output: 'Number',
          style: 'text_blocks',
          helpUrl: '%{BKY_MATH_ARITHMETIC_HELPURL}',
          extensions: ['math_op_tooltip']
        });
      }
    };

Replace "my_custom_block" with your custom block name and the body of the object with the code to build it. 
I used the same as the built in arithmetic block as an example.

I hope this can help you.

David.

Keino TT

unread,
Oct 30, 2019, 9:10:59 AM10/30/19
to Blockly
Hello, thank you. I create custom block. But what about generate code? How I can generate custom code? 
It's my test_block.ts


import * as Blockly from 'blockly';
(Blockly as any).Blocks.my_custom_block = {
    init() {
      this.jsonInit({
        message0: ' %1 %2 ',
        args0: [
          {
            type: 'field_label_serializable',
            name: 'NAME',
            text: 'asdasdasd'
          },
          {
            type: 'input_value',
            name: 'Name',
             
          },
        
        ],
         colour: 230,
         tooltip: "",
         helpUrl: ""
      });
    }
  };










Screenshot_3.png



среда, 9 октября 2019 г., 15:09:42 UTC+3 пользователь David написал:

Keino TT

unread,
Oct 31, 2019, 2:24:23 AM10/31/19
to Blockly
Help, please!!!

среда, 30 октября 2019 г., 16:10:59 UTC+3 пользователь Keino TT написал:

Keino TT

unread,
Oct 31, 2019, 3:56:03 AM10/31/19
to Blockly
(Blockly as any).JavaScript['my_custom_block'] = function(block) {
    var value_name = (Blockly as any).JavaScript.valueToCode(block, Name, (Blockly as any).JavaScript.ORDER_ATOMIC);
    // TODO: Assemble JavaScript into code variable.
    var code =  Name + 'sdsd';
    console.log(Name)
    return code;
  };
I understood.
Reply all
Reply to author
Forward
0 new messages