From f04676eaf25f8ab2fade3e1cda6cdb4f7f7932af Mon Sep 17 00:00:00 2001 From: Austin Burdine Date: Tue, 11 Aug 2015 11:04:53 -0600 Subject: [PATCH] fixed focus and duplication tag issues refs #5648 - adds default value to refocus in reloadTypeahead method to fix focus issues - moves tag input clearing call up to avoid duplication. --- core/client/app/components/gh-tags-input.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/core/client/app/components/gh-tags-input.js b/core/client/app/components/gh-tags-input.js index 7e32022ee4..10351ee179 100644 --- a/core/client/app/components/gh-tags-input.js +++ b/core/client/app/components/gh-tags-input.js @@ -187,7 +187,7 @@ export default Ember.Component.extend({ }, { name: 'tags', source: tags - }).bind('typeahead:selected', Ember.run.bind(this, 'typeaheadAdd')); + }).bind('typeahead:select', Ember.run.bind(this, 'typeaheadAdd')); }, destroyTypeahead: function () { @@ -195,6 +195,7 @@ export default Ember.Component.extend({ }, reloadTypeahead: function (refocus) { + refocus = (typeof refocus !== 'undefined') ? refocus : true; // set default refocus value this.set('isReloading', true); this.destroyTypeahead(); this.initTypeahead(); @@ -216,7 +217,7 @@ export default Ember.Component.extend({ }, // Used for typeahead selection - typeaheadAdd: function (obj, datum) { + typeaheadAdd: function (event, datum) { if (datum) { // this is needed so two tags with the same name aren't added this.$('#tag-input').typeahead('val', ''); @@ -228,9 +229,10 @@ export default Ember.Component.extend({ addTag: function (tagName) { var tagToAdd, checkTag; + this.$('#tag-input').typeahead('val', ''); + // Prevent multiple tags with the same name occuring if (this.get('currentTags').findBy('name', tagName)) { - this.$('#tag-input').typeahead('val', ''); return; } @@ -247,7 +249,6 @@ export default Ember.Component.extend({ this.set('isDirty', true); this.set('highlightIndex', null); this.get('currentTags').pushObject(tagToAdd); - this.$('#tag-input').typeahead('val', ''); }, deleteTag: function (tag) {