Esdeveniment de botó

Personalitzar els botons amb Ninext
Amb Ninext podeu modificar l'aparença dels botons de Ninox definint una funció anomenada onUpdate a l'activador «Display only if». Aquesta funció ha de retornar un objecte que descrigui els elements visuals que cal modificar, i l'script ha d'acabar amb un booleà que indiqui si el botó s'ha de mostrar.
Amb aquest enfocament podeu:
- Canviar el text del botó.
- Actualitzar el text d'ajuda (o títol) del botó.
- Canviar el color del botó fent servir classes predefinides.
- Mostrar un badge per destacar informació important.
Visió ràpida de les propietats JSON
| Propietat | Descripció | Exemple / Ús |
|---|---|---|
| caption | El text que es mostra al botó. | "Send" / "Cancel" |
| tooltip o title | El text que apareix en passar el ratolí per sobre, com a text d'ajuda. | "Click to send" |
| buttonColor | La classe de color que cal aplicar al botó (per exemple, "blue", "red", "grey"). | "blue" |
| badge | Un objecte que descriu el badge que cal mostrar al botó. | Vegeu-ne els detalls més avall |
| badge.caption | El text, el nombre o el símbol que es mostra al badge. | "3" or "!" |
| badge.color | El color del badge (per defecte o personalitzat). | "red" or "#4970ff" |
Funcionament general
- Definiu la funció onUpdate
Al codi de l'activador «Display only if» del botó, declareu una funció anomenada onUpdate. Aquesta funció retorna un objecte (en format JSON) que descriu els elements que cal modificar. - Retorneu un booleà per a la visibilitat
L'activador ha d'acabar retornant un booleà (trueofalse) per indicar si el botó s'ha de mostrar. - Ninext aplica les modificacions
Quan s'obre o es refresca el registre, Ninext executa la funció onUpdate, llegeix l'objecte retornat i aplica dinàmicament els canvis d'aparença al botó.
Implementació
Un sol bloc de codi a l'activador «Display only if»
"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
Comentaris:
- La funció onUpdate construeix un objecte que permet modificar el text del botó (amb un indicador numèric si
Countés positiu), el text d'ajuda, el color del botó i mostrar-hi un badge. - El bloc de codi final retorna un booleà per determinar si el botó s'ha de mostrar.
Exemple mínim (només 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
Comentaris:
- Només es retorna la propietat badge per mostrar un valor si
NewItemsés més gran que 0. - El botó es mostra sense condicions.
Punts importants
- Retorn booleà final
Sense retornartrueofalseal final, el botó no serà visible.
