26 lines
794 B
JavaScript
26 lines
794 B
JavaScript
import Component from '@ember/component';
|
|
import { addObserver } from '@ember/object/observers';
|
|
import { computed } from '@ember/object';
|
|
|
|
export default Component.extend({
|
|
tagName: 'span',
|
|
classNames: ['label', 'label-sm'],
|
|
classNameBindings: ['enabled:label-success:label-warning'],
|
|
field: 'enabled',
|
|
name: computed.alias('field'),
|
|
didReceiveAttrs() {
|
|
const me = this;
|
|
me._super(...arguments);
|
|
me.set('enabled', me.get(me.getFieldPath()));
|
|
addObserver(me, me.getFieldPath(), function() {
|
|
me.set('enabled', me.get(me.getFieldPath()));
|
|
});
|
|
},
|
|
enabledText: '启用',
|
|
disabledText: '禁用',
|
|
getFieldPath() {
|
|
const me = this;
|
|
return 'model.' + (me.get('field') || 'enabled');
|
|
},
|
|
});
|