class EntityFormDisplay

Same name in other branches
  1. 9 core/lib/Drupal/Core/Entity/Entity/EntityFormDisplay.php \Drupal\Core\Entity\Entity\EntityFormDisplay
  2. 8.9.x core/lib/Drupal/Core/Entity/Entity/EntityFormDisplay.php \Drupal\Core\Entity\Entity\EntityFormDisplay
  3. 10 core/lib/Drupal/Core/Entity/Entity/EntityFormDisplay.php \Drupal\Core\Entity\Entity\EntityFormDisplay

Configuration entity.

Contains widget options for all components of an entity form in a given form mode.

Plugin annotation


@ConfigEntityType(
  id = "entity_form_display",
  label = @Translation("Entity form display"),
  entity_keys = {
    "id" = "id",
    "status" = "status"
  },
  handlers = {
    "access" = "\Drupal\Core\Entity\Entity\Access\EntityFormDisplayAccessControlHandler",
  },
  config_export = {
    "id",
    "targetEntityType",
    "bundle",
    "mode",
    "content",
    "hidden",
  },
  constraints = {
    "ImmutableProperties" = {"id", "targetEntityType", "bundle", "mode"},
  }
)

Hierarchy

Expanded class hierarchy of EntityFormDisplay

59 files declare their use of EntityFormDisplay
AddFormBase.php in core/modules/media_library/src/Form/AddFormBase.php
CKEditor5FragmentLinkTest.php in core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5FragmentLinkTest.php
ConfigurableLanguageManagerTest.php in core/modules/language/tests/src/Functional/ConfigurableLanguageManagerTest.php
ContentEntityForm.php in core/lib/Drupal/Core/Entity/ContentEntityForm.php
DateTestBase.php in core/modules/datetime/tests/src/Functional/DateTestBase.php

... See full list

File

core/lib/Drupal/Core/Entity/Entity/EntityFormDisplay.php, line 44

Namespace

Drupal\Core\Entity\Entity
View source
class EntityFormDisplay extends EntityDisplayBase implements EntityFormDisplayInterface {
    
    /**
     * {@inheritdoc}
     */
    protected $displayContext = 'form';
    
    /**
     * Returns the entity_form_display object used to build an entity form.
     *
     * Depending on the configuration of the form mode for the entity bundle, this
     * can be either the display object associated with the form mode, or the
     * 'default' display.
     *
     * This method should only be used internally when rendering an entity form.
     * When assigning suggested display options for a component in a given form
     * mode, EntityDisplayRepositoryInterface::getFormDisplay() should be used
     * instead, in order to avoid inadvertently modifying the output of other form
     * modes that might happen to use the 'default' display too. Those options
     * will then be effectively applied only if the form mode is configured to use
     * them.
     *
     * hook_entity_form_display_alter() is invoked on each display, allowing 3rd
     * party code to alter the display options held in the display before they are
     * used to generate render arrays.
     *
     * @param \Drupal\Core\Entity\FieldableEntityInterface $entity
     *   The entity for which the form is being built.
     * @param string $form_mode
     *   The form mode.
     * @param bool $default_fallback
     *   (optional) Whether the default display should be used to initialize the
     *   form display in case the specified display does not exist. Defaults to
     *   TRUE.
     *
     * @return \Drupal\Core\Entity\Display\EntityFormDisplayInterface
     *   The display object that should be used to build the entity form.
     *
     * @see \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getFormDisplay()
     * @see hook_entity_form_display_alter()
     */
    public static function collectRenderDisplay(FieldableEntityInterface $entity, $form_mode, $default_fallback = TRUE) {
        $entity_type = $entity->getEntityTypeId();
        $bundle = $entity->bundle();
        // Allow modules to change the form mode.
        \Drupal::moduleHandler()->alter([
            $entity_type . '_form_mode',
            'entity_form_mode',
        ], $form_mode, $entity);
        // Check the existence and status of:
        // - the display for the form mode,
        // - the 'default' display.
        if ($form_mode != 'default') {
            $candidate_ids[] = $entity_type . '.' . $bundle . '.' . $form_mode;
        }
        if ($default_fallback) {
            $candidate_ids[] = $entity_type . '.' . $bundle . '.default';
        }
        $results = \Drupal::entityQuery('entity_form_display')->condition('id', $candidate_ids)
            ->condition('status', TRUE)
            ->execute();
        // Load the first valid candidate display, if any.
        $storage = \Drupal::entityTypeManager()->getStorage('entity_form_display');
        foreach ($candidate_ids as $candidate_id) {
            if (isset($results[$candidate_id])) {
                $display = $storage->load($candidate_id);
                break;
            }
        }
        // Else create a fresh runtime object.
        if (empty($display)) {
            $display = $storage->create([
                'targetEntityType' => $entity_type,
                'bundle' => $bundle,
                'mode' => $default_fallback ? $form_mode : static::CUSTOM_MODE,
                'status' => TRUE,
            ]);
        }
        // Let the display know which form mode was originally requested.
        $display->originalMode = $form_mode;
        // Let modules alter the display.
        $display_context = [
            'entity_type' => $entity_type,
            'bundle' => $bundle,
            'form_mode' => $form_mode,
        ];
        \Drupal::moduleHandler()->alter('entity_form_display', $display, $display_context);
        return $display;
    }
    
