]> git.0d.be Git - panikdb.git/commitdiff
wiki: add search support
authorFrédéric Péters <fpeters@0d.be>
Thu, 25 Jun 2020 13:17:14 +0000 (15:17 +0200)
committerFrédéric Péters <fpeters@0d.be>
Thu, 25 Jun 2020 13:17:14 +0000 (15:17 +0200)
panikdb/context_processors.py
panikdb/settings.py
panikdb/static/css/style.scss
panikdb/static/js/combo.wiki.js
panikdb/templates/base.html

index 3707f952df31b71e974e7c83accae78893764677..f2a46afd60bc3e20d1b458742ccc96db236ce097 100644 (file)
@@ -10,4 +10,5 @@ def site_settings(request):
     return {
         'site_title': settings.SITE_TITLE,
         'has_soma': settings.HAS_SOMA,
+        'wiki_search_base_url': settings.WIKI_SEARCH_BASE_URL,
     }
index 447f406f039e9ae0c297cb187fdefbd24f8216c8..e4955ec43252ded1d62eb60288d438bcd1676a04 100644 (file)
@@ -264,6 +264,8 @@ COMBO_DEFAULT_PUBLIC_TEMPLATE = 'standard'
 COMBO_MAP_TILE_URLTEMPLATE = ''
 COMBO_MAP_ATTRIBUTION = ''
 COMBO_MANAGE_HOME_COLLAPSE_PAGES = False
+COMBO_SEARCH_SERVICES = {}
+POSTGRESQL_FTS_SEARCH_CONFIG = 'french_unaccent'
 
 AUTO_RENDER_SELECT2_STATICS = False
 
@@ -278,6 +280,7 @@ FILE_UPLOAD_PERMISSIONS = 0o644
 HAS_SOMA = False
 SITE_TITLE = 'PanikDB'
 COMBO_CELL_ASSET_SLOTS = {}
+WIKI_SEARCH_BASE_URL = None
 
 local_settings_file = os.environ.get(
     'PANIKDB_SETTINGS_FILE', os.path.join(os.path.dirname(__file__), 'local_settings.py')
index fd172cf8528de7f73e5d5e66b87e2890436c4e37..5e8837dee4d84ee03565bb746e3f7a5cf87562ec 100644 (file)
@@ -1,6 +1,7 @@
 div#header {
        background: #282f2e url(../images/banner-1054.png) no-repeat 0px top;
        height: 93px;
+       z-index: 100;
 }
 
 div#top {
@@ -854,3 +855,16 @@ body.loading::before {
        0% { right: 100%; }
        100% { right: 0%; }
 }
+
+#search-results {
+       background: white;
+       ul, li {
+               list-style: none;
+               margin: 0;
+               padding: 0;
+       }
+       a {
+               display: block;
+               padding: 0.6rem;
+       }
+}
index a38dcf6ab612e8a752e273e0e9d7bcffb6e1d2cc..c3d4fc9e14e141325c98b4252c70fdda8993f9ca 100644 (file)
@@ -529,4 +529,13 @@ function init_page() {
 
 $(function() {
   init_page();
+  $('#search input').attr('placeholder', 'Rechercher dans le wiki');
+  var wiki_search_base_url = $('#search form').data('wiki-search-base-url');
+  $('#search form').on('submit', function() {
+    var value = $('input[name=q]').val();
+    $.ajax({url: wiki_search_base_url, data: {q: value}}).success(function(data) {
+      $('#search-results').html(data);
+    });
+    return false;
+  });
 });
index 839153800f97f7bd5e674ae8f956f865dc64b3cf..f55ab84d1a2c9dbebf87c9aa0096d60787f28702 100644 (file)
     {% block subheader %}
     <div id="search">
       {% if user.id %}
-      <form class="gadjo-popup-ignore" action="{% url 'haystack_search' %}">
+      <form class="gadjo-popup-ignore" action="{% url 'haystack_search' %}"
+            data-wiki-search-base-url="{{ wiki_search_base_url }}">
         <input type="search" name="q" placeholder="Rechercher"/>
         <button class="icon-search"></button>
       </form>
+      <div id="search-results">
+      </div>
       {% endif %}
     </div>
     {% endblock %}