Files
contao-leaflet-maps/src/Backend/Renderer/Label/Layer/ReferenceLabelRenderer.php

68 lines
1.7 KiB
PHP
Raw Normal View History

2017-10-06 10:07:19 +02:00
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
2017-10-11 15:00:48 +02:00
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
2017-10-06 10:07:19 +02:00
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
declare(strict_types=1);
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
use Netzmacht\Contao\Leaflet\Model\LayerModel;
use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager;
2022-02-22 09:52:12 +01:00
use Symfony\Contracts\Translation\TranslatorInterface as Translator;
2017-10-06 10:07:19 +02:00
/**
* Class ReferenceLabelRenderer.
*
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
*/
final class ReferenceLabelRenderer extends AbstractLabelRenderer
{
/**
* Repository manager.
*
* @var RepositoryManager
*/
private $repositoryManager;
/**
* FileLabelRenderer constructor.
*
* @param RepositoryManager $repositoryManager Repository manager.
*/
public function __construct(RepositoryManager $repositoryManager)
{
$this->repositoryManager = $repositoryManager;
}
2017-10-06 10:07:19 +02:00
/**
* {@inheritdoc}
*/
protected function getLayerType(): string
{
return 'reference';
2017-10-06 10:07:19 +02:00
}
/**
* {@inheritdoc}
*/
public function render(array $row, string $label, Translator $translator): string
{
$repository = $this->repositoryManager->getRepository(LayerModel::class);
$reference = $repository->find((int) $row['reference']);
2017-10-06 10:07:19 +02:00
if ($reference) {
$label .= '<span class="tl_gray"> (' . $reference->title . ')</span>';
}
return $label;
}
}