Champs de l'image

Un champ d'image stocke une chaîne en tant que valeur et une chaîne en tant que texte. Sa valeur est la source de l'image, tandis que son texte est une chaîne alt décrivant/représentant l'image.

Champ "Image"

Bloc avec le libellé "image:" et une étoile jaune.

Champ Image dans un bloc fermé

Même bloc après avoir été replié. Il porte le libellé "variable: *", où "*" est le texte alternatif de l'image, et une bordure dentelée à droite pour indiquer qu'il est réduit.

Création

JSON

{
  "type": "example_image",
  "message0": "image: %1",
  "args0": [
    {
      "type": "field_image",
      "src": "https://www.gstatic.com/codesite/ph/images/star_on.gif",
      "width": 15,
      "height": 15,
      "alt": "*"
    }
  ]
}

JavaScript

Blockly.Blocks['example_image'] = {
  init: function() {
    this.appendDummyInput()
      .appendField("image:")
      .appendField(new Blockly.FieldImage(
        "https://www.gstatic.com/codesite/ph/images/star_on.gif",
        15,
        15,
        "*"));
  }
};

Le constructeur d'image accepte les éléments suivants:

Paramètre Description
src Chaîne qui pointe vers un fichier image matricielle.
width Doit être converti en nombre non nul.
height Doit être converti en nombre non nul.
opt_alt (Facultatif) Chaîne décrivant/représentant précisément l'image. Il est utilisé à la place de l'image lorsque le bloc est réduit. Si la valeur est null ou undefined, une chaîne vide est utilisée.
opt_onClick (Facultatif) Fonction à appeler lorsque l'utilisateur clique sur le champ.
opt_flipRtl (Facultatif) Valeur booléenne. Si la valeur est true, l'image est inversée sur l'axe vertical en mode de lecture de droite à gauche. La valeur par défaut est false. Utile pour les icônes "Tourner à gauche" et "Tourner à droite".

Sérialisation

Les champs Image ne sont pas sérialisables.

Gestionnaire de clics

Le champ d'image n'accepte pas de valideur. À la place, il accepte explicitement une fonction appelée chaque fois que l'utilisateur clique sur le champ. Cela signifie que les images peuvent agir comme des boutons qui existent sur des blocs.

Le gestionnaire de clics peut être défini dans le constructeur JavaScript ou à l'aide de la fonction setOnClickHandler.

Voici un exemple de gestionnaire de clics qui réduit le bloc lorsqu'il est appelé.

function() {
    this.getSourceBlock().setCollapsed(true);
}

GIF animé montrant un clic sur l'image, le bloc se réduisant, un clic droit pour afficher le menu contextuel, le choix de l'option "Développer le bloc" et le développement du bloc.