You are here

class EntityFieldPropertyDeriver in GraphQL 8.3

Hierarchy

Expanded class hierarchy of EntityFieldPropertyDeriver

File

modules/graphql_core/src/Plugin/Deriver/Fields/EntityFieldPropertyDeriver.php, line 9

Namespace

Drupal\graphql_core\Plugin\Deriver\Fields
View 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

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
DeriverBase::$derivatives protected property List of derivative definitions. 1
DeriverBase::getDerivativeDefinition public function Gets the definition of a derivative plugin. Overrides DeriverInterface::getDerivativeDefinition
EntityFieldDeriverBase::$basePluginId protected property The base plugin id.
EntityFieldDeriverBase::$entityBundleInfo protected property The entity bundle info.
EntityFieldDeriverBase::$entityFieldManager protected property The entity field manager.
EntityFieldDeriverBase::$entityTypeManager protected property The entity type manager.
EntityFieldDeriverBase::create public static function Creates a new class instance. Overrides ContainerDeriverInterface::create
EntityFieldDeriverBase::getDerivativeDefinitions public function Gets the definition of all derivatives of a base plugin. Overrides DeriverBase::getDerivativeDefinitions
EntityFieldDeriverBase::__construct public function RawValueFieldItemDeriver constructor.
EntityFieldPropertyDeriver::getDerivativeDefinitionsFromFieldDefinition protected function Provides plugin definition values from fields. Overrides EntityFieldDeriverBase::getDerivativeDefinitionsFromFieldDefinition