lemo-crm/web/app/components/status-toggle-button.js
2017-07-24 23:51:46 +08:00

42 lines
1.3 KiB
JavaScript

import Ember from 'ember';
import BaseComponent from './base-component';
export default BaseComponent.extend({
tagName: 'a',
attributeBindings: ['title', 'href', 'role', 'rel'],
role: 'button',
rel: 'tooltip',
href: 'javascript:;',
enabledText: 'Enable',
disabledText: 'Disable',
enabled: Ember.computed.alias('model.enabled'),
title: Ember.computed('enabled', function() {
let me = this;
return this.get('enabled') ? me.get('disabledText') : me.get('enabledText');
}),
iconSizeClass: 'bigger-120',
didReceiveAttrs() {
let me = this;
if (me.get('iconOnly')) {
me.set('iconSizeClass', 'bigger-130');
me.set('classNameBindings', ['enabled:orange:light-green']);
}
else {
me.set('classNameBindings',
['enabled:btn-warning:btn-success',
'iconOnly::btn',
'iconOnly::btn-xs']);
}
},
click() {
let me = this;
me.dialog.confirm('Are you sure to ' + me.get('title') + ' row?', () => {
let model = me.get('model');
Ember.set(model, 'enabled', !me.get('enabled'));
let params = me.get('params');
me.get('service').update(params ?
Ember.merge(params, model) : model, true);
});
}
});