Files
project-work/worker-toolkit-flaredown/repo/frontend/app/components/checkin/multi-select-edit.js

54 lines
1.4 KiB
JavaScript

import Ember from 'ember';
import SearchableDropdown from 'flaredown/mixins/searchable-dropdown';
export default Ember.Component.extend(SearchableDropdown, {
isSelectFocused: false,
selectPlaceholder: Ember.computed('isSelectFocused', function() {
if (this.get('isSelectFocused')) {
return 'Start typing a ' + this.get('modelName');
} else {
return 'Add a ' + this.get('modelName');
}
}),
actions: {
toggleSelectFocused() {
this.toggleProperty('isSelectFocused');
},
handleFocus() {
// TODO remove debug log when this is fixed:
// https://github.com/cibernox/ember-power-select/issues/739
Ember.Logger.debug('focus');
this.set('isSelectFocused', true);
},
handleBlur() {
// TODO remove debug log when this is fixed:
// https://github.com/cibernox/ember-power-select/issues/739
Ember.Logger.debug('blur');
this.set('isSelectFocused', false);
},
createObject(name) {
this.sendAction('onBeforeAdd', name);
this.createAndSave(this.get('modelName'), name).then(obj => this.get('onSelected')(obj));
},
handleChange(obj) {
this.get('onSelected')(obj);
},
clicked(obj) {
this.get('onClicked')(obj);
},
},
performSearch(term, resolve, reject) {
this
.searchByTerm(this.get('modelName'), term)
.then(function() { resolve(...arguments); }, reject);
},
});