- Модуль: rpa
- Путь к файлу: ~/bitrix/modules/rpa/lib/components/itemlist.php
- Класс: BitrixRpaComponentsItemList
- Вызов: ItemList::getToolbarParameters
protected function getToolbarParameters(): array
{
if(!$this->type)
{
return [];
}
BitrixUIToolbarFacadeToolbar::setTitleMinWidth(158);
$urlManager = Driver::getInstance()->getUrlManager();
$userPermissions = Driver::getInstance()->getUserPermissions();
$buttons = [];
$buttons[ButtonLocation::AFTER_FILTER][] = new ButtonsButton([
'color' => ButtonsColor::LIGHT_BORDER,
'className' => 'ui-btn ui-btn-themes ui-btn-light-border ui-btn-dropdown ui-toolbar-btn-dropdown',
'text' => $this->type->getTitle(),
'menu' => [
'items' => $this->getToolbarTypes(),
],
'maxWidth' => '400px',
]);
$isTypeSettingsRestricted = Driver::getInstance()->getBitrix24Manager()->isTypeSettingsRestricted($this->type->getId());
if($userPermissions->canAddItemsToType($this->type->getId()))
{
$buttons[ButtonLocation::AFTER_TITLE][] = new ButtonsButton(
[
'color' => ButtonsColor::PRIMARY,
'className' => 'ui-btn ui-btn-themes',
'text' => Loc::getMessage('RPA_COMMON_ADD'),
'link' => $isTypeSettingsRestricted ? null : $urlManager->getItemDetailUrl($this->type->getId(), 0)->getPath(),
'onclick' => $isTypeSettingsRestricted ? new ButtonsJsHandler('BX.Rpa.Manager.Instance.showFeatureSlider') : null,
'maxWidth' => '400px',
]
);
}
if($userPermissions->canModifyType($this->type->getId()))
{
$onClick = $isTypeSettingsRestricted ? new ButtonsJsHandler('BX.Rpa.Manager.Instance.showFeatureSlider') : new ButtonsJsHandler('BX.Rpa.Manager.Instance.closeSettingsMenu');
$buttons[ButtonLocation::AFTER_FILTER][] = new ButtonsSettingsButton([
'menu' => [
'id' => 'rpa-toolbar-settings-menu',
'items' => [
[
'text' => Loc::getMessage('RPA_COMMON_TYPE_SETTINGS'),
'href' => $isTypeSettingsRestricted ? null : $urlManager->getTypeDetailUrl($this->type->getId()),
'onclick' => $onClick,
],
[
'text' => Loc::getMessage('RPA_COMMON_STAGES_SETTINGS'),
'href' => $isTypeSettingsRestricted ? null : $urlManager->getStageListUrl($this->type->getId()),
'onclick' => $onClick,
],
[
'text' => Loc::getMessage('RPA_COMMON_FIELDS_SETTINGS'),
'href' => $isTypeSettingsRestricted ? null : $urlManager->getTypeFieldsListUrl($this->type->getId()),
'onclick' => $onClick,
],
],
],
]);
}
$tasks = 0;
$taskManager = Driver::getInstance()->getTaskManager();
if($taskManager)
{
$tasks = count($taskManager->getUserIncompleteTasksForType($this->getTypeId()));
}
return array_merge(parent::getToolbarParameters(), [
'buttons' => $buttons,
'filter' => $this->prepareFilter(),
'robotsUrl' => $urlManager->getAutomationUrl($this->type->getId()),
'views' => [
'kanban' => [
'title' => Loc::getMessage('RPA_COMMON_KANBAN'),
'url' => $urlManager->getKanbanUrl($this->type->getId())
],
'list' => [
'title' => Loc::getMessage('RPA_COMMON_LIST'),
'url' => $urlManager->getItemsListUrl($this->type->getId()),
],
],
'tasks' => $tasks,
'tasksUrl' => $urlManager->getUserItemsUrlWithTasks($this->type->getId()),
'tasksFilter' => [
'filterId' => $this->filter->getID(),
'fields' => [
TaskManager::TASKS_FILTER_FIELD => TaskManager::TASKS_FILTER_HAS_TASKS_VALUE,
],
],
]);
}