Les blocs internes sont les blocs associés à vos entrées de valeur et d'instruction. Les générateurs de code de bloc individuels doivent gérer la concaténation de leur code interne afin que le code soit ajouté au bon endroit.
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;
}
Entrées d'instruction
Le code des blocs internes attachés
aux entrées d'instruction peut être généré en utilisant
statementToCode
Cette méthode est appelée
générateur de code de bloc du bloc d'instruction et gère
de mise en retrait du code.
const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');
Il vous suffit d'appeler statementToCode
pour le bloc interne directement connecté
à une entrée d'instruction.
Entrées de valeur
Le code des blocs internes attachés aux entrées de valeur peut être généré à l'aide de
valueTocode
Cette méthode est appelée
générateur de code du bloc "value" et gère
en ajoutant des parenthèses autour des blocs internes si nécessaire.
Consultez la documentation sur les parenthèses pour savoir comment pour contrôler les parenthèses.
const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
Concaténer du code
Après avoir obtenu la chaîne de code de votre bloc interne, vous pouvez la concaténer au bon endroit avec votre chaîne de code.
const code = `some code ${statement} ${value} some more code`;
Code renvoyé
Les différents types de blocs exigent que la chaîne de code soit renvoyée dans différentes . Pour en savoir plus, consultez les pages consacrées à ce sujet: