function EntityReferenceUuidItem::propertyDefinitions

Overrides EntityReferenceItem::propertyDefinitions

File

core/modules/jsonapi/tests/modules/jsonapi_test_field_type/src/Plugin/Field/FieldType/EntityReferenceUuidItem.php, line 40

Class

EntityReferenceUuidItem
Defines the 'entity_reference_uuid' entity field type.

Namespace

Drupal\jsonapi_test_field_type\Plugin\Field\FieldType

Code

public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
  $settings = $field_definition->getSettings();
  $target_type_info = \Drupal::entityTypeManager()->getDefinition($settings['target_type']);
  $properties = parent::propertyDefinitions($field_definition);
  $target_uuid_definition = DataReferenceTargetDefinition::create('string')->setLabel(new TranslatableMarkup('@label UUID', [
    '@label' => $target_type_info->getLabel(),
  ]));
  $target_uuid_definition->setRequired(TRUE);
  $properties['target_uuid'] = $target_uuid_definition;
  $properties['entity'] = DataReferenceDefinition::create('entity')->setLabel($target_type_info->getLabel())
    ->setDescription(new TranslatableMarkup('The referenced entity by UUID'))
    ->setComputed(TRUE)
    ->setReadOnly(FALSE)
    ->setTargetDefinition(EntityDataDefinition::create($settings['target_type']))
    ->addConstraint('EntityType', $settings['target_type']);
  return $properties;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.