Loading src/EntityEmbedDisplay/FieldFormatterEntityEmbedDisplayBase.php +23 −37 Original line number Diff line number Diff line Loading @@ -48,44 +48,14 @@ abstract class FieldFormatterEntityEmbedDisplayBase extends EntityEmbedDisplayBa */ protected $fieldFormatter; /** * Constructs a FieldFormatterEntityEmbedDisplayBase object. * * @param array $configuration * A configuration array containing information about the plugin instance. * @param string $plugin_id * The plugin_id for the plugin instance. * @param mixed $plugin_definition * The plugin implementation definition. * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager * The entity type manager service. * @param \Drupal\Core\Field\FormatterPluginManager $formatter_plugin_manager * The field formatter plugin manager. * @param \Drupal\Core\TypedData\TypedDataManager $typed_data_manager * The typed data manager. * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager * The language manager. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, FormatterPluginManager $formatter_plugin_manager, TypedDataManager $typed_data_manager, LanguageManagerInterface $language_manager) { $this->formatterPluginManager = $formatter_plugin_manager; $this->setConfiguration($configuration); $this->typedDataManager = $typed_data_manager; parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $language_manager); } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->get('entity_type.manager'), $container->get('plugin.manager.field.formatter'), $container->get('typed_data_manager'), $container->get('language_manager') ); $instance = parent::create($container, $configuration, $plugin_id, $plugin_definition); $instance->formatterPluginManager = $container->get('plugin.manager.field.formatter'); $instance->typedDataManager = $container->get('typed_data_manager'); return $instance; } /** Loading Loading @@ -130,7 +100,7 @@ abstract class FieldFormatterEntityEmbedDisplayBase extends EntityEmbedDisplayBa * Returns the access result. */ protected function isApplicableFieldFormatter() { $definition = $this->formatterPluginManager->getDefinition($this->getFieldFormatterId()); $definition = $this->formatterPluginManager()->getDefinition($this->getFieldFormatterId()); return AccessResult::allowedIf($definition['class']::isApplicable($this->getFieldDefinition())); } Loading Loading @@ -180,7 +150,7 @@ abstract class FieldFormatterEntityEmbedDisplayBase extends EntityEmbedDisplayBa * {@inheritdoc} */ public function defaultConfiguration() { return $this->formatterPluginManager->getDefaultSettings($this->getFieldFormatterId()); return $this->formatterPluginManager()->getDefaultSettings($this->getFieldFormatterId()); } /** Loading Loading @@ -240,11 +210,27 @@ abstract class FieldFormatterEntityEmbedDisplayBase extends EntityEmbedDisplayBa public function calculateDependencies() { $this->addDependencies(parent::calculateDependencies()); $definition = $this->formatterPluginManager->getDefinition($this->getFieldFormatterId()); $definition = $this->formatterPluginManager()->getDefinition($this->getFieldFormatterId()); $this->addDependency('module', $definition['provider']); // @todo Investigate why this does not work currently. // $this->calculatePluginDependencies($this->getFieldFormatter()); return $this->dependencies; } /** * Gets the field formatter plugin manager. * * This is needed for the defaultConfiguration() method since that gets * invoked via the constructor, and our services are injected after the * constructor are called. * * @return \Drupal\Core\Field\FormatterPluginManager */ public function formatterPluginManager() { if (!isset($this->formatterPluginManager)) { $this->formatterPluginManager = \Drupal::service('plugin.manager.field.formatter'); } return $this->formatterPluginManager; } } src/Plugin/entity_embed/EntityEmbedDisplay/EntityReferenceFieldFormatter.php +3 −36 Original line number Diff line number Diff line Loading @@ -35,46 +35,13 @@ class EntityReferenceFieldFormatter extends FieldFormatterEntityEmbedDisplayBase */ protected $configFactory; /** * Constructs a new EntityReferenceFieldFormatter. * * @param array $configuration * A configuration array containing information about the plugin instance. * @param string $plugin_id * The plugin_id for the plugin instance. * @param mixed $plugin_definition * The plugin implementation definition. * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager * The entity type manager service. * @param \Drupal\Core\Field\FormatterPluginManager $formatter_plugin_manager * The field formatter plugin manager. * @param \Drupal\Core\TypedData\TypedDataManager $typed_data_manager * The typed data manager. * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager * The language manager. * @param \Drupal\Core\Config\ConfigFactoryInterface|null $config_factory * The configuration factory, or null to get from global container for * backwards compatibility. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, FormatterPluginManager $formatter_plugin_manager, TypedDataManager $typed_data_manager, LanguageManagerInterface $language_manager, ConfigFactoryInterface $config_factory = NULL) { parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $formatter_plugin_manager, $typed_data_manager, $language_manager); $this->configFactory = $config_factory instanceof ConfigFactoryInterface ? $config_factory : \Drupal::configFactory(); } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->get('entity_type.manager'), $container->get('plugin.manager.field.formatter'), $container->get('typed_data_manager'), $container->get('language_manager'), $container->get('config.factory') ); $instance = parent::create($container, $configuration, $plugin_id, $plugin_definition); $instance->configFactory = $container->get('config.factory'); return $instance; } /** Loading src/Plugin/entity_embed/EntityEmbedDisplay/ImageFieldFormatter.php +4 −39 Original line number Diff line number Diff line Loading @@ -43,49 +43,14 @@ class ImageFieldFormatter extends FileFieldFormatter { */ protected $messenger; /** * Constructs an ImageFieldFormatter object. * * @param array $configuration * A configuration array containing information about the plugin instance. * @param string $plugin_id * The plugin_id for the plugin instance. * @param mixed $plugin_definition * The plugin implementation definition. * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager * The entity manager service. * @param \Drupal\Core\Field\FormatterPluginManager $formatter_plugin_manager * The field formatter plugin manager. * @param \Drupal\Core\TypedData\TypedDataManager $typed_data_manager * The typed data manager. * @param \Drupal\Core\Image\ImageFactory $image_factory * The image factory. * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager * The language manager. * @param \Drupal\Core\Messenger\MessengerInterface $messenger * The messenger. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, FormatterPluginManager $formatter_plugin_manager, TypedDataManager $typed_data_manager, ImageFactory $image_factory, LanguageManagerInterface $language_manager, MessengerInterface $messenger) { parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $formatter_plugin_manager, $typed_data_manager, $language_manager); $this->imageFactory = $image_factory; $this->messenger = $messenger; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->get('entity_type.manager'), $container->get('plugin.manager.field.formatter'), $container->get('typed_data_manager'), $container->get('image.factory'), $container->get('language_manager'), $container->get('messenger') ); $instance = parent::create($container, $configuration, $plugin_id, $plugin_definition); $instance->imageFactory = $container->get('image.factory'); $instance->messenger = $container->get('messenger'); return $instance; } /** Loading tests/src/Functional/EntityEmbedDisplayManagerTest.php +1 −4 Original line number Diff line number Diff line Loading @@ -82,10 +82,7 @@ class EntityEmbedDisplayManagerTest extends BrowserTestBase { $this->imageButton->save(); // Create a sample image to embed. $entity_embed_path = $this->container->get('module_handler') ->getModule('entity_embed') ->getPath(); \Drupal::service('file_system')->copy($entity_embed_path . '/js/plugins/drupalentity/entity.png', 'public://example1.png'); \Drupal::service('file_system')->copy('core/tests/fixtures/files/image-1.png', 'public://example1.png'); // Resize the test image so that it will be scaled down during token // replacement. Loading Loading
src/EntityEmbedDisplay/FieldFormatterEntityEmbedDisplayBase.php +23 −37 Original line number Diff line number Diff line Loading @@ -48,44 +48,14 @@ abstract class FieldFormatterEntityEmbedDisplayBase extends EntityEmbedDisplayBa */ protected $fieldFormatter; /** * Constructs a FieldFormatterEntityEmbedDisplayBase object. * * @param array $configuration * A configuration array containing information about the plugin instance. * @param string $plugin_id * The plugin_id for the plugin instance. * @param mixed $plugin_definition * The plugin implementation definition. * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager * The entity type manager service. * @param \Drupal\Core\Field\FormatterPluginManager $formatter_plugin_manager * The field formatter plugin manager. * @param \Drupal\Core\TypedData\TypedDataManager $typed_data_manager * The typed data manager. * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager * The language manager. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, FormatterPluginManager $formatter_plugin_manager, TypedDataManager $typed_data_manager, LanguageManagerInterface $language_manager) { $this->formatterPluginManager = $formatter_plugin_manager; $this->setConfiguration($configuration); $this->typedDataManager = $typed_data_manager; parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $language_manager); } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->get('entity_type.manager'), $container->get('plugin.manager.field.formatter'), $container->get('typed_data_manager'), $container->get('language_manager') ); $instance = parent::create($container, $configuration, $plugin_id, $plugin_definition); $instance->formatterPluginManager = $container->get('plugin.manager.field.formatter'); $instance->typedDataManager = $container->get('typed_data_manager'); return $instance; } /** Loading Loading @@ -130,7 +100,7 @@ abstract class FieldFormatterEntityEmbedDisplayBase extends EntityEmbedDisplayBa * Returns the access result. */ protected function isApplicableFieldFormatter() { $definition = $this->formatterPluginManager->getDefinition($this->getFieldFormatterId()); $definition = $this->formatterPluginManager()->getDefinition($this->getFieldFormatterId()); return AccessResult::allowedIf($definition['class']::isApplicable($this->getFieldDefinition())); } Loading Loading @@ -180,7 +150,7 @@ abstract class FieldFormatterEntityEmbedDisplayBase extends EntityEmbedDisplayBa * {@inheritdoc} */ public function defaultConfiguration() { return $this->formatterPluginManager->getDefaultSettings($this->getFieldFormatterId()); return $this->formatterPluginManager()->getDefaultSettings($this->getFieldFormatterId()); } /** Loading Loading @@ -240,11 +210,27 @@ abstract class FieldFormatterEntityEmbedDisplayBase extends EntityEmbedDisplayBa public function calculateDependencies() { $this->addDependencies(parent::calculateDependencies()); $definition = $this->formatterPluginManager->getDefinition($this->getFieldFormatterId()); $definition = $this->formatterPluginManager()->getDefinition($this->getFieldFormatterId()); $this->addDependency('module', $definition['provider']); // @todo Investigate why this does not work currently. // $this->calculatePluginDependencies($this->getFieldFormatter()); return $this->dependencies; } /** * Gets the field formatter plugin manager. * * This is needed for the defaultConfiguration() method since that gets * invoked via the constructor, and our services are injected after the * constructor are called. * * @return \Drupal\Core\Field\FormatterPluginManager */ public function formatterPluginManager() { if (!isset($this->formatterPluginManager)) { $this->formatterPluginManager = \Drupal::service('plugin.manager.field.formatter'); } return $this->formatterPluginManager; } }
src/Plugin/entity_embed/EntityEmbedDisplay/EntityReferenceFieldFormatter.php +3 −36 Original line number Diff line number Diff line Loading @@ -35,46 +35,13 @@ class EntityReferenceFieldFormatter extends FieldFormatterEntityEmbedDisplayBase */ protected $configFactory; /** * Constructs a new EntityReferenceFieldFormatter. * * @param array $configuration * A configuration array containing information about the plugin instance. * @param string $plugin_id * The plugin_id for the plugin instance. * @param mixed $plugin_definition * The plugin implementation definition. * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager * The entity type manager service. * @param \Drupal\Core\Field\FormatterPluginManager $formatter_plugin_manager * The field formatter plugin manager. * @param \Drupal\Core\TypedData\TypedDataManager $typed_data_manager * The typed data manager. * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager * The language manager. * @param \Drupal\Core\Config\ConfigFactoryInterface|null $config_factory * The configuration factory, or null to get from global container for * backwards compatibility. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, FormatterPluginManager $formatter_plugin_manager, TypedDataManager $typed_data_manager, LanguageManagerInterface $language_manager, ConfigFactoryInterface $config_factory = NULL) { parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $formatter_plugin_manager, $typed_data_manager, $language_manager); $this->configFactory = $config_factory instanceof ConfigFactoryInterface ? $config_factory : \Drupal::configFactory(); } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->get('entity_type.manager'), $container->get('plugin.manager.field.formatter'), $container->get('typed_data_manager'), $container->get('language_manager'), $container->get('config.factory') ); $instance = parent::create($container, $configuration, $plugin_id, $plugin_definition); $instance->configFactory = $container->get('config.factory'); return $instance; } /** Loading
src/Plugin/entity_embed/EntityEmbedDisplay/ImageFieldFormatter.php +4 −39 Original line number Diff line number Diff line Loading @@ -43,49 +43,14 @@ class ImageFieldFormatter extends FileFieldFormatter { */ protected $messenger; /** * Constructs an ImageFieldFormatter object. * * @param array $configuration * A configuration array containing information about the plugin instance. * @param string $plugin_id * The plugin_id for the plugin instance. * @param mixed $plugin_definition * The plugin implementation definition. * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager * The entity manager service. * @param \Drupal\Core\Field\FormatterPluginManager $formatter_plugin_manager * The field formatter plugin manager. * @param \Drupal\Core\TypedData\TypedDataManager $typed_data_manager * The typed data manager. * @param \Drupal\Core\Image\ImageFactory $image_factory * The image factory. * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager * The language manager. * @param \Drupal\Core\Messenger\MessengerInterface $messenger * The messenger. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, FormatterPluginManager $formatter_plugin_manager, TypedDataManager $typed_data_manager, ImageFactory $image_factory, LanguageManagerInterface $language_manager, MessengerInterface $messenger) { parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $formatter_plugin_manager, $typed_data_manager, $language_manager); $this->imageFactory = $image_factory; $this->messenger = $messenger; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->get('entity_type.manager'), $container->get('plugin.manager.field.formatter'), $container->get('typed_data_manager'), $container->get('image.factory'), $container->get('language_manager'), $container->get('messenger') ); $instance = parent::create($container, $configuration, $plugin_id, $plugin_definition); $instance->imageFactory = $container->get('image.factory'); $instance->messenger = $container->get('messenger'); return $instance; } /** Loading
tests/src/Functional/EntityEmbedDisplayManagerTest.php +1 −4 Original line number Diff line number Diff line Loading @@ -82,10 +82,7 @@ class EntityEmbedDisplayManagerTest extends BrowserTestBase { $this->imageButton->save(); // Create a sample image to embed. $entity_embed_path = $this->container->get('module_handler') ->getModule('entity_embed') ->getPath(); \Drupal::service('file_system')->copy($entity_embed_path . '/js/plugins/drupalentity/entity.png', 'public://example1.png'); \Drupal::service('file_system')->copy('core/tests/fixtures/files/image-1.png', 'public://example1.png'); // Resize the test image so that it will be scaled down during token // replacement. Loading