lemo-crm/web/app/components/status-cell.js
2022-06-23 17:29:32 +08:00

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');
},
});