/** * {@inheritdoc} */ public function handle($model, DefinitionMapper $mapper, Filter $filter = null, $elementId = null, Definition $parent = null) { $reference = LayerModel::findByPk($model->reference); if (!$reference || !$reference->active) { return null; } $elementId = $model->standalone ? $this->getElementId($model, $elementId) : null; return $mapper->handle($reference, $filter, $elementId); }
/** * Get all render settings of a metamodel. * * @param \DataContainer $dataContainer The data container driver. * * @return array */ public function getRenderSettings($dataContainer) { $settings = array(); if ($dataContainer->activeRecord) { $layer = LayerModel::findByPk($dataContainer->activeRecord->pid); if (!$layer) { return $settings; } $result = \Database::getInstance()->prepare('SELECT * FROM tl_metamodel_rendersettings WHERE pid=?')->execute($layer->metamodel); return OptionsBuilder::fromResult($result, 'name')->getOptions(); } return $settings; }
/** * Set the bounds information. * * @param \Model $model The model. * @param Feature $feature The feature. * * @return void */ protected function setBoundsInformation($model, $feature) { if ($model->ignoreForBounds) { $feature->setProperty('ignoreForBounds', true); } else { $parent = LayerModel::findByPk($model->pid); if ($parent && $parent->boundsMode !== 'extend') { $feature->setProperty('ignoreForBounds', true); } } }
$provider = $GLOBALS['TL_LANG']['leaflet_provider'][$row['tile_provider']][0]; } else { $provider = $row['tile_provider']; } $label .= sprintf('<span class="tl_gray"> (%s)</span>', $provider); return $label; }), 'group' => array('children' => true, 'icon' => 'system/modules/leaflet/assets/img/group.png'), 'markers' => array('children' => false, 'icon' => 'system/modules/leaflet/assets/img/markers.png', 'markers' => true, 'boundsMode' => array('extend' => true, 'fit' => 'deferred'), 'label' => function ($row, $label) { $count = \Netzmacht\Contao\Leaflet\Model\MarkerModel::countBy('pid', $row['id']); $label .= sprintf('<span class="tl_gray"> (%s %s)</span>', $count, $GLOBALS['TL_LANG']['tl_leaflet_layer']['countEntries']); return $label; }), 'vectors' => array('children' => false, 'icon' => 'system/modules/leaflet/assets/img/vectors.png', 'vectors' => true, 'boundsMode' => array('extend' => true), 'label' => function ($row, $label) { $count = \Netzmacht\Contao\Leaflet\Model\VectorModel::countBy('pid', $row['id']); $label .= sprintf('<span class="tl_gray"> (%s %s)</span>', $count, $GLOBALS['TL_LANG']['tl_leaflet_layer']['countEntries']); return $label; }), 'reference' => array('children' => false, 'icon' => 'system/modules/leaflet/assets/img/reference.png', 'label' => function ($row, $label) { $reference = \Netzmacht\Contao\Leaflet\Model\LayerModel::findByPk($row['reference']); if ($reference) { $label .= '<span class="tl_gray"> (' . $reference->title . ')</span>'; } return $label; }), 'markercluster' => array('children' => true, 'icon' => 'system/modules/leaflet/assets/img/cluster.png'), 'tile' => array('children' => false, 'icon' => 'system/modules/leaflet/assets/img/tile.png')); /* * leaflet controls. * * Supported leaflet control types. Register your type for the database driven definition here. */ $GLOBALS['LEAFLET_CONTROLS'] = array('zoom', 'layers', 'scale', 'attribution', 'loading', 'fullscreen'); /* * Leaflet icons. * * Supported leaflet icon types. Register you type for the database driven definition here.