// jQuery wrapper for yuku/old-textcomplete
// uses a local object directory to avoid recreating Textcomplete objects
$.fn.textcomplete = function (strategies, options) {
- if (!(this.data('textcompleteId') in textcompleteObjects)) {
- let editor = new Textcomplete.editors.Textarea(this.get(0));
+ return this.each(function () {
+ let $this = $(this);
+ if (!($this.data('textcompleteId') in textcompleteObjects)) {
+ let editor = new Textcomplete.editors.Textarea($this.get(0));
- this.data('textcompleteId', textcompleteObjects.length);
- textcompleteObjects.push(new Textcomplete(editor, options));
- }
-
- textcompleteObjects[this.data('textcompleteId')].register(strategies);
+ $this.data('textcompleteId', textcompleteObjects.length);
+ textcompleteObjects.push(new Textcomplete(editor, options));
+ }
- return this;
+ textcompleteObjects[$this.data('textcompleteId')].register(strategies);
+ });
};
/**
};
this.attr('autocomplete','off');
- this.textcomplete([contacts, forums, smilies, tags], {className:'acpopup', zIndex:10000});
+ this.textcomplete([contacts, forums, smilies, tags], {dropdown: {className:'acpopup'}});
this.fixTextcompleteEscape();
return this;
};
this.attr('autocomplete', 'off');
- this.textcomplete([contacts, community, tags], {className:'acpopup', maxCount:100, zIndex: 10000, appendTo:'nav'});
+ this.textcomplete([contacts, community, tags], {dropdown: {className:'acpopup', maxCount:100}});
this.fixTextcompleteEscape();
this.on('textComplete:select', function(e, value, strategy) { submit_form(this); });
};
this.attr('autocomplete','off');
- this.textcomplete([names], {className:'acpopup', zIndex:10000});
+ this.textcomplete([names], {dropdown: {className:'acpopup'}});
this.fixTextcompleteEscape();
if(autosubmit) {
};
this.attr('autocomplete','off');
- this.textcomplete([bbco], {className:'acpopup', zIndex:10000});
+ this.textcomplete([bbco], {dropdown: {className:'acpopup'}});
this.fixTextcompleteEscape();
this.on('textComplete:select', function(e, value, strategy) { value; });