Same name and namespace in other branches
  1. 8.9.x core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php \Drupal\text\Plugin\Field\FieldType\TextItemBase::propertyDefinitions()
  2. 9 core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php \Drupal\text\Plugin\Field\FieldType\TextItemBase::propertyDefinitions()

Defines field item properties.

Properties that are required to constitute a valid, non-empty item should be denoted with \Drupal\Core\TypedData\DataDefinition::setRequired().

Return value

\Drupal\Core\TypedData\DataDefinitionInterface[] An array of property definitions of contained properties, keyed by property name.

Overrides FieldItemInterface::propertyDefinitions

See also

\Drupal\Core\Field\BaseFieldDefinition

File

core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php, line 76

Class

TextItemBase
Base class for 'text' configurable field types.

Namespace

Drupal\text\Plugin\Field\FieldType

Code

public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
  $properties['value'] = DataDefinition::create('string')
    ->setLabel(t('Text'))
    ->setRequired(TRUE);
  $properties['format'] = DataDefinition::create('filter_format')
    ->setLabel(t('Text format'))
    ->setSetting('allowed_formats', $field_definition
    ->getSetting('allowed_formats'));
  $properties['processed'] = DataDefinition::create('string')
    ->setLabel(t('Processed text'))
    ->setDescription(t('The text with the text format applied.'))
    ->setComputed(TRUE)
    ->setClass('\\Drupal\\text\\TextProcessed')
    ->setSetting('text source', 'value')
    ->setInternal(FALSE);
  return $properties;
}