Провайдер групп
Провайдер групп
Сущность "группа" или "проект" имеет идентификатор project и реализуется классом Bitrix\Socialnetwork\Integration\UI\EntitySelector\ProjectProvider.
Провайдер автоматически добавляет в диалог вкладку "Группы" со списком групп, в которых участвует текущий пользователь. Дополнительно, провайдер может заполнить данными вкладку "Последние" (чтобы она не была пустой), если диалог выводит только одну сущность "группы" или указана опция fillRecentTab: true.
Выбор групп соц. сети
const tagSelector = new TagSelector({
dialogOptions: {
context: 'MY_MODULE_CONTEXT',
entities: [
{
id: 'project', // группы и проекты
},
],
}
});
tagSelector.renderTo(document.getElementById('container'));
Диалог выбора экстранет-групп, где есть сервис "Задачи"
const button = document.getElementById('select-project');
const dialog = new Dialog({
targetNode: button,
enableSearch: true,
context: 'MY_MODULE_CONTEXT',
entities: [
{
id: 'project',
options: {
extranet: true, // только экстранет
features: {
tasks: ['view'] // права доступа к группе
}
}
},
],
});
button.addEventListener('click', function() {
dialog.show();
});
Настройки провайдера
extranet: boolВыбирать только экстранет-группы. Если задано
false, будут выбраны только интранет-группы. По умолчанию не задано.project: boolВыбирать только группы с пометкой "проект". По умолчанию выбираются любые группы.
landing: boolВыбирать только группы с пометкой "для публикации". По умолчанию не задано.
features: arrayЗадает список возможностей, которыми должны обладать выбираемые группы.
fillRecentTab: boolЕсли установлено значение
true, провайдер заполнит данными вкладку "Последние".createProjectLink: boolВыводить ссылку "Создать группу". По умолчанию значение не задано, ссылка выводится автоматически, если диалог выводит только одну сущность "группы".
projectId: string | int | string[] | int[]Идентификатор(ы) групп, которые необходимо выбрать (белый список).
!projectId: string | int | string[] | int[]Идентификатор(ы) групп, которые необходимо исключить (черный список).