class DynamicEntityReferenceFieldDiffParser in Entity Share 8.3
Plugin to diff entity reference fields.
Plugin annotation
@DiffGenerator(
id = "dynamic_entity_reference_field_diff_parser",
label = @Translation("Dynamic Entity Reference Field Parser"),
field_types = {
"dynamic_entity_reference",
},
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\entity_share_diff\DiffGenerator\DiffGeneratorPluginBase implements ContainerFactoryPluginInterface, DiffGeneratorInterface uses StringTranslationTrait
- class \Drupal\entity_share_diff\Plugin\DiffGenerator\EntityReferenceFieldDiffParser
- class \Drupal\entity_share_diff\Plugin\DiffGenerator\DynamicEntityReferenceFieldDiffParser
- class \Drupal\entity_share_diff\Plugin\DiffGenerator\EntityReferenceFieldDiffParser
- class \Drupal\entity_share_diff\DiffGenerator\DiffGeneratorPluginBase implements ContainerFactoryPluginInterface, DiffGeneratorInterface uses StringTranslationTrait
Expanded class hierarchy of DynamicEntityReferenceFieldDiffParser
File
- modules/
entity_share_diff/ src/ Plugin/ DiffGenerator/ DynamicEntityReferenceFieldDiffParser.php, line 20
Namespace
Drupal\entity_share_diff\Plugin\DiffGeneratorView source
class DynamicEntityReferenceFieldDiffParser extends EntityReferenceFieldDiffParser {
/**
* {@inheritdoc}
*/
public function build(FieldItemListInterface $field_items, array $remote_field_data = []) {
$result = [];
// Case of local entity:
// Every item from $field_items is of type FieldItemInterface.
if (!$this
->getRemote()) {
foreach ($field_items as $field_key => $field_item) {
if (!$field_item
->isEmpty()) {
if ($field_item->entity) {
$entity = $field_item->entity;
$entity_type_id = $entity
->getEntityTypeId();
$result[$field_key] = $entity_type_id . ': ' . $entity
->uuid();
}
}
}
}
elseif (!empty($remote_field_data['data'])) {
foreach ($remote_field_data['data'] as $field_key => $remote_item_data) {
list($entity_type_id, ) = explode('--', $remote_item_data['type']);
$result[$field_key] = $entity_type_id . ': ' . $remote_item_data['id'];
}
}
return $result;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DiffGeneratorPluginBase:: |
protected | property | The entity parser service. | |
DiffGeneratorPluginBase:: |
protected | property | The entity type manager. | |
DiffGeneratorPluginBase:: |
protected | property | The 'Remote' entity. | |
DiffGeneratorPluginBase:: |
protected | property | The remote manager service. | |
DiffGeneratorPluginBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
DiffGeneratorPluginBase:: |
public | function | Returns Remote entity. | |
DiffGeneratorPluginBase:: |
public static | function |
Returns if the plugin can be used for the provided field. Overrides DiffGeneratorInterface:: |
|
DiffGeneratorPluginBase:: |
public | function | Sets Remote entity. | |
DiffGeneratorPluginBase:: |
public | function |
Constructs a DiffManagerBase object. Overrides PluginBase:: |
|
DynamicEntityReferenceFieldDiffParser:: |
public | function |
Builds an array of strings. Overrides EntityReferenceFieldDiffParser:: |
|
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
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. |