- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/ui/navigationbarpanel.php
- Класс: Bitrix\Crm\UI\NavigationBarPanel
- Вызов: NavigationBarPanel::setItems
public function setItems(array $ids, string $activeId = ''): self
{
if (empty($activeId) || !in_array($activeId, $this->getAllowableItemsList(false), true))
{
$activeId = self::ID_LIST;
}
foreach ($ids as $id)
{
if (!in_array($id, $this->getAllowableItemsList(), true))
{
continue;
}
if ($id === self::ID_CALENDAR && !Calendar::isResourceBookingEnabled())
{
continue;
}
if ($id === self::ID_AUTOMATION)
{
$automationButton = Helper::getNavigationBarItems($this->entityTypeId, $this->categoryId);
if (!empty($automationButton))
{
$this->items[] = $automationButton[0];
}
}
else
{
$lockedCallback = '';
if ($id === self::ID_ACTIVITY)
{
$activityFieldRestrictionManager = new ActivityFieldRestrictionManager();
if ($activityFieldRestrictionManager->hasRestrictions())
{
$lockedCallback = $activityFieldRestrictionManager->getJsCallback();
}
}
$this->items[] = [
'id' => $id,
'name' => Loc::getMessage(self::LANG_MAP[$id]),
'active' => $id === $activeId,
'lockedCallback' => $lockedCallback,
'url' => $this->getUrl($id),
];
}
}
return $this;
}