Конфигурация Web-приложения

Параметры конфигурации web-приложения Центрального пульта хранятся в конфигурационном файле /etc/saymon/saymon-client.yaml.

Файлы с параметрами конфигурации web-приложения могут храниться в следующих файлах (в порядке снижения приоритета):

  • MongoDB – параметры конфигурации, которые можно изменить через REST API;

  • /etc/saymon/saymon-client.yaml – параметры конфигурации web-приложения в формате YAML (основной файл конфигурации);

  • /etc/saymon/saymon-client.json – параметры конфигурации web-приложения в формате JSON (дополнительный файл конфигурации);

  • /etc/saymon/client-config.js – параметры конфигурации web-приложения в старом формате JS (используется со старыми версиями web-приложения);

  • ./backend/server/saymon-client.yaml – параметры конфигурации web-приложения по умолчанию.

Файл конфигурации с низким приоритетом используется в том случае, если отсутствует файл конфигурации с высоким приоритетом.

agentInstallerUrl

Ссылка для скачивания установочного скрипта для агента.

  • YAML

  • JSON

agentInstallerUrl: example.com/saymon-agent-installation.sh
{
  "agentInstallerUrl": "example.com/saymon-agent-installation.sh",
  ...
}

Ссылка добавляется в сгенерированную команду для установки агента при автоинсталляции.

agent installation command

По умолчанию ссылка не задана.

authEnabled

Включает самостоятельную регистрацию для пользователей;

  • YAML

  • JSON

authEnabled: false
{
  "authEnabled": false,
  ...
}
  • false – регистрация выключена,

  • true – регистрация включена.

По умолчанию – false – регистрация выключена.

authTokenEnabled

Настраивает отображение поля Ссылка для авторизации и кнопки создания токена API в окне настроек пользователя.

  • YAML

  • JSON

authTokenEnabled: false
{
  "authTokenEnabled": false,
  ...
}
  • false – поле выключено,

  • true – поле включено.

По умолчанию – true – поле включено.

authentication

В этой секции можно настроить параметры аутентификации пользователей.

  • YAML

  • JSON

authentication:
  availableMethods:
    - native
    - keycloak
  methodByDefault: keycloak
  services:
    keycloak:
      configUri: keycloak_frontend.json
      legacySupport: false
{
  "authentication": {
    "availableMethods": [
      "native",
      "keycloak"
    ],
    "methodByDefault": "keycloak",
    "services": {
      "keycloak": {
        "configUri": "keycloak_frontend.json",
        "legacySupport": false
      }
    }
  }
}

authentication.availableMethods

Список доступных методов аутентификации:

  • native – аутентификация по логину и паролю пользователя;

  • keycloak – аутентификация через реквизиты учетной записи пользователя в Keycloak.

По умолчанию – native.

authentication.methodByDefault

Метод аутентификации, который используется по умолчанию.

По умолчанию – native.

authentication.services

Секция с настройками сервисов аутентификации.

authentication.services.keycloak

Секция с настройками аутентификации через реквизиты учетной записи в Keycloak.

authentication.services.keycloak.configUri

Имя файла настроек соединения, сгенерированного Keycloak-сервером для web-приложения.

Файл настроек соединения необходимо разместить на сервере Центрального Пульта в каталоге /etc/saymon.

authentication.services.keycloak.legacySupport

Включает поддержку работы с Keycloak-сервером версии ниже 19;

  • false – поддержка работы с Keycloak-сервером версии ниже 19 выключена;

  • true – поддержка работы с Keycloak-сервером версии ниже 19 включена.

По умолчанию – false (работа с Keycloak-сервером версии ниже 19 не поддерживается).

canEditObjectStyle

Включает возможность вручную настраивать CSS-стили для объектов и связей.

  • YAML

  • JSON

canEditObjectStyle: true
{
  "canEditObjectStyle": true,
  ...
}

При включении опции в разделе Параметры появляется подраздел Стили (объектов, связей);

