You are here

MediaDirectoriesBrowserController.php in Media Directories 3.x

File

modules/media_directories_ui/src/Controller/MediaDirectoriesBrowserController.php
View source
<?php

namespace Drupal\media_directories_ui\Controller;

use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\Url;
class MediaDirectoriesBrowserController extends ControllerBase {

  /**
   * Build browser page.
   *
   * @return array
   */
  public function browser() {
    return [
      '#type' => 'html_tag',
      '#tag' => 'div',
      '#attributes' => [
        'class' => [
          'media-directories-library-page',
        ],
      ],
      '#attached' => [
        'library' => [
          'media_library/ui',
          'media_directories_ui/media-ui',
        ],
        'drupalSettings' => [
          'media_directories' => [
            'url' => [
              'directory.tree' => Url::fromRoute('media_directories_ui.directory.tree')
                ->toString(),
              'directory.add' => Url::fromRoute('media_directories_ui.directory.add')
                ->toString(),
              'directory.rename' => Url::fromRoute('media_directories_ui.directory.rename')
                ->toString(),
              'directory.delete' => Url::fromRoute('media_directories_ui.directory.delete')
                ->toString(),
              'directory.move' => Url::fromRoute('media_directories_ui.directory.move')
                ->toString(),
              'media.add' => Url::fromRoute('media_directories_ui.media.add')
                ->toString(),
              'media.edit' => Url::fromRoute('media_directories_ui.media.edit')
                ->toString(),
              'media.move' => Url::fromRoute('media_directories_ui.media.move')
                ->toString(),
              'media.delete' => Url::fromRoute('media_directories_ui.media.delete')
                ->toString(),
            ],
          ],
        ],
      ],
      'tree_container' => [
        '#theme' => 'media_directories_tree',
      ],
      'browser_container' => [
        '#type' => 'html_tag',
        '#tag' => 'div',
        '#attributes' => [
          'class' => [
            'media-directories-library-browser',
          ],
        ],
        'view' => views_embed_view('media_directories_library', 'page'),
      ],
    ];
  }

}