Значки

Ninext улучшает интерфейс Ninox, добавляя значки на некоторые вкладки, чтобы выделить важные сведения.

  • На вкладке «Files» синий значок показывает число вложенных файлов, добавленных к записи.
  • На вкладке «Comments» красный значок указывает на новые сообщения, а серый — на более старые комментарии.
  • На собственных вкладках можно изменить оформление (цвет, заголовок) и добавить значок, привлекающий внимание к главному.

Значки позволяют быстро заметить новое, не открывая каждую вкладку.

Значки на вкладках «Files» и «Comments»

Вкладка Files

  • Синий значок (#4970ff): появляется, если есть файлы, не связанные ни с одним полем «File», то есть находящиеся на вкладке вложений. Показанное число соответствует числу таких отдельных вложений.
  • Значка нет: отдельных вложений не найдено.

Вкладка Comments

  • Красный значок (#ff0000): указывает на новые комментарии (например, оставленные менее суток назад).
  • Серый значок (#999999): показывает наличие более старых комментариев или общее число комментариев, если свежих нет.
  • Значка нет: у этой записи нет комментариев.

image.png

Значки сообщают о наличии записей под соответствующими значками:

Здесь синяя единица означает, что к записи сохранено одно вложение, а серая — что у записи есть один комментарий.

Собственные значки

В поле «display only, if» каждой вкладки можно создать функцию с объектом JSON, задающим различные свойства собственного значка, включая его содержимое:

function onUpdate(event : any) do
 debug(formatJSON(event));
 {
  caption: Caption,
  color: Color,
  backgroundColor: BackgroundColor,
  tooltip: Tooltip,
  badge: {
   caption: 'badge.caption',
   color: 'badge.color',
   backgroundColor: 'badge.backgroundColor'
  }
 }
end;
true

Настройка вкладок с помощью Ninext

image.png

С помощью Ninext вы можете менять оформление созданных вами вкладок Ninox: для этого в триггере «Display only if» вкладки объявляется функция onUpdate. Она возвращает объект, указывающий Ninext, какие элементы оформления изменить. Вы можете:

  • изменить заголовок вкладки (caption) и подсказку;
  • изменить цвет текста и фона (в обычном и выбранном состоянии);
  • задать цвет фона связанной формы;
  • показать на вкладке значок, выделяющий важные сведения.

Краткий обзор свойств JSON

СвойствоОписаниеПример / применение
captionЗаголовок, показанный на вкладке."To Invoice" / "View Invoice"
tooltipТекст, показываемый при наведении на вкладку."Click to view details"
colorЦвет текста, когда вкладка не выбрана."#333333"
backgroundColorЦвет фона, когда вкладка не выбрана."#ededed"
formBackgroundColorЦвет фона формы (редактора), когда вкладка активна."#fafafa"
selected.colorЦвет текста, когда вкладка выбрана."#ffffff"
selected.backgroundColorЦвет фона, когда вкладка выбрана."#4970ff"
badge.captionТекст, число или символ, показанный на значке."3" (три новых клиента) или "!" (предупреждение)
badge.colorЦвет текста значка."#ffffff"
badge.backgroundColorЦвет фона значка."#4970ff"

Общий порядок работы

  • Объявите функцию onUpdate
    В коде триггера «Display only if» вкладки создайте функцию с именем onUpdate. Она должна вернуть объект (вида JSON), описывающий изменяемые элементы оформления.
  • Верните логическое значение видимости
    Триггер «Display only if» должен заканчиваться возвратом true или false, указывающим, показывать вкладку или нет.
  • Ninext применяет изменения
    Каждый раз, когда пользователь открывает или обновляет запись, Ninext выполняет функцию onUpdate, читает возвращённый объект и на лету применяет изменения оформления к вкладке.

Примеры реализации

Полный пример (несколько свойств)

"Declaration of the onUpdate function";
function onUpdate(tabValues) do
    let nb := this.NumberTest;
    return {
        caption: if nb > 0 then "To Invoice" else "View Invoice" end,
        tooltip: "Click to view details",
        color: "#333333",
        backgroundColor: "#ededed",
        formBackgroundColor: "#fafafa",
        selected: {
            color: "#ffffff",
            backgroundColor: "#4970ff"
        },
        badge: {
            caption: if nb = 3 then "3" else if nb = -1 then "!" else "" end,
            color: "#ffffff",
            backgroundColor: if nb = 3 then "#4970ff" else if nb = -1 then "#ff0000" else "#cccccc" end
        }
    }
end;

"Determine whether the tab is displayed: shown if NumberTest > 0";
if this.NumberTest > 0 then
    true
else
    false
end

Пояснения:

  • caption меняет заголовок вкладки в зависимости от NumberTest.
  • tooltip выводит текст при наведении.
  • color и backgroundColor задают цвета в невыбранном состоянии.
  • selected содержит цвета активной вкладки.
  • badge добавляет указатель (число или восклицательный знак) для акцента.

Минимальный пример (только значок)

"Declaration of the onUpdate function";
function onUpdate(tabValues : any) do
 let newClients := this.NewClients;
 {
  badge: {
   caption: if newClients > 0 then text(newClients) else "" end,
   color: "#ffffff",
   backgroundColor: "#4970ff"
  }
 }
end;
"The tab is always displayed";
true

Пояснения:

  • Возвращается только свойство badge.
  • Если NewClients больше 0, показывается его значение; иначе значок остаётся пустым.
  • У значка белый текст на синем фоне.

Важные замечания

  • Обязательный логический возврат в конце
    Без возврата true или false в конце вкладка не будет видна.