При выключении опции, применённые стили не убираются с объектов и связей.
  • false – настройка стилей выключена,

  • true – настройка стилей включена.

По умолчанию – true – настройка стилей включена.

comet

Секция с настройками взаимодействия web-приложения с сервером Центрального Пульта через Comet-сервер.

  • YAML

  • JSON

comet:
  port: 8091
  url:
    - "https://cpult.ru/ws"
    - "http://10.78.5.11:8092"
{
  "comet": {
    "port": 8091,
    "url": [
      "https://cpult.ru/ws",
      "http://10.78.5.11:8092"
    ]
  }
}

comet.port

Номер порта, по которому web-приложение подключается к Comet-серверу.

По умолчанию используется порт 8091.

comet.url

Адреса для подключения web-приложения к Comet-серверу из разных сетей. При задании адреса можно использовать IP-адрес, доменное имя или имя хоста. Также дополнительно можно указывать порт.

Если задано несколько адресов, то при установке подключения осуществляется их перебор до успешной установки соединения. Адрес выбирается случайным образом.

Если задан параметр comet.url, то параметр comet.port игнорируется.

configuration

Секция с настройками окна конфигурации системы.

  • YAML

  • JSON

configuration:
  objectPermissions:
    displayType: tree
{
  "configuration": {
    "objectPermissions": {
      "displayType": "tree"
    }
  }
}

configuration.objectPermissions

configuration.objectPermissions.displayType

Настройки вида отображения списка объектов.

По умолчанию – tree.

collapseSections

Задаёт настройки первоначального отображения секций и графиков;

  • YAML

  • JSON

collapseSections: true
{
  "collapseSections": true,
  ...
}
  • false – секции закреплены, графики раскрыты,

  • true – секции откреплены, графики свёрнуты.

По умолчанию – true – секции откреплены, графики свёрнуты.

defaultClassImage

Позволяет задать стандартное изображение и его размер для объектов определенного класса.

  • YAML

  • JSON

defaultClassImage:
  "29":
    img: /images/cloud.svg
    dim:
      - 300
      - 200
{
  "defaultClassImage": {
    "29": {
      "img": "/images/cloud.svg",
      "dim": [
        156,
        104
      ]
    }
  }
}

defaultClassImage.<number>

Идентификатор класса, например, "29".

defaultClassImage.<number>.img

Путь до изображения относительно папки /usr/local/saymon/client/.

Стандартным изображением может быть только векторный файл в формате SVG. Изображения других форматов (например PNG, JPEG или GIF) будут отображаться в окне настройки класса, но не будут отображаться в окне параметров и стандартном виде.

defaultClassImage.<number>.dim

Размер изображения (в пикселях, [ширина, высота]).

По умолчанию – [300, 200]

Настройка ссылки под встраиваемым виджетом, которая генерируется по умолчанию. При встраивании, эту ссылку можно изменить.

Этот раздел позволяет настроить текст и URL ссылки под виджетом:

embedded graph
  • YAML

  • JSON

defaultEmbeddableLink:
  url: http://cpult.ru/
  name: Центральный Пульт
{
  "defaultEmbeddableLink": {
    "url": "http://cpult.ru/",
    "name": "Центральный Пульт"
  },
}

URL ссылки под виджетом.

Текст ссылки под виджетом.

defaultPieChartColors

Цвета секторов по умолчанию для круговой и радиальной диаграмм. Если секторов больше чем цветов по умолчанию, цвета начинают повторяться сначала.

  • YAML

  • JSON

defaultPieChartColors:
  - "#a90329"
  - "#3276b1"
  - "#009F3D"
  - "#9868B8"
  - "#F2C001"
  - "#FF742C"
  - "#90574E"
  - "#EB77BE"
  - "#FF9796"
  - "#AAC6E5"
  - "#8BDE90"
  - "#FDB5D0"
{
  "defaultPieChartColors": [
    "#a90329",
    "#3276b1",
    "#009F3D",
    "#9868B8",
    "#F2C001",
    "#FF742C",
    "#90574E",
    "#EB77BE",
    "#FF9796",
    "#AAC6E5",
    "#8BDE90",
    "#FDB5D0"
  ]
}

