class MenuListController

Provides a listing of menus.

Hierarchy

Expanded class hierarchy of MenuListController

File

drupal/core/modules/menu/lib/Drupal/menu/MenuListController.php, line 15

Namespace

Drupal\menu
View source
class MenuListController extends ConfigEntityListController {

  /**
   * Overrides \Drupal\Core\Entity\EntityListController::buildHeader().
   */
  public function buildHeader() {
    $row['title'] = t('Title');
    $row['description'] = array(
      'data' => t('Description'),
      'class' => array(
        RESPONSIVE_PRIORITY_MEDIUM,
      ),
    );
    $row['operations'] = t('Operations');
    return $row;
  }

  /**
   * Overrides \Drupal\Core\Entity\EntityListController::buildRow().
   */
  public function buildRow(EntityInterface $entity) {
    $row['title'] = array(
      'data' => check_plain($entity
        ->label()),
      'class' => array(
        'menu-label',
      ),
    );
    $row['description'] = filter_xss_admin($entity->description);
    $row['operations']['data'] = $this
      ->buildOperations($entity);
    return $row;
  }

  /**
   * Overrides \Drupal\Core\Entity\EntityListController::getOperations();
   */
  public function getOperations(EntityInterface $entity) {
    $operations = parent::getOperations($entity);
    $uri = $entity
      ->uri();
    $operations['edit']['title'] = t('Edit menu');
    $operatuins['edit']['href'] = $uri['path'];
    $operations['add'] = array(
      'title' => t('Add link'),
      'href' => $uri['path'] . '/add',
      'options' => $uri['options'],
      'weight' => 20,
    );

    // System menus could not be deleted.
    $system_menus = menu_list_system_menus();
    if (isset($system_menus[$entity
      ->id()])) {
      unset($operations['delete']);
    }
    else {
      $operations['delete']['title'] = t('Delete menu');
    }
    return $operations;
  }

  /**
   * Overrides \Drupal\Core\Entity\EntityListController::render();
   */
  public function render() {
    $build = parent::render();
    $build['#attached']['css'][] = drupal_get_path('module', 'menu') . '/css/menu.admin.css';
    return $build;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConfigEntityListController::load public function Overrides Drupal\Core\Entity\EntityListController::load(). Overrides EntityListController::load 3
EntityListController::$entityInfo protected property The entity info array.
EntityListController::$entityType protected property The entity type name.
EntityListController::$moduleHandler protected property The module handler to invoke hooks on.
EntityListController::$storage protected property The entity storage controller class.
EntityListController::buildOperations public function Builds a renderable list of operation links for the entity. 1
EntityListController::createInstance public static function Instantiates a new instance of this entity controller. Overrides EntityControllerInterface::createInstance 1
EntityListController::getStorageController public function Implements \Drupal\Core\Entity\EntityListControllerInterface::getStorageController(). Overrides EntityListControllerInterface::getStorageController
EntityListController::__construct public function Constructs a new EntityListController object. 1
MenuListController::buildHeader public function Overrides \Drupal\Core\Entity\EntityListController::buildHeader(). Overrides EntityListController::buildHeader
MenuListController::buildRow public function Overrides \Drupal\Core\Entity\EntityListController::buildRow(). Overrides EntityListController::buildRow
MenuListController::getOperations public function Overrides \Drupal\Core\Entity\EntityListController::getOperations(); Overrides ConfigEntityListController::getOperations
MenuListController::render public function Overrides \Drupal\Core\Entity\EntityListController::render(); Overrides EntityListController::render