Документация для разработчиков
Темная тема

Провайдер чатов

Провайдер чатов

Сущность "чат" имеет идентификатор im-chat и реализуется классом \Bitrix\Im\Integration\UI\EntitySelector\ChatProvider.

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

Диалог выбора чатов

const button = document.getElementById('responsible-button');
const dialog = new Dialog({
	targetNode: button,
	enableSearch: true,
	context: 'MY_MODULE_CONTEXT',
	entities: [
		{ 
			id: 'im-chat', // чаты
			options: { 
				searchableChatTypes: [ // типы чатов, по которым следует производить поиск
					'C', // групповые чаты
					'L', // чаты открытых линий
					'O', // каналы
				] 
			} 
		},
	],
});
    
button.addEventListener('click', function() {
	dialog.show();
});

Настройки провайдера


  • searchableChatTypes: array

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

    • C — групповые чаты.
    • L — чаты открытых линий.
    • O — каналы.

Логика поиска

  • Если ищет интранет-пользователь:
    • Групповые чаты (C): поиск по всем чатам, в которых состоит интранет-пользователь.
    • Чаты открытых линий (L): поиск по всем чатам, в которых состоит интранет-пользователь.
    • Каналы (O): поиск по всем чатам.
  • Если ищет экстранет-пользователь:
    • Групповые чаты (C): поиск по всем чатам, в которых состоит экстранет-пользователь.
    • Чаты открытых линий (L): поиск по данному типу чатов не проводится.
    • Каналы (O): поиск по данному типу чатов не проводится.

Ранжирование выдачи

  • При начальном заполнении: чем позже создался чат, тем выше он в выдаче.
  • При поиске: чем позднее последнее сообщение в чате, тем выше он в выдаче.

Дополнительная информация о чате (customData)

У каждого элемента диалога в свойстве customData есть ключ imChat, содержащий информацию о чате в формате, аналогичном \Bitrix\Im\Chat::getList($params). Подробнее о формате данных можно прочитать в документации.

Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх