|
3 | 3 | * |_ _|___ ___ ___ ___ ___ |
4 | 4 | * | | | .'| . | . | -_| _| |
5 | 5 | * |_| |__,|_ |_ |___|_| |
6 | | - * |___|___| version 0.5.0 |
| 6 | + * |___|___| version 0.6.0 |
7 | 7 | * |
8 | 8 | * Tagger - Zero dependency, Vanilla JavaScript Tag Editor |
9 | 9 | * |
|
161 | 161 | this._build_completion(this._settings.completion.list); |
162 | 162 | } |
163 | 163 | }, |
| 164 | + _update_input: function () { |
| 165 | + this._input.value = this._tags.join(','); |
| 166 | + this._input.dispatchEvent(new Event('change', { bubbles: true })); |
| 167 | + }, |
164 | 168 | // -------------------------------------------------------------------------------------- |
165 | 169 | _add_events: function() { |
166 | 170 | var self = this; |
|
192 | 196 | var li = self._ul.querySelector('li:nth-last-child(2)'); |
193 | 197 | self._ul.removeChild(li); |
194 | 198 | self._tags.pop(); |
195 | | - self._input.value = self._tags.join(','); |
| 199 | + self._update_input(); |
196 | 200 | } |
197 | 201 | event.preventDefault(); |
198 | 202 | } else if (event.keyCode === 32 && (event.ctrlKey || event.metaKey)) { |
|
214 | 218 | self._new_input_tag.value = ''; |
215 | 219 | } |
216 | 220 | } else { |
217 | | - var min = self._settings.completion.min_length; |
| 221 | + var min = self._settings.completion.min_length; |
218 | 222 | if (typeof self._settings.completion.list === 'function' && value.length >= min) { |
219 | 223 | self.complete(value); |
220 | 224 | } |
|
318 | 322 | } |
319 | 323 | this._new_tag(name); |
320 | 324 | this._tags.push(name); |
321 | | - this._input.value = this._tags.join(','); |
| 325 | + this._update_input(); |
322 | 326 | return true; |
323 | 327 | }, |
324 | 328 | // -------------------------------------------------------------------------------------- |
|
340 | 344 | this._tags = this._tags.filter(function(tag) { |
341 | 345 | return name !== tag; |
342 | 346 | }); |
343 | | - this._input.value = this._tags.join(','); |
| 347 | + this._update_input() |
344 | 348 | if (remove_dom) { |
345 | 349 | var tags = Array.from(this._ul.querySelectorAll('.label')); |
346 | 350 | var re = new RegExp('^\s*' + escape_regex(name) + '\s*$'); |
|
0 commit comments