X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=js%2Fautocomplete.js;h=219ad794bc86a4b18a34626ad4c691bf36a3b18b;hb=6212b3d287a2ed3a1accdeb487b63f9479685360;hp=8702abbcf92e3b23b3522a2655a827eb6bd2d3bd;hpb=45ebeba643a6d600e8778475f70f827f32bf3146;p=friendica.git diff --git a/js/autocomplete.js b/js/autocomplete.js index 8702abbcf9..219ad794bc 100644 --- a/js/autocomplete.js +++ b/js/autocomplete.js @@ -78,22 +78,26 @@ function contact_format(item) { } function editor_replace(item) { - if(typeof item.replace !== 'undefined') { + if (typeof item.replace !== 'undefined') { return '$1$2' + item.replace; } + if (typeof item.addr !== 'undefined') { + return '$1$2' + item.addr + ' '; + } + // $2 ensures that prefix (@,@!) is preserved var id = item.id; // don't add the id if it is empty (the id empty eg. if there are unknow contacts in thread) - if(id.length < 1) + if (id.length < 1) { return '$1$2' + item.nick.replace(' ', '') + ' '; - + } // 16 chars of hash should be enough. Full hash could be used if it can be done in a visually appealing way. // 16 chars is also the minimum length in the backend (otherwise it's interpreted as a local id). - if(id.length > 16) + if (id.length > 16) { id = item.id.substring(0,16); - + } return '$1$2' + item.nick.replace(' ', '') + '+' + id + ' '; } @@ -166,7 +170,7 @@ function listNewLineAutocomplete(id) { if (word != null) { var textBefore = text.value.substring(0, caretPos); var textAfter = text.value.substring(caretPos, text.length); - $('#' + id).val(textBefore + '\r\n[*] ' + textAfter); + $('#' + id).val(textBefore + '\r\n[*] ' + textAfter).trigger('change'); setCaretPosition(text, caretPos + 5); return true; } @@ -199,6 +203,15 @@ function string2bb(element) { template: contact_format, }; + // Autocomplete forums + forums = { + match: /(^|\s)(!\!*)([^ \n]+)$/, + index: 3, + search: function(term, callback) { contact_search(term, callback, backend_url, 'f'); }, + replace: editor_replace, + template: contact_format, + }; + // Autocomplete smilies e.g. ":like" smilies = { match: /(^|\s)(:[a-z]{2,})$/, @@ -209,7 +222,7 @@ function string2bb(element) { }; this.attr('autocomplete','off'); - this.textcomplete([contacts,smilies], {className:'acpopup', zIndex:10000}); + this.textcomplete([contacts, forums, smilies], {className:'acpopup', zIndex:10000}); }; })( jQuery );