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