class ListIntegerItem

Same name and namespace in other branches
  1. 8.9.x core/modules/options/src/Plugin/Field/FieldType/ListIntegerItem.php \Drupal\options\Plugin\Field\FieldType\ListIntegerItem
  2. 10 core/modules/options/src/Plugin/Field/FieldType/ListIntegerItem.php \Drupal\options\Plugin\Field\FieldType\ListIntegerItem
  3. 11.x core/modules/options/src/Plugin/Field/FieldType/ListIntegerItem.php \Drupal\options\Plugin\Field\FieldType\ListIntegerItem

Plugin implementation of the 'list_integer' field type.

Plugin annotation


@FieldType(
  id = "list_integer",
  label = @Translation("List (integer)"),
  description = @Translation("This field stores integer values from a list of allowed 'value => label' pairs, i.e. 'Lifetime in days': 1 => 1 day, 7 => 1 week, 31 => 1 month."),
  category = @Translation("Number"),
  default_widget = "options_select",
  default_formatter = "list_default",
)

Hierarchy

Expanded class hierarchy of ListIntegerItem

1 file declares its use of ListIntegerItem
XmlEntityNormalizationQuirksTrait.php in core/modules/rest/tests/src/Functional/EntityResource/XmlEntityNormalizationQuirksTrait.php

File

core/modules/options/src/Plugin/Field/FieldType/ListIntegerItem.php, line 22

Namespace

Drupal\options\Plugin\Field\FieldType
View source
class ListIntegerItem extends ListItemBase {
    
    /**
     * {@inheritdoc}
     */
    public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
        $properties['value'] = DataDefinition::create('integer')->setLabel(new TranslatableMarkup('Integer value'))
            ->setRequired(TRUE);
        return $properties;
    }
    
    /**
     * {@inheritdoc}
     */
    public static function schema(FieldStorageDefinitionInterface $field_definition) {
        return [
            'columns' => [
                'value' => [
                    'type' => 'int',
                ],
            ],
            'indexes' => [
                'value' => [
                    'value',
                ],
            ],
        ];
    }
    
    /**
     * {@inheritdoc}
     */
    protected function allowedValuesDescription() {
        $description = '<p>' . $this->t('The possible values this field can contain. Enter one value per line, in the format key|label.');
        $description .= '<br/>' . $this->t('The key is the stored value, and must be numeric. The label will be used in displayed values and edit forms.');
        $description .= '<br/>' . $this->t('The label is optional: if a line contains a single number, it will be used as key and label.');
        $description .= '<br/>' . $this->t('Lists of labels are also accepted (one label per line), only if the field does not hold any values yet. Numeric keys will be automatically generated from the positions in the list.');
        $description .= '</p>';
        $description .= '<p>' . $this->t('Allowed HTML tags in labels: @tags', [
            '@tags' => FieldFilteredMarkup::displayAllowedTags(),
        ]) . '</p>';
        return $description;
    }
    
    /**
     * {@inheritdoc}
     */
    protected static function validateAllowedValue($option) {
        if (!preg_match('/^-?\\d+$/', $option)) {
            return new TranslatableMarkup('Allowed values list: keys must be integers.');
        }
    }
    
    /**
     * {@inheritdoc}
     */
    protected static function castAllowedValue($value) {
        return (int) $value;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
DependencySerializationTrait::$_entityStorages protected property
DependencySerializationTrait::$_serviceIds protected property
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
FieldItemBase::calculateDependencies public static function Overrides FieldItemInterface::calculateDependencies 2
FieldItemBase::calculateStorageDependencies public static function Overrides FieldItemInterface::calculateStorageDependencies 1
FieldItemBase::defaultFieldSettings public static function Overrides FieldItemInterface::defaultFieldSettings 7
FieldItemBase::delete public function Overrides FieldItemInterface::delete 2
FieldItemBase::deleteRevision public function Overrides FieldItemInterface::deleteRevision
FieldItemBase::fieldSettingsForm public function Overrides FieldItemInterface::fieldSettingsForm 7
FieldItemBase::fieldSettingsFromConfigData public static function Overrides FieldItemInterface::fieldSettingsFromConfigData 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::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-&gt;values if no property object has been created yet.
Overrides Map::writePropertyValue
FieldItemBase::__construct public function Overrides TypedData::__construct 1
FieldItemBase::__get public function Overrides FieldItemInterface::__get 2
FieldItemBase::__isset public function Overrides FieldItemInterface::__isset
FieldItemBase::__set public function Overrides FieldItemInterface::__set 1
FieldItemBase::__unset public function Overrides FieldItemInterface::__unset
ListIntegerItem::allowedValuesDescription protected function Provides the field type specific allowed values form element #description. Overrides ListItemBase::allowedValuesDescription
ListIntegerItem::castAllowedValue protected static function Converts a value to the correct type. Overrides ListItemBase::castAllowedValue
ListIntegerItem::propertyDefinitions public static function Defines field item properties. Overrides FieldItemInterface::propertyDefinitions
ListIntegerItem::schema public static function Returns the schema for the field. Overrides FieldItemInterface::schema
ListIntegerItem::validateAllowedValue protected static function Checks whether a candidate allowed value is valid. Overrides ListItemBase::validateAllowedValue
ListItemBase::allowedValuesString protected function Generates a string representation of an array of &#039;allowed values&#039;.
ListItemBase::defaultStorageSettings public static function Defines the storage-level settings for this plugin. Overrides FieldItemBase::defaultStorageSettings
ListItemBase::extractAllowedValues protected static function Extracts the allowed values array from the allowed_values element. 1
ListItemBase::generateSampleValue public static function Generates placeholder field values. Overrides FieldItemBase::generateSampleValue
ListItemBase::getPossibleOptions public function Returns an array of possible values with labels for display. Overrides OptionsProviderInterface::getPossibleOptions
ListItemBase::getPossibleValues public function Returns an array of possible values. Overrides OptionsProviderInterface::getPossibleValues
ListItemBase::getSettableOptions public function Returns an array of settable values with labels for display. Overrides OptionsProviderInterface::getSettableOptions
ListItemBase::getSettableValues public function Returns an array of settable values. Overrides OptionsProviderInterface::getSettableValues
ListItemBase::isEmpty public function Determines whether the data structure is empty. Overrides Map::isEmpty
ListItemBase::simplifyAllowedValues protected static function Simplifies allowed values to a key-value array from the structured array. 1
ListItemBase::storageSettingsForm public function Returns a form for the storage-level settings. Overrides FieldItemBase::storageSettingsForm
ListItemBase::storageSettingsFromConfigData public static function Returns a settings array in the field type&#039;s canonical representation. Overrides FieldItemBase::storageSettingsFromConfigData
ListItemBase::storageSettingsToConfigData public static function Returns a settings array that can be stored as a configuration value. Overrides FieldItemBase::storageSettingsToConfigData
ListItemBase::structureAllowedValues protected static function Creates a structured array of allowed values from a key-value array.
ListItemBase::validateAllowedValues public static function #element_validate callback for options field allowed values.
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::applyDefaultValue public function Overrides TypedData::applyDefaultValue 4
Map::get public function Overrides ComplexDataInterface::get
Map::getIterator public function
Map::getProperties public function Overrides ComplexDataInterface::getProperties
Map::getString public function Overrides TypedData::getString
Map::getValue public function Overrides TypedData::getValue 1
Map::onChange public function Overrides TraversableTypedDataInterface::onChange 4
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.
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::getConstraints public function Overrides TypedDataInterface::getConstraints 9
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.