• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Timeline/Layout/Builder.php
  • Класс: Bitrix\Crm\Service\Timeline\Layout\Builder
  • Вызов: Builder::buildFooter
protected function buildFooter(): ?Layout\Footer
{
	$footer = new Layout\Footer();

	$buttons = $this->item->getButtons();
	if (!empty($buttons))
	{
		$currentSort = 0;
		foreach ($buttons as $button)
		{
			if (is_null($button->getSort()))
			{
				$button->setSort($currentSort++);
			}
		}
		$footer->setButtons($buttons);
	}
	$additionalButtons = [];
	if ($this->item->getAdditionalIconButton())
	{
		$additionalButtons['extra'] = $this->item->getAdditionalIconButton();
	}

	if ($this->item->needShowNotes())
	{
		$additionalButtons['notes'] = (new Layout\Footer\IconButton(
			'note', Loc::getMessage('CRM_TIMELINE_NOTES_TITLE')
		))
			->setAction((new Layout\Action\JsEvent('Note:StartEdit')))
			->setHideIfReadonly()
		;
	}
	if (!empty($additionalButtons))
	{
		$footer->setAdditionalButtons($additionalButtons);
	}

	$menuItems = $this->item->getMenuItems();
	if (!empty($menuItems))
	{
		$extensionsMenu = $this->getExtensionsMenu();
		if ($extensionsMenu)
		{
			$extensionsMenu
				->setSort(8000)
				->setScopeWeb()
			;

			$menuItems[] = $extensionsMenu;
			$menuItems[] = (new Menu\MenuItemDelimiter())
				->setSort(8001)
				->setScopeWeb()
			;
		}

		$footer->setMenu(
			(new Layout\Menu())
				->setItems($menuItems)
		);
	}

	return $footer;
}