summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-11-14 16:11:15 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-11-18 11:57:17 +0100
commit8b8dac7ba6343107791cdd9062b3037f8c957e73 (patch)
treec7b35d492ba8d94d346a715f362ce748e786a39d
parent8fd5f6c5ba4e8e40bfa652af79018efcc88556ba (diff)
downloadChimère-8b8dac7ba6343107791cdd9062b3037f8c957e73.tar.bz2
Chimère-8b8dac7ba6343107791cdd9062b3037f8c957e73.zip
Fix update share link management
Conflicts: chimere/templates/chimere/blocks/share_bar.html
-rw-r--r--chimere/static/chimere/js/base.js72
-rw-r--r--chimere/templates/chimere/blocks/map.html5
-rw-r--r--chimere/templates/chimere/blocks/share_bar.html27
-rw-r--r--chimere/urls.py2
4 files changed, 44 insertions, 62 deletions
diff --git a/chimere/static/chimere/js/base.js b/chimere/static/chimere/js/base.js
index facaf23..00acadd 100644
--- a/chimere/static/chimere/js/base.js
+++ b/chimere/static/chimere/js/base.js
@@ -107,43 +107,45 @@ function zoomToCurrentExtent(map){
return true;
}
-/* interface */
-function share_link_update(){
- $('.share_link').click(function(){
- if (this.share_initialized){
- return false;
- }
- this.share_initialized = true;
- var href = $(this).attr('href');
- var url = get_share_url;
- var classes = $(this).attr('class').split(' ');
- prefix = 'share_id_';
- var share_id;
- for (idx=0;idx<classes.length;idx++){
- if(classes[idx].substring(0, prefix.length) == prefix){
- var share_id = classes[idx].substring(prefix.length);
- share_id = share_id.split('_')[0];
- }
- }
- $('#main-map').chimere('update_permalink');
- var params = $('#permalink').attr('href').split('#');
- url += share_id + params[params.length-1];
- $.ajax({url: url,
- dataType: "html",
- success: function (url) {
- window.location.href = url;
- return true;
- },
- error: function(){
- return false;
- }
- });
- return false;
- });
-}
-
$("a").on("click", function(event){
if ($(this).is("[disabled]")) {
event.preventDefault();
}
});
+
+var update_permalink = false;
+
+function share_link_update(){
+ if (update_permalink){
+ $('.share_link').unbind('click').click(function(){
+ update_permalink();
+ var href = $(this).attr('href');
+ var url = get_share_url;
+ var classes = $(this).attr('class').split(' ');
+ prefix = 'share_id_';
+ var share_id;
+ for (idx=0;idx<classes.length;idx++){
+ if(classes[idx].substring(0, prefix.length) == prefix){
+ var share_id = classes[idx].substring(prefix.length);
+ }
+ }
+ var params = $('#permalink').attr('href').split('#');
+ url += share_id + "/" + params[params.length-1] + "/";
+ var initialized = false;
+ $.ajax({url: url,
+ dataType: "html",
+ success: function (url) {
+ if(!initialized){
+ initialized = true;
+ window.open(url);
+ }
+ return false;
+ },
+ error: function(){
+ return false;
+ }
+ });
+ return false;
+ });
+ }
+}
diff --git a/chimere/templates/chimere/blocks/map.html b/chimere/templates/chimere/blocks/map.html
index 3b75646..7c5370f 100644
--- a/chimere/templates/chimere/blocks/map.html
+++ b/chimere/templates/chimere/blocks/map.html
@@ -83,6 +83,11 @@ $("#{{map_id}}").show();
if (!permalink) $('#main-map').chimere('zoom', {'area':{{zoom}} });
{% endif %}
+ function update_permalink(){
+ alert("hop");
+ $('#main-map').chimere('update_permalink');
+ };
+
{{extra_map_def|safe}}
// init layer selection
diff --git a/chimere/templates/chimere/blocks/share_bar.html b/chimere/templates/chimere/blocks/share_bar.html
index c188f07..a680aa8 100644
--- a/chimere/templates/chimere/blocks/share_bar.html
+++ b/chimere/templates/chimere/blocks/share_bar.html
@@ -9,32 +9,7 @@
{% endfor %}</ul>{% endif %}
<script language='text/javascript'>
$(function(){
- $('.share_link').click(function(){
- $('#main-map').chimere('update_permalink');
- var href = $(this).attr('href');
- var url = '{% url chimere:get-share-url %}';
- var classes = $(this).attr('class').split(' ');
- prefix = 'share_id_';
- var share_id;
- for (idx=0;idx<classes.length;idx++){
- if(classes[idx].substring(0, prefix.length) == prefix){
- var share_id = classes[idx].substring(prefix.length);
- }
- }
- var params = $('#permalink').attr('href').split('#');
- url += share_id + "/" + params[params.length-1] + "/";
- $.ajax({url: url,
- dataType: "html",
- success: function (url) {
- window.open(url);
- return false;
- },
- error: function(){
- return false;
- }
- });
- return false;
- });
+ share_link_update();
});
</script>
{% endif %}
diff --git a/chimere/urls.py b/chimere/urls.py
index 74fe238..27c6eef 100644
--- a/chimere/urls.py
+++ b/chimere/urls.py
@@ -136,7 +136,7 @@ urlpatterns += patterns(
url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getCategory/(?P<category_id>\d+)/?$',
'getCategory', name="get_category"),
url(r'^(?P<area_name>[a-zA-Z0-9_-]*/)?get-share-url/(?:(?P<network>\w+)/'
- r'(?:(?P<attrs>[a-zA-Z0-9_;.:-]+)/)?)?$',
+ r'(?:(?P<attrs>[a-zA-Z0-9_;.:-]+))?)?/?$',
'getShareUrl', name="get-share-url"),
url(r'^(?P<area_name>[a-zA-Z0-9_-]*/)?ty/(?P<tiny_urn>\w+)$',
'redirectFromTinyURN', name="tiny"),