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

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

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

Сущность "чат" имеет идентификатор 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