upgrade to textcomplete (jquery.textcomplete is discontinued), enable built-in cache and unify to start lookup after 3 characters
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+53
-17
@@ -184,8 +184,9 @@ function string2bb(element) {
|
||||
|
||||
// Autocomplete contacts
|
||||
contacts = {
|
||||
match: /(^|\s)(@\!*)([^ \n]+)$/,
|
||||
match: /(^|\s)(@\!*)([^ \n]{3,})$/,
|
||||
index: 3,
|
||||
cache: true,
|
||||
search: function(term, callback) { contact_search(term, callback, backend_url, 'c', extra_channels, spinelement=false); },
|
||||
replace: editor_replace,
|
||||
template: contact_format
|
||||
@@ -193,8 +194,9 @@ function string2bb(element) {
|
||||
|
||||
// Autocomplete forums
|
||||
forums = {
|
||||
match: /(^|\s)(\!\!*)([^ \n]+)$/,
|
||||
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
|
||||
@@ -203,8 +205,9 @@ function string2bb(element) {
|
||||
|
||||
// Autocomplete hashtags
|
||||
tags = {
|
||||
match: /(^|\s)(\#)([^ \n]{2,})$/,
|
||||
match: /(^|\s)(\#)([^ \n]{3,})$/,
|
||||
index: 3,
|
||||
cache: true,
|
||||
search: function(term, callback) { $.getJSON('/hashtags/' + '$f=&t=' + term).done(function(data) { callback($.map(data, function(entry) { return entry.text.toLowerCase().indexOf(term.toLowerCase()) === 0 ? entry : null; })); }); },
|
||||
replace: function(item) { return "$1$2" + item.text + ' '; },
|
||||
context: function(text) { return text.toLowerCase(); },
|
||||
@@ -215,13 +218,20 @@ function string2bb(element) {
|
||||
smilies = {
|
||||
match: /(^|\s)(:[a-z_:]{2,})$/,
|
||||
index: 2,
|
||||
cache: true,
|
||||
search: function(term, callback) { $.getJSON('/smilies/json').done(function(data) { callback($.map(data, function(entry) { return entry.text.indexOf(term) === 0 ? entry : null; })); }); },
|
||||
//template: function(item) { return item.icon + item.text; },
|
||||
replace: function(item) { return "$1" + item.text + ' '; },
|
||||
template: smiley_format
|
||||
};
|
||||
this.attr('autocomplete','off');
|
||||
this.textcomplete([contacts,forums,smilies,tags], {className:'acpopup', zIndex:1020});
|
||||
|
||||
var Textarea = Textcomplete.editors.Textarea;
|
||||
var editor = new Textarea(this[0]);
|
||||
var textcomplete = new Textcomplete(editor);
|
||||
|
||||
textcomplete.register([contacts,forums,smilies,tags], {className:'acpopup', zIndex:1020});
|
||||
|
||||
};
|
||||
})( jQuery );
|
||||
|
||||
@@ -234,6 +244,7 @@ function string2bb(element) {
|
||||
contacts = {
|
||||
match: /(^@)([^\n]{3,})$/,
|
||||
index: 2,
|
||||
cache: true,
|
||||
search: function(term, callback) { contact_search(term, callback, backend_url, 'x', [], spinelement='#nav-search-spinner'); },
|
||||
replace: basic_replace,
|
||||
template: contact_format,
|
||||
@@ -243,6 +254,7 @@ function string2bb(element) {
|
||||
forums = {
|
||||
match: /(^\!)([^\n]{3,})$/,
|
||||
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
|
||||
@@ -252,6 +264,7 @@ function string2bb(element) {
|
||||
tags = {
|
||||
match: /(^\#)([^ \n]{3,})$/,
|
||||
index: 2,
|
||||
cache: true,
|
||||
search: function(term, callback) { $.getJSON('/hashtags/' + '$f=&t=' + term).done(function(data) { callback($.map(data, function(entry) { return entry.text.toLowerCase().indexOf(term.toLowerCase()) === 0 ? entry : null; })); }); },
|
||||
replace: function(item) { return "$1" + item.text + ' '; },
|
||||
context: function(text) { return text.toLowerCase(); },
|
||||
@@ -259,8 +272,14 @@ function string2bb(element) {
|
||||
};
|
||||
|
||||
this.attr('autocomplete', 'off');
|
||||
var a = this.textcomplete([contacts,forums,tags], {className:'acpopup', maxCount:100, zIndex: 1020, appendTo:'nav'});
|
||||
a.on('textComplete:select', function(e, value, strategy) { submit_form(this); });
|
||||
|
||||
var Textarea = Textcomplete.editors.Textarea;
|
||||
var editor = new Textarea(this[0]);
|
||||
var textcomplete = new Textcomplete(editor);
|
||||
|
||||
textcomplete.register([contacts,forums,tags], {className:'acpopup', maxCount:100, zIndex: 1020, appendTo:'nav'});
|
||||
|
||||
this.on('textComplete:select', function(e, value, strategy) { submit_form(this); });
|
||||
};
|
||||
})( jQuery );
|
||||
|
||||
@@ -271,21 +290,27 @@ function string2bb(element) {
|
||||
|
||||
// Autocomplete contacts
|
||||
contacts = {
|
||||
match: /(^)([^\n]+)$/,
|
||||
match: /(^)([^\n]{3,})$/,
|
||||
index: 2,
|
||||
cache: true,
|
||||
search: function(term, callback) { contact_search(term, callback, backend_url, typ,[], spinelement=false); },
|
||||
replace: basic_replace,
|
||||
template: contact_format,
|
||||
};
|
||||
|
||||
this.attr('autocomplete','off');
|
||||
var a = this.textcomplete([contacts], {className:'acpopup', zIndex:1020});
|
||||
|
||||
var Textarea = Textcomplete.editors.Textarea;
|
||||
var editor = new Textarea(this[0]);
|
||||
var textcomplete = new Textcomplete(editor);
|
||||
|
||||
textcomplete.register([contacts], {className:'acpopup', zIndex:1020});
|
||||
|
||||
if(autosubmit)
|
||||
a.on('textComplete:select', function(e,value,strategy) { submit_form(this); });
|
||||
this.on('textComplete:select', function(e,value,strategy) { submit_form(this); });
|
||||
|
||||
if(typeof onselect !== 'undefined')
|
||||
a.on('textComplete:select', function(e, value, strategy) { onselect(value); });
|
||||
this.on('textComplete:select', function(e, value, strategy) { onselect(value); });
|
||||
};
|
||||
})( jQuery );
|
||||
|
||||
@@ -297,21 +322,27 @@ function string2bb(element) {
|
||||
|
||||
// Autocomplete contacts
|
||||
names = {
|
||||
match: /(^)([^\n]+)$/,
|
||||
match: /(^)([^\n]{3,})$/,
|
||||
index: 2,
|
||||
cache: true,
|
||||
search: function(term, callback) { contact_search(term, callback, backend_url, typ,[], spinelement=false); },
|
||||
replace: trim_replace,
|
||||
template: contact_format,
|
||||
};
|
||||
|
||||
this.attr('autocomplete','off');
|
||||
var a = this.textcomplete([names], {className:'acpopup', zIndex:1020});
|
||||
|
||||
var Textarea = Textcomplete.editors.Textarea;
|
||||
var editor = new Textarea(this[0]);
|
||||
var textcomplete = new Textcomplete(editor);
|
||||
|
||||
textcomplete.register([names], {className:'acpopup', zIndex:1020});
|
||||
|
||||
if(autosubmit)
|
||||
a.on('textComplete:select', function(e,value,strategy) { submit_form(this); });
|
||||
this.on('textComplete:select', function(e,value,strategy) { submit_form(this); });
|
||||
|
||||
if(typeof onselect !== 'undefined')
|
||||
a.on('textComplete:select', function(e, value, strategy) { onselect(value); });
|
||||
this.on('textComplete:select', function(e, value, strategy) { onselect(value); });
|
||||
};
|
||||
})( jQuery );
|
||||
|
||||
@@ -375,11 +406,16 @@ function string2bb(element) {
|
||||
};
|
||||
|
||||
this.attr('autocomplete','off');
|
||||
var a = this.textcomplete([bbco], {className:'acpopup', zIndex:1020});
|
||||
|
||||
a.on('textComplete:select', function(e, value, strategy) { value; });
|
||||
var Textarea = Textcomplete.editors.Textarea;
|
||||
var editor = new Textarea(this[0]);
|
||||
var textcomplete = new Textcomplete(editor);
|
||||
|
||||
a.keypress(function(e){
|
||||
textcomplete.register([bbco], {className:'acpopup', zIndex:1020});
|
||||
|
||||
this.on('textComplete:select', function(e, value, strategy) { value; });
|
||||
|
||||
this.keypress(function(e){
|
||||
if (e.keyCode == 13) {
|
||||
var x = listNewLineAutocomplete(this.id);
|
||||
if(x) {
|
||||
|
||||
@@ -15,9 +15,8 @@ head_add_js('jquery.js');
|
||||
head_add_js('/library/justifiedGallery/jquery.justifiedGallery.min.js');
|
||||
head_add_js('/library/sprintf.js/dist/sprintf.min.js');
|
||||
|
||||
//head_add_js('jquery.textinputs.js');
|
||||
head_add_js('/library/textcomplete/textcomplete.min.js');
|
||||
head_add_js('autocomplete.js');
|
||||
head_add_js('/library/jquery-textcomplete/jquery.textcomplete.js');
|
||||
|
||||
head_add_js('/library/jquery.timeago.js');
|
||||
head_add_js('/library/readmore.js/readmore.js');
|
||||
|
||||
Reference in New Issue
Block a user