disabledSections

Позволяет удалить секции, которые показываются при подробном отображении объекта в верхней части экрана.

  • YAML

  • JSON

disabledSections:
  - audit-log
  - config-log
  ...
{
  "disabledSections": [
    "audit-log",
    "config-log",
    ...
  ]
}

Список всех доступных секций:

По умолчанию – пустой список, все секции включены.

documentation

В этом разделе можно настроить ссылки на различную документацию для Центрального Пульта.

  • YAML

  • JSON

documentation:
  main:
    root: https://docs.saymon.tech
    ru: https://docs.cpult.ru
  notificationTemplates:
    root: https://docs.saymon.tech/web-interface/system-configuration-window/notification-templates.html
    ru: https://docs.cpult.ru/web-interface/system-configuration-window/notification-templates.html
  restApi:
    root: https://api.cpult.ru
"documentation": {
  "main": {
      "root": "https://docs.saymon.tech",
      "ru": "https://docs.cpult.ru"
  },
  "notificationTemplates": {
      "root": "https://docs.saymon.tech/web-interface/system-configuration-window/notification-templates.html",
      "ru": "https://docs.cpult.ru/web-interface/system-configuration-window/notification-templates.html"
  },
  "restApi": {
      "root": "https://api.cpult.ru"
  }
}

Ссылки, которые не начинаются с http:// или https:// относительны от адреса сервера Центрального Пульта.

Например, следующая конфигурация откроет документацию по адресу http://<saymon-hostname>/documentation/ru:

documentation:
  main:
    root: documentation/ru

Для каждого поддерживаемого языка можно задать свою ссылку:

  • root/en – английский язык;

  • ru – русский язык;

  • it – итальянский язык.

Например, конфигурация ссылок на документацию REST API для каждого поддерживаемого языка может выглядеть следующим образом:

documentation:
  restApi:
    en: https://docs.saymon.tech
    ru: https://example.com/docs/ru-RU
    it: documentation/Italiano # https://<saymon-hostname>/documentation/Italiano

documentation.main

Ссылки на пользовательскую документацию.

По умолчанию:

documentation.restApi

Ссылки на документацию по REST API.

По умолчанию (для всех языков) – https://api.cpult.ru

documentation.notificationTemplates

Ссылка на описание шаблонов уведомлений. Документация открывается по нажатию на кнопку "Подробнее" в настройках шаблонов уведомлений:

notification templates docs

По умолчанию – ссылка на статью Шаблоны уведомлений.

enableAnalytics

Включает функционал модуля аналитики;

  • YAML

  • JSON

enableAnalytics: false
{
  "enableAnalytics": false,
  ...
}
  • false – функционал выключен,

  • true – функционал включен.

По умолчанию – false – функционал выключен.

enableJiraTrigger

Включает возможность создать задачу в Jira при смене состояния объекта.

  • YAML

  • JSON

enableJiraTrigger: false
{
  "enableJiraTrigger": false,
  ...
}
  • false – функционал выключен,

  • true – функционал включен.

По умолчанию – false – функционал выключен.

enableConditionalIncidents

Включает функционал генерации аварий;

  • YAML

  • JSON

enableConditionalIncidents: false
{
  "enableConditionalIncidents": false,
  ...
}
  • false – функционал выключен,

  • true – функционал включен.

По умолчанию – false – функционал выключен.

enableSmsTrigger

Включает использование SMS-уведомлений;

  • YAML

  • JSON

enableSmsTrigger: false
{
  "enableSmsTrigger": false,
  ...
}
  • false – SMS-уведомления выключены,

  • true – SMS-уведомления включены.

