Walkaround for jsonfield not decoding json on save.
[wolnelektury.git] / apps / wolnelektury_core / static / js / search.js
index 6afc4a3..4d001e0 100644 (file)
@@ -7,6 +7,8 @@ var __bind = function (self, fn) {
     $.widget("wl.search", {
        options: {
           minLength: 0,
     $.widget("wl.search", {
        options: {
           minLength: 0,
+         dataType: "json",
+          host: '',
         },
 
        _create: function() {
         },
 
        _create: function() {
@@ -14,14 +16,16 @@ var __bind = function (self, fn) {
                minLength: this.options.minLength,
                select: __bind(this, this.enter),
                focus: function() { return false; },
                minLength: this.options.minLength,
                select: __bind(this, this.enter),
                focus: function() { return false; },
-               source: this.element.data('source'),
+                source: this.element.data('source'),
            };
            };
-           this.element.autocomplete(opts).data("autocomplete")._renderItem = __bind(this, this.render_item);
+
+           this.element.autocomplete($.extend(opts, this.options))
+               .data("autocomplete")._renderItem = __bind(this, this.render_item);
        },
 
        enter: function(event, ui) {
            if (ui.item.url != undefined) {
        },
 
        enter: function(event, ui) {
            if (ui.item.url != undefined) {
-               location.href = ui.item.url;
+               location.href = this.options.host+ui.item.url;
            } else {
                this.element.closest('form').submit();
            }
            } else {
                this.element.closest('form').submit();
            }
@@ -29,10 +33,10 @@ var __bind = function (self, fn) {
    
        render_item: function (ul, item) {
            return $("<li></li>").data('item.autocomplete', item)
    
        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>'+
+               .append('<a href="'+this.options.host+item.url+'"><span class="search-hint-label">'+item.label+'</span>'+
                        '<span class="search-hint-category mono">'+item.category+'</span></a>')
                .appendTo(ul);
                        '<span class="search-hint-category mono">'+item.category+'</span></a>')
                .appendTo(ul);
-       },
+       }, 
 
        destroy: function() {
 
 
        destroy: function() {