move to django 1.4 and django-pipeline,
[wolnelektury.git] / 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 (file)
index 0000000..6afc4a3
--- /dev/null
@@ -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 $("<li></li>").data('item.autocomplete', item)
+               .append('<a href="'+item.url+'"><span class="search-hint-label">'+item.label+'</span>'+
+                       '<span class="search-hint-category mono">'+item.category+'</span></a>')
+               .appendTo(ul);
+       },
+
+       destroy: function() {
+
+       },
+       
+
+    });
+
+
+})(jQuery);