import Ember from 'ember'; import BaseComponent from './base-component'; export default BaseComponent.extend({ tagName: 'a', attributeBindings: ['title', 'data-original-title', 'role', 'data-rel'], role: 'button', 'data-rel': 'tooltip', enabledText: 'Enable', disabledText: 'Disable', enabledOp: 'enable', disabledOp: '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'); }), 'data-original-title': Ember.computed.alias('title'), op: Ember.computed('enabled', function() { let me = this; return this.get('enabled') ? me.get('disabledOp') || me.get('disabledText') : me.get('enabledOp') || 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); }); } });