aboutsummaryrefslogtreecommitdiff
path: root/js/lib/autocomplete.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/lib/autocomplete.js')
-rw-r--r--js/lib/autocomplete.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/js/lib/autocomplete.js b/js/lib/autocomplete.js
new file mode 100644
index 000000000..eb59f51aa
--- /dev/null
+++ b/js/lib/autocomplete.js
@@ -0,0 +1,39 @@
+/**
+ *
+ */
+elgg.provide('elgg.autocomplete');
+
+elgg.autocomplete.init = function() {
+ $('.elgg-input-autocomplete').autocomplete({
+ source: elgg.autocomplete.url, //gets set by input/autocomplete
+ minLength: 1,
+ select: function(event, ui) {
+ var item = ui.item;
+ $(this).val(item.name);
+
+ var hidden = $(this).next();
+ hidden.val(item.guid);
+ }
+ })
+
+ //@todo This seems convoluted
+ .data("autocomplete")._renderItem = function(ul, item) {
+ switch (item.type) {
+ case 'user':
+ case 'group':
+ r = item.icon + item.name + ' - ' + item.desc;
+ break;
+
+ default:
+ r = item.name + ' - ' + item.desc;
+ break;
+ }
+
+ return $("<li/>")
+ .data("item.autocomplete", item)
+ .append(r)
+ .appendTo(ul);
+ };
+};
+
+elgg.register_event_handler('init', 'system', elgg.autocomplete.init); \ No newline at end of file