view_revisions.module in Config Entity Revisions 8.2
view_revisions hook functions.
File
modules/view_revisions/view_revisions.moduleView source
<?php
/**
* @file
* view_revisions hook functions.
*/
use Drupal\view_revisions\Controller\ViewRevisionsController;
use Drupal\Core\Form\FormStateInterface;
use Drupal\view_revisions\Entity\ViewRevision;
use Drupal\view_revisions\ViewRevisionsFormAlter;
use Drupal\Core\Cache\RefinableCacheableDependencyInterface;
use Drupal\Core\Entity\EntityInterface;
use Drupal\view_revisions\ViewRevisionsRouteAlter;
/**
* Implements hook_form_alter().
*/
function view_revisions_form_alter(&$form, FormStateInterface $form_state, $form_id) {
ViewRevisionsFormAlter::FormAlter($form, $form_state, $form_id);
}
/**
* Implements hook_menu_local_tasks_alter().
*/
function view_revisions_menu_local_tasks_alter(&$data, $route_name, RefinableCacheableDependencyInterface &$cacheability) {
if (strpos($route_name, 'entity.view') === 0) {
foreach ($data['tabs'] as $tab_level) {
foreach ($tab_level as $tab) {
/** @var Drupal\Core\Url $url */
$url = $tab['#link']['url'];
$tab_route_name = $url
->getRouteName();
$tab_route_parameters = $url
->getRouteParameters();
if (strpos($tab_route_name, 'entity.view') !== FALSE && isset($tab_route_parameters['view'])) {
$url
->setRouteParameter('config_entity', $tab_route_parameters['view']);
}
}
}
}
}
/**
* Implements hook_entity_type_alter().
*/
function view_revisions_entity_type_alter(&$entity_types) {
if (isset($entity_types['view'])) {
$entity_types['view']
->setClass('Drupal\\view_revisions\\Entity\\ViewRevision')
->setFormClass('preview', 'Drupal\\view_revisions\\ViewRevisionsPreviewForm')
->setFormClass('edit', 'Drupal\\view_revisions\\ViewRevisionsEditForm')
->setStorageClass('Drupal\\view_revisions\\ViewRevisionsStorage')
->setLinkTemplate('revisions', '/admin/structure/views/view/{view}/revisions')
->setLinkTemplate('revision', '/admin/structure/views/view/{view}/revision/{revision_id}')
->setHandlerClass('moderation', 'Drupal\\config_entity_revisions\\Entity\\Handler\\ConfigEntityRevisionsModerationHandler');
}
}
/**
* Implements hook_entity_operation_alter().
*/
function view_revisions_entity_operation_alter(array &$operations, EntityInterface $entity) {
if ($entity
->access('revisions') && $entity
->hasLinkTemplate('revisions')) {
$operations['revisions'] = [
'title' => t('Revisions'),
'weight' => 100,
'url' => $entity
->toUrl('revisions'),
];
}
}
Functions
Name![]() |
Description |
---|---|
view_revisions_entity_operation_alter | Implements hook_entity_operation_alter(). |
view_revisions_entity_type_alter | Implements hook_entity_type_alter(). |
view_revisions_form_alter | Implements hook_form_alter(). |
view_revisions_menu_local_tasks_alter | Implements hook_menu_local_tasks_alter(). |