aboutsummaryrefslogtreecommitdiffstats
path: root/view/js
diff options
context:
space:
mode:
Diffstat (limited to 'view/js')
-rw-r--r--view/js/autocomplete.js25
1 files changed, 23 insertions, 2 deletions
diff --git a/view/js/autocomplete.js b/view/js/autocomplete.js
index 8edd8dafa..09f6a71c4 100644
--- a/view/js/autocomplete.js
+++ b/view/js/autocomplete.js
@@ -178,6 +178,16 @@ function string2bb(element) {
template: contact_format
};
+ // Autocomplete forums
+ forums = {
+ match: /(^|\s)(\!\!*)([^ \n]{3,})$/,
+ index: 3,
+ cache: true,
+ search: function(term, callback) { contact_search(term, callback, backend_url, 'f', extra_channels, spinelement=false); },
+ replace: editor_replace,
+ template: contact_format
+ };
+
// Autocomplete hashtags
tags = {
match: /(^|\s)(\#)([^ \n]{2,})$/,
@@ -210,7 +220,7 @@ function string2bb(element) {
}
});
// it seems important that contacts are before channels here. Otherwise we run into regex issues.
- textcomplete.register([contacts,channels,smilies,tags]);
+ textcomplete.register([contacts, channels, smilies, forums, tags]);
});
};
})( jQuery );
@@ -234,6 +244,17 @@ function string2bb(element) {
template: contact_format,
};
+ // Autocomplete forums
+ forums = {
+ match: /(^\!)([^\n]{2,})$/,
+ index: 2,
+ cache: true,
+ search: function(term, callback) { contact_search(term, callback, backend_url, 'f', [], spinelement='#nav-search-spinner'); },
+ replace: basic_replace,
+ template: contact_format
+ };
+
+
// Autocomplete hashtags
tags = {
match: /(^\#)([^ \n]{2,})$/,
@@ -257,7 +278,7 @@ function string2bb(element) {
maxCount: 100
}
});
- textcomplete.register([contacts,tags]);
+ textcomplete.register([contacts, forums, tags]);
});
textcomplete.on('selected', function() { this.editor.el.form.submit(); });