eca-1.0.x-dev/modules/content/src/Event/OptionsSelection.php
modules/content/src/Event/OptionsSelection.php
<?php namespace Drupal\eca_content\Event; use Drupal\Core\Entity\ContentEntityInterface; use Drupal\Core\Field\FieldStorageDefinitionInterface; /** * Dispatches on event-based options selection. * * @internal * This class is not meant to be used as a public API. It is subject for name * change or may be removed completely, also on minor version updates. */ class OptionsSelection extends FieldSelectionBase { /** * The field storage definition. * * @var \Drupal\Core\Field\FieldStorageDefinitionInterface */ public FieldStorageDefinitionInterface $fieldStorageDefinition; /** * The according entity. * * @var \Drupal\Core\Entity\ContentEntityInterface|null */ public ?ContentEntityInterface $entity; /** * The current list of allowed values. * * @var array */ public array $allowedValues; /** * Constructs a new event. * * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $field_storage_definition * The field storage definition. * @param \Drupal\Core\Entity\ContentEntityInterface|null $entity * The according entity. * @param array $allowed_values * The current list of allowed values. */ public function __construct(FieldStorageDefinitionInterface $field_storage_definition, ?ContentEntityInterface $entity, array $allowed_values) { $this->fieldStorageDefinition = $field_storage_definition; $this->entity = $entity; $this->allowedValues = $allowed_values; } /** * {@inheritdoc} */ public function getEntity(): ContentEntityInterface { return $this->entity; } /** * Returns TRUE if the event has an entity. * * @return bool * TRUE, if an entity is available, FALSE otherwise. */ public function hasEntity(): bool { return ($this->entity !== NULL); } }