You are here

class RevisionLink in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/node/src/Plugin/views/field/RevisionLink.php \Drupal\node\Plugin\views\field\RevisionLink
  2. 9 core/modules/node/src/Plugin/views/field/RevisionLink.php \Drupal\node\Plugin\views\field\RevisionLink

Field handler to present a link to a node revision.

Plugin annotation

@ViewsField("node_revision_link");

Hierarchy

Expanded class hierarchy of RevisionLink

File

core/modules/node/src/Plugin/views/field/RevisionLink.php, line 16

Namespace

Drupal\node\Plugin\views\field
View source
class RevisionLink extends LinkBase {

  /**
   * {@inheritdoc}
   */
  protected function getUrlInfo(ResultRow $row) {

    /** @var \Drupal\node\NodeInterface $node */
    $node = $this
      ->getEntity($row);

    // Current revision uses the node view path.
    return !$node
      ->isDefaultRevision() ? Url::fromRoute('entity.node.revision', [
      'node' => $node
        ->id(),
      'node_revision' => $node
        ->getRevisionId(),
    ]) : $node
      ->toUrl();
  }

  /**
   * {@inheritdoc}
   */
  protected function renderLink(ResultRow $row) {

    /** @var \Drupal\node\NodeInterface $node */
    $node = $this
      ->getEntity($row);
    if (!$node
      ->getRevisionid()) {
      return '';
    }
    $text = parent::renderLink($row);
    $this->options['alter']['query'] = $this
      ->getDestinationArray();
    return $text;
  }

  /**
   * {@inheritdoc}
   */
  protected function getDefaultLabel() {
    return $this
      ->t('View');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
EntityTranslationRenderTrait::$entityTranslationRenderer protected property The renderer to be used to render the entity row.
EntityTranslationRenderTrait::getEntityTranslation public function Returns the entity translation matching the configured row language.
EntityTranslationRenderTrait::getEntityTranslationRenderer protected function Returns the current renderer.
LinkBase::$accessManager protected property The access manager service.
LinkBase::$currentUser protected property Current user object.
LinkBase::$entityRepository protected property The entity repository.
LinkBase::$entityTypeManager protected property The entity type manager.
LinkBase::$languageManager protected property The language manager.
LinkBase::addLangcode protected function Adds language information to the options.
LinkBase::buildOptionsForm public function 2
LinkBase::checkUrlAccess protected function Checks access to the link route.
LinkBase::create public static function
LinkBase::currentUser protected function Gets the current active user.
LinkBase::defineOptions protected function 1
LinkBase::getEntityRepository protected function
LinkBase::getEntityTypeId protected function Returns the entity type identifier. Overrides EntityTranslationRenderTrait::getEntityTypeId
LinkBase::getEntityTypeManager protected function
LinkBase::getLanguageManager protected function Returns the language manager. Overrides EntityTranslationRenderTrait::getLanguageManager
LinkBase::getView protected function Returns the top object of a view. Overrides EntityTranslationRenderTrait::getView
LinkBase::query public function
LinkBase::render public function 1
LinkBase::usesGroupBy public function
LinkBase::__construct public function Constructs a LinkBase object.
RedirectDestinationTrait::$redirectDestination protected property The redirect destination service. 1
RedirectDestinationTrait::getDestinationArray protected function Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
RedirectDestinationTrait::getRedirectDestination protected function Returns the redirect destination service.
RedirectDestinationTrait::setRedirectDestination public function Sets the redirect destination service.
RevisionLink::getDefaultLabel protected function Returns the default label for this link. Overrides LinkBase::getDefaultLabel 2
RevisionLink::getUrlInfo protected function Returns the URI elements of the link. Overrides LinkBase::getUrlInfo 2
RevisionLink::renderLink protected function Prepares the link to view an entity. Overrides LinkBase::renderLink