]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Refs #2102. Autocomplete is working now.
authorsembrestels <sembrestels@riseup.net>
Wed, 14 Sep 2011 01:21:18 +0000 (03:21 +0200)
committersembrestels <sembrestels@riseup.net>
Wed, 14 Sep 2011 01:21:18 +0000 (03:21 +0200)
js/lib/autocomplete.js
views/default/css/elements/forms.php

index 917326d4f7ed757dca656df4508f9d81f5b0b5f6..748070eaa7063da3732298103fe54619aaf64b56 100644 (file)
@@ -5,18 +5,35 @@ elgg.provide('elgg.autocomplete');
 
 elgg.autocomplete.init = function() {
        $('.elgg-input-autocomplete').autocomplete({
-               source: elgg.autocomplete.url, //gets set by input/autocomplete
+               source: function( request, response ) {
+                       $.ajax({
+                               url: elgg.autocomplete.url, //gets set by input/autocomplete
+                               dataType: "json",
+                               data: {
+                                       q: request.term
+                               },
+                               success: function( data ) {
+                                       response( $.map( data, function( item ) {
+                                               item.value = item.name;
+                                               return item;
+                                       }));
+                               }
+                       })
+               },
                minLength: 1,
                select: function(event, ui) {
                        var item = ui.item;
-                       $(this).val(item.name);
-       
-                       var hidden = $(this).next();
+                       item.value = item.name;
+                               
+                       if($(this).next().attr('type') == "hidden"){
+                               var hidden = $(this).next();
+                       } else {
+                               var hidden = $(this).after('<input type="hidden" name="'+this.name+'[]" />').next();
+                       }
                        hidden.val(item.guid);
                }
        })
        
-       //@todo This seems convoluted
        .data("autocomplete")._renderItem = function(ul, item) {
                switch (item.type) {
                        case 'user':
@@ -31,9 +48,9 @@ elgg.autocomplete.init = function() {
                
                return $("<li/>")
                        .data("item.autocomplete", item)
-                       .append(r)
+                       .append('<a>'+r+'</a>')
                        .appendTo(ul);
        };
 };
 
-elgg.register_hook_handler('init', 'system', elgg.autocomplete.init);
\ No newline at end of file
+elgg.register_hook_handler('init', 'system', elgg.autocomplete.init);
index e5ffb8af266bc8d54632977595e17e258ba919e9..0b88c6bdaa7d5623bc6c7b74a3f004cfd03df657 100644 (file)
@@ -352,7 +352,7 @@ input[type="radio"] {
        margin: 0;
 }
 
-.ui-autocomplete li {
+.ui-autocomplete li {
        margin: 0px;
        padding: 2px 5px;
        cursor: default;
@@ -380,9 +380,10 @@ input[type="radio"] {
        background-color: #eee;
 }
 
-.ui-autocomplete li:hover {
+.ui-autocomplete .ui-state-hover {
        background-color: #4690D6;
        color: white;
+       text-decoration: none;
 }
 
 .ui-autocomplete strong {