• Модуль: crmmobile
  • Путь к файлу: ~/bitrix/modules/crmmobile/lib/Controller/Timeline.php
  • Класс: BitrixCrmMobileControllerTimeline
  • Вызов: Timeline::loadTimelineAction
public function loadTimelineAction(
	Repository  $repository,
	Item        $entity,
	Factory     $factory,
	Pagination  $pagination,
	CurrentUser $currentUser
): array
{
	$scheduled = (new ScheduledItemsQuery($repository))->execute();
	$pinned = (new PinnedItemsQuery($repository))->execute();
	$history = (new HistoryItemsQuery($repository, $entity, $pagination))->execute();

	$pushTag = null;
	if (Loader::includeModule('pull'))
	{
		$pushTag = TimelineEntry::prepareEntityPushTag($entity->getEntityTypeId(), $entity->getId());
		CPullWatch::Add($currentUser->getId(), $pushTag);
	}

	return [
		'entity' => [
			'id' => $entity->getId(),
			'typeId' => $entity->getEntityTypeId(),
			'categoryId' => $factory->isCategoriesSupported() ? $entity->getCategoryId() : null,
			'title' => $entity->getHeading(),
			'pushTag' => $pushTag,
			'detailPageUrl' => CCrmOwnerType::GetDetailsUrl($entity->getEntityTypeId(), $entity->getId()),
			'isEditable' => $this->isEntityEditable($entity),
			'documentGeneratorProvider' => $this->getDocumentGeneratorProvider($entity->getEntityTypeId()),
		],
		'scheduled' => $scheduled,
		'pinned' => $pinned,
		'history' => $history,
		'user' => CCrmViewHelper::getUserInfo(),
	];
}