You are here

protected function MediaDirectoriesLibraryUiBuilder::buildMediaLibraryView in Media Directories 3.x

Get the media library view.

Parameters

\Drupal\media_library\MediaLibraryState $state: The current state of the media library, derived from the current request.

Return value

array The render array for the media library view.

Overrides MediaLibraryUiBuilder::buildMediaLibraryView

1 call to MediaDirectoriesLibraryUiBuilder::buildMediaLibraryView()
MediaDirectoriesLibraryUiBuilder::buildLibraryContent in modules/media_directories_ui/src/MediaDirectoriesLibraryUiBuilder.php
Build the media library content area.

File

modules/media_directories_ui/src/MediaDirectoriesLibraryUiBuilder.php, line 238

Class

MediaDirectoriesLibraryUiBuilder
Service which builds the media library.

Namespace

Drupal\media_directories_ui

Code

protected function buildMediaLibraryView(MediaLibraryState $state) {

  // @todo Make the view configurable in
  //   https://www.drupal.org/project/drupal/issues/2971209
  $view = $this->entityTypeManager
    ->getStorage('view')
    ->load('media_directories_library');
  $view_executable = $this->viewsExecutableFactory
    ->get($view);
  $display_id = 'widget';

  // Make sure the state parameters are set in the request so the view can
  // pass the parameters along in the pager, filters etc.
  $view_request = $view_executable
    ->getRequest();
  $view_request->query
    ->add($state
    ->all());
  $view_executable
    ->setRequest($view_request);
  $args = [];

  // Make sure the state parameters are set in the request so the view can
  // pass the parameters along in the pager, filters etc.
  $request = $view_executable
    ->getRequest();
  $request->query
    ->add($state
    ->all());
  $view_executable
    ->setRequest($request);
  $view_executable
    ->setDisplay($display_id);
  $view_executable
    ->preExecute($args);
  $view_executable
    ->execute($display_id);
  $renderable = $view_executable
    ->buildRenderable($display_id, $args, FALSE);
  return $renderable;
}