Провайдер структуры компании
Провайдер структуры компании
Сущность "отдел" или "департамент" имеет идентификатор department и реализуется классом Bitrix\Intranet\Integration\UI\EntitySelector\DepartmentProvider.
Провайдер автоматически добавляет в диалог вкладку "Отделы" с древовидной структурой компании.
Структура компании имеет несколько режимов выбора:
- Выбор только пользователей.
- Выбор только отделов.
- Выбор пользователей и отделов, где для отделов возможны следующие варианты:
- Все сотрудники с подотделами.
- Только сотрудники отдела.
Провайдер структуры компании
const tagSelector = new TagSelector({
dialogOptions: {
context: 'MY_MODULE_CONTEXT',
entities: [
{
id: 'department',
options: {
selectMode: 'departmentsOnly', // только выбор отделов
}
},
],
}
});
tagSelector.renderTo(document.getElementById('container'));
Диалог выбор пользователя
const button = document.getElementById('responsible-button');
const dialog = new Dialog({
targetNode: button,
enableSearch: true,
context: 'MY_MODULE_CONTEXT',
entities: [
{
id: 'user', // пользователи
},
{
id: 'department', // структура компании: выбор только пользователей
},
],
});
button.addEventListener('click', function() {
dialog.show();
});
Настройки провайдера
selectMode: stringРежим выбора отделов. Доступны следующие значения:
-
usersOnly— выбор только пользователей. -
usersAndDepartments— выбор пользователей и отделов. -
departmentsOnly— выбор только отделов.
По умолчанию режим
usersOnly- выбор только пользователей.-
allowFlatDepartments: boolДля режима выбора пользователей и отделов (
usersAndDepartments), данная опция включает выбор "Только сотрудник отдела". По умолчаниюfalse.allowSelectRootDepartment: boolРазрешает выбор корневого отдела компании. По умолчанию для режима выбора "только отделы" задано значение
true, для остальных режимовfalse.userOptions: arrayНастройки вывода пользователей в структуре компании. Если в диалоге указан провайдер выбора пользователей, то настройки вывода пользователей по умолчанию берутся из данного провайдера. Опции
userOptionsимеет смысл указывать только для случая, когда указан только провайдер структуры компании.