class EntityFieldPropertyDeriver in GraphQL 8.3
Hierarchy
- class \Drupal\Component\Plugin\Derivative\DeriverBase implements DeriverInterface
- class \Drupal\graphql_core\Plugin\Deriver\EntityFieldDeriverBase implements ContainerDeriverInterface uses DependencySerializationTrait
- class \Drupal\graphql_core\Plugin\Deriver\Fields\EntityFieldPropertyDeriver
- class \Drupal\graphql_core\Plugin\Deriver\EntityFieldDeriverBase implements ContainerDeriverInterface uses DependencySerializationTrait
Expanded class hierarchy of EntityFieldPropertyDeriver
File
- modules/
graphql_core/ src/ Plugin/ Deriver/ Fields/ EntityFieldPropertyDeriver.php, line 9
Namespace
Drupal\graphql_core\Plugin\Deriver\FieldsView source
class EntityFieldPropertyDeriver extends EntityFieldDeriverBase {
/**
* {@inheritdoc}
*/
protected function getDerivativeDefinitionsFromFieldDefinition(FieldDefinitionInterface $fieldDefinition, array $basePluginDefinition) {
$fieldType = $fieldDefinition
->getType();
if (isset($basePluginDefinition['field_types']) && in_array($fieldType, $basePluginDefinition['field_types'])) {
$fieldName = $fieldDefinition
->getName();
$fieldBundle = $fieldDefinition
->getTargetBundle() ?: '';
$entityTypeId = $fieldDefinition
->getTargetEntityTypeId();
$entityType = $this->entityTypeManager
->getDefinition($entityTypeId);
$supportsBundles = $entityType
->hasKey('bundle');
if (!isset($basePluginDefinition['parents'])) {
$basePluginDefinition['parents'] = [];
}
$parents = [
StringHelper::camelCase('field', $entityTypeId, $supportsBundles ? $fieldBundle : '', $fieldName),
];
return [
"{$entityTypeId}-{$fieldBundle}-{$fieldName}" => [
'parents' => array_merge($parents, $basePluginDefinition['parents']),
] + $basePluginDefinition,
];
}
return [];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
DeriverBase:: |
protected | property | List of derivative definitions. | 1 |
DeriverBase:: |
public | function |
Gets the definition of a derivative plugin. Overrides DeriverInterface:: |
|
EntityFieldDeriverBase:: |
protected | property | The base plugin id. | |
EntityFieldDeriverBase:: |
protected | property | The entity bundle info. | |
EntityFieldDeriverBase:: |
protected | property | The entity field manager. | |
EntityFieldDeriverBase:: |
protected | property | The entity type manager. | |
EntityFieldDeriverBase:: |
public static | function |
Creates a new class instance. Overrides ContainerDeriverInterface:: |
|
EntityFieldDeriverBase:: |
public | function |
Gets the definition of all derivatives of a base plugin. Overrides DeriverBase:: |
|
EntityFieldDeriverBase:: |
public | function | RawValueFieldItemDeriver constructor. | |
EntityFieldPropertyDeriver:: |
protected | function |
Provides plugin definition values from fields. Overrides EntityFieldDeriverBase:: |