put search function back to search page
This commit is contained in:
68
jquery/databap.js
vendored
68
jquery/databap.js
vendored
@@ -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
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<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="">
|
||||
<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 id="search_container">
|
||||
<div id="list_container" class="standalone"></div>
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
Reference in New Issue
Block a user