class TextItem

Same name and namespace in other branches
  1. 10 core/modules/text/src/Plugin/Field/FieldType/TextItem.php \Drupal\text\Plugin\Field\FieldType\TextItem
  2. 9 core/modules/text/src/Plugin/Field/FieldType/TextItem.php \Drupal\text\Plugin\Field\FieldType\TextItem
  3. 8.9.x core/modules/text/src/Plugin/Field/FieldType/TextItem.php \Drupal\text\Plugin\Field\FieldType\TextItem
  4. main core/modules/text/src/Plugin/Field/FieldType/TextItem.php \Drupal\text\Plugin\Field\FieldType\TextItem

Plugin implementation of the 'text' field type.

Attributes

#[FieldType(id: "text", label: new TranslatableMarkup("Short text"), description: [ new TranslatableMarkup("Uses a one-line text field for input"), new TranslatableMarkup("Efficient storage"), new TranslatableMarkup("Fixed maximum length (up to 16383 characters)"), new TranslatableMarkup("May be faster for searching and sorting"), new TranslatableMarkup("Recommended for titles and names that need markup for bold, italic or links"), ], category: "formatted_text", default_widget: "text_textfield", default_formatter: "text_default", list_class: TextFieldItemList::class)]

Hierarchy

  • class \Drupal\text\Plugin\Field\FieldType\TextItem extends \Drupal\text\Plugin\Field\FieldType\TextItemBase

Expanded class hierarchy of TextItem

1 file declares its use of TextItem
TextProcessedTest.php in core/modules/text/tests/src/Unit/TextProcessedTest.php

File

core/modules/text/src/Plugin/Field/FieldType/TextItem.php, line 13

Namespace

Drupal\text\Plugin\Field\FieldType
View source
class TextItem extends TextItemBase {
  
  /**
   * {@inheritdoc}
   */
  public static function defaultStorageSettings() {
    return [
      'max_length' => 255,
    ] + parent::defaultStorageSettings();
  }
  
  /**
   * {@inheritdoc}
   */
  public static function schema(FieldStorageDefinitionInterface $field_definition) {
    return [
      'columns' => [
        'value' => [
          'type' => 'varchar',
          'length' => $field_definition->getSetting('max_length'),
        ],
        'format' => [
          'type' => 'varchar',
          'length' => 255,
        ],
      ],
      'indexes' => [
        'format' => [
          'format',
        ],
      ],
    ];
  }
  
  /**
   * {@inheritdoc}
   */
  public function getConstraints() {
    $constraint_manager = \Drupal::typedDataManager()->getValidationConstraintManager();
    $constraints = parent::getConstraints();
    if ($max_length = $this->getSetting('max_length')) {
      $constraints[] = $constraint_manager->create('ComplexData', [
        'properties' => [
          'value' => [
            'Length' => [
              'max' => $max_length,
              'maxMessage' => $this->t('%name: the text may not be longer than @max characters.', [
                '%name' => $this->getFieldDefinition()
                  ->getLabel(),
                '@max' => $max_length,
              ]),
            ],
          ],
        ],
      ]);
    }
    return $constraints;
  }
  
