summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-11-04 21:01:39 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-12-12 12:20:59 +0100
commitdfb5da2d29eeb1c9e4b81ea9bc8c883409780bc5 (patch)
tree1f83890fb3ac660bb7279b735e690aab3d7a58cd
parentde97b55bc330568ca68a50a252cccbb240480f9c (diff)
downloadIshtar-dfb5da2d29eeb1c9e4b81ea9bc8c883409780bc5.tar.bz2
Ishtar-dfb5da2d29eeb1c9e4b81ea9bc8c883409780bc5.zip
Syndication - map UI
-rw-r--r--ishtar_common/static/js/ishtar-map.js9
-rw-r--r--ishtar_common/templates/blocks/DataTables-tabs.html3
-rw-r--r--ishtar_common/templates/blocks/DataTables.html16
3 files changed, 22 insertions, 6 deletions
diff --git a/ishtar_common/static/js/ishtar-map.js b/ishtar_common/static/js/ishtar-map.js
index 4403c7b62..ef2651348 100644
--- a/ishtar_common/static/js/ishtar-map.js
+++ b/ishtar_common/static/js/ishtar-map.js
@@ -29,7 +29,8 @@ var geoloc_activated = {};
var fetching_msg = "Fetching data...";
-var _map_submit_search = function(query_vars, name, source){
+var _map_submit_search = function(query_vars, name, source, extra){
+ if (!extra) extra = "default";
var modal_base_text = $('.modal-progress .modal-header').html();
$('.modal-progress .modal-header').html(fetching_msg);
$('.modal-progress').modal('show');
@@ -45,11 +46,11 @@ var _map_submit_search = function(query_vars, name, source){
}
$.getJSON(url, function(data) {
var timestamp = Math.floor(Date.now() / 1000);
- var map_id = "map-" + timestamp;
+ var map_id = "map-" + extra + "-" + timestamp;
$('.modal-progress .modal-header').html("{% trans 'Render map...' %}");
var html = render_map(map_id, use_map_limit);
- $("#tab-content-map-" + name).html(html);
+ $("#tab-content-map-" + name + " #map-" + name + "-" + extra).html(html);
$("#id_" + name + "-length_map").change(map_submit_search);
if ($('.modal-progress').length > 0){
$('.modal-progress').modal('hide');
@@ -598,6 +599,7 @@ var initialize_base_map = function(map_id, layers){
}
var redraw_map = function(map_id, layers){
+ if (!map || !map[map_id]) return;
map[map_id].setTarget(null);
map[map_id] = null;
initialize_base_map(map_id, layers);
@@ -607,7 +609,6 @@ var redraw_map = function(map_id, layers){
var display_map = function(map_id, points, lines_and_polys, layers){
-
base_color_rvb = base_color_R + ', ' + base_color_V + ', ' + base_color_B;
if (points){
diff --git a/ishtar_common/templates/blocks/DataTables-tabs.html b/ishtar_common/templates/blocks/DataTables-tabs.html
index c7d50fdda..8b6d4b807 100644
--- a/ishtar_common/templates/blocks/DataTables-tabs.html
+++ b/ishtar_common/templates/blocks/DataTables-tabs.html
@@ -49,6 +49,9 @@
{% if use_map %}<div class="tab-pane"
id="tab-content-map-{{name}}" role="tabpanel"
aria-labelledby="tab-map-{{name}}">
+ <div id="map-{{name}}-default" class="sources sources-default"></div>
+ {% if external_sources %}{% for source_id, source_label, source_url in external_sources %}
+ <div id="map-{{name}}-{{source_id}}" class="sources sources-{{source_id}}"></div>{% endfor %}{% endif %}
</div>{% endif %}
{% if current_model.STATISTIC_MODALITIES %}
<div class="tab-pane"
diff --git a/ishtar_common/templates/blocks/DataTables.html b/ishtar_common/templates/blocks/DataTables.html
index 199cd3af2..2719a9b46 100644
--- a/ishtar_common/templates/blocks/DataTables.html
+++ b/ishtar_common/templates/blocks/DataTables.html
@@ -67,7 +67,7 @@ $("#tab-gallery-{{name}}").click(function(){
{% if use_map %}
$("#tab-map-{{name}}").click(function(){
current_tab = "map";
- map_submit_search();
+ map_submit_search(current_source);
});
{% endif %}
{% if current_model.STATISTIC_MODALITIES %}
@@ -91,7 +91,14 @@ gallery_submit_search = function(image_page){
{% endif %}
{% if use_map %}
map_submit_search = function(){
- return _map_submit_search(query_vars, "{{name}}", "{{source}}");
+ if (current_source == "default"){
+ return _map_submit_search(query_vars, "{{name}}", "{{source}}");
+ }
+ {% if external_sources %}{% for source_id, source_label, source_url in external_sources %}
+ else if (current_source == "{{source_id}}"){
+ return _map_submit_search(query_vars, "{{name}}", "{{source_url}}", "{{source_id}}");
+ }
+ {% endfor %}{% endif %}
};
{% endif %}
@@ -160,6 +167,7 @@ update_submit_args = function(){
return false;
};
+var current_source = "default";
jQuery(document).ready(function(){
jQuery("#search_{{name}}").click(
@@ -169,17 +177,21 @@ jQuery(document).ready(function(){
{% if external_sources %}
$("#source_button_default").click(
function(){
+ current_source = "default";
$(".sources").hide();
$(".sources-default").show();
redraw_plots("{{name}}", "default");
+ if (current_tab == "map") map_submit_search();
}
);
{% for source_id, source_label, source_url in external_sources %}
$("#source_button_{{source_id}}").click(
function(){
+ current_source = "{{source_id}}";
$(".sources").hide();
$(".sources-{{source_id}}").show();
redraw_plots("{{name}}", "{{source_id}}");
+ if (current_tab == "map") map_submit_search();
}
);
{% endfor %}