summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commited6c1559c44bdc3214cd2dffb377359601b28a33 (patch)
tree092c27cc57dcdc6850757ef7b395c6ef51b152c3
parenta50175acb194390a4462c6db0945e075aefb2299 (diff)
downloadChimère-ed6c1559c44bdc3214cd2dffb377359601b28a33.tar.bz2
Chimère-ed6c1559c44bdc3214cd2dffb377359601b28a33.zip
Disable permalink when not revelant
-rw-r--r--chimere/models.py3
-rw-r--r--chimere/static/chimere/css/styles.css6
-rw-r--r--chimere/static/chimere/js/base.js6
-rw-r--r--chimere/static/chimere/js/jquery.chimere.js19
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(){