Skip to content
Snippets Groups Projects
Commit dd3800b0 authored by Ghislain Loas's avatar Ghislain Loas Committed by Patrick Barroca
Browse files

dev #64923 add checkbox to toggle osm layer

parent 1d7bacfb
Branches
Tags
3 merge requests!2430Dev#64923 contractuel concarneau personnaliser le fonds de la carte bib,!2421Dev#64923 contractuel concarneau personnaliser le fonds de la carte bib,!2419Dev#64923 contractuel concarneau personnaliser le fonds de la carte bib
......@@ -70,7 +70,9 @@ class Class_Systeme_ModulesAccueil_Library extends Class_Systeme_ModulesAccueil_
'filters_position' => self::POSITION_RIGHT,
'default_filters' => [],
'linked' => 0,
'osm_map' => 0];
'osm_map' => 0,
'osm_layer' => 1,
'geo_json' => ''];
}
......
......@@ -26,7 +26,8 @@ class ZendAfi_Form_Configuration_Widget_Libraries extends ZendAfi_Form_Configura
Class_ScriptLoader::getInstance()
->addJQueryReady('checkBoxToggleVisibilityForElement("#allow_link_on_title", $("#anchor").closest("tr"), true);'
. 'checkBoxToggleVisibilityForElement("#osm_map", $("#geo_json").closest("tr"), true);');
. 'checkBoxToggleVisibilityForElement("#osm_map", $("#geo_json").closest("tr"), true);'
. 'checkBoxToggleVisibilityForElement("#osm_map", $("#osm_layer").closest("tr"), true);');
$module = (new Class_Systeme_ModulesAccueil())->getModuleByCode('LIBRARY');
......@@ -88,6 +89,10 @@ class ZendAfi_Form_Configuration_Widget_Libraries extends ZendAfi_Form_Configura
'osm_map',
['label' => $this->_('Afficher la carte interactive')])
->addElement('checkbox',
'osm_layer',
['label' => $this->_('Fond de carte OpenStreetMap')])
->addElement('userfile',
'geo_json',
['label' => $this->_('Fond de carte GeoJSON'),
......@@ -109,6 +114,7 @@ class ZendAfi_Form_Configuration_Widget_Libraries extends ZendAfi_Form_Configura
->addToSelectionGroup(['libraries'])
->addToDisplaySettingsGroup(['osm_map',
'osm_layer',
'geo_json',
'order',
'nb_aff',
......
......@@ -49,10 +49,15 @@ class ZendAfi_View_Helper_LibrariesMap extends ZendAfi_View_Helper_BaseHelper {
? $preferences['geo_json']
: '');
$osm_layer = json_encode(isset($preferences['osm_layer'])
? $preferences['osm_layer']
: '0');
return $this->_tag('div', '', ['id' => $container_id,
'class' => 'leaflet_osm',
'data-osm' => json_encode($datas),
'data-osm-geojson' => $geojson,
'data-osm-layer' => $osm_layer,
'data-osm-open-url-icon' => $this->_getUrlIcon('/map/open-marker-icon.png'),
'data-osm-close-url-icon' => $this->_getUrlIcon('/map/close-marker-icon.png'),
'data-osm-default-url-icon' => $this->_getUrlIcon('/map/marker-icon.png')]);
......
......@@ -26,9 +26,10 @@
var map = L.map(container.attr('id'),
{scrollWheelZoom: false});
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png',
{attribution: '&copy;<a href="http://osm.org/copyright">OpenStreetMap</a> contributors'})
.addTo(map);
if(1 == eval(container.attr('data-osm-layer')))
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png',
{attribution: '&copy;<a href="http://osm.org/copyright">OpenStreetMap</a> contributors'})
.addTo(map);
var url_geojson = eval(container.attr('data-osm-geojson'));
var geojsonLayer = new L.GeoJSON.AJAX(url_geojson);
......
......@@ -2017,6 +2017,12 @@ class WidgetControllerLibrarySimpleDispatchTest extends WidgetControllerDispatch
public function selectGeoJsonShouldBePresent() {
$this->assertXPath('//form//input[@name="geo_json"]');
}
/** @test */
public function checkboxOsmLayerShouldBePresent() {
$this->assertXPath('//form//input[@name="osm_layer"]');
}
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment