class ConfigEntityRevisionsDiffController in Config Entity Revisions 8
Same name and namespace in other branches
- 1.x src/ConfigEntityRevisionsDiffController.php \Drupal\config_entity_revisions\ConfigEntityRevisionsDiffController
Class ConfigEntityRevisionsDiffController.
Compare revisions of an entity.
Hierarchy
- class \Drupal\Core\Controller\ControllerBase implements ContainerInjectionInterface uses LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\diff\Controller\PluginRevisionController
- class \Drupal\config_entity_revisions\ConfigEntityRevisionsDiffController
- class \Drupal\diff\Controller\PluginRevisionController
Expanded class hierarchy of ConfigEntityRevisionsDiffController
File
- src/
ConfigEntityRevisionsDiffController.php, line 17
Namespace
Drupal\config_entity_revisionsView source
class ConfigEntityRevisionsDiffController extends PluginRevisionController {
/**
* Constructs a PluginRevisionController object.
*
* @param \Drupal\diff\DiffEntityComparison $entity_comparison
* The diff entity comparison service.
* @param \Drupal\diff\DiffLayoutManager $diff_layout_manager
* The diff layout service.
* @param \Symfony\Component\HttpFoundation\RequestStack $request_stack
* The request stack.
*/
public function __construct(DiffEntityComparison $entity_comparison, DiffLayoutManager $diff_layout_manager, RequestStack $request_stack, EntityTypeManagerInterface $entityTypeManager) {
parent::__construct($entity_comparison, $diff_layout_manager, $request_stack);
$this->entityTypeManager = $entityTypeManager;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container
->get('diff.entity_comparison'), $container
->get('plugin.manager.diff.layout'), $container
->get('request_stack'), $container
->get('entity_type.manager'));
}
/**
* Returns a table which shows the differences between two entity revisions.
*
* @param string $config_entity_type
* The type of entity to compare
* @param mixed $config_entity_id
* The ID of the entity.
* @param int $left_revision
* Id of the revision from the left.
* @param int $right_revision
* Id of the revision from the right.
* @param string $filter
* If $filter == 'raw' raw text is compared (including html tags)
* If $filter == 'raw-plain' markdown function is applied to the text before comparison.
*
* @return array
* Table showing the diff between the two node revisions.
*/
public function compareConfigEntityRevisions($config_entity_type, $config_entity_id, $left_revision, $right_revision, $filter) {
$entity_type = $this->entityTypeManager
->getDefinition($config_entity_type);
$class = $entity_type
->get('class');
if (!in_array('Drupal\\config_entity_revisions\\ConfigEntityRevisionsInterface', class_implements($class))) {
return [];
}
$storage = $this->entityTypeManager
->getStorage($config_entity_type);
$route_match = \Drupal::routeMatch();
$left_revision = $storage
->loadRevision($left_revision);
$right_revision = $storage
->loadRevision($right_revision);
$build = $this
->compareEntityRevisions($route_match, $left_revision, $right_revision, $filter);
return $build;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigEntityRevisionsDiffController:: |
public | function | Returns a table which shows the differences between two entity revisions. | |
ConfigEntityRevisionsDiffController:: |
public static | function |
Instantiates a new instance of this class. Overrides PluginRevisionController:: |
|
ConfigEntityRevisionsDiffController:: |
public | function |
Constructs a PluginRevisionController object. Overrides PluginRevisionController:: |
|
ControllerBase:: |
protected | property | The configuration factory. | |
ControllerBase:: |
protected | property | The current user service. | 1 |
ControllerBase:: |
protected | property | The entity form builder. | |
ControllerBase:: |
protected | property | The entity manager. | |
ControllerBase:: |
protected | property | The entity type manager. | |
ControllerBase:: |
protected | property | The form builder. | 2 |
ControllerBase:: |
protected | property | The key-value storage. | 1 |
ControllerBase:: |
protected | property | The language manager. | 1 |
ControllerBase:: |
protected | property | The module handler. | 2 |
ControllerBase:: |
protected | property | The state service. | |
ControllerBase:: |
protected | function | Returns the requested cache bin. | |
ControllerBase:: |
protected | function | Retrieves a configuration object. | |
ControllerBase:: |
private | function | Returns the service container. | |
ControllerBase:: |
protected | function | Returns the current user. | 1 |
ControllerBase:: |
protected | function | Retrieves the entity form builder. | |
ControllerBase:: |
protected | function | Retrieves the entity manager service. | |
ControllerBase:: |
protected | function | Retrieves the entity type manager. | |
ControllerBase:: |
protected | function | Returns the form builder service. | 2 |
ControllerBase:: |
protected | function | Returns a key/value storage collection. | 1 |
ControllerBase:: |
protected | function | Returns the language manager service. | 1 |
ControllerBase:: |
protected | function | Returns the module handler. | 2 |
ControllerBase:: |
protected | function |
Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait:: |
|
ControllerBase:: |
protected | function | Returns the state storage service. | |
LinkGeneratorTrait:: |
protected | property | The link generator. | 1 |
LinkGeneratorTrait:: |
protected | function | Returns the link generator. | |
LinkGeneratorTrait:: |
protected | function | Renders a link to a route given a route name and its parameters. | |
LinkGeneratorTrait:: |
public | function | Sets the link generator service. | |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginRevisionController:: |
protected | property | Wrapper object for writing/reading configuration from diff.plugins.yml. | |
PluginRevisionController:: |
protected | property | The field diff layout plugin manager service. | |
PluginRevisionController:: |
protected | property | The diff entity comparison service. | |
PluginRevisionController:: |
protected | property | The request stack. | |
PluginRevisionController:: |
protected | function | Builds a navigation dropdown button between the layout plugins. | |
PluginRevisionController:: |
protected | function | Creates navigation links between the previous changes and the new ones. | |
PluginRevisionController:: |
public | function | Returns a table which shows the differences between two entity revisions. | |
PluginRevisionController:: |
public static | function | Creates an url object for diff. | |
PluginRevisionController:: |
public | function | Get all the revision ids of given entity id. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
UrlGeneratorTrait:: |
protected | property | The url generator. | |
UrlGeneratorTrait:: |
protected | function | Returns the URL generator service. | |
UrlGeneratorTrait:: |
public | function | Sets the URL generator service. | |
UrlGeneratorTrait:: |
protected | function | Generates a URL or path for a specific route based on the given parameters. |