    /**
     * {@inheritdoc}
     */
    public function __construct(array $values, $entity_type) {
        $this->pluginManager = \Drupal::service('plugin.manager.field.widget');
        parent::__construct($values, $entity_type);
    }
    
    /**
     * {@inheritdoc}
     */
    public function getRenderer($field_name) {
        if (isset($this->plugins[$field_name])) {
            return $this->plugins[$field_name];
        }
        // Instantiate the widget object from the stored display properties.
        if (($configuration = $this->getComponent($field_name)) && isset($configuration['type']) && ($definition = $this->getFieldDefinition($field_name))) {
            $widget = $this->pluginManager
                ->getInstance([
                'field_definition' => $definition,
                'form_mode' => $this->originalMode,
                // No need to prepare, defaults have been merged in setComponent().
'prepare' => FALSE,
                'configuration' => $configuration,
            ]);
        }
        else {
            $widget = NULL;
        }
        // Persist the widget object.
        $this->plugins[$field_name] = $widget;
        return $widget;
    }
    
    /**
     * {@inheritdoc}
     */
    public function buildForm(FieldableEntityInterface $entity, array &$form, FormStateInterface $form_state) {
        // Set #parents to 'top-level' by default.
        $form += [
            '#parents' => [],
        ];
        // Let each widget generate the form elements.
        foreach ($this->getComponents() as $name => $options) {
            if ($widget = $this->getRenderer($name)) {
                $items = $entity->get($name);
                $items->filterEmptyItems();
                $form[$name] = $widget->form($items, $form, $form_state);
                $form[$name]['#access'] = $items->access('edit');
                // Assign the correct weight. This duplicates the reordering done in
                // processForm(), but is needed for other forms calling this method
                // directly.
                $form[$name]['#weight'] = $options['weight'];
                // Associate the cache tags for the field definition & field storage
                // definition.
                $field_definition = $this->getFieldDefinition($name);
                $this->renderer
                    ->addCacheableDependency($form[$name], $field_definition);
                $this->renderer
                    ->addCacheableDependency($form[$name], $field_definition->getFieldStorageDefinition());
            }
        }
        // Associate the cache tags for the form display.
        $this->renderer
            ->addCacheableDependency($form, $this);
        // The form might not have the correct cacheability metadata, so make it
        // uncacheable by default.
        // @todo Remove this in https://www.drupal.org/node/3395524.
        $form['#cache']['max-age'] = 0;
        // Add a process callback so we can assign weights and hide extra fields.
        $form['#process'][] = [
            $this,
            'processForm',
        ];
    }
    
