summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/static/bootstrap/bootstrap.min.css (renamed from chimere_example_project/chimere_example_static/bootstrap/bootstrap.min.css)0
-rw-r--r--chimere/static/bootstrap/bootstrap.min.js (renamed from chimere_example_project/chimere_example_static/bootstrap/bootstrap.min.js)0
-rw-r--r--chimere/static/chimere/js/jquery.chimere.js261
-rw-r--r--chimere/static/font-awesome/LICENSE (renamed from chimere_example_project/chimere_example_static/font-awesome/LICENSE)0
-rw-r--r--chimere/static/font-awesome/css/font-awesome.css (renamed from chimere_example_project/chimere_example_static/font-awesome/css/font-awesome.css)0
-rw-r--r--chimere/static/font-awesome/css/font-awesome.min.css (renamed from chimere_example_project/chimere_example_static/font-awesome/css/font-awesome.min.css)0
-rw-r--r--chimere/static/font-awesome/fonts/FontAwesome.otf (renamed from chimere_example_project/chimere_example_static/font-awesome/fonts/FontAwesome.otf)bin93888 -> 93888 bytes
-rw-r--r--chimere/static/font-awesome/fonts/fontawesome-webfont.eot (renamed from chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.eot)bin60767 -> 60767 bytes
-rw-r--r--chimere/static/font-awesome/fonts/fontawesome-webfont.svg (renamed from chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.svg)0
-rw-r--r--chimere/static/font-awesome/fonts/fontawesome-webfont.ttf (renamed from chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.ttf)bin122092 -> 122092 bytes
-rw-r--r--chimere/static/font-awesome/fonts/fontawesome-webfont.woff (renamed from chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.woff)bin71508 -> 71508 bytes
-rw-r--r--chimere/static/font-awesome/fonts/fontawesome-webfont.woff2 (renamed from chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.woff2)bin56780 -> 56780 bytes
-rw-r--r--chimere/templates/chimere/blocks/map.html2
-rw-r--r--chimere/templates/chimere/main_map.html6
14 files changed, 91 insertions, 178 deletions
diff --git a/chimere_example_project/chimere_example_static/bootstrap/bootstrap.min.css b/chimere/static/bootstrap/bootstrap.min.css
index a553c4f..a553c4f 100644
--- a/chimere_example_project/chimere_example_static/bootstrap/bootstrap.min.css
+++ b/chimere/static/bootstrap/bootstrap.min.css
diff --git a/chimere_example_project/chimere_example_static/bootstrap/bootstrap.min.js b/chimere/static/bootstrap/bootstrap.min.js
index 1765631..1765631 100644
--- a/chimere_example_project/chimere_example_static/bootstrap/bootstrap.min.js
+++ b/chimere/static/bootstrap/bootstrap.min.js
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js
index df5dea5..a94b74e 100644
--- a/chimere/static/chimere/js/jquery.chimere.js
+++ b/chimere/static/chimere/js/jquery.chimere.js
@@ -143,13 +143,6 @@ function transform(obj) {
return obj.transform(EPSG_DISPLAY_PROJECTION, EPSG_PROJECTION);
}
-var invisibleStyleIcon = new ol.style.Style({
- image: new ol.style.Icon({
- src : MEDIA_URL+'chimere/img/marker-cluster.png', //still need something even if it's invisible
- opacity : 0
- })
- });
-
/*
* Little hasattr helper
*/
@@ -203,6 +196,15 @@ var register_hovering = function(exp, handlers_to_deactivate){
}
+var unregister_hovering = function(exp, handlers_to_deactivate){
+ $(exp).data('hovering', false);
+ if (handlers_to_deactivate){
+ for (idx in handlers_to_deactivate){
+ handlers_to_deactivate[idx].setActive(true);
+ }
+ }
+}
+
// jQuery pseudo-expression :hovering
jQuery.expr[":"].hovering = function(elem) {
return $(elem).data('hovering') ? true : false;
@@ -244,7 +246,7 @@ jQuery.expr[":"].hovering = function(elem) {
// Provide this function to make a custom click event on the marker
on_marker_click: null,
// Provide this function to override the feature detail display
- display_feature_detail_fx: null,
+ display_feature_detail_callback: null,
// Provide this function for overriding the getSubcategories default
get_subcategories_fx: null,
hide_popup_fx: null,
@@ -302,15 +304,6 @@ jQuery.expr[":"].hovering = function(elem) {
*/
init: function ( options ) {
/* Manage parameters */
- /* OL3-deprecated-cluster
- // not staticaly in default because of STATIC_URL init
- if (defaults.cluster_icon == null && typeof STATIC_URL != 'undefined'){
- defaults.cluster_icon = new OpenLayers.Icon(
- STATIC_URL+'chimere/img/marker-cluster.png',
- new OpenLayers.Size(36, 39),
- new OpenLayers.Pixel(-(36/2), -(39/2)));
- }
- */
/* OL3-deprecated-routing
if (defaults.icon_start == null && typeof STATIC_URL != 'undefined'){
defaults.icon_start = new OpenLayers.Icon(
@@ -577,7 +570,14 @@ jQuery.expr[":"].hovering = function(elem) {
settings.current_feature = feature;
if (!settings.edition){
if ($('.popover-content').is(":hovering")){
- return;
+ // the popup is no more visible bad info
+ if ($('.popover:visible').length == 0){
+ unregister_hovering('.popover-content',
+ [settings.MouseWheelZoom,
+ settings.DragPan]);
+ } else {
+ return;
+ }
}
if (feature) {
$(settings.popup_item).popover('destroy');
@@ -706,93 +706,14 @@ jQuery.expr[":"].hovering = function(elem) {
if (settings.enable_clustering){
+ settings.invisibleStyleIcon = new ol.style.Style({
+ image: new ol.style.Icon({
+ src : MEDIA_URL+'chimere/img/marker-cluster.png', //still need something even if it's invisible
+ opacity : 0
+ })
+ });
methods.enableClustering();
}
- /* OL3-deprecated-cluster
- if (settings.enable_clustering){
- var style = new OpenLayers.Style({
- graphicTitle: "${name}",
- externalGraphic: "${icon}",
- graphicWidth: "${width}",
- graphicHeight: "${height}",
- graphicXOffset: "${offsetx}",
- graphicYOffset: "${offsety}",
- graphicOpacity: 1,
- label: "${label}",
- labelYOffset: "2",
- fontSize:'1.3em'
- }, {
- context: {
- name: function(feature) {
- if(feature.cluster) {
- feature.attributes.width = settings.cluster_icon.size.w;
- feature.attributes.height = settings.cluster_icon.size.h;
- feature.attributes.offsetx = settings.cluster_icon.offset.x;
- feature.attributes.offsety = settings.cluster_icon.offset.y;
- } else{
- var marker = feature.attributes.marker
- feature.attributes.width = marker.icon.size.w;
- feature.attributes.height = marker.icon.size.h;
- feature.attributes.offsetx = settings.icon_offset.x;
- feature.attributes.offsety = settings.icon_offset.y;
- }
- return feature.attributes.name;
- },
- label: function(feature) {
- // clustered features count or blank if feature is not a cluster
- return feature.cluster ? feature.cluster.length : "";
- },
- icon: function(feature) {
- if (feature.cluster){
- return settings.cluster_icon.url;
- } else {
- return STATIC_URL + 'chimere/img/empty.png';
- }
- },
- width: function(feature) { return feature.attributes.width; },
- height: function(feature) { return feature.attributes.height; },
- offsetx: function(feature) { return feature.attributes.offsetx; },
- offsety: function(feature) { return feature.attributes.offsety; }
- }});
-
-
- // Cluster layer
- settings.clustering = new OpenLayers.Strategy.Cluster({
- distance: 10,
- threshold: 2});
- settings.layerCluster = new OpenLayers.Layer.Vector("Cluster layer",
- {styleMap: new OpenLayers.StyleMap({'default': style}),
- strategies: [settings.clustering]});
- settings.map.addLayer(settings.layerCluster);
-
- var highlightCtrl = new OpenLayers.Control.SelectFeature(
- settings.layerCluster, {
- hover: true,
- highlightOnly: true,
- eventListeners: {
- featurehighlighted: function(e) {
- if(e.feature.attributes.marker)
- e.feature.attributes.marker.events.triggerEvent('mouseover');
- },
- featureunhighlighted: function(e) {
- if(e.feature.attributes.marker)
- e.feature.attributes.marker.events.triggerEvent('mouseout');
- }
- }
- });
-
- var selectCtrl = new OpenLayers.Control.SelectFeature(
- settings.layerCluster,{
- onSelect: methods.zoomOnCluster
- });
-
- settings.map.addControl(highlightCtrl);
- settings.map.addControl(selectCtrl);
-
- highlightCtrl.activate();
- selectCtrl.activate();
- }
- */
/* Markers layer */
settings.icons = [];
@@ -871,6 +792,8 @@ jQuery.expr[":"].hovering = function(elem) {
return;
+
+ /*
if (settings.routing_start_lon && settings.routing_start_lat){
/// OL3-TODO
settings.current_position = new OpenLayers.LonLat(
@@ -914,6 +837,7 @@ jQuery.expr[":"].hovering = function(elem) {
//methods.update_permalink_activation();
methods.preload_images();
+ */
}, // end of init
register_reload_on_move: function(){
var reload_on_move = function(evnt){
@@ -1001,7 +925,7 @@ jQuery.expr[":"].hovering = function(elem) {
if (!settings._remindOldStyle[feat.getId()]){
settings._remindOldStyle[feat.getId()] = feat.getStyle();
}
- feat.setStyle(invisibleStyleIcon);
+ feat.setStyle(settings.invisibleStyleIcon);
settings._remindUpdated[feat.getId()] = 1;
}
}
@@ -1165,6 +1089,11 @@ jQuery.expr[":"].hovering = function(elem) {
'html': true,
'content': feature.get('name')
});
+ $(settings.popup_item).on('hidden.bs.popover', function () {
+ unregister_hovering('.popover-content',
+ [settings.MouseWheelZoom,
+ settings.DragPan]);
+ })
$(settings.popup_item).popover('show');
methods.display_feature_detail(feature.get('key'), feature.get('name'));
},
@@ -1218,6 +1147,7 @@ jQuery.expr[":"].hovering = function(elem) {
activateRouteEdit: function(){
// TODO OL3
return;
+ /*
settings.edition_type_is_route = true;
methods.cleanMarker();
// settings.map.events.unregister('click', settings.map,
@@ -1231,6 +1161,7 @@ jQuery.expr[":"].hovering = function(elem) {
settings.layerVectors.events.register('featureadded',
settings.layerVectors, helpers.featureRouteCreated);
}
+ */
},
activateMarkerEdit: function(){
@@ -1912,6 +1843,7 @@ jQuery.expr[":"].hovering = function(elem) {
}));
settings.dbFeatures.push(feat);
return;
+ /*
var polyline = route.geometry;
var point_array = new Array();
for (i=0; i<polyline.coordinates.length; i++){
@@ -1935,6 +1867,7 @@ jQuery.expr[":"].hovering = function(elem) {
map.zoomToExtent(dataExtent, closest=true);
methods.loadCategories();
}
+ */
},
/*
* Put a multiline on the map
@@ -1964,6 +1897,7 @@ jQuery.expr[":"].hovering = function(elem) {
}));
settings.dbFeatures.push(feat);
return;
+ /*
var gformat = new OpenLayers.Format.GeoJSON();
var feats = gformat.read(feature);
var style = OpenLayers.Util.extend({},
@@ -1975,6 +1909,7 @@ jQuery.expr[":"].hovering = function(elem) {
EPSG_DISPLAY_PROJECTION,
settings.map.getProjectionObject());
settings.layerVectors.addFeatures(feats);
+ */
},
routingInputChange: function(nominatim_id){
$('#map_menu_clear').show();
@@ -2436,52 +2371,53 @@ jQuery.expr[":"].hovering = function(elem) {
data: params,
dataType: "html",
success: function (data) {
- if ( settings.display_feature_detail_fx ) {
- settings.display_feature_detail_fx(data, settings);
+ if (!settings.popupContentFull) {
+ $('#detail').html(data).fadeIn();
+ if (settings.display_feature_detail_callback){
+ settings.display_feature_detail_callback(settings);
+ }
}
else {
- if (!settings.popupContentFull) {
- $('#detail').html(data).fadeIn();
+ // first display to get the size of the content
+ // get default popover size
+ var w = $('.popover').width();
+ var h = $('.popover').height();
+ $(".popover").addClass('inside-popup');
+ $(".popover-title").html(name);
+ $(".popover-title").show();
+ $(".popover-content").html(data);
+
+ if (settings.display_feature_detail_callback){
+ settings.display_feature_detail_callback(settings);
}
- else {
- // first display to get the size of the content
- // get default popover size
- var w = $('.popover').width();
- var h = $('.popover').height();
- $(".popover").addClass('inside-popup');
- $(".popover-title").html(name);
- $(".popover-title").show();
- $(".popover-content").html(data);
- var offset = settings.popup.getOffset();
- offset[0] = offset[0] - $('.popover').width()/2 + w/2;
- offset[1] = offset[1] - $('.popover').height() + h;
- settings.popup.setOffset(offset);
- settings.popup.dispatchEvent('change:offset');
- // pan toward the popup + margin to display pop height
- var center_position = settings.popup.getPosition();
- var doc_height = $(document).height();
- if (doc_height / 2 < - offset[1]*2){
- var pixel = settings.map.getPixelFromCoordinate(center_position);
- pixel[1] += offset[1] + doc_height / 4;
- center_position = settings.map.getCoordinateFromPixel(pixel);
- }
- var pan = ol.animation.pan(
- {duration: settings.animation_duration,
- source: settings.view.getCenter()})
- settings.map.beforeRender(pan);
- settings.view.setCenter(center_position);
-
- // waiting for the pan to finish
- setTimeout(function(){
- // to trigger autopan
- settings.popup.dispatchEvent('change:position');
- $(".popover").removeClass('transparent');
- register_hovering('.popover-content',
- [settings.MouseWheelZoom,
- settings.DragPan]);
- }, settings.animation_duration + 10
- );
+ var offset = settings.popup.getOffset();
+ offset[0] = offset[0] - $('.popover').width()/2 + w/2;
+ offset[1] = offset[1] - $('.popover').height() + h;
+ settings.popup.setOffset(offset);
+ settings.popup.dispatchEvent('change:offset');
+ // pan toward the popup + margin to display pop height
+ var center_position = settings.popup.getPosition();
+ var doc_height = $(document).height();
+ if (doc_height / 2 < - offset[1]*2){
+ var pixel = settings.map.getPixelFromCoordinate(center_position);
+ pixel[1] += offset[1] + doc_height / 4;
+ center_position = settings.map.getCoordinateFromPixel(pixel);
}
+ var pan = ol.animation.pan(
+ {duration: settings.animation_duration,
+ source: settings.view.getCenter()})
+ settings.map.beforeRender(pan);
+ settings.view.setCenter(center_position);
+ // waiting for the pan to finish
+ setTimeout(function(){
+ // to trigger autopan
+ settings.popup.dispatchEvent('change:position');
+ $(".popover").removeClass('transparent');
+ register_hovering('.popover-content',
+ [settings.MouseWheelZoom,
+ settings.DragPan]);
+ }, settings.animation_duration + 10
+ );
}
}
});
@@ -2585,22 +2521,23 @@ jQuery.expr[":"].hovering = function(elem) {
var extent;
return;
//////// OL3-deprecated
+ /*
if (OpenLayers && current_extent && current_extent.length == 4){
extent = new OpenLayers.Bounds(
current_extent[0], current_extent[1],
current_extent[2], current_extent[3]);
}
- /*
- else if (OpenLayers && default_area && default_area.length == 4){
- extent = new OpenLayers.Bounds(default_area[0], default_area[1],
- default_area[2], default_area[3]);
- }*/
+ //else if (OpenLayers && default_area && default_area.length == 4){
+ // extent = new OpenLayers.Bounds(default_area[0], default_area[1],
+ // default_area[2], default_area[3]);
+ //}
else{
return;
}
extent.transform(EPSG_DISPLAY_PROJECTION, EPSG_PROJECTION);
settings.map.zoomToExtent(extent, true);
return true;
+ */
},
zoomToMarkerExtent: function(){
settings.map.zoomToExtent(
@@ -2761,27 +2698,7 @@ jQuery.expr[":"].hovering = function(elem) {
}*/
},
hidePopup: function (evt) {
- $('#'+settings.marker_hover_id).hide();
- if (settings.hide_popup_fx) {
- settings.hide_popup_fx(evt, settings)
- }
- else { // Default behaviour
- /*
- if (settings.current_popup)
- {
- settings.current_feature = null;
- if (!settings.simple){
- $('#detail').fadeOut();
- }
- if (settings.current_popup.visible()){
- settings.current_popup.hide();
- if(evt)
- settings.map.events.triggerEvent('click', evt);
- methods.update_permalink_activation();
- return true;
- }
- }*/
- }
+ $(settings.popup_item).popover('destroy');
methods.update_permalink_activation();
return false;
},
diff --git a/chimere_example_project/chimere_example_static/font-awesome/LICENSE b/chimere/static/font-awesome/LICENSE
index 2e5e82e..2e5e82e 100644
--- a/chimere_example_project/chimere_example_static/font-awesome/LICENSE
+++ b/chimere/static/font-awesome/LICENSE
diff --git a/chimere_example_project/chimere_example_static/font-awesome/css/font-awesome.css b/chimere/static/font-awesome/css/font-awesome.css
index 2dcdc22..2dcdc22 100644
--- a/chimere_example_project/chimere_example_static/font-awesome/css/font-awesome.css
+++ b/chimere/static/font-awesome/css/font-awesome.css
diff --git a/chimere_example_project/chimere_example_static/font-awesome/css/font-awesome.min.css b/chimere/static/font-awesome/css/font-awesome.min.css
index 24fcc04..24fcc04 100644
--- a/chimere_example_project/chimere_example_static/font-awesome/css/font-awesome.min.css
+++ b/chimere/static/font-awesome/css/font-awesome.min.css
diff --git a/chimere_example_project/chimere_example_static/font-awesome/fonts/FontAwesome.otf b/chimere/static/font-awesome/fonts/FontAwesome.otf
index f7936cc..f7936cc 100644
--- a/chimere_example_project/chimere_example_static/font-awesome/fonts/FontAwesome.otf
+++ b/chimere/static/font-awesome/fonts/FontAwesome.otf
Binary files differ
diff --git a/chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.eot b/chimere/static/font-awesome/fonts/fontawesome-webfont.eot
index 33b2bb8..33b2bb8 100644
--- a/chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.eot
+++ b/chimere/static/font-awesome/fonts/fontawesome-webfont.eot
Binary files differ
diff --git a/chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.svg b/chimere/static/font-awesome/fonts/fontawesome-webfont.svg
index 1ee89d4..1ee89d4 100644
--- a/chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.svg
+++ b/chimere/static/font-awesome/fonts/fontawesome-webfont.svg
diff --git a/chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.ttf b/chimere/static/font-awesome/fonts/fontawesome-webfont.ttf
index ed9372f..ed9372f 100644
--- a/chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.ttf
+++ b/chimere/static/font-awesome/fonts/fontawesome-webfont.ttf
Binary files differ
diff --git a/chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.woff b/chimere/static/font-awesome/fonts/fontawesome-webfont.woff
index 8b280b9..8b280b9 100644
--- a/chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.woff
+++ b/chimere/static/font-awesome/fonts/fontawesome-webfont.woff
Binary files differ
diff --git a/chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.woff2 b/chimere/static/font-awesome/fonts/fontawesome-webfont.woff2
index 3311d58..3311d58 100644
--- a/chimere_example_project/chimere_example_static/font-awesome/fonts/fontawesome-webfont.woff2
+++ b/chimere/static/font-awesome/fonts/fontawesome-webfont.woff2
Binary files differ
diff --git a/chimere/templates/chimere/blocks/map.html b/chimere/templates/chimere/blocks/map.html
index 10f1c97..4ee9613 100644
--- a/chimere/templates/chimere/blocks/map.html
+++ b/chimere/templates/chimere/blocks/map.html
@@ -13,6 +13,8 @@
</div>
<div id='{{map_id}}'></div>
+<div id='popup'></div>
+<div id='layerSwitcher'></div>
<script type="text/javascript">
$("#{{map_id}}").show();
</script>
diff --git a/chimere/templates/chimere/main_map.html b/chimere/templates/chimere/main_map.html
index fd3f0b8..cb83642 100644
--- a/chimere/templates/chimere/main_map.html
+++ b/chimere/templates/chimere/main_map.html
@@ -27,12 +27,6 @@
{% block search_box %} {% endblock %}
{% block content %}
{{block.super}}
- <div id='popup'></div>
- <div id='layerSwitcher'></div>
- <div id='main-map'></div>
-<script type="text/javascript">
- $("#main-map").show();
-</script>
{% map_menu %}
{% map 'main-map' %}
<script type='text/javascript'>