diff --git a/addon/components/select-component.js b/addon/components/select-component.js index c946392f..06820713 100644 --- a/addon/components/select-component.js +++ b/addon/components/select-component.js @@ -540,14 +540,12 @@ export default Ember.Component.extend( } }), - setFocus: function() { - var activeElem, selectComponent; - activeElem = document.activeElement; - selectComponent = this.$()[0]; - if (selectComponent.contains(activeElem) || selectComponent === activeElem) { - return this.set('hasFocus', true); + setFocus: function(targetElement = document.activeElement) { + let selectComponent = this.element; + if (selectComponent.contains(targetElement) || selectComponent === targetElement) { + this.set('hasFocus', true); } else { - return this.set('hasFocus', false); + this.set('hasFocus', false); } }, @@ -674,12 +672,12 @@ export default Ember.Component.extend( return this.sendAction('userSelected', selection); }, - focusIn: function() { - return this.set('hasFocus', true); + focusIn: function(event) { + this.setFocus(event.target); }, - focusOut: function() { - return this.set('hasFocus', false); + focusOut: function(event) { + this.setFocus(event.target); }, actions: { diff --git a/addon/mixins/popover.js b/addon/mixins/popover.js index 04fc92ec..10a2ecf6 100644 --- a/addon/mixins/popover.js +++ b/addon/mixins/popover.js @@ -42,7 +42,7 @@ export default Ember.Mixin.create(StyleBindingsMixin, BodyEventListener, { }).property('contentViewClass'), didInsertElement: function() { this._super(); - Ember.run.schedule('afterRender', this, () => { + Ember.run.schedule('afterRender', () => { this.snapToPosition(); this.set('visibility', 'visible'); this.set('isShowing', true);