  /**
   * {@inheritdoc}
   */
  public function storageSettingsForm(array &$form, FormStateInterface $form_state, $has_data) {
    $element = [];
    $element['max_length'] = [
      '#type' => 'number',
      '#title' => $this->t('Maximum length'),
      '#default_value' => $this->getSetting('max_length'),
      '#required' => TRUE,
      '#description' => $this->t('The maximum length of the field in characters.'),
      '#min' => 1,
      '#disabled' => $has_data,
    ];
    $element += parent::storageSettingsForm($form, $form_state, $has_data);
    return $element;
  }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title 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 2
DependencySerializationTrait::__wakeup public function 2
FieldItemBase::calculateStorageDependencies public static function Overrides FieldItemInterface::calculateStorageDependencies 1
FieldItemBase::delete public function Overrides FieldItemInterface::delete 2
FieldItemBase::deleteRevision public function Overrides FieldItemInterface::deleteRevision
FieldItemBase::fieldSettingsFromConfigData public static function Overrides FieldItemInterface::fieldSettingsFromConfigData 1
FieldItemBase::fieldSettingsSummary public static function Overrides FieldItemInterface::fieldSettingsSummary 1
FieldItemBase::fieldSettingsToConfigData public static function Overrides FieldItemInterface::fieldSettingsToConfigData 1
FieldItemBase::getEntity public function Overrides FieldItemInterface::getEntity
FieldItemBase::getFieldDefinition public function Overrides FieldItemInterface::getFieldDefinition
FieldItemBase::getLangcode public function Overrides FieldItemInterface::getLangcode
FieldItemBase::getSetting protected function Returns the value of a field setting.
FieldItemBase::getSettings protected function Returns the array of field settings.
FieldItemBase::mainPropertyName public static function Overrides FieldItemInterface::mainPropertyName 8
FieldItemBase::onDependencyRemoval public static function Overrides FieldItemInterface::onDependencyRemoval 1
FieldItemBase::postSave public function Overrides FieldItemInterface::postSave 2
FieldItemBase::preSave public function Overrides FieldItemInterface::preSave 7
FieldItemBase::setValue public function Overrides Map::setValue 4
FieldItemBase::storageSettingsFromConfigData public static function Overrides FieldItemInterface::storageSettingsFromConfigData 2
FieldItemBase::storageSettingsSummary public static function Overrides FieldItemInterface::storageSettingsSummary 1
FieldItemBase::storageSettingsToConfigData public static function Overrides FieldItemInterface::storageSettingsToConfigData 2
FieldItemBase::view public function Overrides FieldItemInterface::view
FieldItemBase::writePropertyValue protected function Different to the parent Map class, we avoid creating property objects as
far as possible in order to optimize performance. Thus we just update
$this->values if no property object has been created yet.
Overrides Map::writePropertyValue
FieldItemBase::__construct public function Overrides TypedData::__construct 3
FieldItemBase::__get public function Overrides FieldItemInterface::__get 3
FieldItemBase::__isset public function Overrides FieldItemInterface::__isset
FieldItemBase::__set public function Overrides FieldItemInterface::__set 1
FieldItemBase::__unset public function Overrides FieldItemInterface::__unset
Map::$definition protected property The data definition. Overrides TypedData::$definition
Map::$properties protected property The array of properties.
Map::$values protected property An array of values for the contained properties.
Map::get public function Overrides ComplexDataInterface::get
Map::getIterator public function Retrieves the iterator for the object.
Map::getProperties public function Overrides ComplexDataInterface::getProperties
Map::getString public function Overrides TypedData::getString
Map::getValue public function Overrides TypedData::getValue 1
Map::set public function Overrides ComplexDataInterface::set
Map::toArray public function Overrides ComplexDataInterface::toArray 1
Map::__clone public function Magic method: Implements a deep clone.
StringTranslationTrait::$stringTranslation protected property The string translation service. 3
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language. 1
TextItem::defaultStorageSettings public static function Overrides FieldItemBase::defaultStorageSettings
TextItem::getConstraints public function Overrides TypedData::getConstraints
TextItem::schema public static function Overrides FieldItemInterface::schema
TextItem::storageSettingsForm public function Overrides FieldItemBase::storageSettingsForm
TextItemBase::applyDefaultValue public function Overrides Map::applyDefaultValue
TextItemBase::calculateDependencies public static function Overrides FieldItemBase::calculateDependencies
TextItemBase::defaultFieldSettings public static function Overrides FieldItemBase::defaultFieldSettings 1
TextItemBase::fieldSettingsForm public function Overrides FieldItemBase::fieldSettingsForm 1
TextItemBase::generateSampleValue public static function Overrides FieldItemBase::generateSampleValue
TextItemBase::isEmpty public function Overrides Map::isEmpty 1
TextItemBase::onChange public function Overrides Map::onChange
TextItemBase::propertyDefinitions public static function Overrides FieldItemInterface::propertyDefinitions 1
TextItemBase::validateAllowedFormats public static function Render API callback: Processes the allowed formats value.
TypedData::$name protected property The property name.
TypedData::$parent protected property The parent typed data object.
TypedData::createInstance public static function Overrides TypedDataInterface::createInstance
TypedData::getDataDefinition public function Overrides TypedDataInterface::getDataDefinition
TypedData::getName public function Overrides TypedDataInterface::getName
TypedData::getParent public function Overrides TypedDataInterface::getParent
TypedData::getPluginDefinition public function Overrides PluginInspectionInterface::getPluginDefinition
TypedData::getPluginId public function Overrides PluginInspectionInterface::getPluginId
TypedData::getPropertyPath public function Overrides TypedDataInterface::getPropertyPath
TypedData::getRoot public function Overrides TypedDataInterface::getRoot
TypedData::setContext public function Overrides TypedDataInterface::setContext
TypedData::validate public function Overrides TypedDataInterface::validate
TypedDataTrait::$typedDataManager protected property The typed data manager used for creating the data types.
TypedDataTrait::getTypedDataManager public function Gets the typed data manager. 2
TypedDataTrait::setTypedDataManager public function Sets the typed data manager. 2

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