monster_menus-9.0.x-dev/src/Plugin/MMTreeBrowserDisplay/Groups.php

src/Plugin/MMTreeBrowserDisplay/Groups.php
<?php

namespace Drupal\monster_menus\Plugin\MMTreeBrowserDisplay;

use Drupal\monster_menus\Constants;
use Drupal\monster_menus\MMTreeBrowserDisplay\MMTreeBrowserDisplayInterface;

/**
 * Provides the MM Tree display generator for MMTree groups.
 *
 * @MMTreeBrowserDisplay(
 *   id = "mm_tree_browser_display_group",
 *   admin_label = @Translation("MM Tree group display"),
 * )
 */
class Groups extends Fallback implements MMTreeBrowserDisplayInterface {

  final public const BROWSER_MODE_GROUP = 'grp';
  final public const BROWSER_MODE_ADMIN_GROUP = 'agp';

  /**
   * @inheritDoc
   */
  public static function supportedModes() {
    return [self::BROWSER_MODE_GROUP, self::BROWSER_MODE_ADMIN_GROUP];
  }

  /**
   * @inheritDoc
   */
  public function label($mode) {
    return $mode == self::BROWSER_MODE_ADMIN_GROUP ? t('Browse groups') : t('Select a group');
  }

  /**
   * @inheritDoc
   */
  public function showReservedEntries($mode) {
    return TRUE;
  }

  /**
   * @inheritDoc
   */
  public function alterLeftQuery($mode, $query, &$params) {
    $params[Constants::MM_GET_TREE_FILTER_GROUPS] = TRUE;
  }

  /**
   * {@inheritdoc}
   */
  public function alterRightButtons($mode, $query, $item, $permissions, &$actions, &$dialogs) {
    if ($mode == self::BROWSER_MODE_ADMIN_GROUP) {
      static::adminLinks($mode, $query, $item, $permissions, $actions);
    }
    if ($mode == self::BROWSER_MODE_GROUP) {
      static::selectLink($mode, $query, $item, $permissions, $actions);
    }
  }

  /**
   * {@inheritdoc}
   */
  public function getTreeTop($mode) {
    return mm_content_groups_mmtid();
  }

  /**
   * {@inheritdoc}
   */
  public function getBookmarksType($mode) {
    return 'browser_grp';
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc