summaryrefslogtreecommitdiff
path: root/plugins/Autocomplete/Autocomplete.js
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Autocomplete/Autocomplete.js')
-rw-r--r--plugins/Autocomplete/Autocomplete.js71
1 files changed, 36 insertions, 35 deletions
diff --git a/plugins/Autocomplete/Autocomplete.js b/plugins/Autocomplete/Autocomplete.js
index 3eff685a8..c3f022702 100644
--- a/plugins/Autocomplete/Autocomplete.js
+++ b/plugins/Autocomplete/Autocomplete.js
@@ -1,37 +1,38 @@
$(document).ready(function(){
- $('#notice_data-text').autocomplete($('address .url')[0].href+'/plugins/Autocomplete/autocomplete.json', {
- multiple: true,
- multipleSeparator: " ",
- minChars: 1,
- formatItem: function(row, i, max){
- row = eval("(" + row + ")");
- switch(row.type)
- {
- case 'user':
- return row.nickname + ' (' + row.fullname + ')';
- case 'group':
- return row.nickname + ' (' + row.fullname + ')';
- }
- },
- formatMatch: function(row, i, max){
- row = eval("(" + row + ")");
- switch(row.type)
- {
- case 'user':
- return row.nickname;
- case 'group':
- return row.nickname;
- }
- },
- formatResult: function(row){
- row = eval("(" + row + ")");
- switch(row.type)
- {
- case 'user':
- return '@' + row.nickname;
- case 'group':
- return '!' + row.nickname;
- }
- }
- });
+ function fullName(row) {
+ if (typeof row.fullname == "string" && row.fullname != '') {
+ return row.nickname + ' (' + row.fullname + ')';
+ } else {
+ return row.nickname;
+ }
+ }
+ $('#notice_data-text').autocomplete($('address .url')[0].href+'main/autocomplete/suggest', {
+ multiple: true,
+ multipleSeparator: " ",
+ minChars: 1,
+ formatItem: function(row, i, max){
+ row = eval("(" + row + ")");
+ // the display:inline is because our INSANE stylesheets
+ // override the standard display of all img tags for no
+ // good reason.
+ var div = $('<div><img style="display:inline; vertical-align: middle"> <span></span></div>')
+ .find('img').attr('src', row.avatar).end()
+ .find('span').text(fullName(row)).end()
+ return div.html();
+ },
+ formatMatch: function(row, i, max){
+ row = eval("(" + row + ")");
+ return row.nickname;
+ },
+ formatResult: function(row){
+ row = eval("(" + row + ")");
+ switch(row.type)
+ {
+ case 'user':
+ return '@' + row.nickname;
+ case 'group':
+ return '!' + row.nickname;
+ }
+ }
+ });
});