diff options
| 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 |
| commit | 19d813b1bc40edc3be34fdcabe2dcd676f7a5d94 (patch) | |
| tree | 2d6fdf71ec122671925300b41a6cfb140d4e9b4d /chimere/static | |
| parent | 25c72bcd877868a0a00697c15fe68ca9e0002d66 (diff) | |
| download | Chimè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.css | 39 | ||||
| -rw-r--r-- | chimere/static/chimere/js/base.js | 2 | ||||
| -rw-r--r-- | chimere/static/chimere/js/jquery.chimere.js | 37 | ||||
| -rw-r--r-- | chimere/static/chimere/js/search.js | 30 |
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; + } +}); + |
