index.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.RateProps = undefined;
  6. var _extends2 = require('babel-runtime/helpers/extends');
  7. var _extends3 = _interopRequireDefault(_extends2);
  8. var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
  9. var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
  10. var _omit = require('omit.js');
  11. var _omit2 = _interopRequireDefault(_omit);
  12. var _vueTypes = require('../_util/vue-types');
  13. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  14. var _propsUtil = require('../_util/props-util');
  15. var _configConsumerProps = require('../config-provider/configConsumerProps');
  16. var _vcRate = require('../vc-rate');
  17. var _vcRate2 = _interopRequireDefault(_vcRate);
  18. var _icon = require('../icon');
  19. var _icon2 = _interopRequireDefault(_icon);
  20. var _tooltip = require('../tooltip');
  21. var _tooltip2 = _interopRequireDefault(_tooltip);
  22. var _base = require('../base');
  23. var _base2 = _interopRequireDefault(_base);
  24. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  25. var RateProps = exports.RateProps = {
  26. prefixCls: _vueTypes2['default'].string,
  27. count: _vueTypes2['default'].number,
  28. value: _vueTypes2['default'].value,
  29. defaultValue: _vueTypes2['default'].value,
  30. allowHalf: _vueTypes2['default'].bool,
  31. allowClear: _vueTypes2['default'].bool,
  32. tooltips: _vueTypes2['default'].arrayOf(_vueTypes2['default'].string),
  33. disabled: _vueTypes2['default'].bool,
  34. character: _vueTypes2['default'].any,
  35. autoFocus: _vueTypes2['default'].bool
  36. };
  37. var Rate = {
  38. name: 'ARate',
  39. model: {
  40. prop: 'value',
  41. event: 'change'
  42. },
  43. props: RateProps,
  44. inject: {
  45. configProvider: { 'default': function _default() {
  46. return _configConsumerProps.ConfigConsumerProps;
  47. } }
  48. },
  49. methods: {
  50. characterRender: function characterRender(node, _ref) {
  51. var index = _ref.index;
  52. var h = this.$createElement;
  53. var tooltips = this.$props.tooltips;
  54. if (!tooltips) return node;
  55. return h(
  56. _tooltip2['default'],
  57. {
  58. attrs: { title: tooltips[index] }
  59. },
  60. [node]
  61. );
  62. },
  63. focus: function focus() {
  64. this.$refs.refRate.focus();
  65. },
  66. blur: function blur() {
  67. this.$refs.refRate.blur();
  68. }
  69. },
  70. render: function render() {
  71. var h = arguments[0];
  72. var _getOptionProps = (0, _propsUtil.getOptionProps)(this),
  73. customizePrefixCls = _getOptionProps.prefixCls,
  74. restProps = (0, _objectWithoutProperties3['default'])(_getOptionProps, ['prefixCls']);
  75. var getPrefixCls = this.configProvider.getPrefixCls;
  76. var prefixCls = getPrefixCls('rate', customizePrefixCls);
  77. var character = (0, _propsUtil.getComponentFromProp)(this, 'character') || h(_icon2['default'], {
  78. attrs: { type: 'star', theme: 'filled' }
  79. });
  80. var rateProps = {
  81. props: (0, _extends3['default'])({
  82. character: character,
  83. characterRender: this.characterRender,
  84. prefixCls: prefixCls
  85. }, (0, _omit2['default'])(restProps, ['tooltips'])),
  86. on: (0, _propsUtil.getListeners)(this),
  87. ref: 'refRate'
  88. };
  89. return h(_vcRate2['default'], rateProps);
  90. }
  91. };
  92. /* istanbul ignore next */
  93. Rate.install = function (Vue) {
  94. Vue.use(_base2['default']);
  95. Vue.component(Rate.name, Rate);
  96. };
  97. exports['default'] = Rate;