ant-design-vue
Version:
An enterprise-class UI design language and Vue-based implementation
94 lines (76 loc) • 2.5 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.RateProps = undefined;
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _vueTypes = require('../_util/vue-types');
var _vueTypes2 = _interopRequireDefault(_vueTypes);
var _propsUtil = require('../_util/props-util');
var _vcRate = require('../vc-rate');
var _vcRate2 = _interopRequireDefault(_vcRate);
var _icon = require('../icon');
var _icon2 = _interopRequireDefault(_icon);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var RateProps = exports.RateProps = {
prefixCls: _vueTypes2['default'].string,
count: _vueTypes2['default'].number,
value: _vueTypes2['default'].value,
defaultValue: _vueTypes2['default'].value,
allowHalf: _vueTypes2['default'].bool,
allowClear: _vueTypes2['default'].bool,
disabled: _vueTypes2['default'].bool,
character: _vueTypes2['default'].any,
autoFocus: _vueTypes2['default'].bool
};
var Rate = {
name: 'ARate',
model: {
prop: 'value',
event: 'change'
},
props: (0, _propsUtil.initDefaultProps)(RateProps, {
prefixCls: 'ant-rate'
}),
methods: {
focus: function focus() {
this.$refs.refRate.focus();
},
blur: function blur() {
this.$refs.refRate.blur();
}
},
render: function render() {
var h = arguments[0];
var _getOptionProps = (0, _propsUtil.getOptionProps)(this),
character = _getOptionProps.character,
restProps = (0, _objectWithoutProperties3['default'])(_getOptionProps, ['character']);
var slotCharacter = this.$slots.character;
var rateProps = {
props: (0, _extends3['default'])({
character: character
}, restProps),
on: this.$listeners,
ref: 'refRate'
};
var slotCharacterHtml = slotCharacter !== undefined ? h(
'template',
{ slot: 'character' },
[slotCharacter]
) : h(_icon2['default'], { slot: 'character', attrs: { type: 'star' }
});
return h(
_vcRate2['default'],
rateProps,
[character === undefined ? slotCharacterHtml : null]
);
}
};
/* istanbul ignore next */
Rate.install = function (Vue) {
Vue.component(Rate.name, Rate);
};
exports['default'] = Rate;
;