put search function back to search page

This commit is contained in:
2014-09-10 23:37:50 +02:00
parent 679860798f
commit 9196953a48
2 changed files with 59 additions and 59 deletions

68
jquery/databap.js vendored
View File

@@ -149,6 +149,18 @@ function Databap()
self.onQuit = function(){return true;}; 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() this.initMenu = function()
{ {
//Hover Event: open/close //Hover Event: open/close
@@ -546,62 +558,6 @@ function Databap()
else fOnSuccess(self.vars.current_user); 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) this.appendItem = function(asItemInfo, $Container, $bAnimation)
{ {
//Filling up the item line //Filling up the item line

View File

@@ -3,7 +3,7 @@
<p class="step_nb_box">Recherche</p> <p class="step_nb_box">Recherche</p>
<input type="text" name="repeat_query" id="repeat_query" class="step_line_item inc_border round" maxlength="200" value=""> <input type="text" name="repeat_query" id="repeat_query" class="step_line_item inc_border round" maxlength="200" value="">
<div id="sub_button_box"></div> <div id="sub_button_box"></div>
<p class="summary"><span id="search_count">0</span> résultat<span id="search_multi"></span> pour la recherche "<span id="search_words"></span>".</p> <p class="summary"><span id="search_count">0</span> résultat<span id="search_multi">s</span> pour la recherche "<span id="search_words"></span>".</p>
</div> </div>
<div id="search_container"> <div id="search_container">
<div id="list_container" class="standalone"></div> <div id="list_container" class="standalone"></div>
@@ -15,7 +15,7 @@ databap.pageInit = function()
self.initScrollBar('#main', '#search_container', '#list_container'); self.initScrollBar('#main', '#search_container', '#list_container');
self.tmp('searched_words', ''); 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 //Double link
$('#query').change(function(){$('#repeat_query').val($(this).val());}); $('#query').change(function(){$('#repeat_query').val($(this).val());});
@@ -23,7 +23,7 @@ databap.pageInit = function()
$('#repeat_query') $('#repeat_query')
.addDefaultValue(self.consts.search_box_text, $('#query').val()) .addDefaultValue(self.consts.search_box_text, $('#query').val())
.change(function(){$('#query').val($(this).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)'); .width('calc(50% - '+$('#sub_button').outerWidth(true)+'px)');
//Init's end //Init's end
@@ -34,4 +34,48 @@ databap.onResize = function()
{ {
self.setScrollBarSize('maximize'); 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&eacute;sultat trouv&eacute;.');
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);
}
}
};
</script> </script>