summaryrefslogtreecommitdiff
path: root/ishtar_common/static/js
diff options
context:
space:
mode:
authorÉtienne Loks <etienne@peacefrogs.net>2019-02-07 18:20:11 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-04-24 19:38:56 +0200
commita39df7b6088527faf4108e9a50040e8165ab6a3d (patch)
tree92b1e3e2650434e5ee40a49b5249f32405b0f699 /ishtar_common/static/js
parent1b0d2c7558b5cf64a65d05eeba0be8f5c2388bf8 (diff)
downloadIshtar-a39df7b6088527faf4108e9a50040e8165ab6a3d.tar.bz2
Ishtar-a39df7b6088527faf4108e9a50040e8165ab6a3d.zip
Map: manage show detail for simple map
Diffstat (limited to 'ishtar_common/static/js')
-rw-r--r--ishtar_common/static/js/ishtar-map.js24
-rw-r--r--ishtar_common/static/js/ishtar.js5
2 files changed, 21 insertions, 8 deletions
diff --git a/ishtar_common/static/js/ishtar-map.js b/ishtar_common/static/js/ishtar-map.js
index 0613ec285..c1bed2554 100644
--- a/ishtar_common/static/js/ishtar-map.js
+++ b/ishtar_common/static/js/ishtar-map.js
@@ -169,7 +169,11 @@ var manage_click_on_map = function(map_id){
};
};
+var current_event;
+
var click_on_feature = function(map_id, feature, e){
+ // console.log("click_on_feature");
+ current_event = e;
if (!$(e.target).is($(popup_item[map_id]))
&& !$.contains($(popup_item[map_id])[0], e.target) ) {
@@ -183,11 +187,11 @@ var click_on_feature = function(map_id, feature, e){
current_feature = feature;
if (!feature) return;
- var timeout = 200;
+ var timeout = 10;
setTimeout(function(){
// zoom on aggregated
var key = feature.get('key');
- if (key && key.length > 6 && key.substring(0, 7) == 'cluster'){
+ if (feature.get('name') || feature.get('key')){
feature = click_on_cluster(map_id, feature);
}
}, timeout);
@@ -197,6 +201,7 @@ var auto_zoom = false;
var click_on_cluster = function(map_id, feature, zoom_level, duration, nb_zoom,
current_nb_items){
+ // console.log("click_on_cluster");
if (!duration){
// zoom animation must be slower
duration = animation_duration * 2;
@@ -271,9 +276,13 @@ var click_on_cluster = function(map_id, feature, zoom_level, duration, nb_zoom,
var display_cluster_detail = function(map_id, cluster){
// console.log("display_cluster_detail");
var features = cluster.getProperties()['features']
+
var offset_x = 0;
var offset_y = -21;
- if (features.length == 1){
+ if (!features){
+ features = [cluster];
+ offset_y = -7;
+ } else if (features.length == 1){
offset_y = -54;
}
display_items(map_id, features, offset_x, offset_y);
@@ -319,7 +328,12 @@ var _display_items = function(map_id, features, offset_x, offset_y){
$("#ishtar-map-window-" + map_id + " .modal-body").html(window_content);
$(popup_item[map_id]).html(popup_content);
$("." + ul_class + " .map-list-detail").click(open_map_window(map_id));
- popup[map_id].setPosition(geom.getCoordinates());
+
+ if (geom.getType() == "Point"){
+ popup[map_id].setPosition(geom.getCoordinates());
+ } else {
+ popup[map_id].setPosition(current_event.coordinate);
+ }
popup[map_id].setOffset([offset_x, offset_y]);
$(popup_item[map_id]).css({opacity: 0});
$(popup_item[map_id]).show(0, function(){
@@ -417,7 +431,7 @@ var display_map = function(map_id, points, lines_and_polys, layers){
if (points){
link_template[map_id] = points['link_template'];
} else {
- /// link_template = lines_and_polys['link_template'];
+ link_template[map_id] = lines_and_polys['link_template'];
}
if (map[map_id]){
redraw_map(map_id, layers);
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js
index 6600181e7..e7ec6850c 100644
--- a/ishtar_common/static/js/ishtar.js
+++ b/ishtar_common/static/js/ishtar.js
@@ -1250,13 +1250,12 @@ var render_map_list_modal = function(map_id){
return html;
};
-var render_map = function(data_table, table_name, nb_select, map_id){
- //var html = render_paginate_select(table_name, 'map', nb_select);
+var render_map = function(map_id){
var html = "";
html += "<div class='ishtar-table-map' id='" + map_id + "'></div>";
html += "<div class='ishtar-map-popup' id='ishtar-map-popup-" + map_id + "'></div>";
html += render_map_list_modal(map_id);
- return {"points": data_table, "html": html};
+ return html;
};
var register_map = function(map_id, points){