Skip to content

Commit d174156

Browse files
authored
Merge pull request #43 from jcubic/change-event
Change event
2 parents 0b43471 + 0492988 commit d174156

File tree

4 files changed

+15
-9
lines changed

4 files changed

+15
-9
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
|_ _|___ ___ ___ ___ ___
44
| | | .'| . | . | -_| _|
55
|_| |__,|_ |_ |___|_|
6-
|___|___| version 0.5.0
6+
|___|___| version 0.6.0
77
```
88
# [Tagger: Zero dependency, Vanilla JavaScript Tag Editor](https://github.com/jcubic/tagger)
99

10-
[![npm](https://img.shields.io/badge/npm-0.5.0-blue.svg)](https://www.npmjs.com/package/@jcubic/tagger)
10+
[![npm](https://img.shields.io/badge/npm-0.6.0-blue.svg)](https://www.npmjs.com/package/@jcubic/tagger)
1111

1212
![Tag Editor widget in JavaScript](https://raw.githubusercontent.com/jcubic/tagger/master/screenshot.png)
1313

@@ -101,6 +101,8 @@ TypeScript definition file:
101101
[tagger.d.ts](https://github.com/jcubic/tagger/blob/master/tagger.d.ts)
102102

103103
## Changelog
104+
### 0.6.0
105+
* add native change event for the original input element on tag change
104106
### 0.5.0
105107
* fix initialization [#23](https://github.com/jcubic/tagger/issues/23). Thanks to [James Lucas](https://github.com/lucasnetau)
106108
* add placeholder option. Thanks to [James Lucas](https://github.com/lucasnetau)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@jcubic/tagger",
3-
"version": "0.5.0",
3+
"version": "0.6.0",
44
"description": "Zero dependency, Vanilla JavaScript Tag Editor",
55
"typings": "tagger.d.ts",
66
"main": "tagger.js",

tagger.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* |_ _|___ ___ ___ ___ ___
44
* | | | .'| . | . | -_| _|
55
* |_| |__,|_ |_ |___|_|
6-
* |___|___| version 0.5.0
6+
* |___|___| version 0.6.0
77
*
88
* Tagger - Zero dependency, Vanilla JavaScript Tag Editor
99
*

tagger.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* |_ _|___ ___ ___ ___ ___
44
* | | | .'| . | . | -_| _|
55
* |_| |__,|_ |_ |___|_|
6-
* |___|___| version 0.5.0
6+
* |___|___| version 0.6.0
77
*
88
* Tagger - Zero dependency, Vanilla JavaScript Tag Editor
99
*
@@ -161,6 +161,10 @@
161161
this._build_completion(this._settings.completion.list);
162162
}
163163
},
164+
_update_input: function () {
165+
this._input.value = this._tags.join(',');
166+
this._input.dispatchEvent(new Event('change', { bubbles: true }));
167+
},
164168
// --------------------------------------------------------------------------------------
165169
_add_events: function() {
166170
var self = this;
@@ -192,7 +196,7 @@
192196
var li = self._ul.querySelector('li:nth-last-child(2)');
193197
self._ul.removeChild(li);
194198
self._tags.pop();
195-
self._input.value = self._tags.join(',');
199+
self._update_input();
196200
}
197201
event.preventDefault();
198202
} else if (event.keyCode === 32 && (event.ctrlKey || event.metaKey)) {
@@ -214,7 +218,7 @@
214218
self._new_input_tag.value = '';
215219
}
216220
} else {
217-
var min = self._settings.completion.min_length;
221+
var min = self._settings.completion.min_length;
218222
if (typeof self._settings.completion.list === 'function' && value.length >= min) {
219223
self.complete(value);
220224
}
@@ -318,7 +322,7 @@
318322
}
319323
this._new_tag(name);
320324
this._tags.push(name);
321-
this._input.value = this._tags.join(',');
325+
this._update_input();
322326
return true;
323327
},
324328
// --------------------------------------------------------------------------------------
@@ -340,7 +344,7 @@
340344
this._tags = this._tags.filter(function(tag) {
341345
return name !== tag;
342346
});
343-
this._input.value = this._tags.join(',');
347+
this._update_input()
344348
if (remove_dom) {
345349
var tags = Array.from(this._ul.querySelectorAll('.label'));
346350
var re = new RegExp('^\s*' + escape_regex(name) + '\s*$');

0 commit comments

Comments
 (0)