Skip to main content
Utils содержит небольшие хелперы, которые используются многими компонентами и сервисами.

Универсальные WebSocket вызовы

Эти функции используют инстанс встроенного клиента (экспортируется как MSM2App), чтобы вызывать unified WebSocket JSON API:
  • callService(beanId, scope, functionName, args, eventType?, endpoint?)
  • callRepository(repositoryId, query, eventType?, endpoint?)
  • updateBean(beanId, scope, payload, eventType?, endpoint?)

Вызов backend-сервиса

callService возвращает Promise с полным ответом клиента. Полезная нагрузка находится в response.result:
Аргументы backend-метода передаются массивом в том же порядке, что и в его Java-сигнатуре. Например, поиск из клиентского приложения:
Если backend-метод ожидает строку, сериализуйте запрос перед передачей:
scope обычно равен PROTOTYPE. eventType определяет область публикации ответа (USER, SHARED или GLOBAL), а endpoint позволяет указать дополнительный destination для событий.

Вызов репозитория

callRepository принимает имя репозитория и Mongo-подобный объект запроса:

Обновление bean

updateBean обновляет значения bean, зарегистрированного с помощью @Component или @Service, и отправляет payload на backend без ручной работы с RxJS. Например, можно обновить DummyBean:
Все три helper-функции используют встроенный MSM2App, поэтому библиотека должна быть инициализирована до вызова сервиса. Ошибки и права доступа следует обрабатывать на уровне вызывающего кода.

Хелперы контекста и настроек

  • getLangCode()
  • getActiveLanguages()
  • getLanguageDetection()
  • getWebSiteSettings()
  • getCdnFolder()
  • getSecuredFolder()
  • getSeoUrl(entityId, repositoryName)
  • getSuperUserLogin()
  • getAttributeTypes()
  • getAttributeAreaTypes()
  • getFormattedDate(date, pattern)
  • isLogged()
  • getLoggedProfile()
  • isOpenAiActive()
Пример получения настроек сайта и URL SEO:

Cookies и URL хелперы

  • getCookie(name)
  • setCookie(name, value, expires?, domain?, path?)
  • deleteAllCookies(ignore)
  • getDomainName()
  • languageAwareUrl(url)
  • setPlatformInfo()
  • escapeRegExp(string)
  • getPayloadOfForm(element)
Пример языко-зависимого URL и cookie: