Commit 46ac70c7 authored by dje's avatar dje
Browse files

conversion plugin search en module JS

parent 57070a19
Loading
Loading
Loading
Loading
+4 −2
Changes for plugins/search/search.css: 4 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -7,12 +7,14 @@
}

div.hit {
 /* max-height: 150px;*/
  /*max-height: 80px;
  font-size: 13px;
  text-align: justify;
  text-align: justify;*/
  margin-bottom:40px;  

}


#searchWrap{
    width:70%;
    margin: auto;
+26 −22
Changes for plugins/search/search.js: 26 added lines, 22 removed lines.
Original line number Diff line number Diff line
function runSearch(search, docs, transform, divToFeed, dotdot){
import {Plugin} from '../../core/ui/js/Plugin.js';

class SearchPlugin extends Plugin{
    constructor(name) {
    super(name);
  }
  
  
  runSearch(search, docs, transform, divToFeed){
    let self = this;
     $.post(
        MAX.getBaseURL() + "/" + MAX.getProjectID() + "/search",
          MAX.getBaseURL() + MAX.getProjectID() + "/search",
          {
            search: search,
            docs: docs,
@@ -8,48 +17,43 @@ function runSearch(search, docs, transform, divToFeed, dotdot){
          },
          function(data){
            divToFeed.html(data);         
          //dynamic dotdotdot library import
          $("head").append('<script type="text/javascript" src="' + MAX.getBaseURL()+'/'+MAX.getProjectID() + '/core/ui/js/lib/jQuery.dotdotdot/src/js/jquery.dotdotdot.min.js"></script>');
         
          updateHitsInfo(docs, dotdot);
            self.updateHitsInfo(docs);
          }  
      );  
   }
   
   
   
  /*
  Performs search according to form parameters
  */
function runSearchFromForm(){
  var search = $('#searchInput').val();
  runSearchFromForm(){
    let search = $('#searchInput').val();
    if(search.trim() === ''){
      alert('Recherche vide ou incorrecte.');
      return;
    }
    $("#searchLoading").show();
  var doc = $('#searchSelect').val();
  var transform = $('#searchTransform').prop('checked') ?'yes' : 'no'
    let doc = $('#searchSelect').val();
    let transform = $('#searchTransform').prop('checked') ?'yes' : 'no'
    
  runSearch(search, doc, transform, $("#searchResults"), true);
    this.runSearch(search, doc, transform, $("#searchResults"));
    
  }
  
  
function updateHitsInfo(requestedDoc, dotdot){
  updateHitsInfo(requestedDoc){
    $('.manchette_droite').remove();
    $(".hit").each(function(){
    //var bact2text = MAX.getBaseURL() +"/"+MAX.getProjectID() +"/"+requestedDoc+"?";
    $(this).prepend("<span class='hit_range'>["+ ($(this).prevAll(".hit").size()+ 1) +"]</span>")
      $(this).prepend("<span class='hit_range'>["+ ($(this).prevAll(".hit").length+ 1) +"]</span>")
    });
    $("#searchResults").prepend("<div class='n-search-result'>"+$('.hit').length+" résultat(s)</div>") 

  if(dotdot){
    $(".hit").dotdotdot({
      ellipsis: ' ... ',
      wrap: 'word'
    });
  }
  
    $("#hits").css('visibility', 'visible');
    $("#searchLoading").hide();

  }
}

let plugin = new SearchPlugin('Search');
MAX.addPlugin(plugin);
window.search = plugin
 No newline at end of file
+1 −1
Changes for plugins/search/search.xqm: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ function max.plugin.search:searchPage($project){
                 <div id='searchForm'>{$routeSelect}
                   <input id= 'searchInput' type='text'/>
                   <input type="checkbox" id="searchTransform"/> Transformer
                   <button onclick="runSearchFromForm();">Chercher</button>
                   <button onclick="search.runSearchFromForm();">Chercher</button>
                 </div>  
                 <div id='searchLoading'>{max.i18n:getText($project,'search.loading')}</div>
                 <div id='searchResults'></div>
+11 −0
Changes for tools/demo/demo_edition/ui/css/demo_lorem.css: 11 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -128,3 +128,14 @@ body.max-menu-left footer{
  background-color:black;
}

/*SEARCH*/
div.hit  > div, div.hit  > div p{
  white-space: nowrap;
  overflow: hidden;
  width: 500px;
  text-overflow: ellipsis;   
}

div.hit blockquote, div.hit .appel_note_marge{
  display: none;
}