diff options
Diffstat (limited to 'view')
-rw-r--r-- | view/js/autocomplete.js | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/view/js/autocomplete.js b/view/js/autocomplete.js index 1fa20cc3b..1fad1903b 100644 --- a/view/js/autocomplete.js +++ b/view/js/autocomplete.js @@ -3,15 +3,15 @@ * * require jQuery, jquery.textcomplete */ -function contact_search(term, callback, backend_url, extra_channels) { +function contact_search(term, callback, backend_url, type, extra_channels) { var postdata = { start:0, count:100, search:term, - type:'c', + type:type, } - if(extra_channels) + if(typeof extra_channels !== 'undefined' && extra_channels) postdata['extra_channels[]'] = extra_channels; $.ajax({ @@ -39,6 +39,10 @@ function editor_replace(item) { return '$1$2'+item.nick.replace(' ','') + '+' + id; } +function basic_replace(item) { + return '$1$2'+item.nick; +} + /** * jQuery plugin 'editor_autocomplete' */ @@ -50,7 +54,7 @@ function editor_replace(item) { contacts = { match: /(^|\s)(@\!*)([^ \n]+)$/, index: 3, - search: function(term, callback) { contact_search(term, callback, backend_url, extra_channels); }, + search: function(term, callback) { contact_search(term, callback, backend_url, 'c', extra_channels); }, replace: editor_replace, template: contact_format, } @@ -65,3 +69,21 @@ function editor_replace(item) { this.textcomplete([contacts,smilies],{className:'acpopup'}); }; })( jQuery ); + +/** + * jQuery plugin 'search_autocomplete' + */ +(function( $ ){ + $.fn.search_autocomplete = function(backend_url) { + + // Autocomplete contacts + contacts = { + match: /(^)(@)([^\n]+)$/, + index: 3, + search: function(term, callback) { contact_search(term, callback, backend_url, 'x',[]); }, + replace: basic_replace, + template: contact_format, + } + this.textcomplete([contacts],{className:'acpopup'}); + }; +})( jQuery ); |