You are here

protected function FeedViewBuilder::getBuildDefaults in Feeds 8.3

Provides entity-specific defaults to the build process.

Parameters

\Drupal\Core\Entity\EntityInterface $entity: The entity for which the defaults should be provided.

string $view_mode: The view mode that should be used.

Return value

array

Overrides EntityViewBuilder::getBuildDefaults

File

src/FeedViewBuilder.php, line 16

Class

FeedViewBuilder
Render controller for feeds feed items.

Namespace

Drupal\feeds

Code

protected function getBuildDefaults(EntityInterface $entity, $view_mode) {
  $build = parent::getBuildDefaults($entity, $view_mode);
  if ($entity
    ->isLocked()) {
    $state = $entity
      ->getState(StateInterface::PROCESS);
    $build['state'] = [
      '#theme' => 'item_list',
      '#title' => $this
        ->t('Current import state'),
      '#items' => [],
    ];
    $labels = [
      'created' => $this
        ->t('Created'),
      'updated' => $this
        ->t('Updated'),
      'deleted' => $this
        ->t('Deleted'),
      'skipped' => $this
        ->t('Skipped'),
      'failed' => $this
        ->t('Failed'),
    ];
    foreach ($labels as $key => $label) {
      $build['state']['#items'][$key] = [
        '#markup' => $this
          ->t('@label: @value', [
          '@label' => $label,
          '@value' => $state->{$key},
        ]),
      ];
    }

    // Display messages.
    $state
      ->displayMessages();
  }
  return $build;
}