По умолчанию – false – SMS-уведомления выключены.

enableSnmpTranslate

Включает трансляцию SNMP OID в текстовый формат;

  • YAML

  • JSON

enableSnmpTranslate: false
{
  "enableSnmpTranslate": false,
  ...
}
  • false – трансляция выключена,

  • true – трансляция включена.

По умолчанию – false – трансляция выключена.

enableVoiceCallTrigger

Включает использование голосовых вызовов;

  • YAML

  • JSON

enableVoiceCallTrigger: false
{
  "enableVoiceCallTrigger": false,
  ...
}
  • false – голосовые вызовы выключены,

  • true – голосовые вызовы включены.

По умолчанию – false – голосовые вызовы выключены.

forceEmptyStandardView

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

  • YAML

  • JSON

forceEmptyStandardView:
  - 1
  - 3
  - 13
  - 43
{
  "forceEmptyStandardView": [
    1,
    3,
    13,
    43
  ]
}

При выборе объекта, в том числе не содержащего вложенных объектов, Центральный Пульт по умолчанию показывает для него подробную информацию.

В параметре задаётся список идентификаторов классов, при выборе пустых объектов которых Центральный Пульт переходит в стандартный вид.

По умолчанию:

  • 1 (Root),

  • 3 (Host),

  • 13 (Node),

  • 43 (Dashboard).

Система запоминает последний выбранный вид отображения для каждого объекта в локальном хранилище браузера. Если этот вид отличается от стандартного, то система выбирает последний выбранный вид.

geoMap

Центральный Пульт позволяет привязывать объекты к их геоположению и просматривать их на карте.

  • YAML

  • JSON

geoMap:
  serverName: openstreetmap.org
  initialPosition:
    - 30.341306
    - 59.930089
  initialZoom: 8
{
  "geoMap": {
      "serverName": "openstreetmap.org",
      "initialPosition": [
          30.341306,
          59.930089
      ],
      "initialZoom": 8
  }
}

geoMap.initialPosition

Начальная позиция на карте в формате [долгота, широта].

Позиция указывается как массив из двух значений, где первое значение это широта, а второе – долгота:

  • YAML

  • JSON

initialPosition:
  - 30.341306
  - 59.930089
"initialPosition": [
    30.341306,
    59.930089
],

По умолчанию – [30.341306,59.930089].

Если указать данные, выходящие за пределы допустимых значений ([0,90] для широты, [0,180] для долготы), то произойдёт ошибка и карта не будет отображаться.

geoMap.initialZoom

Начальный масштаб карты. Допустимые значения - от 2 до 20. При выходе за эти границы, значение ограничивается допустимыми значениями.

По умолчанию – 8.

geoMap.serverName

Имя сервера OpenStreetMap, отвечающего за отображения карты. Имя должно быть указано без протокола, например openstreetmap.org или 192.168.1.10/maps.

По умолчанию – openstreetmap.org

Также можно использовать локальный OSM-сервер.

grid

В разделе задаются настройки сетки для выравнивания объектов в стандартном виде.

grid
  • YAML

  • JSON

grid:
  dim: 20
  color: rgba(128, 128, 128, 0.3)
  border: 4
{
  "grid": {
      "dim": 20,
      "color": "rgba(128, 128, 128, 0.3)",
      "border": 4
  }
}

grid.dim

Размер сетки (в пикселях).

Если указано некорректное значение (например, 0 или отрицательное число), то сетка не будет отображаться, но положение объектов будет привязываться к стандартному размеру сетки (20 пикселей).

По умолчанию – 20.

grid.color

Цвет сетки в формате RGBA.

По умолчанию – rgba(128, 128, 128, 0.3).

grid.border

Максимальное значение отступа границы объекта от границы сетки (в пикселях).

Поведение объекта при изменении его размера со стандартными настройками (border: 20, dim: 4):

grid resize border

По умолчанию – 4.

gridView

