Paragraph.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.SkeletonParagraphProps = undefined;
  6. var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
  7. var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
  8. var _vueTypes = require('../_util/vue-types');
  9. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  10. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  11. var widthUnit = _vueTypes2['default'].oneOfType([_vueTypes2['default'].number, _vueTypes2['default'].string]);
  12. var skeletonParagraphProps = {
  13. prefixCls: _vueTypes2['default'].string,
  14. width: _vueTypes2['default'].oneOfType([widthUnit, _vueTypes2['default'].arrayOf(widthUnit)]),
  15. rows: _vueTypes2['default'].number
  16. };
  17. var SkeletonParagraphProps = exports.SkeletonParagraphProps = _vueTypes2['default'].shape(skeletonParagraphProps);
  18. var Paragraph = {
  19. props: skeletonParagraphProps,
  20. methods: {
  21. getWidth: function getWidth(index) {
  22. var width = this.width,
  23. _rows = this.rows,
  24. rows = _rows === undefined ? 2 : _rows;
  25. if (Array.isArray(width)) {
  26. return width[index];
  27. }
  28. // last paragraph
  29. if (rows - 1 === index) {
  30. return width;
  31. }
  32. return undefined;
  33. }
  34. },
  35. render: function render() {
  36. var _this = this;
  37. var h = arguments[0];
  38. var _$props = this.$props,
  39. prefixCls = _$props.prefixCls,
  40. rows = _$props.rows;
  41. var rowList = [].concat((0, _toConsumableArray3['default'])(Array(rows))).map(function (_, index) {
  42. var width = _this.getWidth(index);
  43. return h('li', { key: index, style: { width: typeof width === 'number' ? width + 'px' : width } });
  44. });
  45. return h(
  46. 'ul',
  47. { 'class': prefixCls },
  48. [rowList]
  49. );
  50. }
  51. };
  52. exports['default'] = Paragraph;