1 namespace('kivi', function(k){
3 k.QuickSearch = function($real, options) {
4 if ($real.data("quick_search"))
5 return $real.data("quick_search");
15 function send_query(action, term, id, success) {
16 var data = { module: o.module };
17 if (term !== undefined) data.term = term;
18 if (id !== undefined) data.id = id;
20 url: 'controller.pl?action=TopQuickSearch/' + action,
27 function submit_search(term) {
28 send_query('do_search', term, undefined, kivi.eval_json_result);
32 source: function(req, rsp) {
33 send_query('query_autocomplete', req.term, undefined, function (data){ rsp(data); });
35 select: function(event, ui) {
36 send_query('select_autocomplete', undefined, ui.item.id, kivi.eval_json_result);
39 $real.keydown(function(event){
40 if (event.which == KEY.ENTER) {
41 if ($real.val() !== '') {
42 submit_search($real.val());
47 $real.data('quick_search', {});
52 $('input[id^=top-quick-search]').each(function(_,e){
53 kivi.QuickSearch($(e), { module: $(e).attr('module') });