diff options
Diffstat (limited to 'ishtar_common/static/js')
| -rw-r--r-- | ishtar_common/static/js/ishtar-map.js | 24 | ||||
| -rw-r--r-- | ishtar_common/static/js/ishtar.js | 5 | 
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){ | 
