class ImageItem

Same name in other branches
  1. 9 core/modules/image/src/Plugin/Field/FieldType/ImageItem.php \Drupal\image\Plugin\Field\FieldType\ImageItem
  2. 10 core/modules/image/src/Plugin/Field/FieldType/ImageItem.php \Drupal\image\Plugin\Field\FieldType\ImageItem
  3. 11.x core/modules/image/src/Plugin/Field/FieldType/ImageItem.php \Drupal\image\Plugin\Field\FieldType\ImageItem

Plugin implementation of the 'image' field type.

Plugin annotation


@FieldType(
  id = "image",
  label = @Translation("Image"),
  description = @Translation("This field stores the ID of an image file as an integer value."),
  category = @Translation("Reference"),
  default_widget = "image_image",
  default_formatter = "image",
  column_groups = {
    "file" = {
      "label" = @Translation("File"),
      "columns" = {
        "target_id", "width", "height"
      },
      "require_all_groups_for_translation" = TRUE
    },
    "alt" = {
      "label" = @Translation("Alt"),
      "translatable" = TRUE
    },
    "title" = {
      "label" = @Translation("Title"),
      "translatable" = TRUE
    },
  },
  list_class = "\Drupal\file\Plugin\Field\FieldType\FileFieldItemList",
  constraints = {"ReferenceAccess" = {}, "FileValidation" = {}}
)

Hierarchy

Expanded class hierarchy of ImageItem

7 files declare their use of ImageItem
EditorMediaDialog.php in core/modules/media/src/Form/EditorMediaDialog.php
media.install in core/modules/media/media.install
Install, uninstall and update hooks for Media module.
MediaEmbed.php in core/modules/media/src/Plugin/Filter/MediaEmbed.php
media_library.module in core/modules/media_library/media_library.module
Contains hook implementations for the media_library module.
QuickEditImageController.php in core/modules/image/src/Controller/QuickEditImageController.php

... See full list

File

core/modules/image/src/Plugin/Field/FieldType/ImageItem.php, line 48

Namespace

Drupal\image\Plugin\Field\FieldType
View source
class ImageItem extends FileItem {
    
    /**
     * The entity manager.
     *
     * @var \Drupal\Core\Entity\EntityManagerInterface
     */
    protected $entityManager;
    
    /**
     * {@inheritdoc}
     */
    public static function defaultStorageSettings() {
        return [
            'default_image' => [
                'uuid' => NULL,
                'alt' => '',
                'title' => '',
                'width' => NULL,
                'height' => NULL,
            ],
        ] + parent::defaultStorageSettings();
    }
    
    /**
     * {@inheritdoc}
     */
    public static function defaultFieldSettings() {
        $settings = [
            'file_extensions' => 'png gif jpg jpeg',
            'alt_field' => 1,
            'alt_field_required' => 1,
            'title_field' => 0,
            'title_field_required' => 0,
            'max_resolution' => '',
            'min_resolution' => '',
            'default_image' => [
                'uuid' => NULL,
                'alt' => '',
                'title' => '',
                'width' => NULL,
                'height' => NULL,
            ],
        ] + parent::defaultFieldSettings();
        unset($settings['description_field']);
        return $settings;
    }
    
    /**
     * {@inheritdoc}
     */
    public static function schema(FieldStorageDefinitionInterface $field_definition) {
        return [
            'columns' => [
                'target_id' => [
                    'description' => 'The ID of the file entity.',
                    'type' => 'int',
                    'unsigned' => TRUE,
                ],
                'alt' => [
                    'description' => "Alternative image text, for the image's 'alt' attribute.",
                    'type' => 'varchar',
                    'length' => 512,
                ],
                'title' => [
                    'description' => "Image title text, for the image's 'title' attribute.",
                    'type' => 'varchar',
                    'length' => 1024,
                ],
                'width' => [
                    'description' => 'The width of the image in pixels.',
                    'type' => 'int',
                    'unsigned' => TRUE,
                ],
                'height' => [
                    'description' => 'The height of the image in pixels.',
                    'type' => 'int',
                    'unsigned' => TRUE,
                ],
            ],
            'indexes' => [
                'target_id' => [
                    'target_id',
                ],
            ],
            'foreign keys' => [
                'target_id' => [
                    'table' => 'file_managed',
                    'columns' => [
                        'target_id' => 'fid',
                    ],
                ],
            ],
        ];
    }
    
