Skip to content

Commit

Permalink
Merge pull request #3986 from GeotrekCE/overlay_leaflet
Browse files Browse the repository at this point in the history
Add Trail + some translations + change signage group on leaflet overlay (#1300)
  • Loading branch information
juggler31 committed Mar 13, 2024
2 parents 1db5598 + 10eb521 commit 1ba2ab7
Show file tree
Hide file tree
Showing 7 changed files with 58 additions and 18 deletions.
3 changes: 3 additions & 0 deletions docs/changelog.rst
Expand Up @@ -11,10 +11,13 @@ CHANGELOG
- Tourism : add price to TouristicEvent model - ref #3587
- Add `check_versions` command to check Geotrek, Python, Django, PostgreSQL and PostGIS versions.
- Add ``GeotrekCourseParser`` and ``GeotrekSiteParser`` in Aggregator to retrieve Outdoor models (refs #3569)
- Add trail on leaflet overlay

**Bug fixes**

- Fix cache key for zoning cities
- Change signage group on leaflet overlay
- Add some translation on leaflet overlay layer

**Improvements**

Expand Down
28 changes: 28 additions & 0 deletions geotrek/core/static/core/trail.js
@@ -0,0 +1,28 @@
$(window).on('entity:map', function (e, data) {
var modelname = 'trail';
var layername = `${modelname}_layer`;
var url = window.SETTINGS.urls[layername];
var loaded_trail = false;
var map = data.map;
var style = L.Util.extend({ clickable: false },
window.SETTINGS.map.styles[modelname] || {});
// Show trail layer in application maps
var layer = new L.ObjectsLayer(null, {
modelname: modelname,
style: style,
});

if (data.modelname != modelname){
map.layerscontrol.addOverlay(layer, tr('Trails'), tr('Trail'));
};

map.on('layeradd', function (e) {
var options = e.layer.options || { 'modelname': 'None' };
if (! loaded_trail) {
if (options.modelname == modelname && options.modelname != data.modelname) {
e.layer.load(url);
loaded_trail = true;
}
}
});
});
4 changes: 4 additions & 0 deletions geotrek/core/templates/core/core_extrabody_fragment.html
@@ -1,8 +1,12 @@
{% load static i18n %}
<script type="text/javascript">
MapEntity.i18n['Paths'] = "{% trans "Paths" %}";
MapEntity.i18n['Trail'] = "{% trans "Trail" %}";
MapEntity.i18n['Trails'] = "{% trans "Trails" %}";

window.SETTINGS.urls['path_layer'] = "{% url "core:path-drf-list" format="geojson" %}";
window.SETTINGS.urls['trail_layer'] = "{% url "core:trail-drf-list" format="geojson" %}";
window.SETTINGS.urls['path_graph'] = "{% url "core:path-drf-graph" %}";
</script>
<script type="text/javascript" src="{% static "core/main.js" %}"></script>
<script type="text/javascript" src="{% static "core/trail.js" %}"></script>
37 changes: 20 additions & 17 deletions geotrek/diving/static/diving/main.js
@@ -1,24 +1,27 @@
$(window).on('entity:map', function (e, data) {

var modelname = 'dive';
var layername = `${modelname}_layer`;
var url = window.SETTINGS.urls[layername];
var loaded_dive = false;
var map = data.map;
var style = L.Util.extend({ clickable: false },
window.SETTINGS.map.styles[modelname] || {});
// Show dive layer in application maps
var layer = new L.ObjectsLayer(null, {
modelname: modelname,
style: style,
});

var diveLayer = {url: window.SETTINGS.urls.dive_layer, name: tr('Diving')};
diveLayer.isActive = false;

var style = L.Util.extend({clickable: false},
window.SETTINGS.map.styles['diving'] || {});
var layer = new L.ObjectsLayer(null, {
modelname: diveLayer.name,
style: style
});
map.layerscontrol.addOverlay(layer, 'Diving', tr('Diving'));
map.on('layeradd', function(e){
var options = e.layer.options || {'modelname': 'None'};
if (data.modelname != modelname){
map.layerscontrol.addOverlay(layer, tr('Diving'), tr('Diving'));
};

if (! diveLayer.isActive){
if (options.modelname == diveLayer.name){
e.layer.load(diveLayer.url);
diveLayer.isActive = true;
map.on('layeradd', function (e) {
var options = e.layer.options || { 'modelname': 'None' };
if (! loaded_dive) {
if (options.modelname == modelname && options.modelname != data.modelname) {
e.layer.load(url);
loaded_dive = true;
}
}
});
Expand Down
@@ -1,5 +1,6 @@
{% load static i18n %}
<script type="text/javascript">
MapEntity.i18n['Dives'] = "{% trans "Dives" %}";
MapEntity.i18n['Diving'] = "{% trans "Diving" %}";
window.SETTINGS.urls['dive_layer'] = "{% url "diving:dive-drf-list" format="geojson" %}";
</script>
2 changes: 1 addition & 1 deletion geotrek/signage/static/signage/main.js
Expand Up @@ -17,7 +17,7 @@ $(window).on('entity:map', function (e, data) {
});

if (data.modelname != modelname){
map.layerscontrol.addOverlay(layer, tr('Signage'), tr('Infrastructure'));
map.layerscontrol.addOverlay(layer, tr('Signages'), tr('Signage'));
};

map.on('layeradd', function (e) {
Expand Down
Expand Up @@ -2,6 +2,7 @@

<script type="text/javascript">
MapEntity.i18n['Signages'] = "{% trans "Signages" %}";
MapEntity.i18n['Signage'] = "{% trans "Signage" %}";

window.SETTINGS.urls['signage_layer'] = "{% url "signage:signage-drf-list" format="geojson" %}";
</script>

0 comments on commit 1ba2ab7

Please sign in to comment.