    /**
     * Process callback: assigns weights and hides extra fields.
     *
     * @see \Drupal\Core\Entity\Entity\EntityFormDisplay::buildForm()
     */
    public function processForm($element, FormStateInterface $form_state, $form) {
        // Assign the weights configured in the form display.
        foreach ($this->getComponents() as $name => $options) {
            if (isset($element[$name])) {
                $element[$name]['#weight'] = $options['weight'];
            }
        }
        // Hide extra fields.
        $extra_fields = \Drupal::service('entity_field.manager')->getExtraFields($this->targetEntityType, $this->bundle);
        $extra_fields = $extra_fields['form'] ?? [];
        foreach ($extra_fields as $extra_field => $info) {
            if (!$this->getComponent($extra_field)) {
                $element[$extra_field]['#access'] = FALSE;
            }
        }
        return $element;
    }
    
    /**
     * {@inheritdoc}
     */
    public function extractFormValues(FieldableEntityInterface $entity, array &$form, FormStateInterface $form_state) {
        $extracted = [];
        foreach ($entity as $name => $items) {
            if ($widget = $this->getRenderer($name)) {
                $widget->extractFormValues($items, $form, $form_state);
                $extracted[$name] = $name;
            }
        }
        return $extracted;
    }
    
    /**
     * {@inheritdoc}
     */
    public function validateFormValues(FieldableEntityInterface $entity, array &$form, FormStateInterface $form_state) {
        $violations = $entity->validate();
        $violations->filterByFieldAccess();
        // Flag entity level violations.
        foreach ($violations->getEntityViolations() as $violation) {
            
            /** @var \Symfony\Component\Validator\ConstraintViolationInterface $violation */
            $form_state->setError($form, $violation->getMessage());
        }
        $this->flagWidgetsErrorsFromViolations($violations, $form, $form_state);
    }
    
    /**
     * {@inheritdoc}
     */
    public function flagWidgetsErrorsFromViolations(EntityConstraintViolationListInterface $violations, array &$form, FormStateInterface $form_state) {
        $entity = $violations->getEntity();
        foreach ($violations->getFieldNames() as $field_name) {
            // Only show violations for fields that actually appear in the form, and
            // let the widget assign the violations to the correct form elements.
            if ($widget = $this->getRenderer($field_name)) {
                $field_violations = $this->movePropertyPathViolationsRelativeToField($field_name, $violations->getByField($field_name));
                $widget->flagErrors($entity->get($field_name), $field_violations, $form, $form_state);
            }
        }
    }
    
    /**
     * Moves the property path to be relative to field level.
     *
     * @param string $field_name
     *   The field name.
     * @param \Symfony\Component\Validator\ConstraintViolationListInterface $violations
     *   The violations.
     *
     * @return \Symfony\Component\Validator\ConstraintViolationList
     *   A new constraint violation list with the changed property path.
     */
    protected function movePropertyPathViolationsRelativeToField($field_name, ConstraintViolationListInterface $violations) {
        $new_violations = new ConstraintViolationList();
        foreach ($violations as $violation) {
            // All the logic below is necessary to change the property path of the
            // violations to be relative to the item list, so like title.0.value gets
            // changed to 0.value. Sadly constraints in Symfony don't have setters so
            // we have to create new objects.
            
            /** @var \Symfony\Component\Validator\ConstraintViolationInterface $violation */
            // Create a new violation object with just a different property path.
            $violation_path = $violation->getPropertyPath();
            $path_parts = explode('.', $violation_path);
            if ($path_parts[0] === $field_name) {
                unset($path_parts[0]);
            }
            $new_path = implode('.', $path_parts);
            $constraint = NULL;
            $cause = NULL;
            $parameters = [];
            $plural = NULL;
            if ($violation instanceof ConstraintViolation) {
                $constraint = $violation->getConstraint();
                $cause = $violation->getCause();
                $parameters = $violation->getParameters();
                $plural = $violation->getPlural();
            }
            $new_violation = new ConstraintViolation($violation->getMessage(), $violation->getMessageTemplate(), $parameters, $violation->getRoot(), $new_path, $violation->getInvalidValue(), $plural, $violation->getCode(), $constraint, $cause);
            $new_violations->add($new_violation);
        }
        return $new_violations;
    }
    
