Конфиг навигатора

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Конфиг навигатору нужен хотя бы для того чтобы знать адреса сервисов бакенда и авторизации. А также для дополнительной настройки всего приложения.

Расположение

Конфиги лежат внутри навигатора

  1. в исходниках для разработки или локального запуска их можно найти в "trv-ui/projects/navigator/src/assets/config/"
  2. в собранном навигаторе их можно найти в "assets/config/"

Приложение для установки на стенд обычно собирается в "prod" конфигурации и тогда используется конфиг "config.docker.json". При деплое проекта на стенд конфиг обычно подменяется (заранее подготовленным и хранящимся в гитлабе, для каждого стенда каждого проекта собственный конфиг).

Описание свойств конфига

Свойство Значение по умолчанию Описание
env описание конфига
   name "docker" имя конфига
rootName "3V" Имя рутовой папки
titleName "Trivium Navigator" Заголовок вкладки браузера
navigatorSearchMinimumLetters 2 Минимальное количество символов для поиска в дереве навигатора
navigatorSearchTimeout 300 Таймаут для поиска в дереве навигатора
homePageId (Устаревшее) Идентификатор объекта используемого в качестве стартовой страницы
homePageCode Код объекта используемого в качестве стартовой страницы
configObjectCode Код объекта с настройками кастомизации (используется для настройки разных стартовых страниц и оформления для разных ролей пользователей)
newObjectFolderCode Код объекта для расположения новых объектов
defaultGridComponent "DataTables" Грид используемый по умолчанию(доступные варианты: DataTables, AgGridViewport, AgGrid)
agGridLicence Лицензия для AgGrid
gridResetEmbeddedFlag false Сброс флага areDataEmbedded в пивотах полученных из карточек, для работы с гридом через окна
languageSwitcher false Отображение переключения языков на стартовой странице
instantAutoFilterButton false Отображать кнопку автофильтра постоянно в шапке грида для всех столбцов
limitDictionaryElementsCount 1000 Ограничение на количество загружаемых элементов справочника
gzip false Нужно ли дополнительно упаковывать содержимое запросов к бакенду с помощью gzip
trimValues false Обрезать пробелы и переводы строки редактируемых значений
serverWait 500 Задержка для скрола DataTables прежде чем будут запрашиваться данные (Datatables API)
websocketDisabled false Отключение получения данных через вебсокеты
gridFormulaRowHidden false Скрытие строки с формулой над гридом
theme Настройки темизации (подробнее Темы_навигатора)
   defaultThemeName "default" имя темы по умолчанию, используется если пользователь не менял тему (настройка сохраняется в localStorage и ее можно очистить вместе с cookies)
   additionalThemes коллекция дополнительных тем
logging настройки логирования
auth настройки авторизации
   isEnabled false включена ли (выключена бывает при локальной отладке)
   clientId Настройка clientId для сервера авторизации
   clientSecret Настройка clientSecret для сервера авторизации
   revokeOnLogout false Настройка для логаута (позволяющая отзывать токен при логауте)
   poibSettings Настройки для случая работы с ПОиБ
      accessTokenName
   plainOAuth2 Настройки для случая работы с plain OAuth2 по http
      loginUrl
      logoutUrl
      tokenEndpoint
      revocationEndpoint
      scope
   multipleNamespaces Настройки для мультинеймспейсности
      urlSearchPattern Регулярное выражение для поиска неймспейса в текущем хосте.

Например, взять домен 3го уровня, исключая 3v (пример хоста: trivium-test.3v-group.net): "^(\\w{1}|3[^v]|[^3]v|[^3][^v]|[-\\w]{3,}){1}.[-\\w]+.[-\\w]+$"

      authReplacePattern Регулярное выражение для поиска дефолтного неймспейса в урле по работе с авторизацией.

Например, поиск реалма в строке авторизации в киклоке (пример урла авторизации: https://3v.3v-group.net/auth/realms/trivium):

"https?:\\/\\/[-\\w]+.[-\\w]+.[-\\w]+\\/[-\\w]+\\/[-\\w]+\\/([-\\w]+)"

gateway Настройки для взаимодействия с сервисами(бакендом)
   baseUrl Базовый урл для всех сервисов
   locations Адреса (обычно относительные) сервисов
      auth Сервис авторизации
      calculation "engine" Сервис методик
      cards "cards" Сервис карточек
      dictionaries "dictionaries" Сервис справочников
      engine "engine" Сервис ядра
      importexportdata "import-export" Сервис импорта/экспорта
      pgprovider "pgprovider" Сервис pgprovider
      repository "repository" Сервис репозитория
      subjects "subjects" Сервис прав на объекты
      updates "updates" Сервис обновлений
      workflow "workflow" Сервис согласования
extendCardInstanceLifeInMinutes 15 Интервал в минутах запуска выполнения запроса по таймеру для продления времени жизни карточки на сервере, если <= 0 то автопродление отключено