diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2015-02-22 20:52:08 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2015-02-22 20:52:08 +0100 |
commit | ed6c1559c44bdc3214cd2dffb377359601b28a33 (patch) | |
tree | 092c27cc57dcdc6850757ef7b395c6ef51b152c3 | |
parent | a50175acb194390a4462c6db0945e075aefb2299 (diff) | |
download | Chimère-ed6c1559c44bdc3214cd2dffb377359601b28a33.tar.bz2 Chimère-ed6c1559c44bdc3214cd2dffb377359601b28a33.zip |
Disable permalink when not revelant
-rw-r--r-- | chimere/models.py | 3 | ||||
-rw-r--r-- | chimere/static/chimere/css/styles.css | 6 | ||||
-rw-r--r-- | chimere/static/chimere/js/base.js | 6 | ||||
-rw-r--r-- | chimere/static/chimere/js/jquery.chimere.js | 19 |
4 files changed, 32 insertions, 2 deletions
diff --git a/chimere/models.py b/chimere/models.py index 2ae8481..77fdaf2 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -666,7 +666,8 @@ class Marker(GeographicItem): continue items = copy.deepcopy(json_tpl) items['geometry'] = json.loads(self.point.geojson) - items['properties'].update({'pk':self.id, + items['properties'].update({ + 'pk':self.id, 'name':self.name, 'icon_path':unicode(cat.icon.image), 'icon_hover_path':cat.hover_icon.image \ diff --git a/chimere/static/chimere/css/styles.css b/chimere/static/chimere/css/styles.css index a8efa7f..5a638c7 100644 --- a/chimere/static/chimere/css/styles.css +++ b/chimere/static/chimere/css/styles.css @@ -177,6 +177,12 @@ fieldset{ display:block; } +a[disabled] { + pointer-events: none; + cursor: default; + color: gray; +} + #page_title{ position:absolute; top:6px; diff --git a/chimere/static/chimere/js/base.js b/chimere/static/chimere/js/base.js index 0db11c1..18394de 100644 --- a/chimere/static/chimere/js/base.js +++ b/chimere/static/chimere/js/base.js @@ -141,3 +141,9 @@ function share_link_update(){ return false; }); } + +$("a").on("click", function(event){ + if ($(this).is("[disabled]")) { + event.preventDefault(); + } +}); diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index 77c27b0..e40b071 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -455,10 +455,22 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { methods.loadMarker(settings.display_feature); } } - + methods.update_permalink_activation(); methods.preload_images(); }, // end of init + update_permalink_activation:function(){ + if (settings.checked_categories.length || + settings.current_feature || + settings.routing_speed || + settings.routing_transport || + settings.routing_start || + settings.routing_end){ + $("#permalink a").removeAttr("disabled"); + } else { + $("#permalink a").attr("disabled", "disabled"); + } + }, /* Preload icons */ preload_images: function(){ if (typeof extra_url == 'undefined') return; @@ -651,6 +663,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { }, complete: function () { if($('#waiting').length){$('#waiting').hide();} + methods.update_permalink_activation(); } }); }, @@ -881,6 +894,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { settings.current_popup.groupDiv.onclick = methods.hidePopup; } settings.permalink.updateLink(); + methods.update_permalink_activation(); } var _repan_popup = function(){ /* re-pan manually */ @@ -1613,6 +1627,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { else { // Default behaviour if (settings.current_popup) { + settings.current_feature = null; if (!settings.simple){ $('#detail').fadeOut(); } @@ -1620,10 +1635,12 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { settings.current_popup.hide(); if(evt) settings.map.events.triggerEvent('click', evt); + methods.update_permalink_activation(); return true; } } } + methods.update_permalink_activation(); return false; }, saveExtent: function(){ |