| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class BoundSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var BoundCollector |
|
| 28 | */ |
|
| 29 | private $boundCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var BoundRenderer |
|
| 33 | */ |
|
| 34 | private $boundRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param BoundCollector $boundCollector |
|
| 39 | * @param BoundRenderer $boundRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | BoundCollector $boundCollector, |
|
| 44 | BoundRenderer $boundRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setBoundCollector($boundCollector); |
|
| 49 | $this->setBoundRenderer($boundRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return BoundCollector |
|
| 54 | */ |
|
| 55 | public function getBoundCollector() |
|
| 56 | { |
|
| 57 | return $this->boundCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param BoundCollector $boundCollector |
|
| 62 | */ |
|
| 63 | public function setBoundCollector(BoundCollector $boundCollector) |
|
| 64 | { |
|
| 65 | $this->boundCollector = $boundCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return BoundRenderer |
|
| 70 | */ |
|
| 71 | public function getBoundRenderer() |
|
| 72 | { |
|
| 73 | return $this->boundRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param BoundRenderer $boundRenderer |
|
| 78 | */ |
|
| 79 | public function setBoundRenderer(BoundRenderer $boundRenderer) |
|
| 80 | { |
|
| 81 | $this->boundRenderer = $boundRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->boundCollector->collect($map) as $bound) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->boundRenderer->render($bound), |
|
| 96 | 'base.bounds', |
|
| 97 | $bound |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_BASE_BOUND => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class CoordinateSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var CoordinateCollector |
|
| 28 | */ |
|
| 29 | private $coordinateCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var CoordinateRenderer |
|
| 33 | */ |
|
| 34 | private $coordinateRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param CoordinateCollector $coordinateCollector |
|
| 39 | * @param CoordinateRenderer $coordinateRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | CoordinateCollector $coordinateCollector, |
|
| 44 | CoordinateRenderer $coordinateRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setCoordinateCollector($coordinateCollector); |
|
| 49 | $this->setCoordinateRenderer($coordinateRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return CoordinateCollector |
|
| 54 | */ |
|
| 55 | public function getCoordinateCollector() |
|
| 56 | { |
|
| 57 | return $this->coordinateCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param CoordinateCollector $coordinateCollector |
|
| 62 | */ |
|
| 63 | public function setCoordinateCollector(CoordinateCollector $coordinateCollector) |
|
| 64 | { |
|
| 65 | $this->coordinateCollector = $coordinateCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return CoordinateRenderer |
|
| 70 | */ |
|
| 71 | public function getCoordinateRenderer() |
|
| 72 | { |
|
| 73 | return $this->coordinateRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param CoordinateRenderer $coordinateRenderer |
|
| 78 | */ |
|
| 79 | public function setCoordinateRenderer(CoordinateRenderer $coordinateRenderer) |
|
| 80 | { |
|
| 81 | $this->coordinateRenderer = $coordinateRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->coordinateCollector->collect($map) as $coordinate) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->coordinateRenderer->render($coordinate), |
|
| 96 | 'base.coordinates', |
|
| 97 | $coordinate |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_BASE_COORDINATE => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class PointSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var PointCollector |
|
| 28 | */ |
|
| 29 | private $pointCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var PointRenderer |
|
| 33 | */ |
|
| 34 | private $pointRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param PointCollector $pointCollector |
|
| 39 | * @param PointRenderer $pointRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | PointCollector $pointCollector, |
|
| 44 | PointRenderer $pointRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setPointCollector($pointCollector); |
|
| 49 | $this->setPointRenderer($pointRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return PointCollector |
|
| 54 | */ |
|
| 55 | public function getPointCollector() |
|
| 56 | { |
|
| 57 | return $this->pointCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param PointCollector $pointCollector |
|
| 62 | */ |
|
| 63 | public function setPointCollector(PointCollector $pointCollector) |
|
| 64 | { |
|
| 65 | $this->pointCollector = $pointCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return PointRenderer |
|
| 70 | */ |
|
| 71 | public function getPointRenderer() |
|
| 72 | { |
|
| 73 | return $this->pointRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param PointRenderer $pointRenderer |
|
| 78 | */ |
|
| 79 | public function setPointRenderer(PointRenderer $pointRenderer) |
|
| 80 | { |
|
| 81 | $this->pointRenderer = $pointRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /*** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->pointCollector->collect($map) as $point) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->pointRenderer->render($point), |
|
| 96 | 'base.points', |
|
| 97 | $point |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_BASE_POINT => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class SizeSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var SizeCollector |
|
| 28 | */ |
|
| 29 | private $sizeCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var SizeRenderer |
|
| 33 | */ |
|
| 34 | private $sizeRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param SizeCollector $sizeCollector |
|
| 39 | * @param SizeRenderer $sizeRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | SizeCollector $sizeCollector, |
|
| 44 | SizeRenderer $sizeRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setSizeCollector($sizeCollector); |
|
| 49 | $this->setSizeRenderer($sizeRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return SizeCollector |
|
| 54 | */ |
|
| 55 | public function getSizeCollector() |
|
| 56 | { |
|
| 57 | return $this->sizeCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param SizeCollector $sizeCollector |
|
| 62 | */ |
|
| 63 | public function setSizeCollector(SizeCollector $sizeCollector) |
|
| 64 | { |
|
| 65 | $this->sizeCollector = $sizeCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return SizeRenderer |
|
| 70 | */ |
|
| 71 | public function getSizeRenderer() |
|
| 72 | { |
|
| 73 | return $this->sizeRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param SizeRenderer $sizeRenderer |
|
| 78 | */ |
|
| 79 | public function setSizeRenderer(SizeRenderer $sizeRenderer) |
|
| 80 | { |
|
| 81 | $this->sizeRenderer = $sizeRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->sizeCollector->collect($map) as $size) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->sizeRenderer->render($size), |
|
| 96 | 'base.sizes', |
|
| 97 | $size |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_BASE_SIZE => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class DomEventOnceSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var DomEventOnceCollector |
|
| 28 | */ |
|
| 29 | private $domEventOnceCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var DomEventOnceRenderer |
|
| 33 | */ |
|
| 34 | private $domEventOnceRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param DomEventOnceCollector $domEventOnceCollector |
|
| 39 | * @param DomEventOnceRenderer $domEventOnceRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | DomEventOnceCollector $domEventOnceCollector, |
|
| 44 | DomEventOnceRenderer $domEventOnceRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setDomEventOnceCollector($domEventOnceCollector); |
|
| 49 | $this->setDomEventOnceRenderer($domEventOnceRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return DomEventOnceCollector |
|
| 54 | */ |
|
| 55 | public function getDomEventOnceCollector() |
|
| 56 | { |
|
| 57 | return $this->domEventOnceCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param DomEventOnceCollector $domEventOnceCollector |
|
| 62 | */ |
|
| 63 | public function setDomEventOnceCollector(DomEventOnceCollector $domEventOnceCollector) |
|
| 64 | { |
|
| 65 | $this->domEventOnceCollector = $domEventOnceCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return DomEventOnceRenderer |
|
| 70 | */ |
|
| 71 | public function getDomEventOnceRenderer() |
|
| 72 | { |
|
| 73 | return $this->domEventOnceRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param DomEventOnceRenderer $domEventOnceRenderer |
|
| 78 | */ |
|
| 79 | public function setDomEventOnceRenderer(DomEventOnceRenderer $domEventOnceRenderer) |
|
| 80 | { |
|
| 81 | $this->domEventOnceRenderer = $domEventOnceRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->domEventOnceCollector->collect($map) as $domEventOnce) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->domEventOnceRenderer->render($domEventOnce), |
|
| 96 | 'events.dom_events_once', |
|
| 97 | $domEventOnce |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_EVENT_DOM_EVENT_ONCE => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class DomEventSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var DomEventCollector |
|
| 28 | */ |
|
| 29 | private $domEventCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var DomEventRenderer |
|
| 33 | */ |
|
| 34 | private $domEventRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param DomEventCollector $domEventCollector |
|
| 39 | * @param DomEventRenderer $domEventRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | DomEventCollector $domEventCollector, |
|
| 44 | DomEventRenderer $domEventRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setDomEventCollector($domEventCollector); |
|
| 49 | $this->setDomEventRenderer($domEventRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return DomEventCollector |
|
| 54 | */ |
|
| 55 | public function getDomEventCollector() |
|
| 56 | { |
|
| 57 | return $this->domEventCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param DomEventCollector $domEventCollector |
|
| 62 | */ |
|
| 63 | public function setDomEventCollector(DomEventCollector $domEventCollector) |
|
| 64 | { |
|
| 65 | $this->domEventCollector = $domEventCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return DomEventRenderer |
|
| 70 | */ |
|
| 71 | public function getDomEventRenderer() |
|
| 72 | { |
|
| 73 | return $this->domEventRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param DomEventRenderer $domEventRenderer |
|
| 78 | */ |
|
| 79 | public function setDomEventRenderer(DomEventRenderer $domEventRenderer) |
|
| 80 | { |
|
| 81 | $this->domEventRenderer = $domEventRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->domEventCollector->collect($map) as $domEvent) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->domEventRenderer->render($domEvent), |
|
| 96 | 'events.dom_events', |
|
| 97 | $domEvent |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_EVENT_DOM_EVENT => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class EventOnceSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var EventOnceCollector |
|
| 28 | */ |
|
| 29 | private $eventOnceCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var EventOnceRenderer |
|
| 33 | */ |
|
| 34 | private $eventOnceRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param EventOnceCollector $eventOnceCollector |
|
| 39 | * @param EventOnceRenderer $eventOnceRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | EventOnceCollector $eventOnceCollector, |
|
| 44 | EventOnceRenderer $eventOnceRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setEventOnceCollector($eventOnceCollector); |
|
| 49 | $this->setEventOnceRenderer($eventOnceRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return EventOnceCollector |
|
| 54 | */ |
|
| 55 | public function getEventOnceCollector() |
|
| 56 | { |
|
| 57 | return $this->eventOnceCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param EventOnceCollector $eventOnceCollector |
|
| 62 | */ |
|
| 63 | public function setEventOnceCollector(EventOnceCollector $eventOnceCollector) |
|
| 64 | { |
|
| 65 | $this->eventOnceCollector = $eventOnceCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return EventOnceRenderer |
|
| 70 | */ |
|
| 71 | public function getEventOnceRenderer() |
|
| 72 | { |
|
| 73 | return $this->eventOnceRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param EventOnceRenderer $eventOnceRenderer |
|
| 78 | */ |
|
| 79 | public function setEventOnceRenderer(EventOnceRenderer $eventOnceRenderer) |
|
| 80 | { |
|
| 81 | $this->eventOnceRenderer = $eventOnceRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->eventOnceCollector->collect($map) as $eventOnce) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->eventOnceRenderer->render($eventOnce), |
|
| 96 | 'events.events_once', |
|
| 97 | $eventOnce |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_EVENT_EVENT_ONCE => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class SimpleEventSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var EventCollector |
|
| 28 | */ |
|
| 29 | private $eventCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var EventRenderer |
|
| 33 | */ |
|
| 34 | private $eventRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param EventCollector $eventCollector |
|
| 39 | * @param EventRenderer $eventRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | EventCollector $eventCollector, |
|
| 44 | EventRenderer $eventRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setEventCollector($eventCollector); |
|
| 49 | $this->setEventRenderer($eventRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return EventCollector |
|
| 54 | */ |
|
| 55 | public function getEventCollector() |
|
| 56 | { |
|
| 57 | return $this->eventCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param EventCollector $eventCollector |
|
| 62 | */ |
|
| 63 | public function setEventCollector(EventCollector $eventCollector) |
|
| 64 | { |
|
| 65 | $this->eventCollector = $eventCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return EventRenderer |
|
| 70 | */ |
|
| 71 | public function getEventRenderer() |
|
| 72 | { |
|
| 73 | return $this->eventRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param EventRenderer $eventRenderer |
|
| 78 | */ |
|
| 79 | public function setEventRenderer(EventRenderer $eventRenderer) |
|
| 80 | { |
|
| 81 | $this->eventRenderer = $eventRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->eventCollector->collect($map) as $rawEvent) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->eventRenderer->render($rawEvent), |
|
| 96 | 'events.events', |
|
| 97 | $rawEvent |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_EVENT_EVENT => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class KmlLayerSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var KmlLayerCollector |
|
| 28 | */ |
|
| 29 | private $kmlLayerCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var KmlLayerRenderer |
|
| 33 | */ |
|
| 34 | private $kmlLayerRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param KmlLayerCollector $kmlLayerCollector |
|
| 39 | * @param KmlLayerRenderer $kmlLayerRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | KmlLayerCollector $kmlLayerCollector, |
|
| 44 | KmlLayerRenderer $kmlLayerRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setKmlLayerCollector($kmlLayerCollector); |
|
| 49 | $this->setKmlLayerRenderer($kmlLayerRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return KmlLayerCollector |
|
| 54 | */ |
|
| 55 | public function getKmlLayerCollector() |
|
| 56 | { |
|
| 57 | return $this->kmlLayerCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param KmlLayerCollector $kmlLayerCollector |
|
| 62 | */ |
|
| 63 | public function setKmlLayerCollector(KmlLayerCollector $kmlLayerCollector) |
|
| 64 | { |
|
| 65 | $this->kmlLayerCollector = $kmlLayerCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return KmlLayerRenderer |
|
| 70 | */ |
|
| 71 | public function getKmlLayerRenderer() |
|
| 72 | { |
|
| 73 | return $this->kmlLayerRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param KmlLayerRenderer $kmlLayerRenderer |
|
| 78 | */ |
|
| 79 | public function setKmlLayerRenderer(KmlLayerRenderer $kmlLayerRenderer) |
|
| 80 | { |
|
| 81 | $this->kmlLayerRenderer = $kmlLayerRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->kmlLayerCollector->collect($map) as $kmlLayer) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->kmlLayerRenderer->render($kmlLayer, $map), |
|
| 96 | 'layers.kml_layers', |
|
| 97 | $kmlLayer |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_LAYER_KML_LAYER => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class CircleSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var CircleCollector |
|
| 28 | */ |
|
| 29 | private $circleCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var CircleRenderer |
|
| 33 | */ |
|
| 34 | private $circleRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param CircleCollector $circleCollector |
|
| 39 | * @param CircleRenderer $circleRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | CircleCollector $circleCollector, |
|
| 44 | CircleRenderer $circleRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setCircleCollector($circleCollector); |
|
| 49 | $this->setCircleRenderer($circleRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return CircleCollector |
|
| 54 | */ |
|
| 55 | public function getCircleCollector() |
|
| 56 | { |
|
| 57 | return $this->circleCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param CircleCollector $circleCollector |
|
| 62 | */ |
|
| 63 | public function setCircleCollector(CircleCollector $circleCollector) |
|
| 64 | { |
|
| 65 | $this->circleCollector = $circleCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return CircleRenderer |
|
| 70 | */ |
|
| 71 | public function getCircleRenderer() |
|
| 72 | { |
|
| 73 | return $this->circleRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param CircleRenderer $circleRenderer |
|
| 78 | */ |
|
| 79 | public function setCircleRenderer(CircleRenderer $circleRenderer) |
|
| 80 | { |
|
| 81 | $this->circleRenderer = $circleRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->circleCollector->collect($map) as $circle) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->circleRenderer->render($circle, $map), |
|
| 96 | 'overlays.circles', |
|
| 97 | $circle |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_OVERLAY_CIRCLE => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-104 (lines=81) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class ExtendableSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var ExtendableCollector |
|
| 28 | */ |
|
| 29 | private $extendableCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var ExtendableRenderer |
|
| 33 | */ |
|
| 34 | private $extendableRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param ExtendableCollector $extendableCollector |
|
| 39 | * @param ExtendableRenderer $extendableRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | ExtendableCollector $extendableCollector, |
|
| 44 | ExtendableRenderer $extendableRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setExtendableCollector($extendableCollector); |
|
| 49 | $this->setExtendableRenderer($extendableRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return ExtendableCollector |
|
| 54 | */ |
|
| 55 | public function getExtendableCollector() |
|
| 56 | { |
|
| 57 | return $this->extendableCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param ExtendableCollector $extendableCollector |
|
| 62 | */ |
|
| 63 | public function setExtendableCollector(ExtendableCollector $extendableCollector) |
|
| 64 | { |
|
| 65 | $this->extendableCollector = $extendableCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return ExtendableRenderer |
|
| 70 | */ |
|
| 71 | public function getExtendableRenderer() |
|
| 72 | { |
|
| 73 | return $this->extendableRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param ExtendableRenderer $extendableRenderer |
|
| 78 | */ |
|
| 79 | public function setExtendableRenderer(ExtendableRenderer $extendableRenderer) |
|
| 80 | { |
|
| 81 | $this->extendableRenderer = $extendableRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->extendableCollector->collect($map) as $extendable) { |
|
| 93 | $event->addCode($formatter->renderCode($this->extendableRenderer->render($extendable, $map->getBound()))); |
|
| 94 | } |
|
| 95 | } |
|
| 96 | ||
| 97 | /** |
|
| 98 | * {@inheritdoc} |
|
| 99 | */ |
|
| 100 | public static function getSubscribedEvents() |
|
| 101 | { |
|
| 102 | return [MapEvents::JAVASCRIPT_FINISH => 'handleMap']; |
|
| 103 | } |
|
| 104 | } |
|
| 105 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class GroundOverlaySubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var GroundOverlayCollector |
|
| 28 | */ |
|
| 29 | private $groundOverlayCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var GroundOverlayRenderer |
|
| 33 | */ |
|
| 34 | private $groundOverlayRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param GroundOverlayCollector $groundOverlayCollector |
|
| 39 | * @param GroundOverlayRenderer $groundOverlayRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | GroundOverlayCollector $groundOverlayCollector, |
|
| 44 | GroundOverlayRenderer $groundOverlayRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setGroundOverlayCollector($groundOverlayCollector); |
|
| 49 | $this->setGroundOverlayRenderer($groundOverlayRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return GroundOverlayCollector |
|
| 54 | */ |
|
| 55 | public function getGroundOverlayCollector() |
|
| 56 | { |
|
| 57 | return $this->groundOverlayCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param GroundOverlayCollector $groundOverlayCollector |
|
| 62 | */ |
|
| 63 | public function setGroundOverlayCollector(GroundOverlayCollector $groundOverlayCollector) |
|
| 64 | { |
|
| 65 | $this->groundOverlayCollector = $groundOverlayCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return GroundOverlayRenderer |
|
| 70 | */ |
|
| 71 | public function getGroundOverlayRenderer() |
|
| 72 | { |
|
| 73 | return $this->groundOverlayRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param GroundOverlayRenderer $groundOverlayRenderer |
|
| 78 | */ |
|
| 79 | public function setGroundOverlayRenderer(GroundOverlayRenderer $groundOverlayRenderer) |
|
| 80 | { |
|
| 81 | $this->groundOverlayRenderer = $groundOverlayRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->groundOverlayCollector->collect($map) as $groundOverlay) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->groundOverlayRenderer->render($groundOverlay, $map), |
|
| 96 | 'overlays.ground_overlays', |
|
| 97 | $groundOverlay |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_OVERLAY_GROUND_OVERLAY => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class PolygonSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var PolygonCollector |
|
| 28 | */ |
|
| 29 | private $polygonCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var PolygonRenderer |
|
| 33 | */ |
|
| 34 | private $polygonRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param PolygonCollector $polygonCollector |
|
| 39 | * @param PolygonRenderer $polygonRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | PolygonCollector $polygonCollector, |
|
| 44 | PolygonRenderer $polygonRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setPolygonCollector($polygonCollector); |
|
| 49 | $this->setPolygonRenderer($polygonRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return PolygonCollector |
|
| 54 | */ |
|
| 55 | public function getPolygonCollector() |
|
| 56 | { |
|
| 57 | return $this->polygonCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param PolygonCollector $polygonCollector |
|
| 62 | */ |
|
| 63 | public function setPolygonCollector(PolygonCollector $polygonCollector) |
|
| 64 | { |
|
| 65 | $this->polygonCollector = $polygonCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return PolygonRenderer |
|
| 70 | */ |
|
| 71 | public function getPolygonRenderer() |
|
| 72 | { |
|
| 73 | return $this->polygonRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param PolygonRenderer $polygonRenderer |
|
| 78 | */ |
|
| 79 | public function setPolygonRenderer(PolygonRenderer $polygonRenderer) |
|
| 80 | { |
|
| 81 | $this->polygonRenderer = $polygonRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->polygonCollector->collect($map) as $polygon) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->polygonRenderer->render($polygon, $map), |
|
| 96 | 'overlays.polygons', |
|
| 97 | $polygon |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_OVERLAY_POLYGON => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class PolylineSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var PolylineCollector |
|
| 28 | */ |
|
| 29 | private $polylineCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var PolylineRenderer |
|
| 33 | */ |
|
| 34 | private $polylineRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param PolylineCollector $polylineCollector |
|
| 39 | * @param PolylineRenderer $polylineRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | PolylineCollector $polylineCollector, |
|
| 44 | PolylineRenderer $polylineRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setPolylineCollector($polylineCollector); |
|
| 49 | $this->setPolylineRenderer($polylineRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return PolylineCollector |
|
| 54 | */ |
|
| 55 | public function getPolylineCollector() |
|
| 56 | { |
|
| 57 | return $this->polylineCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param PolylineCollector $polylineCollector |
|
| 62 | */ |
|
| 63 | public function setPolylineCollector(PolylineCollector $polylineCollector) |
|
| 64 | { |
|
| 65 | $this->polylineCollector = $polylineCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return PolylineRenderer |
|
| 70 | */ |
|
| 71 | public function getPolylineRenderer() |
|
| 72 | { |
|
| 73 | return $this->polylineRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param PolylineRenderer $polylineRenderer |
|
| 78 | */ |
|
| 79 | public function setPolylineRenderer(PolylineRenderer $polylineRenderer) |
|
| 80 | { |
|
| 81 | $this->polylineRenderer = $polylineRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->polylineCollector->collect($map) as $polyline) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->polylineRenderer->render($polyline, $map), |
|
| 96 | 'overlays.polylines', |
|
| 97 | $polyline |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_OVERLAY_POLYLINE => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class RectangleSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var RectangleCollector |
|
| 28 | */ |
|
| 29 | private $rectangleCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var RectangleRenderer |
|
| 33 | */ |
|
| 34 | private $rectangleRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param RectangleCollector $rectangleCollector |
|
| 39 | * @param RectangleRenderer $rectangleRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | RectangleCollector $rectangleCollector, |
|
| 44 | RectangleRenderer $rectangleRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setRectangleCollector($rectangleCollector); |
|
| 49 | $this->setRectangleRenderer($rectangleRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return RectangleCollector |
|
| 54 | */ |
|
| 55 | public function getRectangleCollector() |
|
| 56 | { |
|
| 57 | return $this->rectangleCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param RectangleCollector $rectangleCollector |
|
| 62 | */ |
|
| 63 | public function setRectangleCollector(RectangleCollector $rectangleCollector) |
|
| 64 | { |
|
| 65 | $this->rectangleCollector = $rectangleCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return RectangleRenderer |
|
| 70 | */ |
|
| 71 | public function getRectangleRenderer() |
|
| 72 | { |
|
| 73 | return $this->rectangleRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param RectangleRenderer $rectangleRenderer |
|
| 78 | */ |
|
| 79 | public function setRectangleRenderer(RectangleRenderer $rectangleRenderer) |
|
| 80 | { |
|
| 81 | $this->rectangleRenderer = $rectangleRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->rectangleCollector->collect($map) as $rectangle) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->rectangleRenderer->render($rectangle, $map), |
|
| 96 | 'overlays.rectangles', |
|
| 97 | $rectangle |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_OVERLAY_RECTANGLE => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class AutocompleteBoundSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var AutocompleteBoundCollector |
|
| 28 | */ |
|
| 29 | private $boundCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var BoundRenderer |
|
| 33 | */ |
|
| 34 | private $boundRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param AutocompleteBoundCollector $boundCollector |
|
| 39 | * @param BoundRenderer $boundRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | AutocompleteBoundCollector $boundCollector, |
|
| 44 | BoundRenderer $boundRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setBoundCollector($boundCollector); |
|
| 49 | $this->setBoundRenderer($boundRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return AutocompleteBoundCollector |
|
| 54 | */ |
|
| 55 | public function getBoundCollector() |
|
| 56 | { |
|
| 57 | return $this->boundCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param AutocompleteBoundCollector $boundCollector |
|
| 62 | */ |
|
| 63 | public function setBoundCollector(AutocompleteBoundCollector $boundCollector) |
|
| 64 | { |
|
| 65 | $this->boundCollector = $boundCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return BoundRenderer |
|
| 70 | */ |
|
| 71 | public function getBoundRenderer() |
|
| 72 | { |
|
| 73 | return $this->boundRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param BoundRenderer $boundRenderer |
|
| 78 | */ |
|
| 79 | public function setBoundRenderer(BoundRenderer $boundRenderer) |
|
| 80 | { |
|
| 81 | $this->boundRenderer = $boundRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param PlaceAutocompleteEvent $event |
|
| 86 | */ |
|
| 87 | public function handleAutocomplete(PlaceAutocompleteEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $autocomplete = $event->getAutocomplete(); |
|
| 91 | ||
| 92 | foreach ($this->boundCollector->collect($autocomplete) as $bound) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $autocomplete, |
|
| 95 | $this->boundRenderer->render($bound), |
|
| 96 | 'base.bounds', |
|
| 97 | $bound |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [PlaceAutocompleteEvents::JAVASCRIPT_BASE_BOUND => 'handleAutocomplete']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class AutocompleteCoordinateSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var AutocompleteCoordinateCollector |
|
| 28 | */ |
|
| 29 | private $coordinateCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var CoordinateRenderer |
|
| 33 | */ |
|
| 34 | private $coordinateRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param AutocompleteCoordinateCollector $coordinateCollector |
|
| 39 | * @param CoordinateRenderer $coordinateRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | AutocompleteCoordinateCollector $coordinateCollector, |
|
| 44 | CoordinateRenderer $coordinateRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setCoordinateCollector($coordinateCollector); |
|
| 49 | $this->setCoordinateRenderer($coordinateRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return AutocompleteCoordinateCollector |
|
| 54 | */ |
|
| 55 | public function getCoordinateCollector() |
|
| 56 | { |
|
| 57 | return $this->coordinateCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param AutocompleteCoordinateCollector $coordinateCollector |
|
| 62 | */ |
|
| 63 | public function setCoordinateCollector(AutocompleteCoordinateCollector $coordinateCollector) |
|
| 64 | { |
|
| 65 | $this->coordinateCollector = $coordinateCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return CoordinateRenderer |
|
| 70 | */ |
|
| 71 | public function getCoordinateRenderer() |
|
| 72 | { |
|
| 73 | return $this->coordinateRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param CoordinateRenderer $coordinateRenderer |
|
| 78 | */ |
|
| 79 | public function setCoordinateRenderer(CoordinateRenderer $coordinateRenderer) |
|
| 80 | { |
|
| 81 | $this->coordinateRenderer = $coordinateRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param PlaceAutocompleteEvent $event |
|
| 86 | */ |
|
| 87 | public function handleAutocomplete(PlaceAutocompleteEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $autocomplete = $event->getAutocomplete(); |
|
| 91 | ||
| 92 | foreach ($this->coordinateCollector->collect($autocomplete) as $coordinate) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $autocomplete, |
|
| 95 | $this->coordinateRenderer->render($coordinate), |
|
| 96 | 'base.coordinates', |
|
| 97 | $coordinate |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [PlaceAutocompleteEvents::JAVASCRIPT_BASE_COORDINATE => 'handleAutocomplete']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class AutocompleteDomEventOnceSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var AutocompleteDomEventOnceCollector |
|
| 28 | */ |
|
| 29 | private $domEventOnceCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var DomEventOnceRenderer |
|
| 33 | */ |
|
| 34 | private $domEventOnceRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param AutocompleteDomEventOnceCollector $domEventOnceCollector |
|
| 39 | * @param DomEventOnceRenderer $domEventOnceRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | AutocompleteDomEventOnceCollector $domEventOnceCollector, |
|
| 44 | DomEventOnceRenderer $domEventOnceRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setDomEventOnceCollector($domEventOnceCollector); |
|
| 49 | $this->setDomEventOnceRenderer($domEventOnceRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return AutocompleteDomEventOnceCollector |
|
| 54 | */ |
|
| 55 | public function getDomEventOnceCollector() |
|
| 56 | { |
|
| 57 | return $this->domEventOnceCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param AutocompleteDomEventOnceCollector $domEventOnceCollector |
|
| 62 | */ |
|
| 63 | public function setDomEventOnceCollector(AutocompleteDomEventOnceCollector $domEventOnceCollector) |
|
| 64 | { |
|
| 65 | $this->domEventOnceCollector = $domEventOnceCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return DomEventOnceRenderer |
|
| 70 | */ |
|
| 71 | public function getDomEventOnceRenderer() |
|
| 72 | { |
|
| 73 | return $this->domEventOnceRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param DomEventOnceRenderer $domEventOnceRenderer |
|
| 78 | */ |
|
| 79 | public function setDomEventOnceRenderer(DomEventOnceRenderer $domEventOnceRenderer) |
|
| 80 | { |
|
| 81 | $this->domEventOnceRenderer = $domEventOnceRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param PlaceAutocompleteEvent $event |
|
| 86 | */ |
|
| 87 | public function handleAutocomplete(PlaceAutocompleteEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $autocomplete = $event->getAutocomplete(); |
|
| 91 | ||
| 92 | foreach ($this->domEventOnceCollector->collect($autocomplete) as $domEventOnce) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $autocomplete, |
|
| 95 | $this->domEventOnceRenderer->render($domEventOnce), |
|
| 96 | 'events.dom_events_once', |
|
| 97 | $domEventOnce |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [PlaceAutocompleteEvents::JAVASCRIPT_EVENT_DOM_EVENT_ONCE => 'handleAutocomplete']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class AutocompleteDomEventSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var AutocompleteDomEventCollector |
|
| 28 | */ |
|
| 29 | private $domEventCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var DomEventRenderer |
|
| 33 | */ |
|
| 34 | private $domEventRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param AutocompleteDomEventCollector $domEventCollector |
|
| 39 | * @param DomEventRenderer $domEventRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | AutocompleteDomEventCollector $domEventCollector, |
|
| 44 | DomEventRenderer $domEventRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setDomEventCollector($domEventCollector); |
|
| 49 | $this->setDomEventRenderer($domEventRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return AutocompleteDomEventCollector |
|
| 54 | */ |
|
| 55 | public function getDomEventCollector() |
|
| 56 | { |
|
| 57 | return $this->domEventCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param AutocompleteDomEventCollector $domEventCollector |
|
| 62 | */ |
|
| 63 | public function setDomEventCollector(AutocompleteDomEventCollector $domEventCollector) |
|
| 64 | { |
|
| 65 | $this->domEventCollector = $domEventCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return DomEventRenderer |
|
| 70 | */ |
|
| 71 | public function getDomEventRenderer() |
|
| 72 | { |
|
| 73 | return $this->domEventRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param DomEventRenderer $domEventRenderer |
|
| 78 | */ |
|
| 79 | public function setDomEventRenderer(DomEventRenderer $domEventRenderer) |
|
| 80 | { |
|
| 81 | $this->domEventRenderer = $domEventRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param PlaceAutocompleteEvent $event |
|
| 86 | */ |
|
| 87 | public function handleAutocomplete(PlaceAutocompleteEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $autocomplete = $event->getAutocomplete(); |
|
| 91 | ||
| 92 | foreach ($this->domEventCollector->collect($autocomplete) as $domEvent) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $autocomplete, |
|
| 95 | $this->domEventRenderer->render($domEvent), |
|
| 96 | 'events.dom_events', |
|
| 97 | $domEvent |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [PlaceAutocompleteEvents::JAVASCRIPT_EVENT_DOM_EVENT => 'handleAutocomplete']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class AutocompleteEventOnceSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var AutocompleteEventOnceCollector |
|
| 28 | */ |
|
| 29 | private $eventOnceCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var EventOnceRenderer |
|
| 33 | */ |
|
| 34 | private $eventOnceRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param AutocompleteEventOnceCollector $eventOnceCollector |
|
| 39 | * @param EventOnceRenderer $eventOnceRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | AutocompleteEventOnceCollector $eventOnceCollector, |
|
| 44 | EventOnceRenderer $eventOnceRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setEventOnceCollector($eventOnceCollector); |
|
| 49 | $this->setEventOnceRenderer($eventOnceRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return AutocompleteEventOnceCollector |
|
| 54 | */ |
|
| 55 | public function getEventOnceCollector() |
|
| 56 | { |
|
| 57 | return $this->eventOnceCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param AutocompleteEventOnceCollector $eventOnceCollector |
|
| 62 | */ |
|
| 63 | public function setEventOnceCollector(AutocompleteEventOnceCollector $eventOnceCollector) |
|
| 64 | { |
|
| 65 | $this->eventOnceCollector = $eventOnceCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return EventOnceRenderer |
|
| 70 | */ |
|
| 71 | public function getEventOnceRenderer() |
|
| 72 | { |
|
| 73 | return $this->eventOnceRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param EventOnceRenderer $eventOnceRenderer |
|
| 78 | */ |
|
| 79 | public function setEventOnceRenderer(EventOnceRenderer $eventOnceRenderer) |
|
| 80 | { |
|
| 81 | $this->eventOnceRenderer = $eventOnceRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param PlaceAutocompleteEvent $event |
|
| 86 | */ |
|
| 87 | public function handleAutocomplete(PlaceAutocompleteEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $autocomplete = $event->getAutocomplete(); |
|
| 91 | ||
| 92 | foreach ($this->eventOnceCollector->collect($autocomplete) as $eventOnce) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $autocomplete, |
|
| 95 | $this->eventOnceRenderer->render($eventOnce), |
|
| 96 | 'events.events_once', |
|
| 97 | $eventOnce |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [PlaceAutocompleteEvents::JAVASCRIPT_EVENT_EVENT_ONCE => 'handleAutocomplete']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class AutocompleteSimpleEventSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var AutocompleteEventCollector |
|
| 28 | */ |
|
| 29 | private $eventCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var EventRenderer |
|
| 33 | */ |
|
| 34 | private $eventRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param AutocompleteEventCollector $eventCollector |
|
| 39 | * @param EventRenderer $eventRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | AutocompleteEventCollector $eventCollector, |
|
| 44 | EventRenderer $eventRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setEventCollector($eventCollector); |
|
| 49 | $this->setEventRenderer($eventRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return AutocompleteEventCollector |
|
| 54 | */ |
|
| 55 | public function getEventCollector() |
|
| 56 | { |
|
| 57 | return $this->eventCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param AutocompleteEventCollector $eventCollector |
|
| 62 | */ |
|
| 63 | public function setEventCollector(AutocompleteEventCollector $eventCollector) |
|
| 64 | { |
|
| 65 | $this->eventCollector = $eventCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return EventRenderer |
|
| 70 | */ |
|
| 71 | public function getEventRenderer() |
|
| 72 | { |
|
| 73 | return $this->eventRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param EventRenderer $eventRenderer |
|
| 78 | */ |
|
| 79 | public function setEventRenderer(EventRenderer $eventRenderer) |
|
| 80 | { |
|
| 81 | $this->eventRenderer = $eventRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param PlaceAutocompleteEvent $event |
|
| 86 | */ |
|
| 87 | public function handleAutocomplete(PlaceAutocompleteEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $autocomplete = $event->getAutocomplete(); |
|
| 91 | ||
| 92 | foreach ($this->eventCollector->collect($autocomplete) as $rawEvent) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $autocomplete, |
|
| 95 | $this->eventRenderer->render($rawEvent), |
|
| 96 | 'events.events', |
|
| 97 | $rawEvent |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [PlaceAutocompleteEvents::JAVASCRIPT_EVENT_EVENT => 'handleAutocomplete']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| @@ 24-109 (lines=86) @@ | ||
| 21 | /** |
|
| 22 | * @author GeLo <[email protected]> |
|
| 23 | */ |
|
| 24 | class GeoJsonLayerSubscriber extends AbstractSubscriber |
|
| 25 | { |
|
| 26 | /** |
|
| 27 | * @var GeoJsonLayerCollector |
|
| 28 | */ |
|
| 29 | private $geoJsonLayerCollector; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @var GeoJsonLayerRenderer |
|
| 33 | */ |
|
| 34 | private $geoJsonLayerRenderer; |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param Formatter $formatter |
|
| 38 | * @param GeoJsonLayerCollector $geoJsonLayerCollector |
|
| 39 | * @param GeoJsonLayerRenderer $geoJsonLayerRenderer |
|
| 40 | */ |
|
| 41 | public function __construct( |
|
| 42 | Formatter $formatter, |
|
| 43 | GeoJsonLayerCollector $geoJsonLayerCollector, |
|
| 44 | GeoJsonLayerRenderer $geoJsonLayerRenderer |
|
| 45 | ) { |
|
| 46 | parent::__construct($formatter); |
|
| 47 | ||
| 48 | $this->setGeoJsonLayerCollector($geoJsonLayerCollector); |
|
| 49 | $this->setGeoJsonLayerRenderer($geoJsonLayerRenderer); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * @return GeoJsonLayerCollector |
|
| 54 | */ |
|
| 55 | public function getGeoJsonLayerCollector() |
|
| 56 | { |
|
| 57 | return $this->geoJsonLayerCollector; |
|
| 58 | } |
|
| 59 | ||
| 60 | /** |
|
| 61 | * @param GeoJsonLayerCollector $geoJsonLayerCollector |
|
| 62 | */ |
|
| 63 | public function setGeoJsonLayerCollector(GeoJsonLayerCollector $geoJsonLayerCollector) |
|
| 64 | { |
|
| 65 | $this->geoJsonLayerCollector = $geoJsonLayerCollector; |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @return GeoJsonLayerRenderer |
|
| 70 | */ |
|
| 71 | public function getGeoJsonLayerRenderer() |
|
| 72 | { |
|
| 73 | return $this->geoJsonLayerRenderer; |
|
| 74 | } |
|
| 75 | ||
| 76 | /** |
|
| 77 | * @param GeoJsonLayerRenderer $geoJsonLayerRenderer |
|
| 78 | */ |
|
| 79 | public function setGeoJsonLayerRenderer(GeoJsonLayerRenderer $geoJsonLayerRenderer) |
|
| 80 | { |
|
| 81 | $this->geoJsonLayerRenderer = $geoJsonLayerRenderer; |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @param MapEvent $event |
|
| 86 | */ |
|
| 87 | public function handleMap(MapEvent $event) |
|
| 88 | { |
|
| 89 | $formatter = $this->getFormatter(); |
|
| 90 | $map = $event->getMap(); |
|
| 91 | ||
| 92 | foreach ($this->geoJsonLayerCollector->collect($map) as $geoJsonLayer) { |
|
| 93 | $event->addCode($formatter->renderContainerAssignment( |
|
| 94 | $map, |
|
| 95 | $this->geoJsonLayerRenderer->render($geoJsonLayer, $map), |
|
| 96 | 'layers.geo_json_layers', |
|
| 97 | $geoJsonLayer |
|
| 98 | )); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | ||
| 102 | /** |
|
| 103 | * {@inheritdoc} |
|
| 104 | */ |
|
| 105 | public static function getSubscribedEvents() |
|
| 106 | { |
|
| 107 | return [MapEvents::JAVASCRIPT_LAYER_GEO_JSON_LAYER => 'handleMap']; |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||