iep-ui
Version:
An enterprise-class UI design language and Vue-based implementation
73 lines (59 loc) • 1.81 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _babelHelperVueJsxMergeProps = require('babel-helper-vue-jsx-merge-props');
var _babelHelperVueJsxMergeProps2 = _interopRequireDefault(_babelHelperVueJsxMergeProps);
var _vueTypes = require('../_util/vue-types');
var _vueTypes2 = _interopRequireDefault(_vueTypes);
var _configConsumerProps = require('../config-provider/configConsumerProps');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = {
name: 'IepBusinessStatusButton',
inject: {
configProvider: { 'default': function _default() {
return _configConsumerProps.ConfigConsumerProps;
} }
},
data: function data() {
return {
active: false
};
},
methods: {
handleTap: function handleTap() {
this.active = !this.active;
this.$emit('change', this.active);
}
},
render: function render() {
var _this = this;
var h = arguments[0];
var customizePrefixCls = this.prefixCls,
$slots = this.$slots,
active = this.active;
var getPrefixCls = this.configProvider.getPrefixCls;
var prefixCls = getPrefixCls('business-status-button', customizePrefixCls);
return h(
'span',
(0, _babelHelperVueJsxMergeProps2['default'])([{
'class': [prefixCls, active ? prefixCls + '-active' : '']
}, {
on: {
click: function click() {
return _this.handleTap();
}
}
}]),
[h(
'span',
{ 'class': prefixCls + '-icon' },
[active ? $slots.active ? $slots.active : $slots.normal : $slots.normal]
), h(
'span',
{ 'class': prefixCls + '-text' },
[$slots['default']]
)]
);
}
};
;