X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/d2ee1c034911e5b42eb7ad182d90607529d741a4..d316a52151685a1b7c295baa12b73a73eabe5657:/apps/wolnelektury_core/static/js/search.js diff --git a/apps/wolnelektury_core/static/js/search.js b/apps/wolnelektury_core/static/js/search.js new file mode 100644 index 000000000..6afc4a399 --- /dev/null +++ b/apps/wolnelektury_core/static/js/search.js @@ -0,0 +1,45 @@ + +var __bind = function (self, fn) { + return function() { fn.apply(self, arguments); }; +}; + +(function($){ + $.widget("wl.search", { + options: { + minLength: 0, + }, + + _create: function() { + var opts = { + minLength: this.options.minLength, + select: __bind(this, this.enter), + focus: function() { return false; }, + source: this.element.data('source'), + }; + this.element.autocomplete(opts).data("autocomplete")._renderItem = __bind(this, this.render_item); + }, + + enter: function(event, ui) { + if (ui.item.url != undefined) { + location.href = ui.item.url; + } else { + this.element.closest('form').submit(); + } + }, + + render_item: function (ul, item) { + return $("
  • ").data('item.autocomplete', item) + .append(''+item.label+''+ + ''+item.category+'') + .appendTo(ul); + }, + + destroy: function() { + + }, + + + }); + + +})(jQuery);