comparison core/modules/views/src/Entity/Render/EntityFieldRenderer.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents c75dbcec494b
children
comparison
equal deleted inserted replaced
4:a9cd425dd02b 5:12f9dff5fda9
1 <?php 1 <?php
2 2
3 namespace Drupal\views\Entity\Render; 3 namespace Drupal\views\Entity\Render;
4 4
5 use Drupal\Core\DependencyInjection\DependencySerializationTrait; 5 use Drupal\Core\DependencyInjection\DependencySerializationTrait;
6 use Drupal\Core\DependencyInjection\DeprecatedServicePropertyTrait;
6 use Drupal\Core\Entity\Entity\EntityViewDisplay; 7 use Drupal\Core\Entity\Entity\EntityViewDisplay;
7 use Drupal\Core\Entity\EntityManagerInterface; 8 use Drupal\Core\Entity\EntityRepositoryInterface;
8 use Drupal\Core\Entity\EntityTypeInterface; 9 use Drupal\Core\Entity\EntityTypeInterface;
10 use Drupal\Core\Entity\EntityTypeManagerInterface;
9 use Drupal\Core\Language\LanguageManagerInterface; 11 use Drupal\Core\Language\LanguageManagerInterface;
10 use Drupal\views\Plugin\views\field\EntityField; 12 use Drupal\views\Plugin\views\field\EntityField;
11 use Drupal\views\Plugin\views\query\QueryPluginBase; 13 use Drupal\views\Plugin\views\query\QueryPluginBase;
12 use Drupal\views\ResultRow; 14 use Drupal\views\ResultRow;
13 use Drupal\views\ViewExecutable; 15 use Drupal\views\ViewExecutable;
20 * used internally to handle entity language properly. 22 * used internally to handle entity language properly.
21 */ 23 */
22 class EntityFieldRenderer extends RendererBase { 24 class EntityFieldRenderer extends RendererBase {
23 use EntityTranslationRenderTrait; 25 use EntityTranslationRenderTrait;
24 use DependencySerializationTrait; 26 use DependencySerializationTrait;
27 use DeprecatedServicePropertyTrait;
28
29 /**
30 * {@inheritdoc}
31 */
32 protected $deprecatedProperties = ['entityManager' => 'entity.manager'];
25 33
26 /** 34 /**
27 * The relationship being handled. 35 * The relationship being handled.
28 * 36 *
29 * @var string 37 * @var string
30 */ 38 */
31 protected $relationship; 39 protected $relationship;
32 40
33 /** 41 /**
34 * The entity manager. 42 * The entity type manager.
35 * 43 *
36 * @var \Drupal\Core\Entity\EntityManagerInterface 44 * @var \Drupal\Core\Entity\EntityTypeManagerInterface
37 */ 45 */
38 protected $entityManager; 46 protected $entityTypeManager;
47
48 /**
49 * The entity repository service.
50 *
51 * @var \Drupal\Core\Entity\EntityRepositoryInterface
52 */
53 protected $entityRepository;
39 54
40 /** 55 /**
41 * A list of indexes of rows whose fields have already been rendered. 56 * A list of indexes of rows whose fields have already been rendered.
42 * 57 *
43 * @var int[] 58 * @var int[]
53 * The relationship to be handled. 68 * The relationship to be handled.
54 * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager 69 * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
55 * The language manager. 70 * The language manager.
56 * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type 71 * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
57 * The entity type. 72 * The entity type.
58 * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager 73 * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
59 * The entity manager. 74 * The entity type manager.
60 */ 75 * @param \Drupal\Core\Entity\EntityRepositoryInterface $entity_repository
61 public function __construct(ViewExecutable $view, $relationship, LanguageManagerInterface $language_manager, EntityTypeInterface $entity_type, EntityManagerInterface $entity_manager) { 76 * The entity repository.
77 */
78 public function __construct(ViewExecutable $view, $relationship, LanguageManagerInterface $language_manager, EntityTypeInterface $entity_type, EntityTypeManagerInterface $entity_type_manager, EntityRepositoryInterface $entity_repository = NULL) {
62 parent::__construct($view, $language_manager, $entity_type); 79 parent::__construct($view, $language_manager, $entity_type);
63 $this->relationship = $relationship; 80 $this->relationship = $relationship;
64 $this->entityManager = $entity_manager; 81 $this->entityTypeManager = $entity_type_manager;
82 if (!$entity_repository) {
83 @trigger_error('Calling EntityFieldRenderer::__construct() with the $entity_repository argument is supported in drupal:8.7.0 and will be required before drupal:9.0.0. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
84 $entity_repository = \Drupal::service('entity.repository');
85 }
86 $this->entityRepository = $entity_repository;
65 } 87 }
66 88
67 /** 89 /**
68 * {@inheritdoc} 90 * {@inheritdoc}
69 */ 91 */
80 102
81 /** 103 /**
82 * {@inheritdoc} 104 * {@inheritdoc}
83 */ 105 */
84 protected function getEntityManager() { 106 protected function getEntityManager() {
107 // This relies on DeprecatedServicePropertyTrait to trigger a deprecation
108 // message in case it is accessed.
85 return $this->entityManager; 109 return $this->entityManager;
110 }
111
112 /**
113 * {@inheritdoc}
114 */
115 protected function getEntityTypeManager() {
116 return $this->entityTypeManager;
117 }
118
119 /**
120 * {@inheritdoc}
121 */
122 protected function getEntityRepository() {
123 return $this->entityRepository;
86 } 124 }
87 125
88 /** 126 /**
89 * {@inheritdoc} 127 * {@inheritdoc}
90 */ 128 */