В разделе задаются параметры отображения объектов в виде сетки.

  • YAML

  • JSON

gridView:
  cols: 6
  colWidth: 240
  rowHeight: 90
  gutterSize: 5
{
  "gridView": {
    "cols": 6,
    "colWidth": 240,
    "rowHeight": 90,
    "gutterSize": 5
  }
}

gridView.cols

Количество объектов в строке сетки.

При gridView.cols > 0 ширина объектов меняется автоматически.

При gridView.cols = 0 число объектов в строке сетки подстраивается под ширину экрана.

По умолчанию – 6.

gridView.colWidth

Ширина объектов при gridView.cols = 0 (в пикселях).

По умолчанию – 240.

gridView.rowHeight

Высота объектов (в пикселях).

По умолчанию – 90.

gridView.gutterSize

Величина отступа между объектами (в пикселях).

По умолчанию – 5.

history

В этом разделе задаются параметры, отвечающие за отображение данных на графиках, а также активируются некоторые дополнительные элементы интерфейса.

  • YAML

  • JSON

history:
  downsampling:
    - period: 1-hours
      dsp: 60s-avg
    - period: 1-days
      dsp: 5m-avg
    - period: 1-weeks
      dsp: 1h-avg
    - dsp: 1d-avg
  modelChangeAnnotations: false
{
  "history": {
    "downsampling": [
      {
          "period": "1-hours",
          "dsp": "60s-avg"
      },
      {
          "period": "1-days",
          "dsp": "5m-avg"
      },
      {
          "period": "1-weeks",
          "dsp": "1h-avg"
      },
      {
          "dsp": "1d-avg"
      }
    ],
    "modelChangeAnnotations": false
  }
}

history.downsampling

Параметры уменьшения размера выборки данных – downsampling.

Если в файл конфигурации добавлен раздел downsampling, то значения по умолчанию не используются. Если сервер не найдёт подходящие настройки даунсэмплинга, то вместо графика будет показана ошибка "Нет данных для выбранного диапазона".

history.downsampling.period

Период выборки данных.

Настройка периода имеет следующий формат:

<количество>-<hours|days|weeks|months>

history.downsampling.dsp

Настройка способа даунсэмплинга данных.

Настройка имеет следующий формат:

<количество><префикс-промежутка-времени>-<avg|min|max>

Доступные префиксы промежутков времени:

  • s – секунды;

  • m – минуты;

  • h – часы;

  • d – дни.

На примере ниже представлены примеры конфигурации способа даунсэмплинга данных.

  • "dsp: 5m-avg"

  • "dsp: 15s-avg"

При следующей конфигурации, при выбранном врменном диапазоне в 6 часов, на графике будут отображены средние значения за каждые 5 минут.

history:
  downsampling:
    - period: 6-hours
      dsp: 5m-avg
downsampling 5m avg

При следующей конфигурации, при выбранном временном диапазоне в 6 часов, на графике будут отображены средние значения за каждые 15 секунд.

history:
  downsampling:
    - period: 6-hours
      dsp: 15s-avg
downsampling 15s avg
Если не указан параметр period, то такой параметр dsp становится параметром по умолчанию для всех периодов, которые не указаны в файле конфигурации.

history.modelChangeAnnotations

Включает смену аннотаций на графиках;

  • false – смена аннотаций выключена,

  • true – смена аннотаций включена.

По умолчанию – false – смена аннотаций выключена.

hideConnectionStatusNotifications

Скрывает оповещения о статусе соединения с Comet-сервером;

  • YAML

  • JSON

hideConnectionStatusNotifications: false
{
  "hideConnectionStatusNotifications": false,
  ...
}
  • false – оповещения выводятся в web-интерфейс,

  • true – оповещения выводятся в консоль.

По умолчанию – false – оповещения о статусе соединения с Comet-сервером выводятся в web-интерфейс.

hideResponseErrorNotifications

Скрывает оповещения об ошибках, возникающих при отправке автоматических запросов на сервер.

  • YAML

  • JSON

