Bloques internos

Los bloques internos son los bloques adjuntos a tus entradas de valor y declaración. Cada generador de código de bloque debe manejar la concatenación de su bloques para que el código se agregue en el lugar correcto.

import {javascriptGenerator, Order} from 'blockly/javascript';

javascriptGenerator.forBlock['my_custom_block'] = function(block, generator) {
  // Generate innner block code.
  const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');
  const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

  // Concatenate the string.
  const code = `some code ${statement} ${value} some more code`;

  // Return the code.
  return code;
}

Entradas de la sentencia

El código de los bloques internos vinculados a las entradas de instrucciones se puede generar usando statementToCode Esto llama al generador de código de bloque de los bloques de sentencias y los controladores aplicar sangría al código.

const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');

Solo debes llamar a statementToCode para el bloque interno conectado directamente. a una entrada de instrucción.

Entradas de valores

El código de bloques internos vinculados a entradas de valores se puede generar usando valueTocode Esto llama al generador de código de código de bloque del bloque de valor y los agregar paréntesis alrededor de los bloques internos código cuando sea necesario.

Consulta la documentación sobre paréntesis para obtener más información sobre cómo para controlar los paréntesis.

const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

Concatena código

Después de obtener la cadena de código del bloque interno, puedes concatenarla el lugar correcto con la cadena de código.

const code = `some code ${statement} ${value} some more code`;

Código de retorno

Los diferentes tipos de bloques requieren que la cadena de código se muestre en diferentes Por eso, te recomendamos que consultes las páginas individuales para obtener más información: