/**
  * {@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);
         }
     }
 }
Example #4
0
        $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.