diff options
-rw-r--r-- | chimere/static/chimere/css/styles.css | 83 | ||||
-rw-r--r-- | chimere/static/chimere/js/jquery.chimere.js | 85 | ||||
-rw-r--r-- | chimere/static/chimere/js/search.js | 2 |
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 ab951a4..3d971d8 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(); } }, /* @@ -2420,14 +2416,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()]}; @@ -2573,10 +2562,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; @@ -2717,8 +2703,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(){ @@ -2851,10 +2843,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(); |