You are here

public function WebformSubmissionViewBuilder::view in Webform 8.5

Same name and namespace in other branches
  1. 6.x src/WebformSubmissionViewBuilder.php \Drupal\webform\WebformSubmissionViewBuilder::view()

Builds the render array for the provided entity.

Parameters

\Drupal\Core\Entity\EntityInterface $entity: The entity to render.

string $view_mode: (optional) The view mode that should be used to render the entity.

string $langcode: (optional) For which language the entity should be rendered, defaults to the current content language.

Return value

array A render array for the entity.

Throws

\InvalidArgumentException Can be thrown when the set of parameters is inconsistent, like when trying to view a Comment and passing a Node which is not the one the comment belongs to, or not passing one, and having the comment node not be available for loading.

Overrides EntityViewBuilder::view

File

src/WebformSubmissionViewBuilder.php, line 99

Class

WebformSubmissionViewBuilder
Render controller for webform submissions.

Namespace

Drupal\webform

Code

public function view(EntityInterface $entity, $view_mode = 'full', $langcode = NULL) {

  // Allow modules to set custom webform submission view mode.
  // @see \Drupal\webform_entity_print\Plugin\WebformExporter\WebformEntityPrintWebformExporter::writeSubmission
  if ($webform_submissions_view_mode = \Drupal::request()->request
    ->get('_webform_submissions_view_mode')) {
    $view_mode = $webform_submissions_view_mode;
  }

  // Apply variants.

  /** @var \Drupal\webform\WebformSubmissionInterface $entity */

  /** @var \Drupal\webform\WebformInterface $webform */
  $webform = $entity
    ->getWebform();
  $webform
    ->applyVariants($entity);
  return parent::view($entity, $view_mode, $langcode);
}