X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/5074895f7d96cbd5fda6a4d566ddb25533137fd4..42b2bed693f41819b314b54cbfea1f51ec5d0aad:/src/wolnelektury/static/js/search.js?ds=inline diff --git a/src/wolnelektury/static/js/search.js b/src/wolnelektury/static/js/search.js index 786a05c79..34c63f3c9 100644 --- a/src/wolnelektury/static/js/search.js +++ b/src/wolnelektury/static/js/search.js @@ -5,44 +5,46 @@ var __bind = function (self, fn) { (function($){ $.widget("wl.search", { - options: { - minLength: 0, - dataType: "json", - host: '', + options: { + minLength: 0, + dataType: "json", + host: '' + }, + + _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($.extend(opts, this.options)) + .data("autocomplete")._renderItem = __bind(this, this.render_item); }, - _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($.extend(opts, this.options)) - .data("autocomplete")._renderItem = __bind(this, this.render_item); - }, - - enter: function(event, ui) { - if (ui.item.url != undefined) { - location.href = this.options.host+ui.item.url; - } else { - this.element.closest('form').submit(); - } - }, - - render_item: function (ul, item) { - return $("
").data('item.autocomplete', item) - .append(''+item.label+'') - .appendTo(ul); - }, - - destroy: function() { - - }, - + enter: function(event, ui) { + if (ui.item.url !== undefined) { + location.href = this.options.host+ui.item.url; + } else { + this.element.closest('form').submit(); + } + }, - }); + render_item: function (ul, item) { + var label; + if (item['author']) { + label = '' + item.label + ', ' + item['author']; + } else { + label = item.label; + } + return $("").data('item.autocomplete', item) + .append(''+label+'') + .appendTo(ul); + }, + destroy: function() { + } + }); })(jQuery);