42 lines
1.3 KiB
JavaScript
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);
|
|
});
|
|
}
|
|
});
|