hideResponseErrorNotifications: false
{
  "hideResponseErrorNotifications": false,
  ...
}
  • false – оповещения выводятся в web-интерфейс,

  • true – оповещения скрыты.

По умолчанию – false – оповещения выводятся в web-интерфейс.

Ошибки, возникающие при действиях пользователя, например сохранение каких-либо данных в формах, будут выводиться в web-интерфейс в любом случае.

incidents

В этом разделе настраиваются дополнительные поля для списков активных аварий и исторических аварий.

  • YAML

  • JSON

incidents:
  additionalFields:
    - owner.properties.address
    - owner.class_id
    - updated
  additionalFieldNames:
    - IP-address
    - Object Class ID
{
  "incidents": {
    "additionalFields": [
      "owner.properties.address",
      "owner.class_id",
      "updated"
    ],
    "additionalFieldNames": [
      "IP-address",
      "Object Class ID"
    ]
  }
}

incidents.additionalFields

Источники данных для дополнительных полей.

Источником дополнительного поля может быть любой параметр аварии. Поля параметров-объектов нужно указывать через точку. Например, чтобы указать Свойство address объекта, на котором произошла авария в список additionalFields нужно добавить значение owner.properties.address.

Список всех параметров можно посмотреть в документации REST API.

Только свойства с type_id = 1 (свойства, добавленные через окно Свойство или через REST API) можно использовать как источники данных. Нельзя добавлять встроенные параметры и параметры сенсора, например TaskType или PingHost, а также ссылки, добавленные как Документы.
Если источнику данных не соответствует имя поля в списке additionalFieldNames, то в заголовке столбца будет указано название источника данных.

incidents.additionalFieldNames

Имена дополнительных полей, отображаемые в интерфейсе.

Список имён соотносится со списком источников данных. То есть, первому источнику в списке additionalFields соответствует первое имя в списке additionalFieldNames, второму – второе и так далее.

Количество имён может не совпадать с количеством источников данных. Если источнику данных не соответствует имя поля, то в заголовке столбца будет указано название источника данных.

Чтобы пропустить источник данных и использовать название источника данных, нужно записать null или false.

Например, следующая конфигурация добавит в списки аварий столбцы localTimestamp, 'Owner ID', IP Address и owner.class_id:

incidents:
  additionalFields:
    - localTimestamp
    - owner._id
    - owner.properties.address
    - timestamp
    - owner.class_id
  additionalFieldNames:
    - false
    - IP-address
    - Object Class ID

languages

Раздел позволяет управлять предустановленными языками интерфейса web-приложения.

По умолчанию, в системе доступен только русский язык. Для включения других языков, их все нужно в явном виде указать в файле конфигурации.

  • YAML

  • JSON

languages:
  en:
    short: us
    long: English
  ru:
    short: ru
    long: Русский
  it:
    short: it
    long: Italiano
{
  "languages": {
    "en": {
      "short": "us",
      "long": "English"
    },
    "ru": {
      "short": "ru",
      "long": "Русский"
    },
    "it": {
      "short": "it",
      "long": "Italiano"
    }
  }
}

languages.<id>

Идентификатор языка.

Доступны три языка:

  • en – английский,

  • it – итальянский,

  • ru – русский.

Если указать другой язык, то он добавится в список языков в меню текущего пользователя, но будет использовать английскую локализацию.

languages.<id>.long

Полное название языка.

Это название отображается в меню текущего пользователя Центрального Пульта при выборе языка интерфейса.

languages.<id>.short

Идентификатор иконки флага.

Иконка отображается в меню текущего пользователя Центрального Пульта при выборе языка интерфейса.

image – es,

image – gb,

image – it,

image – ru,

image – us.

Если указать несуществующий или некорректный идентификатор, то будет использован флаг spain.

monitoring

В этом разделе настраивается скрытие стандартных мониторинговых сенсоров из интерфейса.

