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