Guida su come bloccare un contatto

Puoi fornire assistenza per i blocchi sotto forma di descrizioni comando e di un URL di assistenza.

Descrizioni comando

Le descrizioni comandi offrono assistenza immediata quando l'utente passa il mouse sopra il blocco. Se il testo è lungo, verrà a capo automaticamente.

JSON

{
  // ...,
  "tooltip": "Tooltip text."
}

JavaScript

init: function() {
  this.setTooltip("Tooltip text.");
}

Nell'API JavaScript, le descrizioni comando possono essere definite anche come funzione anziché come stringa statica. In questo modo è possibile fornire un'assistenza dinamica. Consulta math_arithmetic per un esempio di descrizione comando che cambia a seconda dell'opzione del menu a discesa selezionata.

JavaScript

Blockly.Blocks['math_arithmetic'] = {
  init: function() {
    // ...

    // Assign 'this' to a variable for use in the tooltip closure below.
    var thisBlock = this;
    this.setTooltip(function() {
      var mode = thisBlock.getFieldValue('OP');
      var TOOLTIPS = {
        'ADD': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_ADD'],
        'MINUS': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_MINUS'],
        'MULTIPLY': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_MULTIPLY'],
        'DIVIDE': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_DIVIDE'],
        'POWER': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_POWER']
      };
      return TOOLTIPS[mode];
    });
  }
};

Utilizzando l'API JavaScript, i blocchi possono specificare una funzione, anziché una stringa statica, che restituisce la stringa della descrizione comando. In questo modo, è possibile visualizzare descrizioni comando dinamiche. Per un esempio, vedi math_arithmetic.

Personalizzazione

Puoi anche personalizzare l'aspetto delle descrizioni comando specificando una funzione di rendering personalizzata. Crea una funzione che accetti due parametri:

  • innanzitutto un elemento <div> in cui verranno visualizzati i contenuti
  • in secondo luogo, l'elemento effettivo su cui viene passato il mouse e per il quale verrà visualizzata la descrizione comando

Nel corpo della funzione, puoi visualizzare nel div i contenuti che preferisci. Per ottenere la stringa della descrizione comando definita sul blocco sopra cui viene passato il mouse, puoi chiamare Blockly.Tooltip.getTooltipOfObject(element);, dove element è il secondo parametro riportato sopra.

Infine, registra questa funzione in modo che Blockly possa chiamarla al momento opportuno:

Blockly.Tooltip.setCustomTooltip(yourFnHere);

Per un esempio, consulta la demo delle descrizioni comando personalizzate.

URL della Guida

Ai blocchi può essere associata una pagina di assistenza. Per visualizzare la guida, gli utenti devono fare clic con il tasto destro del mouse sul blocco e selezionare "Guida" dal menu contestuale. Se questo valore è null, l'elemento "Guida" non viene visualizzato.

JSON

{
  // ...,
  "helpUrl": "https://en.wikipedia.org/wiki/For_loop"
}

JavaScript

init: function() {
  // ...
  this.setHelpUrl('https://en.wikipedia.org/wiki/For_loop');
}

Utilizzando l'API JavaScript, i blocchi possono specificare una funzione, anziché una stringa statica, che restituisce una stringa URL, consentendo così una guida dinamica.