Событие кнопки

Настройка кнопок с помощью Ninext
Ninext позволяет менять внешний вид кнопок Ninox: для этого в триггере «Display only if» объявляется функция onUpdate. Она должна возвращать объект с описанием изменяемых элементов оформления, а сам скрипт должен завершаться логическим значением, указывающим, показывать кнопку или нет.
Так вы можете:
- изменить надпись на кнопке;
- изменить всплывающую подсказку (title) кнопки;
- изменить цвет кнопки, выбрав один из готовых классов;
- показать значок, привлекающий внимание к важным сведениям.
Краткий обзор свойств JSON
| Свойство | Описание | Пример / применение |
|---|---|---|
| caption | Текст, показанный на кнопке. | "Send" / "Cancel" |
| tooltip или title | Текст, показываемый при наведении, в виде подсказки. | "Click to send" |
| buttonColor | Класс цвета, применяемый к кнопке (например, «blue», «red», «grey»). | "blue" |
| badge | Объект с описанием значка, показываемого на кнопке. | См. подробности ниже |
| badge.caption | Текст, число или символ, показываемый на значке. | "3" or "!" |
| badge.color | Цвет значка (по умолчанию или свой). | "red" or "#4970ff" |
Общий порядок работы
- Объявите функцию onUpdate
В коде триггера «Display only if» кнопки объявите функцию onUpdate. Она возвращает объект (в формате JSON) с описанием изменяемых элементов. - Верните логическое значение видимости
Триггер должен заканчиваться возвратом логического значения (trueилиfalse), указывающего, показывать кнопку или нет. - Ninext применяет изменения
При открытии или обновлении записи Ninext выполняет функцию onUpdate, читает возвращённый объект и на лету применяет изменения оформления к кнопке.
Реализация
Единый блок кода в триггере «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
Пояснения:
- Функция onUpdate строит объект, позволяющий изменить надпись на кнопке (с числовым указателем, если
Countположителен), подсказку, цвет кнопки и показать значок. - Последний блок кода возвращает логическое значение, определяющее, показывать кнопку или нет.
Минимальный пример (только значок)
"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
Пояснения:
- Возвращается только свойство badge, чтобы показать значение, если
NewItemsбольше 0. - Кнопка отображается безусловно.
Важные замечания
- Обязательный логический возврат в конце
Без возвратаtrueилиfalseв конце кнопка не будет видна.
