You are here

function media_directories_ui_preprocess_views_view__media_directories_library in Media Directories 3.x

Implements hook_preprocess_HOOK().

File

modules/media_directories_ui/media_directories_ui.module, line 79
Main module file.

Code

function media_directories_ui_preprocess_views_view__media_directories_library(&$variables) {

  /** @var \Drupal\views\ViewExecutable $view */
  $view = $variables['view'];
  if ($view->current_display === 'widget') {
    $state = \Drupal\media_directories_ui\MediaDirectoriesLibraryState::fromRequest($view
      ->getRequest());

    // These could cause issues.
    $state
      ->remove('destination');
    $state
      ->remove('ajax_form');
    $state
      ->remove('_wrapper_format');

    // Remove rebuild key from state, this will cause issues.
    // If this is present, upload form will ignore form submits.
    $state
      ->remove('_media_library_form_rebuild');
    $variables['upload_link'] = [
      '#type' => 'link',
      '#title' => t('Upload media'),
      '#url' => Url::fromRoute('media_directories_ui.media.add', [], [
        'query' => $state
          ->all(),
      ]),
      '#attributes' => [
        'class' => [
          'button',
          'use-ajax',
        ],
      ],
    ];
  }
}