Если этот раздел не задан в файле конфигурации, то в интерфейсе отображаются все стандартные сенсоры.

  • YAML

  • JSON

monitoring:
  standardTasks:
    - ping
    - snmpGet
{
  "monitoring": {
    "standardTasks": [
      "ping",
      "snmpGet"
    ]
  }
}

monitoring.standardTasks

Список идентификаторов отображаемых стандартных сенсоров. Список идентификаторов можно посмотреть в разделе Список идентификаторов стандартных сенсоров.

millisecondMonitoring

Включает обновление данных каждую миллисекунду.

  • YAML

  • JSON

millisecondMonitoring: false
{
  "millisecondMonitoring": false,
  ...
}
  • false – обновление выключено,

  • true – обновление включено.

По умолчанию – false – обновление выключено.

pollInterval

Интервал между запросами данных с REST-сервера, если соединение между клиентом и Comet-сервером недоступно (в миллисекундах).

  • YAML

  • JSON

pollInterval: 5000
{
  "pollInterval": 5000,
  ...
}

По умолчанию – 5000 – 5 секунд.

pollIntervalSocket

Интервал между запросами данных с Comet-сервера, если соединение между клиентом и Comet-сервером доступно (в миллисекундах).

  • YAML

  • JSON

pollIntervalSocket: 60000
{
  "pollIntervalSocket": 60000,
  ...
}

По умолчанию – 60000 – 1 минута.

statHistory

Отображать кнопку "Показать историю данных".

  • YAML

  • JSON

statHistory: false
{
  "statHistory": false,
  ...
}
  • true – кнопка включена,

  • false – кнопка выключена.

Параметр серверной конфигурации agent_stat должен быть включён.

По умолчанию – false

title

Заголовок для вкладок, а также имя, отображаемое в левом верхнем углу web-интерфейса.

  • YAML

  • JSON

title: "SAYMON"
{
  "title": "SAYMON",
  ...
}

По умолчанию – SAYMON.

themes

Этот параметр отвечает за настройку тем.

  • YAML

  • JSON

themes:
  default:
    name: Light
  dark:
    name: Dark
{
  "themes": {
    "default": {
        "name": "Light"
    },
    "dark": {
        "name": "Dark"
    }
  }
}

CSS-файлы с темами находятся в директории /usr/local/saymon/client/css.

По умолчанию доступно две темы – светлая (default) и тёмная (dark).

Чтобы добавить новую тему, нужно создать в директории с темами новую папку (например, my-custom-theme). Затем, добавить эту папку в файл конфигурации:

  • YAML

  • JSON

themes:
  my-custom-theme:
    name: Custom Theme
{
    "themes": {
        "my-custom-theme": {
            "name": "Custom Theme"
        }
    }
}

themes.<theme-name>.name

Название темы нельзя локализовать на разные языки.

tree

В этом разделе задаются настройки для дерева объектов.

  • YAML

  • JSON

tree:
  filterSubmit: true
{
    "tree": {
        "filterSubmit": true
    },
}

tree.filterSubmit

Включает кнопку применения фильтра filter submit button и отключает его автоматическое применение при вводе символов.

Кнопка применения фильтра отображается рядом с кнопкой сброса фильтра при вводе нового фильтра:

filter submit button search
  • false – кнопка выключена,

  • true – кнопка включена.

По умолчанию – false – кнопка выключена.

useNaturalSort

Включает сортировку объектов с помощью библиотеки javascript-natural-sort:

  • YAML

  • JSON

useNaturalSort: false
{
  "useNaturalSort": false,
  ...
}
  • false – объекты сортируются с помощью нативных функций браузера,

  • true – объекты сортируются с помощью библиотеки javascript-natural-sort.

По умолчанию – false – объекты сортируются с помощью нативных функций браузера.

При установленном useNaturalSort = true возможно замедление работы web-интерфейса при большом количестве объектов в системе (от 100 000).