Zdarzenie przycisku

Dostosowywanie przycisków za pomocą Ninext
Dzięki Ninext można zmienić wygląd przycisków Ninox, definiując funkcję o nazwie onUpdate w wyzwalaczu „Display only if”. Funkcja ta musi zwrócić obiekt opisujący elementy wizualne do zmiany, a skrypt musi kończyć się wartością logiczną wskazującą, czy przycisk ma być wyświetlany.
W ten sposób można:
- Zmienić etykietę przycisku.
- Zaktualizować podpowiedź (tytuł) przycisku.
- Zmienić kolor przycisku przy użyciu predefiniowanych klas.
- Wyświetlić plakietkę uwypuklającą ważną informację.
Krótki przegląd właściwości JSON
| Właściwość | Opis | Przykład / zastosowanie |
|---|---|---|
| caption | Tekst wyświetlany na przycisku. | "Send" / "Cancel" |
| tooltip lub title | Tekst pokazywany po najechaniu, jako podpowiedź. | "Click to send" |
| buttonColor | Klasa koloru stosowana do przycisku (np. "blue", "red", "grey"). | "blue" |
| badge | Obiekt opisujący plakietkę wyświetlaną na przycisku. | Zobacz szczegóły poniżej |
| badge.caption | Tekst, liczba lub symbol wyświetlany na plakietce. | "3" or "!" |
| badge.color | Kolor plakietki (domyślny lub własny). | "red" or "#4970ff" |
Ogólny przebieg pracy
- Zdefiniuj funkcję onUpdate
W kodzie wyzwalacza „Display only if” przycisku zadeklaruj funkcję o nazwie onUpdate. Funkcja ta zwraca obiekt (w formacie JSON) opisujący elementy do zmiany. - Zwróć wartość logiczną odpowiadającą za widoczność
Wyzwalacz musi kończyć się zwróceniem wartości logicznej (truelubfalse), wskazującej, czy przycisk ma być wyświetlany. - Ninext stosuje zmiany
Gdy rekord zostaje otwarty lub odświeżony, Ninext wykonuje funkcję onUpdate, odczytuje zwrócony obiekt i dynamicznie stosuje zmiany wyglądu przycisku.
Zastosowanie
Pojedynczy blok kodu w wyzwalaczu „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
Komentarze:
- Funkcja onUpdate buduje obiekt pozwalający zmienić etykietę przycisku (ze wskaźnikiem liczbowym, jeśli
Countjest dodatnie), podpowiedź, kolor przycisku oraz wyświetlić plakietkę. - Końcowy blok kodu zwraca wartość logiczną określającą, czy przycisk ma być wyświetlany.
Przykład minimalny (sama plakietka)
"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
Komentarze:
- Zwracana jest wyłącznie właściwość badge, aby wyświetlić wartość, gdy
NewItemsjest większe od 0. - Przycisk jest wyświetlany bezwarunkowo.
Ważne uwagi
- Końcowa wartość logiczna
Bez zwrócenia na końcutruelubfalseprzycisk nie będzie widoczny.
