| @@ 22-75 (lines=54) @@ | ||
| 19 | /** |
|
| 20 | * @author GeLo <[email protected]> |
|
| 21 | */ |
|
| 22 | class MapBoundSubscriber extends AbstractSubscriber |
|
| 23 | { |
|
| 24 | /** |
|
| 25 | * @var MapBoundRenderer |
|
| 26 | */ |
|
| 27 | private $mapBoundRenderer; |
|
| 28 | ||
| 29 | /** |
|
| 30 | * @param Formatter $formatter |
|
| 31 | * @param MapBoundRenderer $mapBoundRenderer |
|
| 32 | */ |
|
| 33 | public function __construct(Formatter $formatter, MapBoundRenderer $mapBoundRenderer) |
|
| 34 | { |
|
| 35 | parent::__construct($formatter); |
|
| 36 | ||
| 37 | $this->setMapBoundRenderer($mapBoundRenderer); |
|
| 38 | } |
|
| 39 | ||
| 40 | /** |
|
| 41 | * @return MapBoundRenderer |
|
| 42 | */ |
|
| 43 | public function getMapBoundRenderer() |
|
| 44 | { |
|
| 45 | return $this->mapBoundRenderer; |
|
| 46 | } |
|
| 47 | ||
| 48 | /** |
|
| 49 | * @param MapBoundRenderer $mapBoundRenderer |
|
| 50 | */ |
|
| 51 | public function setMapBoundRenderer(MapBoundRenderer $mapBoundRenderer) |
|
| 52 | { |
|
| 53 | $this->mapBoundRenderer = $mapBoundRenderer; |
|
| 54 | } |
|
| 55 | ||
| 56 | /** |
|
| 57 | * @param MapEvent $event |
|
| 58 | */ |
|
| 59 | public function handleMap(MapEvent $event) |
|
| 60 | { |
|
| 61 | $map = $event->getMap(); |
|
| 62 | ||
| 63 | if ($map->isAutoZoom()) { |
|
| 64 | $event->addCode($this->getFormatter()->renderCode($this->mapBoundRenderer->render($map))); |
|
| 65 | } |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * {@inheritdoc} |
|
| 70 | */ |
|
| 71 | public static function getSubscribedEvents() |
|
| 72 | { |
|
| 73 | return [MapEvents::JAVASCRIPT_FINISH => 'handleMap']; |
|
| 74 | } |
|
| 75 | } |
|
| 76 | ||
| @@ 22-75 (lines=54) @@ | ||
| 19 | /** |
|
| 20 | * @author GeLo <[email protected]> |
|
| 21 | */ |
|
| 22 | class MapCenterSubscriber extends AbstractSubscriber |
|
| 23 | { |
|
| 24 | /** |
|
| 25 | * @var MapCenterRenderer |
|
| 26 | */ |
|
| 27 | private $mapCenterRenderer; |
|
| 28 | ||
| 29 | /** |
|
| 30 | * @param Formatter $formatter |
|
| 31 | * @param MapCenterRenderer $mapCenterRenderer |
|
| 32 | */ |
|
| 33 | public function __construct(Formatter $formatter, MapCenterRenderer $mapCenterRenderer) |
|
| 34 | { |
|
| 35 | parent::__construct($formatter); |
|
| 36 | ||
| 37 | $this->setMapCenterRenderer($mapCenterRenderer); |
|
| 38 | } |
|
| 39 | ||
| 40 | /** |
|
| 41 | * @return MapCenterRenderer |
|
| 42 | */ |
|
| 43 | public function getMapCenterRenderer() |
|
| 44 | { |
|
| 45 | return $this->mapCenterRenderer; |
|
| 46 | } |
|
| 47 | ||
| 48 | /** |
|
| 49 | * @param MapCenterRenderer $mapCenterRenderer |
|
| 50 | */ |
|
| 51 | public function setMapCenterRenderer(MapCenterRenderer $mapCenterRenderer) |
|
| 52 | { |
|
| 53 | $this->mapCenterRenderer = $mapCenterRenderer; |
|
| 54 | } |
|
| 55 | ||
| 56 | /** |
|
| 57 | * @param MapEvent $event |
|
| 58 | */ |
|
| 59 | public function handleMap(MapEvent $event) |
|
| 60 | { |
|
| 61 | $map = $event->getMap(); |
|
| 62 | ||
| 63 | if (!$map->isAutoZoom()) { |
|
| 64 | $event->addCode($this->getFormatter()->renderCode($this->mapCenterRenderer->render($map))); |
|
| 65 | } |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * {@inheritdoc} |
|
| 70 | */ |
|
| 71 | public static function getSubscribedEvents() |
|
| 72 | { |
|
| 73 | return [MapEvents::JAVASCRIPT_FINISH => 'handleMap']; |
|
| 74 | } |
|
| 75 | } |
|
| 76 | ||
| @@ 22-77 (lines=56) @@ | ||
| 19 | /** |
|
| 20 | * @author GeLo <[email protected]> |
|
| 21 | */ |
|
| 22 | class MapContainerSubscriber extends AbstractSubscriber |
|
| 23 | { |
|
| 24 | /** |
|
| 25 | * @var MapContainerRenderer |
|
| 26 | */ |
|
| 27 | private $containerRenderer; |
|
| 28 | ||
| 29 | /** |
|
| 30 | * @param Formatter $formatter |
|
| 31 | * @param MapContainerRenderer $containerRenderer |
|
| 32 | */ |
|
| 33 | public function __construct(Formatter $formatter, MapContainerRenderer $containerRenderer) |
|
| 34 | { |
|
| 35 | parent::__construct($formatter); |
|
| 36 | ||
| 37 | $this->setContainerRenderer($containerRenderer); |
|
| 38 | } |
|
| 39 | ||
| 40 | /** |
|
| 41 | * @return MapContainerRenderer |
|
| 42 | */ |
|
| 43 | public function getContainerRenderer() |
|
| 44 | { |
|
| 45 | return $this->containerRenderer; |
|
| 46 | } |
|
| 47 | ||
| 48 | /** |
|
| 49 | * @param MapContainerRenderer $containerRenderer |
|
| 50 | */ |
|
| 51 | public function setContainerRenderer(MapContainerRenderer $containerRenderer) |
|
| 52 | { |
|
| 53 | $this->containerRenderer = $containerRenderer; |
|
| 54 | } |
|
| 55 | ||
| 56 | /** |
|
| 57 | * @param MapEvent $event |
|
| 58 | */ |
|
| 59 | public function handleMap(MapEvent $event) |
|
| 60 | { |
|
| 61 | $formatter = $this->getFormatter(); |
|
| 62 | $map = $event->getMap(); |
|
| 63 | ||
| 64 | $event->addCode($formatter->renderContainerAssignment( |
|
| 65 | $map, |
|
| 66 | $this->containerRenderer->render() |
|
| 67 | )); |
|
| 68 | } |
|
| 69 | ||
| 70 | /** |
|
| 71 | * {@inheritdoc} |
|
| 72 | */ |
|
| 73 | public static function getSubscribedEvents() |
|
| 74 | { |
|
| 75 | return [MapEvents::JAVASCRIPT_INIT_CONTAINER => 'handleMap']; |
|
| 76 | } |
|
| 77 | } |
|
| 78 | ||
| @@ 22-75 (lines=54) @@ | ||
| 19 | /** |
|
| 20 | * @author GeLo <[email protected]> |
|
| 21 | */ |
|
| 22 | class MapStylesheetSubscriber extends AbstractSubscriber |
|
| 23 | { |
|
| 24 | /** |
|
| 25 | * @var StylesheetTagRenderer |
|
| 26 | */ |
|
| 27 | private $stylesheetTagRenderer; |
|
| 28 | ||
| 29 | /** |
|
| 30 | * @param Formatter $formatter |
|
| 31 | * @param StylesheetTagRenderer $stylesheetTagRenderer |
|
| 32 | */ |
|
| 33 | public function __construct(Formatter $formatter, StylesheetTagRenderer $stylesheetTagRenderer) |
|
| 34 | { |
|
| 35 | parent::__construct($formatter); |
|
| 36 | ||
| 37 | $this->setStylesheetTagRenderer($stylesheetTagRenderer); |
|
| 38 | } |
|
| 39 | ||
| 40 | /** |
|
| 41 | * @return StylesheetTagRenderer |
|
| 42 | */ |
|
| 43 | public function getStylesheetTagRenderer() |
|
| 44 | { |
|
| 45 | return $this->stylesheetTagRenderer; |
|
| 46 | } |
|
| 47 | ||
| 48 | /** |
|
| 49 | * @param StylesheetTagRenderer $stylesheetTagRenderer |
|
| 50 | */ |
|
| 51 | public function setStylesheetTagRenderer(StylesheetTagRenderer $stylesheetTagRenderer) |
|
| 52 | { |
|
| 53 | $this->stylesheetTagRenderer = $stylesheetTagRenderer; |
|
| 54 | } |
|
| 55 | ||
| 56 | /** |
|
| 57 | * @param MapEvent $event |
|
| 58 | */ |
|
| 59 | public function handleMap(MapEvent $event) |
|
| 60 | { |
|
| 61 | $map = $event->getMap(); |
|
| 62 | ||
| 63 | if ($map->hasStylesheetOptions()) { |
|
| 64 | $event->addCode($this->stylesheetTagRenderer->render('#'.$map->getHtmlId(), $map->getStylesheetOptions())); |
|
| 65 | } |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * {@inheritdoc} |
|
| 70 | */ |
|
| 71 | public static function getSubscribedEvents() |
|
| 72 | { |
|
| 73 | return [MapEvents::STYLESHEET => 'handleMap']; |
|
| 74 | } |
|
| 75 | } |
|
| 76 | ||
| @@ 22-77 (lines=56) @@ | ||
| 19 | /** |
|
| 20 | * @author GeLo <[email protected]> |
|
| 21 | */ |
|
| 22 | class MapSubscriber extends AbstractSubscriber |
|
| 23 | { |
|
| 24 | /** |
|
| 25 | * @var MapRenderer |
|
| 26 | */ |
|
| 27 | private $mapRenderer; |
|
| 28 | ||
| 29 | /** |
|
| 30 | * @param Formatter $formatter |
|
| 31 | * @param MapRenderer $mapRenderer |
|
| 32 | */ |
|
| 33 | public function __construct(Formatter $formatter, MapRenderer $mapRenderer) |
|
| 34 | { |
|
| 35 | parent::__construct($formatter); |
|
| 36 | ||
| 37 | $this->setMapRenderer($mapRenderer); |
|
| 38 | } |
|
| 39 | ||
| 40 | /** |
|
| 41 | * @return MapRenderer |
|
| 42 | */ |
|
| 43 | public function getMapRenderer() |
|
| 44 | { |
|
| 45 | return $this->mapRenderer; |
|
| 46 | } |
|
| 47 | ||
| 48 | /** |
|
| 49 | * @param MapRenderer $mapRenderer |
|
| 50 | */ |
|
| 51 | public function setMapRenderer(MapRenderer $mapRenderer) |
|
| 52 | { |
|
| 53 | $this->mapRenderer = $mapRenderer; |
|
| 54 | } |
|
| 55 | ||
| 56 | /** |
|
| 57 | * @param MapEvent $event |
|
| 58 | */ |
|
| 59 | public function handleMap(MapEvent $event) |
|
| 60 | { |
|
| 61 | $map = $event->getMap(); |
|
| 62 | ||
| 63 | $event->addCode($this->getFormatter()->renderContainerAssignment( |
|
| 64 | $map, |
|
| 65 | $this->mapRenderer->render($map), |
|
| 66 | 'map' |
|
| 67 | )); |
|
| 68 | } |
|
| 69 | ||
| 70 | /** |
|
| 71 | * {@inheritdoc} |
|
| 72 | */ |
|
| 73 | public static function getSubscribedEvents() |
|
| 74 | { |
|
| 75 | return [MapEvents::JAVASCRIPT_MAP => 'handleMap']; |
|
| 76 | } |
|
| 77 | } |
|
| 78 | ||
| @@ 23-77 (lines=55) @@ | ||
| 20 | /** |
|
| 21 | * @author GeLo <[email protected]> |
|
| 22 | */ |
|
| 23 | class AutocompleteContainerSubscriber extends AbstractSubscriber |
|
| 24 | { |
|
| 25 | /** |
|
| 26 | * @var AutocompleteContainerRenderer |
|
| 27 | */ |
|
| 28 | private $containerRenderer; |
|
| 29 | ||
| 30 | /** |
|
| 31 | * @param Formatter $formatter |
|
| 32 | * @param AutocompleteContainerRenderer $containerRenderer |
|
| 33 | */ |
|
| 34 | public function __construct(Formatter $formatter, AutocompleteContainerRenderer $containerRenderer) |
|
| 35 | { |
|
| 36 | parent::__construct($formatter); |
|
| 37 | ||
| 38 | $this->setContainerRenderer($containerRenderer); |
|
| 39 | } |
|
| 40 | ||
| 41 | /** |
|
| 42 | * @return AutocompleteContainerRenderer |
|
| 43 | */ |
|
| 44 | public function getContainerRenderer() |
|
| 45 | { |
|
| 46 | return $this->containerRenderer; |
|
| 47 | } |
|
| 48 | ||
| 49 | /** |
|
| 50 | * @param AutocompleteContainerRenderer $containerRenderer |
|
| 51 | */ |
|
| 52 | public function setContainerRenderer(AutocompleteContainerRenderer $containerRenderer) |
|
| 53 | { |
|
| 54 | $this->containerRenderer = $containerRenderer; |
|
| 55 | } |
|
| 56 | ||
| 57 | /** |
|
| 58 | * @param PlaceAutocompleteEvent $event |
|
| 59 | */ |
|
| 60 | public function handleAutocomplete(PlaceAutocompleteEvent $event) |
|
| 61 | { |
|
| 62 | $autocomplete = $event->getAutocomplete(); |
|
| 63 | ||
| 64 | $event->addCode($this->getFormatter()->renderContainerAssignment( |
|
| 65 | $autocomplete, |
|
| 66 | $this->containerRenderer->render() |
|
| 67 | )); |
|
| 68 | } |
|
| 69 | ||
| 70 | /** |
|
| 71 | * {@inheritdoc} |
|
| 72 | */ |
|
| 73 | public static function getSubscribedEvents() |
|
| 74 | { |
|
| 75 | return [PlaceAutocompleteEvents::JAVASCRIPT_INIT_CONTAINER => 'handleAutocomplete']; |
|
| 76 | } |
|
| 77 | } |
|
| 78 | ||
| @@ 23-78 (lines=56) @@ | ||
| 20 | /** |
|
| 21 | * @author GeLo <[email protected]> |
|
| 22 | */ |
|
| 23 | class AutocompleteSubscriber extends AbstractSubscriber |
|
| 24 | { |
|
| 25 | /** |
|
| 26 | * @var AutocompleteRenderer |
|
| 27 | */ |
|
| 28 | private $autocompleteRenderer; |
|
| 29 | ||
| 30 | /** |
|
| 31 | * @param Formatter $formatter |
|
| 32 | * @param AutocompleteRenderer $autocompleteRenderer |
|
| 33 | */ |
|
| 34 | public function __construct(Formatter $formatter, AutocompleteRenderer $autocompleteRenderer) |
|
| 35 | { |
|
| 36 | parent::__construct($formatter); |
|
| 37 | ||
| 38 | $this->setAutocompleteRenderer($autocompleteRenderer); |
|
| 39 | } |
|
| 40 | ||
| 41 | /** |
|
| 42 | * @return AutocompleteRenderer |
|
| 43 | */ |
|
| 44 | public function getAutocompleteRenderer() |
|
| 45 | { |
|
| 46 | return $this->autocompleteRenderer; |
|
| 47 | } |
|
| 48 | ||
| 49 | /** |
|
| 50 | * @param AutocompleteRenderer $autocompleteRenderer |
|
| 51 | */ |
|
| 52 | public function setAutocompleteRenderer(AutocompleteRenderer $autocompleteRenderer) |
|
| 53 | { |
|
| 54 | $this->autocompleteRenderer = $autocompleteRenderer; |
|
| 55 | } |
|
| 56 | ||
| 57 | /** |
|
| 58 | * @param PlaceAutocompleteEvent $event |
|
| 59 | */ |
|
| 60 | public function handleAutocomplete(PlaceAutocompleteEvent $event) |
|
| 61 | { |
|
| 62 | $autocomplete = $event->getAutocomplete(); |
|
| 63 | ||
| 64 | $event->addCode($this->getFormatter()->renderContainerAssignment( |
|
| 65 | $autocomplete, |
|
| 66 | $this->autocompleteRenderer->render($autocomplete), |
|
| 67 | 'autocomplete' |
|
| 68 | )); |
|
| 69 | } |
|
| 70 | ||
| 71 | /** |
|
| 72 | * {@inheritdoc} |
|
| 73 | */ |
|
| 74 | public static function getSubscribedEvents() |
|
| 75 | { |
|
| 76 | return [PlaceAutocompleteEvents::JAVASCRIPT_AUTOCOMPLETE => 'handleAutocomplete']; |
|
| 77 | } |
|
| 78 | } |
|
| 79 | ||