Use the repository manager.

This commit is contained in:
David Molineus
2017-10-19 08:45:39 +02:00
parent ce9de6ded3
commit ef7b493b2d
13 changed files with 292 additions and 33 deletions

View File

@@ -18,6 +18,7 @@ use Netzmacht\Contao\Leaflet\Mapper\DefinitionMapper;
use Netzmacht\Contao\Leaflet\Mapper\GeoJsonMapper;
use Netzmacht\Contao\Leaflet\Mapper\Request;
use Netzmacht\Contao\Leaflet\Model\MarkerModel;
use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager;
use Netzmacht\JavascriptBuilder\Type\Expression;
use Netzmacht\LeafletPHP\Definition;
use Netzmacht\LeafletPHP\Definition\Group\GeoJson;
@@ -38,6 +39,25 @@ class MarkersLayerMapper extends AbstractLayerMapper implements GeoJsonMapper
*/
protected static $type = 'markers';
/**
* Repository manager.
*
* @var RepositoryManager
*/
private $repositoryManager;
/**
* Construct.
*
* @param RepositoryManager $repositoryManager Repository manager.
*/
public function __construct(RepositoryManager $repositoryManager)
{
$this->repositoryManager = $repositoryManager;
parent::__construct();
}
/**
* {@inheritdoc}
*/
@@ -154,10 +174,12 @@ class MarkersLayerMapper extends AbstractLayerMapper implements GeoJsonMapper
*/
protected function loadMarkerModels(Model $model, Request $request = null)
{
$repository = $this->repositoryManager->getRepository(MarkerModel::class);
if ($model->boundsMode == 'fit') {
return MarkerModel::findByFilter($model->id, $request->getFilter());
return $repository->findByFilter($model->id, $request->getFilter());
}
return MarkerModel::findByFilter($model->id);
return $repository->findByFilter($model->id);
}
}