Evento pulsante

image.png

Personalizzare i pulsanti con Ninext

Con Ninext è possibile modificare l'aspetto dei pulsanti di Ninox definendo una funzione chiamata onUpdate nel trigger «Visualizza solo se». Questa funzione deve restituire un oggetto che descrive gli elementi visivi da modificare, e lo script deve terminare con un booleano che indica se il pulsante vada visualizzato.

Con questo metodo si può:

  • Cambiare l'etichetta del pulsante.
  • Aggiornare il tooltip (o titolo) del pulsante.
  • Cambiare il colore del pulsante usando classi predefinite.
  • Visualizzare un badge per mettere in evidenza un'informazione importante.

Panoramica rapida delle proprietà JSON

ProprietàDescrizioneEsempio / Uso
captionIl testo visualizzato sul pulsante."Send" / "Cancel"
tooltip o titleIl testo mostrato al passaggio del mouse, come tooltip."Click to send"
buttonColorLa classe di colore da applicare al pulsante (per esempio "blue", "red", "grey")."blue"
badgeUn oggetto che descrive il badge da visualizzare sul pulsante.Vedere i dettagli qui sotto
badge.captionIl testo, il numero o il simbolo visualizzato nel badge."3" or "!"
badge.colorIl colore del badge (predefinito o personalizzato)."red" or "#4970ff"

Svolgimento generale

  1. Definire la funzione onUpdate
    Nel codice del trigger «Visualizza solo se» del pulsante, dichiarate una funzione chiamata onUpdate. Questa funzione restituisce un oggetto (in formato JSON) che descrive gli elementi da modificare.
  2. Restituire un booleano per la visibilità
    Il trigger deve terminare restituendo un booleano (true o false) per indicare se il pulsante vada visualizzato.
  3. Ninext applica le modifiche
    All'apertura o all'aggiornamento del record, Ninext esegue la funzione onUpdate, legge l'oggetto restituito e applica dinamicamente al pulsante le modifiche di aspetto.

Implementazione

Blocco di codice unico nel trigger «Visualizza solo se»

"Declaration of the onUpdate function that customizes the button";
function onUpdate(buttonValues : any) do
 let count := this.Count;
 {
      caption: if count > 0 then
          "Send (" + count + ")"
      else
          "Send"
      end,
      tooltip: "Click to send your request",
      buttonColor: if count > 0 then "red" else "blue" end,
      badge: {
           caption: if count > 0 then text(count) else "" end,
           color: "red"
      }
 }
end;

"Determination of the button's visibility";
this.Count >= 0

Commenti:

  • La funzione onUpdate costruisce un oggetto che permette di modificare l'etichetta del pulsante (con un indicatore numerico se Count è positivo), il tooltip, il colore del pulsante e di visualizzare un badge.
  • L'ultimo blocco di codice restituisce un booleano che determina se il pulsante vada visualizzato.

Esempio minimo (solo badge)

"Declaration of the onUpdate function to display only a badge";
function onUpdate(buttonValues : any) do
 let newItems := this.newItems;
 {
      badge: {
           caption: if newItems > 0 then text(newItems) else "" end,
           color: "red"
      }
     }
end;
"The button is always displayed";
true

Commenti:

  • Viene restituita solo la proprietà badge, per visualizzare un valore se NewItems è maggiore di 0.
  • Il pulsante è visualizzato senza condizioni.

Punti importanti

  • Restituzione booleana finale
    Senza restituire true o false alla fine, il pulsante non sarà visibile.