summaryrefslogtreecommitdiff
path: root/chimere/static
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2014-09-22 01:23:23 +0200
committerÉtienne Loks <etienne.loks@proxience.com>2014-09-22 01:23:23 +0200
commit19d813b1bc40edc3be34fdcabe2dcd676f7a5d94 (patch)
tree2d6fdf71ec122671925300b41a6cfb140d4e9b4d /chimere/static
parent25c72bcd877868a0a00697c15fe68ca9e0002d66 (diff)
downloadChimère-19d813b1bc40edc3be34fdcabe2dcd676f7a5d94.tar.bz2
Chimère-19d813b1bc40edc3be34fdcabe2dcd676f7a5d94.zip
Work on search engine
* templates * styles * search index definition
Diffstat (limited to 'chimere/static')
-rw-r--r--chimere/static/chimere/css/styles.css39
-rw-r--r--chimere/static/chimere/js/base.js2
-rw-r--r--chimere/static/chimere/js/jquery.chimere.js37
-rw-r--r--chimere/static/chimere/js/search.js30
4 files changed, 102 insertions, 6 deletions
diff --git a/chimere/static/chimere/css/styles.css b/chimere/static/chimere/css/styles.css
index ab68d68..c0b3b0e 100644
--- a/chimere/static/chimere/css/styles.css
+++ b/chimere/static/chimere/css/styles.css
@@ -21,6 +21,7 @@ h2, h3, th, .action li, .action li a,
color:#fff;
}
+#search-listing ul li a,
.action li.ui-state-active a,
#content .olControlLayerSwitcher,
.action li li.ui-state-active a{
@@ -82,7 +83,7 @@ div.warning,
.action li.selected,
#content .olControlLayerSwitcher .layersDiv,
#panel, #map-footer, #chimere_itinerary_panel,
-#utils-div{
+#search-box, #utils-div{
border:1px solid #327e04;
}
@@ -772,6 +773,42 @@ table.inline-table td input[type=file]{
margin-right: auto;
}
+#search-box{
+ position:absolute;
+ z-index:200;
+ left:70px;
+ top:50px;
+ padding:0.3em;
+ padding-right:1.4em;
+ width:auto;
+ background-color:white;
+}
+
+#search-listing{
+ overflow:auto;
+}
+
+#search-listing ul{
+ list-style-type:none;
+ margin:0;
+ padding:4px;
+}
+
+#search-listing ul li{
+ padding:4px;
+}
+
+#search-listing a{
+ padding: 0.2em 0.5em;
+ border-radius:5px;
+}
+
+#search-listing a:hover{
+ text-decoration:none;
+ background-color:rgb(175, 231, 175);
+}
+
+
.alert-box .ui-dialog-titlebar {
display:none;
}
diff --git a/chimere/static/chimere/js/base.js b/chimere/static/chimere/js/base.js
index fe8d954..0db11c1 100644
--- a/chimere/static/chimere/js/base.js
+++ b/chimere/static/chimere/js/base.js
@@ -1,5 +1,5 @@
/* base function shared by some pages */
-/* Copyright (C) 2009-2013 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+/* Copyright (C) 2009-2014 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js
index a9b237f..d04e1ae 100644
--- a/chimere/static/chimere/js/jquery.chimere.js
+++ b/chimere/static/chimere/js/jquery.chimere.js
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2012 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+/* Copyright (C) 2008-2014 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as
@@ -623,6 +623,10 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
}
});
},
+ razMap: function() {
+ settings.layerMarkers.clearMarkers();
+ settings.layerVectors.removeAllFeatures();
+ },
/*
* Update the categories div in ajax
*/
@@ -876,7 +880,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
if (settings.current_popup == feature.popup) {
feature.popup.hide();
if (!settings.simple){
- $('#detail').hide();
+ $('#detail').fadeOut();
}
} else {
settings.current_popup.hide();
@@ -1323,7 +1327,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
}
else {
if (!settings.popupContentFull) {
- $('#detail').html(data).show();
+ $('#detail').html(data).fadeIn();
}
else {
settings.current_popup.setContentHTML("<div class='cloud'>" + data + "</div>");
@@ -1442,6 +1446,10 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
settings.map.zoomToExtent(extent, true);
return true;
},
+ zoomToMarkerExtent: function(){
+ settings.map.zoomToExtent(
+ settings.layerMarkers.getDataExtent());
+ },
// methods for edition
setMarker: function (event){
event = event || window.event;
@@ -1545,6 +1553,23 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
var bounds = settings.layerVectors.getDataExtent();
if (bounds) settings.map.zoomToExtent(bounds);
},
+ showPopup: function (feature_pk) {
+ for(j=0; j<settings.layerMarkers.markers.length;j++){
+ var c_marker = settings.layerMarkers.markers[j];
+ if(c_marker.pk == feature_pk){
+ c_marker.events.triggerEvent('click');
+ return
+ }
+ }
+ //feature.markerClick();
+ //OpenLayers.Popup.popupSelect.clickFeature(feature);
+ /*
+ settings.current_popup = feature.marker._popup();
+ if (!settings.current_popup.visible()){
+ settings.current_popup.show();
+ methods.display_feature_detail(feature.pk);
+ }*/
+ },
hidePopup: function (evt) {
$('#'+settings.marker_hover_id).hide();
if (settings.hide_popup_fx) {
@@ -1554,7 +1579,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
if (settings.current_popup)
{
if (!settings.simple){
- $('#detail').hide();
+ $('#detail').fadeOut();
}
if (settings.current_popup.visible()){
settings.current_popup.hide();
@@ -1659,6 +1684,10 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
methods.loadCategories();
}
},
+ zoom_to_latlon: function (){
+ var lonlat = new OpenLayers.LonLat(lon, lat);
+ settings.map.setCenter(f.lonlat);
+ },
getSavedExtent: function() {
/* get the current extent from a cookie */
var cookies = document.cookie.split(';');
diff --git a/chimere/static/chimere/js/search.js b/chimere/static/chimere/js/search.js
new file mode 100644
index 0000000..779a32d
--- /dev/null
+++ b/chimere/static/chimere/js/search.js
@@ -0,0 +1,30 @@
+function load_search_box(){
+ if (!search_url) return;
+ $.ajax({url: search_url}).done(function( data ) {
+ $("#search-box").html(data);
+ });
+}
+
+function haystack_search(evt, page){
+ search_result = new Array();
+ $('#categories').find('#ul_categories > li > input').attr("checked", false);
+
+ var c_url = search_url + "?q=" + $('#id_q').val();
+ if (page){
+ c_url += '&page=' + page;
+ }
+ $.get(c_url).done(function( data ) {
+ $('#search-result').html(data).show('slow');
+ });
+ return false;
+}
+
+// disable enter
+$(window).keydown(function(event){
+ if ($("#haystack-search").length && event.keyCode == 13) {
+ event.preventDefault();
+ $("#haystack-search").click();
+ return false;
+ }
+});
+