    /**
     * {@inheritdoc}
     */
    public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
        $properties = parent::propertyDefinitions($field_definition);
        unset($properties['display']);
        unset($properties['description']);
        $properties['alt'] = DataDefinition::create('string')->setLabel(t('Alternative text'))
            ->setDescription(t("Alternative image text, for the image's 'alt' attribute."));
        $properties['title'] = DataDefinition::create('string')->setLabel(t('Title'))
            ->setDescription(t("Image title text, for the image's 'title' attribute."));
        $properties['width'] = DataDefinition::create('integer')->setLabel(t('Width'))
            ->setDescription(t('The width of the image in pixels.'));
        $properties['height'] = DataDefinition::create('integer')->setLabel(t('Height'))
            ->setDescription(t('The height of the image in pixels.'));
        return $properties;
    }
    
    /**
     * {@inheritdoc}
     */
    public function storageSettingsForm(array &$form, FormStateInterface $form_state, $has_data) {
        $element = [];
        // We need the field-level 'default_image' setting, and $this->getSettings()
        // will only provide the instance-level one, so we need to explicitly fetch
        // the field.
        $settings = $this->getFieldDefinition()
            ->getFieldStorageDefinition()
            ->getSettings();
        $scheme_options = \Drupal::service('stream_wrapper_manager')->getNames(StreamWrapperInterface::WRITE_VISIBLE);
        $element['uri_scheme'] = [
            '#type' => 'radios',
            '#title' => t('Upload destination'),
            '#options' => $scheme_options,
            '#default_value' => $settings['uri_scheme'],
            '#description' => t('Select where the final files should be stored. Private file storage has significantly more overhead than public files, but allows restricted access to files within this field.'),
        ];
        // Add default_image element.
        static::defaultImageForm($element, $settings);
        $element['default_image']['#description'] = t('If no image is uploaded, this image will be shown on display.');
        return $element;
    }
    
    /**
     * {@inheritdoc}
     */
    public function fieldSettingsForm(array $form, FormStateInterface $form_state) {
        // Get base form from FileItem.
        $element = parent::fieldSettingsForm($form, $form_state);
        $settings = $this->getSettings();
        // Add maximum and minimum resolution settings.
        $max_resolution = explode('x', $settings['max_resolution']) + [
            '',
            '',
        ];
        $element['max_resolution'] = [
            '#type' => 'item',
            '#title' => t('Maximum image resolution'),
            '#element_validate' => [
                [
                    get_class($this),
                    'validateResolution',
                ],
            ],
            '#weight' => 4.1,
            '#description' => t('The maximum allowed image size expressed as WIDTH×HEIGHT (e.g. 640×480). Leave blank for no restriction. If a larger image is uploaded, it will be resized to reflect the given width and height. Resizing images on upload will cause the loss of <a href="http://wikipedia.org/wiki/Exchangeable_image_file_format">EXIF data</a> in the image.'),
        ];
        $element['max_resolution']['x'] = [
            '#type' => 'number',
            '#title' => t('Maximum width'),
            '#title_display' => 'invisible',
            '#default_value' => $max_resolution[0],
            '#min' => 1,
            '#field_suffix' => ' × ',
            '#prefix' => '<div class="form--inline clearfix">',
        ];
        $element['max_resolution']['y'] = [
            '#type' => 'number',
            '#title' => t('Maximum height'),
            '#title_display' => 'invisible',
            '#default_value' => $max_resolution[1],
            '#min' => 1,
            '#field_suffix' => ' ' . t('pixels'),
            '#suffix' => '</div>',
        ];
        $min_resolution = explode('x', $settings['min_resolution']) + [
            '',
            '',
        ];
        $element['min_resolution'] = [
            '#type' => 'item',
            '#title' => t('Minimum image resolution'),
            '#element_validate' => [
                [
                    get_class($this),
                    'validateResolution',
                ],
            ],
            '#weight' => 4.2,
            '#description' => t('The minimum allowed image size expressed as WIDTH×HEIGHT (e.g. 640×480). Leave blank for no restriction. If a smaller image is uploaded, it will be rejected.'),
        ];
        $element['min_resolution']['x'] = [
            '#type' => 'number',
            '#title' => t('Minimum width'),
            '#title_display' => 'invisible',
            '#default_value' => $min_resolution[0],
            '#min' => 1,
            '#field_suffix' => ' × ',
            '#prefix' => '<div class="form--inline clearfix">',
        ];
        $element['min_resolution']['y'] = [
            '#type' => 'number',
            '#title' => t('Minimum height'),
            '#title_display' => 'invisible',
            '#default_value' => $min_resolution[1],
            '#min' => 1,
            '#field_suffix' => ' ' . t('pixels'),
            '#suffix' => '</div>',
        ];
        // Remove the description option.
        unset($element['description_field']);
        // Add title and alt configuration options.
        $element['alt_field'] = [
            '#type' => 'checkbox',
            '#title' => t('Enable <em>Alt</em> field'),
            '#default_value' => $settings['alt_field'],
            '#description' => t('Short description of the image used by screen readers and displayed when the image is not loaded. Enabling this field is recommended.'),
            '#weight' => 9,
        ];
        $element['alt_field_required'] = [
            '#type' => 'checkbox',
            '#title' => t('<em>Alt</em> field required'),
            '#default_value' => $settings['alt_field_required'],
            '#description' => t('Making this field required is recommended.'),
            '#weight' => 10,
            '#states' => [
                'visible' => [
                    ':input[name="settings[alt_field]"]' => [
                        'checked' => TRUE,
                    ],
                ],
            ],
        ];
        $element['title_field'] = [
            '#type' => 'checkbox',
            '#title' => t('Enable <em>Title</em> field'),
            '#default_value' => $settings['title_field'],
            '#description' => t('The title attribute is used as a tooltip when the mouse hovers over the image. Enabling this field is not recommended as it can cause problems with screen readers.'),
            '#weight' => 11,
        ];
        $element['title_field_required'] = [
            '#type' => 'checkbox',
            '#title' => t('<em>Title</em> field required'),
            '#default_value' => $settings['title_field_required'],
            '#weight' => 12,
            '#states' => [
                'visible' => [
                    ':input[name="settings[title_field]"]' => [
                        'checked' => TRUE,
                    ],
                ],
            ],
        ];
        // Add default_image element.
        static::defaultImageForm($element, $settings);
        $element['default_image']['#description'] = t("If no image is uploaded, this image will be shown on display and will override the field's default image.");
        return $element;
    }
    
    /**
     * {@inheritdoc}
     */
    public function preSave() {
        parent::preSave();
        $width = $this->width;
        $height = $this->height;
        // Determine the dimensions if necessary.
        if ($this->entity && $this->entity instanceof EntityInterface) {
            if (empty($width) || empty($height)) {
                $image = \Drupal::service('image.factory')->get($this->entity
                    ->getFileUri());
                if ($image->isValid()) {
                    $this->width = $image->getWidth();
                    $this->height = $image->getHeight();
                }
            }
        }
        else {
            trigger_error(sprintf("Missing file with ID %s.", $this->target_id), E_USER_WARNING);
        }
    }
    
    /**
     * {@inheritdoc}
     */
    public static function generateSampleValue(FieldDefinitionInterface $field_definition) {
        $random = new Random();
        $settings = $field_definition->getSettings();
        static $images = [];
        $min_resolution = empty($settings['min_resolution']) ? '100x100' : $settings['min_resolution'];
        $max_resolution = empty($settings['max_resolution']) ? '600x600' : $settings['max_resolution'];
        $extensions = array_intersect(explode(' ', $settings['file_extensions']), [
            'png',
            'gif',
            'jpg',
            'jpeg',
        ]);
        $extension = array_rand(array_combine($extensions, $extensions));
        // Generate a max of 5 different images.
        if (!isset($images[$extension][$min_resolution][$max_resolution]) || count($images[$extension][$min_resolution][$max_resolution]) <= 5) {
            
            /** @var \Drupal\Core\File\FileSystemInterface $file_system */
            $file_system = \Drupal::service('file_system');
            $tmp_file = $file_system->tempnam('temporary://', 'generateImage_');
            $destination = $tmp_file . '.' . $extension;
            try {
                $file_system->move($tmp_file, $destination);
            } catch (FileException $e) {
                // Ignore failed move.
            }
            if ($path = $random->image($file_system->realpath($destination), $min_resolution, $max_resolution)) {
                $image = File::create();
                $image->setFileUri($path);
                $image->setOwnerId(\Drupal::currentUser()->id());
                $image->setMimeType(\Drupal::service('file.mime_type.guesser')->guess($path));
                $image->setFileName($file_system->basename($path));
                $destination_dir = static::doGetUploadLocation($settings);
                $file_system->prepareDirectory($destination_dir, FileSystemInterface::CREATE_DIRECTORY);
                $destination = $destination_dir . '/' . basename($path);
                $file = file_move($image, $destination);
                $images[$extension][$min_resolution][$max_resolution][$file->id()] = $file;
            }
            else {
                return [];
            }
        }
        else {
            // Select one of the images we've already generated for this field.
            $image_index = array_rand($images[$extension][$min_resolution][$max_resolution]);
            $file = $images[$extension][$min_resolution][$max_resolution][$image_index];
        }
        list($width, $height) = getimagesize($file->getFileUri());
        $values = [
            'target_id' => $file->id(),
            'alt' => $random->sentences(4),
            'title' => $random->sentences(4),
            'width' => $width,
            'height' => $height,
        ];
        return $values;
    }
    
    /**
     * Element validate function for resolution fields.
     */
    public static function validateResolution($element, FormStateInterface $form_state) {
        if (!empty($element['x']['#value']) || !empty($element['y']['#value'])) {
            foreach ([
                'x',
                'y',
            ] as $dimension) {
                if (!$element[$dimension]['#value']) {
                    // We expect the field name placeholder value to be wrapped in t()
                    // here, so it won't be escaped again as it's already marked safe.
                    $form_state->setError($element[$dimension], t('Both a height and width value must be specified in the @name field.', [
                        '@name' => $element['#title'],
                    ]));
                    return;
                }
            }
            $form_state->setValueForElement($element, $element['x']['#value'] . 'x' . $element['y']['#value']);
        }
        else {
            $form_state->setValueForElement($element, '');
        }
    }
    
    /**
     * Builds the default_image details element.
     *
     * @param array $element
     *   The form associative array passed by reference.
     * @param array $settings
     *   The field settings array.
     */
    protected function defaultImageForm(array &$element, array $settings) {
        $element['default_image'] = [
            '#type' => 'details',
            '#title' => t('Default image'),
            '#open' => TRUE,
        ];
        // Convert the stored UUID to a FID.
        $fids = [];
        $uuid = $settings['default_image']['uuid'];
        if ($uuid && ($file = \Drupal::service('entity.repository')->loadEntityByUuid('file', $uuid))) {
            $fids[0] = $file->id();
        }
        $element['default_image']['uuid'] = [
            '#type' => 'managed_file',
            '#title' => t('Image'),
            '#description' => t('Image to be shown if no image is uploaded.'),
            '#default_value' => $fids,
            '#upload_location' => $settings['uri_scheme'] . '://default_images/',
            '#element_validate' => [
                '\\Drupal\\file\\Element\\ManagedFile::validateManagedFile',
                [
                    get_class($this),
                    'validateDefaultImageForm',
                ],
            ],
            '#upload_validators' => $this->getUploadValidators(),
        ];
        $element['default_image']['alt'] = [
            '#type' => 'textfield',
            '#title' => t('Alternative text'),
            '#description' => t('Short description of the image used by screen readers and displayed when the image is not loaded. This is important for accessibility.'),
            '#default_value' => $settings['default_image']['alt'],
            '#maxlength' => 512,
        ];
        $element['default_image']['title'] = [
            '#type' => 'textfield',
            '#title' => t('Title'),
            '#description' => t('The title attribute is used as a tooltip when the mouse hovers over the image.'),
            '#default_value' => $settings['default_image']['title'],
            '#maxlength' => 1024,
        ];
        $element['default_image']['width'] = [
            '#type' => 'value',
            '#value' => $settings['default_image']['width'],
        ];
        $element['default_image']['height'] = [
            '#type' => 'value',
            '#value' => $settings['default_image']['height'],
        ];
    }
    
    /**
     * Validates the managed_file element for the default Image form.
     *
     * This function ensures the fid is a scalar value and not an array. It is
     * assigned as a #element_validate callback in
     * \Drupal\image\Plugin\Field\FieldType\ImageItem::defaultImageForm().
     *
     * @param array $element
     *   The form element to process.
     * @param \Drupal\Core\Form\FormStateInterface $form_state
     *   The form state.
     */
    public static function validateDefaultImageForm(array &$element, FormStateInterface $form_state) {
        // Consolidate the array value of this field to a single FID as #extended
        // for default image is not TRUE and this is a single value.
        if (isset($element['fids']['#value'][0])) {
            $value = $element['fids']['#value'][0];
            // Convert the file ID to a uuid.
            if ($file = \Drupal::entityTypeManager()->getStorage('file')
                ->load($value)) {
                $value = $file->uuid();
            }
        }
        else {
            $value = '';
        }
        $form_state->setValueForElement($element, $value);
    }
    
    /**
     * {@inheritdoc}
     */
    public function isDisplayed() {
        // Image items do not have per-item visibility settings.
        return TRUE;
    }
    
    /**
     * Gets the entity manager.
     *
     * @return \Drupal\Core\Entity\EntityManagerInterface
     *
     * @deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Use
     *   \Drupal::entityTypeManager() instead in most cases. If the needed method
     *   is not on \Drupal\Core\Entity\EntityTypeManagerInterface, see the
     *   deprecated \Drupal\Core\Entity\EntityManager to find the correct
     *   interface or service.
     *
     * @see https://www.drupal.org/node/2549139
     */
    protected function getEntityManager() {
        @trigger_error(__METHOD__ . ' is deprecated in drupal:8.8.0 and is removed in drupal:9.0.0. Use \\Drupal::entityTypeManager() instead in most cases. If the needed method is not on \\Drupal\\Core\\Entity\\EntityTypeManagerInterface, see the deprecated \\Drupal\\Core\\Entity\\EntityManager to find the correct interface or service. See https://www.drupal.org/node/2549139', E_USER_DEPRECATED);
        if (!isset($this->entityManager)) {
            $this->entityManager = \Drupal::entityManager();
        }
        return $this->entityManager;
    }

}

