Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\config_translation\Routing;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\Core\Routing\RouteSubscriberBase;
|
Chris@0
|
6 use Drupal\config_translation\ConfigMapperManagerInterface;
|
Chris@0
|
7 use Drupal\Core\Routing\RoutingEvents;
|
Chris@0
|
8 use Symfony\Component\Routing\RouteCollection;
|
Chris@0
|
9
|
Chris@0
|
10 /**
|
Chris@0
|
11 * Listens to the dynamic route events.
|
Chris@0
|
12 */
|
Chris@0
|
13 class RouteSubscriber extends RouteSubscriberBase {
|
Chris@0
|
14
|
Chris@0
|
15 /**
|
Chris@0
|
16 * The mapper plugin discovery service.
|
Chris@0
|
17 *
|
Chris@0
|
18 * @var \Drupal\config_translation\ConfigMapperManagerInterface
|
Chris@0
|
19 */
|
Chris@0
|
20 protected $mapperManager;
|
Chris@0
|
21
|
Chris@0
|
22 /**
|
Chris@0
|
23 * Constructs a new RouteSubscriber.
|
Chris@0
|
24 *
|
Chris@0
|
25 * @param \Drupal\config_translation\ConfigMapperManagerInterface $mapper_manager
|
Chris@0
|
26 * The mapper plugin discovery service.
|
Chris@0
|
27 */
|
Chris@0
|
28 public function __construct(ConfigMapperManagerInterface $mapper_manager) {
|
Chris@0
|
29 $this->mapperManager = $mapper_manager;
|
Chris@0
|
30 }
|
Chris@0
|
31
|
Chris@0
|
32 /**
|
Chris@0
|
33 * {@inheritdoc}
|
Chris@0
|
34 */
|
Chris@0
|
35 protected function alterRoutes(RouteCollection $collection) {
|
Chris@0
|
36 $mappers = $this->mapperManager->getMappers($collection);
|
Chris@0
|
37
|
Chris@0
|
38 foreach ($mappers as $mapper) {
|
Chris@0
|
39 $collection->add($mapper->getOverviewRouteName(), $mapper->getOverviewRoute());
|
Chris@0
|
40 $collection->add($mapper->getAddRouteName(), $mapper->getAddRoute());
|
Chris@0
|
41 $collection->add($mapper->getEditRouteName(), $mapper->getEditRoute());
|
Chris@0
|
42 $collection->add($mapper->getDeleteRouteName(), $mapper->getDeleteRoute());
|
Chris@0
|
43 }
|
Chris@0
|
44 }
|
Chris@0
|
45
|
Chris@0
|
46 /**
|
Chris@0
|
47 * {@inheritdoc}
|
Chris@0
|
48 */
|
Chris@0
|
49 public static function getSubscribedEvents() {
|
Chris@0
|
50 // Come after field_ui.
|
Chris@0
|
51 $events[RoutingEvents::ALTER] = ['onAlterRoutes', -110];
|
Chris@0
|
52 return $events;
|
Chris@0
|
53 }
|
Chris@0
|
54
|
Chris@0
|
55 }
|