    /**
     * {@inheritdoc}
     */
    public function getPluginCollections() {
        $configurations = [];
        foreach ($this->getComponents() as $field_name => $configuration) {
            if (!empty($configuration['type']) && ($field_definition = $this->getFieldDefinition($field_name))) {
                $configurations[$configuration['type']] = $configuration + [
                    'field_definition' => $field_definition,
                    'form_mode' => $this->mode,
                ];
            }
        }
        return [
            'widgets' => new EntityDisplayPluginCollection($this->pluginManager, $configurations),
        ];
    }

}

Members

Title Sort descending Modifiers Object type Summary Member alias Overriden Title Overrides
CacheableDependencyTrait::$cacheContexts protected property Cache contexts.
CacheableDependencyTrait::$cacheMaxAge protected property Cache max-age.
CacheableDependencyTrait::$cacheTags protected property Cache tags.
CacheableDependencyTrait::setCacheability protected function Sets cacheability; useful for value object constructors.
ConfigEntityBase::$isUninstalling private property Whether the config is being deleted by the uninstall process.
ConfigEntityBase::$langcode protected property The language code of the entity's default language.
ConfigEntityBase::$originalId protected property The original ID of the configuration entity.
ConfigEntityBase::$third_party_settings protected property
ConfigEntityBase::$trustedData protected property Trust supplied data and not use configuration schema on save.
ConfigEntityBase::$uuid protected property The UUID for this entity.
ConfigEntityBase::$_core protected property
ConfigEntityBase::addDependency protected function Overrides \Drupal\Core\Entity\DependencyTrait:addDependency().
ConfigEntityBase::createDuplicate public function Creates a duplicate of the entity. Overrides EntityBase::createDuplicate 1
ConfigEntityBase::disable public function Disables the configuration entity. Overrides ConfigEntityInterface::disable 1
ConfigEntityBase::enable public function Enables the configuration entity. Overrides ConfigEntityInterface::enable
ConfigEntityBase::get public function Returns the value of a property. Overrides ConfigEntityInterface::get
ConfigEntityBase::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. Overrides EntityBase::getCacheTagsToInvalidate 1
ConfigEntityBase::getConfigDependencyName public function Gets the configuration dependency name. Overrides EntityBase::getConfigDependencyName
ConfigEntityBase::getConfigManager protected static function Gets the configuration manager.
ConfigEntityBase::getConfigTarget public function Gets the configuration target identifier for the entity. Overrides EntityBase::getConfigTarget
ConfigEntityBase::getDependencies public function Gets the configuration dependencies. Overrides ConfigEntityInterface::getDependencies
ConfigEntityBase::getOriginalId public function Gets the original ID. Overrides EntityBase::getOriginalId
ConfigEntityBase::getThirdPartyProviders public function Gets the list of third parties that store information. Overrides ThirdPartySettingsInterface::getThirdPartyProviders
ConfigEntityBase::getThirdPartySetting public function Gets the value of a third-party setting. Overrides ThirdPartySettingsInterface::getThirdPartySetting
ConfigEntityBase::getThirdPartySettings public function Gets all third-party settings of a given module. Overrides ThirdPartySettingsInterface::getThirdPartySettings
ConfigEntityBase::getTypedConfig protected function Gets the typed config manager.
ConfigEntityBase::hasTrustedData public function Gets whether on not the data is trusted. Overrides ConfigEntityInterface::hasTrustedData
ConfigEntityBase::invalidateTagsOnDelete protected static function Override to never invalidate the individual entities' cache tags; the
config system already invalidates them.
Overrides EntityBase::invalidateTagsOnDelete
ConfigEntityBase::invalidateTagsOnSave protected function Override to never invalidate the entity's cache tag; the config system
already invalidates it.
Overrides EntityBase::invalidateTagsOnSave
ConfigEntityBase::isInstallable public function Checks whether this entity is installable. Overrides ConfigEntityInterface::isInstallable 2
ConfigEntityBase::isNew public function Overrides EntityBase::isNew(). Overrides EntityBase::isNew
ConfigEntityBase::isUninstalling public function Returns whether this entity is being changed during the uninstall process. Overrides ConfigEntityInterface::isUninstalling
ConfigEntityBase::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. Overrides EntityBase::preDelete 8
ConfigEntityBase::save public function Saves an entity permanently. Overrides EntityBase::save 2
ConfigEntityBase::setOriginalId public function Sets the original ID. Overrides EntityBase::setOriginalId
ConfigEntityBase::setStatus public function Sets the status of the configuration entity. Overrides ConfigEntityInterface::setStatus
ConfigEntityBase::setThirdPartySetting public function Sets the value of a third-party setting. Overrides ThirdPartySettingsInterface::setThirdPartySetting
ConfigEntityBase::setUninstalling public function
ConfigEntityBase::sort public static function Helper callback for uasort() to sort configuration entities by weight and label. 6
ConfigEntityBase::status public function Returns whether the configuration entity is enabled. Overrides ConfigEntityInterface::status 4
ConfigEntityBase::toUrl public function Gets the URL object for the entity. Overrides EntityBase::toUrl
ConfigEntityBase::trustData public function Sets that the data should be trusted. Overrides ConfigEntityInterface::trustData
ConfigEntityBase::unsetThirdPartySetting public function Unsets a third-party setting. Overrides ThirdPartySettingsInterface::unsetThirdPartySetting
DependencySerializationTrait::$_entityStorages protected property
DependencySerializationTrait::$_serviceIds protected property
DependencySerializationTrait::__sleep public function Aliased as: traitSleep 1
DependencyTrait::$dependencies protected property The object's dependencies.
DependencyTrait::addDependencies protected function Adds multiple dependencies.
DependencyTrait::addDependency protected function Adds a dependency. Aliased as: addDependencyTrait
EntityBase::$enforceIsNew protected property Boolean indicating whether the entity should be forced to be new.
EntityBase::$entityTypeId protected property The entity type.
EntityBase::$typedData protected property A typed data object wrapping this entity.
EntityBase::access public function Overrides AccessibleInterface::access 1
EntityBase::bundle public function Overrides EntityInterface::bundle 1
EntityBase::create public static function Overrides EntityInterface::create 2
EntityBase::delete public function Overrides EntityInterface::delete 1
EntityBase::enforceIsNew public function Overrides EntityInterface::enforceIsNew
EntityBase::entityTypeBundleInfo protected function Gets the entity type bundle info service.
EntityBase::entityTypeManager protected function Gets the entity type manager.
EntityBase::getCacheContexts public function Overrides CacheableDependencyTrait::getCacheContexts
EntityBase::getCacheMaxAge public function Overrides CacheableDependencyTrait::getCacheMaxAge
EntityBase::getCacheTags public function Overrides CacheableDependencyTrait::getCacheTags
EntityBase::getConfigDependencyKey public function Overrides EntityInterface::getConfigDependencyKey
EntityBase::getEntityType public function Overrides EntityInterface::getEntityType 1
EntityBase::getEntityTypeId public function Overrides EntityInterface::getEntityTypeId
EntityBase::getListCacheTagsToInvalidate protected function The list cache tags to invalidate for this entity.
EntityBase::getTypedData public function Overrides EntityInterface::getTypedData
EntityBase::getTypedDataClass private function Returns the typed data class name for this entity.
EntityBase::hasLinkTemplate public function Overrides EntityInterface::hasLinkTemplate
EntityBase::label public function Overrides EntityInterface::label 6
EntityBase::language public function Overrides EntityInterface::language 1
EntityBase::languageManager protected function Gets the language manager.
EntityBase::linkTemplates protected function Gets an array link templates. 1
EntityBase::load public static function Overrides EntityInterface::load
EntityBase::loadMultiple public static function Overrides EntityInterface::loadMultiple
EntityBase::postCreate public function Overrides EntityInterface::postCreate 5
EntityBase::postDelete public static function Overrides EntityInterface::postDelete 17
EntityBase::postLoad public static function Overrides EntityInterface::postLoad 3
EntityBase::postSave public function Overrides EntityInterface::postSave 13
EntityBase::preCreate public static function Overrides EntityInterface::preCreate 6
EntityBase::referencedEntities public function Overrides EntityInterface::referencedEntities 1
EntityBase::toLink public function Overrides EntityInterface::toLink
EntityBase::uriRelationships public function Overrides EntityInterface::uriRelationships
EntityBase::urlRouteParameters protected function Gets an array of placeholders for this entity. 2
EntityBase::uuid public function Overrides EntityInterface::uuid 1
EntityBase::uuidGenerator protected function Gets the UUID generator.
EntityDisplayBase::$bundle protected property Bundle to be displayed.
EntityDisplayBase::$content protected property List of component display options, keyed by component name.
EntityDisplayBase::$fieldDefinitions protected property A list of field definitions eligible for configuration in this display.
EntityDisplayBase::$hidden protected property List of components that are set to be hidden.
EntityDisplayBase::$id protected property Unique ID for the config entity.
EntityDisplayBase::$initialized protected property A boolean indicating whether or not this display has been initialized.
EntityDisplayBase::$mode protected property View or form mode to be displayed.
EntityDisplayBase::$originalMode protected property The original view or form mode that was requested.
EntityDisplayBase::$pluginManager protected property The plugin manager used by this entity type.
EntityDisplayBase::$plugins protected property The plugin objects used for this display, keyed by field name.
EntityDisplayBase::$renderer protected property The renderer.
EntityDisplayBase::$status protected property Whether this display is enabled or not. Overrides ConfigEntityBase::$status
EntityDisplayBase::$targetEntityType protected property Entity type to be displayed.
EntityDisplayBase::calculateDependencies public function Calculates dependencies and stores them in the dependency property. Overrides ConfigEntityBase::calculateDependencies 1
EntityDisplayBase::createCopy public function Creates a duplicate of the entity display object on a different view mode. Overrides EntityDisplayInterface::createCopy 1
EntityDisplayBase::CUSTOM_MODE constant The mode used to render entities with arbitrary display options.
EntityDisplayBase::fieldHasDisplayOptions private function Determines if a field has options for a given display.
EntityDisplayBase::getComponent public function Gets the display options set for a component. Overrides EntityDisplayInterface::getComponent 1
EntityDisplayBase::getComponents public function Gets the display options for all components. Overrides EntityDisplayInterface::getComponents
EntityDisplayBase::getDefaultRegion protected function Gets the default region. 1
EntityDisplayBase::getFieldDefinition protected function Gets the field definition of a field.
EntityDisplayBase::getFieldDefinitions protected function Gets the definitions of the fields that are candidate for display.
EntityDisplayBase::getHighestWeight public function Gets the highest weight of the components in the display. Overrides EntityDisplayInterface::getHighestWeight
EntityDisplayBase::getLogger protected function Provides the 'system' channel logger service.
EntityDisplayBase::getMode public function Gets the view or form mode to be displayed. Overrides EntityDisplayInterface::getMode
EntityDisplayBase::getOriginalMode public function Gets the original view or form mode that was requested. Overrides EntityDisplayInterface::getOriginalMode
EntityDisplayBase::getPluginRemovedDependencies protected function Returns the plugin dependencies being removed.
EntityDisplayBase::getTargetBundle public function Gets the bundle to be displayed. Overrides EntityDisplayInterface::getTargetBundle
EntityDisplayBase::getTargetEntityTypeId public function Gets the entity type for which this display is used. Overrides EntityDisplayInterface::getTargetEntityTypeId
EntityDisplayBase::id public function Gets the identifier. Overrides EntityBase::id
EntityDisplayBase::init protected function Initializes the display.
EntityDisplayBase::onDependencyRemoval public function Informs the entity that entities it depends on will be deleted. Overrides ConfigEntityBase::onDependencyRemoval 1
EntityDisplayBase::preSave public function Acts on an entity before the presave hook is invoked. Overrides ConfigEntityBase::preSave 1
EntityDisplayBase::removeComponent public function Sets a component to be hidden. Overrides EntityDisplayInterface::removeComponent
EntityDisplayBase::set public function Sets the value of a property. Overrides ConfigEntityBase::set
EntityDisplayBase::setComponent public function Sets the display options for a component. Overrides EntityDisplayInterface::setComponent 1
EntityDisplayBase::setTargetBundle public function Sets the bundle to be displayed. Overrides EntityDisplayInterface::setTargetBundle
EntityDisplayBase::toArray public function Gets an array of all property values. Overrides ConfigEntityBase::toArray
EntityDisplayBase::__sleep public function Overrides ConfigEntityBase::__sleep
EntityDisplayBase::__wakeup public function Overrides DependencySerializationTrait::__wakeup
EntityFormDisplay::$displayContext protected property Context in which this entity will be used (e.g. 'view', 'form'). Overrides EntityDisplayBase::$displayContext
EntityFormDisplay::buildForm public function Adds field widgets to an entity form. Overrides EntityFormDisplayInterface::buildForm
EntityFormDisplay::collectRenderDisplay public static function Returns the entity_form_display object used to build an entity form.
EntityFormDisplay::extractFormValues public function Extracts field values from the submitted widget values into the entity. Overrides EntityFormDisplayInterface::extractFormValues
EntityFormDisplay::flagWidgetsErrorsFromViolations public function Flags entity validation violations as form errors. Overrides EntityFormDisplayInterface::flagWidgetsErrorsFromViolations
EntityFormDisplay::getPluginCollections public function
EntityFormDisplay::getRenderer public function Gets the renderer plugin for a field (e.g. widget, formatter). Overrides EntityDisplayInterface::getRenderer
EntityFormDisplay::movePropertyPathViolationsRelativeToField protected function Moves the property path to be relative to field level.
EntityFormDisplay::processForm public function Process callback: assigns weights and hides extra fields.
EntityFormDisplay::validateFormValues public function Validates submitted widget values and sets the corresponding form errors. Overrides EntityFormDisplayInterface::validateFormValues
EntityFormDisplay::__construct public function Constructs an Entity object. Overrides EntityDisplayBase::__construct
PluginDependencyTrait::calculatePluginDependencies protected function Calculates and adds dependencies of a specific plugin instance. 1
PluginDependencyTrait::getPluginDependencies protected function Calculates and returns dependencies of a specific plugin instance.
PluginDependencyTrait::moduleHandler protected function Wraps the module handler. 1
PluginDependencyTrait::themeHandler protected function Wraps the theme handler. 1
RefinableCacheableDependencyTrait::addCacheableDependency public function 1
RefinableCacheableDependencyTrait::addCacheContexts public function
RefinableCacheableDependencyTrait::addCacheTags public function
RefinableCacheableDependencyTrait::mergeCacheMaxAge public function
SynchronizableEntityTrait::$isSyncing protected property Is entity being created updated or deleted through synchronization process.
SynchronizableEntityTrait::isSyncing public function
SynchronizableEntityTrait::setSyncing public function

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