lemo-crm/web/app/components/query-criterion.js

42 lines
1.3 KiB
JavaScript

import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['form-group'],
optionsKeyMapping: {
dateAdded: 'model.dateAddedList',
countryCode: 'model.countryCodeList',
state: 'model.stateList',
city: 'model.cityList',
region: 'model.regionList',
ms: 'model.msList',
salesperson: 'model.salespersonList',
status: 'model.statusList'
},
valOptions: Ember.computed('criterion.col', function() {
let me = this;
let optionsKey = me.get('optionsKeyMapping.' + me.get('criterion.col'));
optionsKey && me.set('criterion.val', '');
return optionsKey && me.get(optionsKey) || null;
}),
actions: {
remove() {
let me = this;
let criterion = me.get('criterion');
console.info('Remove Criterion: ', criterion);
let removeAction = me.get('removeCriterion');
removeAction && removeAction(criterion);
},
onColChanged(col) {
let me = this;
me.get('valOptions') && me.set('criterion.val', '');
me.set('criterion.col', col);
},
onOpChanged(op) {
this.set('criterion.op', op);
},
onValChanged(val) {
this.set('criterion.val', val);
}
}
});