Members

Title Sort descending Deprecated 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 1
DependencySerializationTrait::__wakeup public function 2
EntityReferenceItem::calculateDependencies public static function Calculates dependencies for field items. Overrides FieldItemBase::calculateDependencies
EntityReferenceItem::calculateStorageDependencies public static function Calculates dependencies for field items on the storage level. Overrides FieldItemBase::calculateStorageDependencies
EntityReferenceItem::fieldSettingsAjaxProcess public static function Render API callback: Processes the field settings form and allows access to
the form state.
EntityReferenceItem::fieldSettingsAjaxProcessElement public static function Adds entity_reference specific properties to AJAX form elements from the
field settings form.
EntityReferenceItem::fieldSettingsFormValidate public static function Form element validation handler; Invokes selection plugin&#039;s validation.
EntityReferenceItem::formProcessMergeParent public static function Render API callback: Moves entity_reference specific Form API elements
(i.e. &#039;handler_settings&#039;) up a level for easier processing by the
validation and submission handlers.
EntityReferenceItem::getConstraints public function Gets a list of validation constraints. Overrides TypedData::getConstraints
EntityReferenceItem::getPossibleOptions public function Returns an array of possible values with labels for display. Overrides OptionsProviderInterface::getPossibleOptions
EntityReferenceItem::getPossibleValues public function Returns an array of possible values. Overrides OptionsProviderInterface::getPossibleValues
EntityReferenceItem::getRandomBundle protected static function Gets a bundle for a given entity type and selection options.
EntityReferenceItem::getSettableOptions public function Returns an array of settable values with labels for display. Overrides OptionsProviderInterface::getSettableOptions
EntityReferenceItem::getSettableValues public function Returns an array of settable values. Overrides OptionsProviderInterface::getSettableValues
EntityReferenceItem::getValue public function Gets the data value. Overrides Map::getValue
EntityReferenceItem::hasNewEntity public function Determines whether the item holds an unsaved entity.
EntityReferenceItem::isEmpty public function Determines whether the data structure is empty. Overrides Map::isEmpty
EntityReferenceItem::mainPropertyName public static function Returns the name of the main property, if any. Overrides FieldItemBase::mainPropertyName
EntityReferenceItem::onChange public function React to changes to a child property or item. Overrides Map::onChange
EntityReferenceItem::onDependencyRemoval public static function Informs the plugin that a dependency of the field will be deleted. Overrides FieldItemBase::onDependencyRemoval
EntityReferenceItem::settingsAjax public static function Ajax callback for the handler settings form.
EntityReferenceItem::settingsAjaxSubmit public static function Submit handler for the non-JS case.
EntityReferenceItem::setValue public function Overrides \Drupal\Core\TypedData\TypedData::setValue(). Overrides FieldItemBase::setValue
FieldItemBase::delete public function Defines custom delete behavior for field values. Overrides FieldItemInterface::delete 2
FieldItemBase::deleteRevision public function Defines custom revision delete behavior for field values. Overrides FieldItemInterface::deleteRevision
FieldItemBase::fieldSettingsFromConfigData public static function Returns a settings array in the field type&#039;s canonical representation. Overrides FieldItemInterface::fieldSettingsFromConfigData 1
FieldItemBase::fieldSettingsToConfigData public static function Returns a settings array that can be stored as a configuration value. Overrides FieldItemInterface::fieldSettingsToConfigData 1
FieldItemBase::getEntity public function Gets the entity that field belongs to. Overrides FieldItemInterface::getEntity
FieldItemBase::getFieldDefinition public function Gets the field definition. Overrides FieldItemInterface::getFieldDefinition
FieldItemBase::getLangcode public function Gets the langcode of the field values held in the object. 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::postSave public function Defines custom post-save behavior for field values. Overrides FieldItemInterface::postSave 2
FieldItemBase::storageSettingsFromConfigData public static function Returns a settings array in the field type&#039;s canonical representation. Overrides FieldItemInterface::storageSettingsFromConfigData 2
FieldItemBase::storageSettingsToConfigData public static function Returns a settings array that can be stored as a configuration value. Overrides FieldItemInterface::storageSettingsToConfigData 2
FieldItemBase::view public function Returns a renderable array for a single field item. 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 Constructs a TypedData object given its definition and context. Overrides TypedData::__construct 1
FieldItemBase::__get public function Magic method: Gets a property value. Overrides FieldItemInterface::__get 2
FieldItemBase::__isset public function Magic method: Determines whether a property is set. Overrides FieldItemInterface::__isset
FieldItemBase::__set public function Magic method: Sets a property value. Overrides FieldItemInterface::__set 1
FieldItemBase::__unset public function Magic method: Unsets a property. Overrides FieldItemInterface::__unset
FileItem::doGetUploadLocation protected static function Determines the URI for a file field.
FileItem::getPreconfiguredOptions public static function Returns preconfigured field options for a field type. Overrides EntityReferenceItem::getPreconfiguredOptions
FileItem::getUploadLocation public function Determines the URI for a file field.
FileItem::getUploadValidators public function Retrieves the upload validators for a file field.
FileItem::validateDirectory public static function Form API callback
FileItem::validateExtensions public static function Form API callback.
FileItem::validateMaxFilesize public static function Form API callback.
ImageItem::$entityManager protected property The entity manager.
ImageItem::defaultFieldSettings public static function Defines the field-level settings for this plugin. Overrides FileItem::defaultFieldSettings
ImageItem::defaultImageForm protected function Builds the default_image details element.
ImageItem::defaultStorageSettings public static function Defines the storage-level settings for this plugin. Overrides FileItem::defaultStorageSettings
ImageItem::fieldSettingsForm public function Returns a form for the field-level settings. Overrides FileItem::fieldSettingsForm
ImageItem::generateSampleValue public static function Generates placeholder field values. Overrides FileItem::generateSampleValue
ImageItem::getEntityManager Deprecated protected function Gets the entity manager.
ImageItem::isDisplayed public function Determines whether an item should be displayed when rendering the field. Overrides FileItem::isDisplayed
ImageItem::preSave public function Defines custom presave behavior for field values. Overrides EntityReferenceItem::preSave
ImageItem::propertyDefinitions public static function Defines field item properties. Overrides FileItem::propertyDefinitions
ImageItem::schema public static function Returns the schema for the field. Overrides FileItem::schema
ImageItem::storageSettingsForm public function Returns a form for the storage-level settings. Overrides FileItem::storageSettingsForm
ImageItem::validateDefaultImageForm public static function Validates the managed_file element for the default Image form.
ImageItem::validateResolution public static function Element validate function for resolution fields.
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 Applies the default value. Overrides TypedData::applyDefaultValue 4
Map::get public function Gets a property object. Overrides ComplexDataInterface::get
Map::getIterator public function
Map::getProperties public function Gets an array of property objects. Overrides ComplexDataInterface::getProperties
Map::getString public function Returns a string representation of the data. Overrides TypedData::getString
Map::set public function Sets a property value. Overrides ComplexDataInterface::set
Map::toArray public function Returns an array of all property values. Overrides ComplexDataInterface::toArray 1
Map::__clone public function Magic method: Implements a deep clone.
StringTranslationTrait::$stringTranslation protected property The string translation service.
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 Constructs a TypedData object given its definition and context. Overrides TypedDataInterface::createInstance
TypedData::getDataDefinition public function Gets the data definition. Overrides TypedDataInterface::getDataDefinition
TypedData::getName public function Returns the name of a property or item. Overrides TypedDataInterface::getName
TypedData::getParent public function Returns the parent data structure; i.e. either complex data or a list. Overrides TypedDataInterface::getParent
TypedData::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition
TypedData::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
TypedData::getPropertyPath public function Returns the property path of the data. Overrides TypedDataInterface::getPropertyPath
TypedData::getRoot public function Returns the root of the typed data tree. Overrides TypedDataInterface::getRoot
TypedData::setContext public function Sets the context of a property or item via a context aware parent. Overrides TypedDataInterface::setContext
TypedData::validate public function Validates the currently set data value. 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.