Add getIcons callback to the layer dca listener.

This commit is contained in:
David Molineus
2017-10-06 13:39:40 +02:00
parent 598adb54b1
commit 32d47531f7
2 changed files with 21 additions and 2 deletions

View File

@@ -17,6 +17,7 @@ use Contao\Image;
use Contao\StringUtil;
use Doctrine\DBAL\Connection;
use Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer\LayerLabelRenderer;
use Netzmacht\Contao\Leaflet\Model\IconModel;
use Netzmacht\Contao\Toolkit\Dca\Listener\AbstractListener;
use Netzmacht\Contao\Toolkit\Dca\Manager;
use Netzmacht\Contao\Toolkit\Dca\Options\OptionsBuilder;
@@ -373,6 +374,24 @@ class LayerDcaListener extends AbstractListener
return $this->amenities;
}
/**
* Get all icons.
*
* @return array
*/
public function getIcons()
{
$collection = IconModel::findAll(array('order' => 'title'));
$builder = OptionsBuilder::fromCollection(
$collection,
function ($model) {
return sprintf('%s [%s]', $model['title'], $model['type']);
}
);
return $builder->getOptions();
}
/**
* Generate a button.
*

View File

@@ -803,7 +803,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_layer'] = [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcons'],
'exclude' => true,
'inputType' => 'multiColumnWizard',
'options_callback' => ['Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'getIcons'],
'options_callback' => ['netzmacht.contao_leaflet_maps.listeners.dca.layer', 'getIcons'],
'eval' => [
'columnFields' => [
'amenity' => [
@@ -822,7 +822,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_layer'] = [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcon'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'getIcons'],
'options_callback' => ['netzmacht.contao_leaflet_maps.listeners.dca.layer', 'getIcons'],
'eval' => [
'mandatory' => true,
'tl_class' => 'w50',