diff --git a/jquery/databap.js b/jquery/databap.js index d274a4f..c4251c3 100644 --- a/jquery/databap.js +++ b/jquery/databap.js @@ -149,6 +149,18 @@ function Databap() self.onQuit = function(){return true;}; }; + this.initSearch = function() + { + $('#form_header').submit(function(event){event.preventDefault();}); + + var bDirectSearch = (self.vars.current_page=='' && self.parseHash().page=='search' && self.parseHash().id!=''); + $('#query') + .addDefaultValue(self.consts.search_box_text, bDirectSearch?self.parseHash().id:'') + .keyup(function(e){if(e.which==13 || e.isTrigger) self.goToInternalLink('search', $('#query').val());}); + + $('#search_btn_submit').click(function(){$('#query').trigger('keyup');}); + }; + this.initMenu = function() { //Hover Event: open/close @@ -546,62 +558,6 @@ function Databap() else fOnSuccess(self.vars.current_user); }; - this.initSearch = function() - { - $('#form_header').submit(function(event){event.preventDefault();}); - - var bDirectSearch = (self.vars.current_page=='' && self.parseHash().page=='search' && self.parseHash().id!=''); - $('#query') - .addDefaultValue(self.consts.search_box_text, bDirectSearch?self.parseHash().id:'') - .keyup(function(e){if(e.which==13 || e.isTrigger) self.goToInternalLink('search', $('#query').val());}); - - $('#search_btn_submit').click(function(){$('#query').trigger('keyup');}); - }; - - this.search = function() - { - //search words - var searchWords = $.trim($('#query').val()); - - //check already searched words - if((self.tmp('searched_words')=='' || self.tmp('searched_words')!=searchWords) && searchWords.length > 2) - { - //filter requests to not flood the server - if(/*window.tempWords !== undefined && tempWords == searchWords && */!self.vars.loading) - { - //saving searched words - self.tmp('searched_words', searchWords); - self.getInfo - ( - 'search', - function(asItems) - { - $Container = self.$main.find('#list_container'); - $Container.empty(); - $('#search_words').text(searchWords); - $('#search_count').text(asItems.length); - $('#search_multi').text(asItems.length>1?'s':''); - if(asItems.length==0) $Container.append('Aucun résultat trouvé.'); - else - { - for(iRankId in asItems) self.appendItem(asItems[iRankId], $Container, false); - self.addSuccessIcon(); - } - }, - {keywords:searchWords}, - 'json', - function(){}, - true - ); - } - else - { - //tempWords = searchWords; - setTimeout(self.search, 300); - } - } - }; - this.appendItem = function(asItemInfo, $Container, $bAnimation) { //Filling up the item line diff --git a/masks/search.html b/masks/search.html index ad303f1..4015fde 100755 --- a/masks/search.html +++ b/masks/search.html @@ -3,7 +3,7 @@

Recherche

-

0 résultat pour la recherche "".

+

0 résultats pour la recherche "".

@@ -15,7 +15,7 @@ databap.pageInit = function() self.initScrollBar('#main', '#search_container', '#list_container'); self.tmp('searched_words', ''); - if($('#query').val()!=databap.consts.search_box_text) databap.search(); + if($('#query').val()!=databap.consts.search_box_text) search(); //Double link $('#query').change(function(){$('#repeat_query').val($(this).val());}); @@ -23,7 +23,7 @@ databap.pageInit = function() $('#repeat_query') .addDefaultValue(self.consts.search_box_text, $('#query').val()) .change(function(){$('#query').val($(this).val());}) - .keyup(function(e){if(e.which==13 || e.isTrigger) self.search();}) + .keyup(function(e){if(e.which==13 || e.isTrigger) search();}) .width('calc(50% - '+$('#sub_button').outerWidth(true)+'px)'); //Init's end @@ -34,4 +34,48 @@ databap.onResize = function() { self.setScrollBarSize('maximize'); } + +function search() +{ + //search words + var searchWords = $.trim($('#query').val()); + + //check already searched words + if((databap.tmp('searched_words')=='' || databap.tmp('searched_words')!=searchWords) && searchWords.length > 2) + { + //filter requests to not flood the server + if(/*window.tempWords !== undefined && tempWords == searchWords && */!databap.vars.loading) + { + //saving searched words + databap.tmp('searched_words', searchWords); + databap.getInfo + ( + 'search', + function(asItems) + { + $Container = databap.$main.find('#list_container'); + $Container.empty(); + $('#search_words').text(searchWords); + $('#search_count').text(asItems.length); + $('#search_multi').toggle(asItems.length>1); + if(asItems.length==0) $Container.append('Aucun résultat trouvé.'); + else + { + for(iRankId in asItems) databap.appendItem(asItems[iRankId], $Container, false); + databap.addSuccessIcon(); + } + }, + {keywords:searchWords}, + 'json', + function(){}, + true + ); + } + else + { + //tempWords = searchWords; + setTimeout(databap.search, 300); + } + } +}; \ No newline at end of file