TimelineItem.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.TimeLineItemProps = undefined;
  6. var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
  7. var _defineProperty3 = _interopRequireDefault(_defineProperty2);
  8. var _classnames = require('classnames');
  9. var _classnames2 = _interopRequireDefault(_classnames);
  10. var _vueTypes = require('../_util/vue-types');
  11. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  12. var _propsUtil = require('../_util/props-util');
  13. var _configConsumerProps = require('../config-provider/configConsumerProps');
  14. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  15. var TimeLineItemProps = exports.TimeLineItemProps = {
  16. prefixCls: _vueTypes2['default'].string,
  17. color: _vueTypes2['default'].string,
  18. dot: _vueTypes2['default'].any,
  19. pending: _vueTypes2['default'].bool,
  20. position: _vueTypes2['default'].oneOf(['left', 'right', '']).def('')
  21. };
  22. exports['default'] = {
  23. name: 'ATimelineItem',
  24. props: (0, _propsUtil.initDefaultProps)(TimeLineItemProps, {
  25. color: 'blue',
  26. pending: false
  27. }),
  28. inject: {
  29. configProvider: { 'default': function _default() {
  30. return _configConsumerProps.ConfigConsumerProps;
  31. } }
  32. },
  33. render: function render() {
  34. var _classNames, _classNames2;
  35. var h = arguments[0];
  36. var _getOptionProps = (0, _propsUtil.getOptionProps)(this),
  37. customizePrefixCls = _getOptionProps.prefixCls,
  38. _getOptionProps$color = _getOptionProps.color,
  39. color = _getOptionProps$color === undefined ? '' : _getOptionProps$color,
  40. pending = _getOptionProps.pending;
  41. var getPrefixCls = this.configProvider.getPrefixCls;
  42. var prefixCls = getPrefixCls('timeline', customizePrefixCls);
  43. var dot = (0, _propsUtil.getComponentFromProp)(this, 'dot');
  44. var itemClassName = (0, _classnames2['default'])((_classNames = {}, (0, _defineProperty3['default'])(_classNames, prefixCls + '-item', true), (0, _defineProperty3['default'])(_classNames, prefixCls + '-item-pending', pending), _classNames));
  45. var dotClassName = (0, _classnames2['default'])((_classNames2 = {}, (0, _defineProperty3['default'])(_classNames2, prefixCls + '-item-head', true), (0, _defineProperty3['default'])(_classNames2, prefixCls + '-item-head-custom', dot), (0, _defineProperty3['default'])(_classNames2, prefixCls + '-item-head-' + color, true), _classNames2));
  46. var liProps = {
  47. 'class': itemClassName,
  48. on: (0, _propsUtil.getListeners)(this)
  49. };
  50. return h(
  51. 'li',
  52. liProps,
  53. [h('div', { 'class': prefixCls + '-item-tail' }), h(
  54. 'div',
  55. {
  56. 'class': dotClassName,
  57. style: { borderColor: /blue|red|green|gray/.test(color) ? undefined : color }
  58. },
  59. [dot]
  60. ), h(
  61. 'div',
  62. { 'class': prefixCls + '-item-content' },
  63. [this.$slots['default']]
  64. )]
  65. );
  66. }
  67. };