Skip to content

Методы и свойства api

Albina Valiullina edited this page Dec 2, 2022 · 44 revisions

Содержание

Общая информация

Для обращения методам и свойствам API используется глобальный объект ThreadsWidget

SDK API ThreadsWidget.showChat()

Отобразить контейнер с Чатом.

Пример

<button onclick="ThreadsWidget.showChat()">Показать</button>

SDK API ThreadsWidget.hideChat()

Скрыть контейнер с Чатом.

Пример

<button onclick="ThreadsWidget.hideChat()">Скрыть</button>

SDK API ThreadsWidget.onHideChat(callback)

Метод устарел. Взамен используется метод ThreadsWidget.on(event, callback) с событием hideChat

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

Параметры

callback - функция, которая будет выполнена при закрытии Чата

Пример

ThreadsWidget.onHideChat(function () {
  $('#custom').fadeIn('fast');
});

Вышеприведенные методы предназначены для управления видимостью Чата. Их следует использовать в случае, когда вместо стандартной стартовой кнопки используется другой способ (например, пользовательская стартовая кнопка) чтобы показать/скрыть Чат. Для переключения Чата в режим без стандартной стартовой кнопки нужно установить в конфигурации Чата параметр isContainerHidden в значение true. Полный пример создания собственной кнопки для управления видимостью Чата вы найдете в директории examples/Custom button SDK.

SDK API ThreadsWidget.version()

Метод, возвращающий версию Чата

Пример

ThreadsWidget.version();

SDK API ThreadsWidget.commitHash()

Метод, возвращающий хеш коммита, на котором собран Чат

Пример

ThreadsWidget.commitHash();

SDK API ThreadsWidget.onLoad(callback)

Метод позволяет указать функцию обратного вызова, выполняющуюся при завершении загрузки Чата.

Параметры

callback - функция, которая будет выполнена при завершении загрузки Чата

Пример

ThreadsWidget.onLoad(function () {
  // remove preloaders etc.
});

SDK API ThreadsWidget.on(event, callback)

Метод позволяет установить обработчики событий. Устанавливать обработчики событий необходимо после инициализации используя метод ThreadsWidget.onLoad(callback)

Параметры

callback - функция, которая будет выполнена при наступлении события

event - наименование события

Для event аргумента могут использоваться следующие имена событий

hideChat - событие наступает при скрытии контейнера чата

showChat - событие наступает при появлении контейнера чата

closeChat - событие наступает при закрытии чата

openChat - событие наступает при открытии чата

showInviteMessage - событие наступает при появлении приветственного сообщения

hideInviteMessage - событие наступает при скрытии приветственного сообщения

changeOperationMode - событие наступает при изменении режима работы чата. После наступление события вызовется обработчик в который будут переданы данные.

{
    isNowInactive: Boolean - Принимает значение true/false, если наступило событие когда чат стал неактивным/активным, согласно настройкам режима работы чата
}

changeUnreadCounter - событие наступает при появлении непрочитанных сообщений в чате. В обработчик будет передано количество непрочитанных сообщений.

SDK API ThreadsWidget.setLocale('localeCode')

Метод позволяет на лету изменять язык локализации Чата

Пример

ThreadsWidget.setLocale('en');

SDK API ThreadsWidget.reInit([Object])

Переинициализация Чата. Для SPA веб-сайтов метод позволяет без перезагрузки страницы перевести чат из авторизованного режима в неавторизованный и наоборот. Object - объект, где ключом является значение параметра webchat/clientId файла конфигурации settings.json, а его значением идентификатор авторизованного клиента. Если передать в качестве значения пустую строку, то чат перейдет в неавторизованный режим.

Пример перехода в неавторизованный режим

ThreadsWidget.reInit({
  clientId: '',
});

Пример перехода в авторизованный режим

ThreadsWidget.reInit({
  clientId: 'h5lkdj3dxdkjdn123oxsdmvkaffqef',
});

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

Пример переключения Чата на другую тему оформления

ThreadsWidget.reInit({
  theme: { skin: { name: "halcyon" } }
})

SDK API ThreadsWidget.getUnreadCounter()

Метод возвращает количество непрочитанных сообщений в виджете

Пример

ThreadsWidget.getUnreadCounter();

SDK API ThreadsWidget.setUnavailable([Boolean])

Метод позволяет на лету изменять доступность чата.

При этом edna обеспечивает обработку бизнес-сценария, при наступлении соответствующих условий:

  • если был вызов "сделать чат недоступным", когда у клиента активный тред, то edna оставляет чат доступным
  • если был вызов "сделать чат недоступным", когда у клиента не было активного треда, но виджет был развернут - чат остается видимым, но поле ввода не доступно
  • в остальных случаях произойдет скрытие чата

Пример

ThreadsWidget.setUnavailable(true);
Clone this wiki locally