Skip to content

Instantly share code, notes, and snippets.

@cah-danmonroe
Last active September 17, 2018 19:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cah-danmonroe/ce98b30582af48651f7a99c1d4bc3c59 to your computer and use it in GitHub Desktop.
Save cah-danmonroe/ce98b30582af48651f7a99c1d4bc3c59 to your computer and use it in GitHub Desktop.
EPS - focus
import Ember from 'ember';
// import { isBlank } from '@ember/utils';
export default Ember.Controller.extend({
appName: 'Ember Power Select - focus',
cities: ['Barcelona', 'London', 'New York', 'Porto'],
actions: {
handleFocus(select, e) {
console.debug('EPS focused!');
if (this.focusComesFromOutside(e)) {
select.actions.open();
}
},
handleBlur() {
console.debug('EPS blurred!');
}
},
// Methods
focusComesFromOutside(e) {
let blurredEl = e.relatedTarget;
if (isBlank(blurredEl)) {
return false;
}
return !blurredEl.classList.contains('ember-power-select-search-input');
}
});
<h1>{{appName}}!!</h1>
<br>
<br>
{{outlet}}
<br>
<br>
<br>
{{#power-select
selected=selected
options=cities
onchange=(action (mut selected))
onfocus=(action "handleFocus")
onblur=(action "handleBlur")
as |name|
}}
{{name}}
{{/power-select}}
{
"version": "0.15.0",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.2.2",
"ember-template-compiler": "3.2.2",
"ember-testing": "3.2.2"
},
"addons": {
"ember-data": "3.2.0",
"ember-power-select": "2.0.7"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment