// 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);
+ });
};
/**