summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/static/chimere/css/styles.css83
-rw-r--r--chimere/static/chimere/js/jquery.chimere.js85
-rw-r--r--chimere/static/chimere/js/search.js2
3 files changed, 97 insertions, 73 deletions
diff --git a/chimere/static/chimere/css/styles.css b/chimere/static/chimere/css/styles.css
index 9c7ec62..fd573d4 100644
--- a/chimere/static/chimere/css/styles.css
+++ b/chimere/static/chimere/css/styles.css
@@ -876,19 +876,19 @@ table.inline-table td input[type=file]{
display:none;
}
-#search-box{
- position:absolute;
- z-index:200;
- left:70px;
- top:50px;
- padding:0.3em;
- padding-right:1.4em;
- width:auto;
+#search-box {
background-color:white;
+ position: relative;
+ z-index: 200;
+ left: auto;
+ top: auto;
+ border: 0px solid transparent;
+ display: none;
}
#search-listing{
overflow:auto;
+ height: calc(100vh - 210px);
}
#search-listing ul{
@@ -912,6 +912,54 @@ table.inline-table td input[type=file]{
background-color:rgb(175, 231, 175);
}
+#search-listing img{
+ float: left;
+ width: 60px;
+ display: inline-block;
+}
+
+#search-listing a{
+ float: left;
+ width: 170px;
+ display: inline-block;
+ padding: 15px;
+}
+
+#search-form{
+ padding: 5px 15px;
+ border-bottom: 1px solid #E6E6E6;
+}
+
+#search-form input{
+ border: 1px solid #ccc;
+}
+
+span.spacer,
+#search-listing li{
+ clear: both;
+}
+
+#search-box,
+#search-nav{
+ width:100%;
+ background-color:#F8F8F8;
+ border-top:1px solid #E6E6E6;
+}
+
+ul.pager{
+ list-style:none;
+ margin: 10px 5px;
+}
+
+ul.pager li{
+ display:block;
+ width:100%;
+}
+
+ul.pager .next{
+ text-align:right;
+}
+
.alert-box .ui-dialog-titlebar {
display:none;
@@ -1488,15 +1536,6 @@ label.labelSpan.olButton{
border-color: #DDD;
}
-#search-box {
- position: relative;
- z-index: 200;
- left: auto;
- top: auto;
- border: 0px solid transparent;
- display:none;
-}
-
.ac-results{
position: absolute;
background-color: white;
@@ -1574,16 +1613,6 @@ label.labelSpan.olButton{
}
}
-#search-nav{
- position:absolute;
- bottom:0;
- width:100%;
- background-color:#F8F8F8;
- border-top:1px solid #E6E6E6;
- padding: 0 10px;
- left: 0;
-}
-
#main-map {
height: auto;
bottom: 0px;
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js
index b72edf6..63cdb28 100644
--- a/chimere/static/chimere/js/jquery.chimere.js
+++ b/chimere/static/chimere/js/jquery.chimere.js
@@ -849,6 +849,15 @@ function transformCoordToLonLat(coord) {
/*
* hovering management
*/
+ _set_animation: function(duration){
+ if (!duration) duration = settings.animation_duration;
+ var v = settings.map.getView();
+ var pan = ol.animation.pan(
+ {duration: duration, source: v.getCenter()})
+ var zoom = ol.animation.zoom(
+ {duration: duration, resolution: v.getResolution()})
+ settings.map.beforeRender(pan, zoom);
+ },
_is_popuphovering: function(){
if ($('.popover-content').is(':visible') &&
$('.popover-content:hover').length > 0){
@@ -1021,13 +1030,7 @@ function transformCoordToLonLat(coord) {
var v = settings.map.getView();
if (!zoom_level) zoom_level = v.getZoom() + 1;
- // animation
- var pan = ol.animation.pan(
- {duration: duration, source: v.getCenter()})
- var zoom = ol.animation.zoom(
- {duration: duration, resolution: v.getResolution()})
- settings.map.beforeRender(pan, zoom);
-
+ methods._set_animation(animation);
// center
if ($("#panel").is(":visible")){
var delta_x = $("#panel").width() / 2;
@@ -1247,11 +1250,7 @@ function transformCoordToLonLat(coord) {
if (zoom_level >= settings.maxZoom){
return;
}
- var zoom = ol.animation.zoom({
- duration: settings.animation_duration,
- resolution: v.getResolution()
- });
- settings.map.beforeRender(zoom);
+ methods._set_animation();
v.setZoom(zoom_level);
},
@@ -1262,22 +1261,22 @@ function transformCoordToLonLat(coord) {
if (zoom_level <= settings.minZoom){
return;
}
- var zoom = ol.animation.zoom({
- duration: settings.animation_duration,
- resolution: v.getResolution()
- });
- settings.map.beforeRender(zoom);
+ methods._set_animation();
v.setZoom(zoom_level);
},
// center from the map menu
mapCenter: function(obj){
- var pan = ol.animation.pan({
- duration: settings.animation_duration,
- source: settings.map.getView().getCenter()
- });
- settings.map.beforeRender(pan);
- settings.map.getView().setCenter(obj.coordinate);
+ methods._set_animation();
+ if ($("#panel").is(":visible")){
+ var delta_x = $("#panel").width() / 2;
+ settings.view.centerOn(
+ obj.coordinate,
+ [0, 0],
+ [delta_x, 0]);
+ } else {
+ settings.view.setCenter(obj.coordinate);
+ }
},
// center from the lon lat
@@ -1424,10 +1423,7 @@ function transformCoordToLonLat(coord) {
settings.dbFeatures.clear();
settings.vectors.clear();
if (settings.enable_clustering){
- settings.layerCluster.removeAllFeatures();
- settings.cluster_array = [];
- settings.layerCluster.addFeatures(settings.cluster_array);
- methods.cleanCluster();
+ settings.clusterSource.getSource().clear();
}
},
/*
@@ -2423,14 +2419,7 @@ function transformCoordToLonLat(coord) {
}
if (data.message) methods.displayMessage(data.message);
var v = settings.map.getView();
- // animation
- var pan = ol.animation.pan(
- {duration: settings.animation_duration,
- source: v.getCenter()})
- var zoom = ol.animation.zoom(
- {duration: settings.animation_duration,
- resolution: v.getResolution()})
- settings.map.beforeRender(pan, zoom);
+ methods._set_animation();
options = {};
if ($("#panel").is(":visible")){
options = {"padding": [0, 0, 0, $("#panel").width()]};
@@ -2576,10 +2565,7 @@ function transformCoordToLonLat(coord) {
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);
+ methods._set_animation();
if ($("#panel").is(":visible")){
var delta_x = $("#panel").width() / 2;
@@ -2720,8 +2706,14 @@ function transformCoordToLonLat(coord) {
*/
},
zoomToMarkerExtent: function(){
- settings.map.zoomToExtent(
- settings.layerDbFeatures.getDataExtent());
+ methods._set_animation();
+ options = {};
+ if ($("#panel").is(":visible")){
+ options = {"padding": [0, 0, 0, $("#panel").width()]};
+ }
+ settings.map.getView().fit(
+ settings.sourceDbFeatures.getExtent(),
+ settings.map.getSize(), options);
},
// methods for edition
cleanMarker: function(){
@@ -2854,10 +2846,13 @@ function transformCoordToLonLat(coord) {
if (bounds) settings.map.zoomToExtent(bounds);
},
showPopup: function (feature_pk) {
- for(j=0; j<settings.layerDbFeatures.markers.length;j++){
- var c_marker = settings.layerDbFeatures.markers[j];
- if(c_marker.pk == feature_pk){
- c_marker.events.triggerEvent('click');
+ var feats = settings.dbFeatures.getArray();
+ for (j in feats){
+ var c_marker = feats[j];
+ if (c_marker.getProperties()['pk'] == feature_pk){
+ //for (j in c_marker) console.log(j + ": "+ c_marker[j]);
+ //c_marker.events.triggerEvent('click');
+ methods.openPopup(c_marker);
return true
}
}
diff --git a/chimere/static/chimere/js/search.js b/chimere/static/chimere/js/search.js
index a7ab201..c9161d9 100644
--- a/chimere/static/chimere/js/search.js
+++ b/chimere/static/chimere/js/search.js
@@ -25,7 +25,7 @@ function haystack_search(evt, page){
return false;
}
-// disable enter
+// disable enter
$(window).keydown(function(event){
if ($("#haystack-search").length && event.keyCode == 13) {
event.preventDefault();