index.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.EmptyProps = exports.TransferLocale = undefined;
  6. var _babelHelperVueJsxMergeProps = require('babel-helper-vue-jsx-merge-props');
  7. var _babelHelperVueJsxMergeProps2 = _interopRequireDefault(_babelHelperVueJsxMergeProps);
  8. var _typeof2 = require('babel-runtime/helpers/typeof');
  9. var _typeof3 = _interopRequireDefault(_typeof2);
  10. var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
  11. var _defineProperty3 = _interopRequireDefault(_defineProperty2);
  12. var _extends2 = require('babel-runtime/helpers/extends');
  13. var _extends3 = _interopRequireDefault(_extends2);
  14. var _vueTypes = require('../_util/vue-types');
  15. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  16. var _configConsumerProps = require('../config-provider/configConsumerProps');
  17. var _propsUtil = require('../_util/props-util');
  18. var _LocaleReceiver = require('../locale-provider/LocaleReceiver');
  19. var _LocaleReceiver2 = _interopRequireDefault(_LocaleReceiver);
  20. var _empty = require('./empty');
  21. var _empty2 = _interopRequireDefault(_empty);
  22. var _simple = require('./simple');
  23. var _simple2 = _interopRequireDefault(_simple);
  24. var _base = require('../base');
  25. var _base2 = _interopRequireDefault(_base);
  26. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  27. var TransferLocale = exports.TransferLocale = function TransferLocale() {
  28. return {
  29. description: _vueTypes2['default'].string
  30. };
  31. };
  32. var EmptyProps = exports.EmptyProps = function EmptyProps() {
  33. return {
  34. prefixCls: _vueTypes2['default'].string,
  35. image: _vueTypes2['default'].any,
  36. description: _vueTypes2['default'].any,
  37. imageStyle: _vueTypes2['default'].object
  38. };
  39. };
  40. var Empty = {
  41. name: 'AEmpty',
  42. props: (0, _extends3['default'])({}, EmptyProps()),
  43. inject: {
  44. configProvider: { 'default': function _default() {
  45. return _configConsumerProps.ConfigConsumerProps;
  46. } }
  47. },
  48. methods: {
  49. renderEmpty: function renderEmpty(contentLocale) {
  50. var h = this.$createElement;
  51. var _$props = this.$props,
  52. customizePrefixCls = _$props.prefixCls,
  53. imageStyle = _$props.imageStyle;
  54. var getPrefixCls = this.configProvider.getPrefixCls;
  55. var prefixCls = getPrefixCls('empty', customizePrefixCls);
  56. var image = (0, _propsUtil.getComponentFromProp)(this, 'image') || h(_empty2['default']);
  57. var description = (0, _propsUtil.getComponentFromProp)(this, 'description');
  58. var des = typeof description !== 'undefined' ? description : contentLocale.description;
  59. var alt = typeof des === 'string' ? des : 'empty';
  60. var cls = (0, _defineProperty3['default'])({}, prefixCls, true);
  61. var imageNode = null;
  62. if (typeof image === 'string') {
  63. imageNode = h('img', {
  64. attrs: { alt: alt, src: image }
  65. });
  66. } else if ((typeof image === 'undefined' ? 'undefined' : (0, _typeof3['default'])(image)) === 'object' && image.PRESENTED_IMAGE_SIMPLE) {
  67. var Image = image;
  68. imageNode = h(Image);
  69. cls[prefixCls + '-normal'] = true;
  70. } else {
  71. imageNode = image;
  72. }
  73. return h(
  74. 'div',
  75. (0, _babelHelperVueJsxMergeProps2['default'])([{ 'class': cls }, { on: (0, _propsUtil.getListeners)(this) }]),
  76. [h(
  77. 'div',
  78. { 'class': prefixCls + '-image', style: imageStyle },
  79. [imageNode]
  80. ), des && h(
  81. 'p',
  82. { 'class': prefixCls + '-description' },
  83. [des]
  84. ), this.$slots['default'] && h(
  85. 'div',
  86. { 'class': prefixCls + '-footer' },
  87. [this.$slots['default']]
  88. )]
  89. );
  90. }
  91. },
  92. render: function render() {
  93. var h = arguments[0];
  94. return h(_LocaleReceiver2['default'], {
  95. attrs: { componentName: 'Empty' },
  96. scopedSlots: { 'default': this.renderEmpty } });
  97. }
  98. };
  99. Empty.PRESENTED_IMAGE_DEFAULT = _empty2['default'];
  100. Empty.PRESENTED_IMAGE_SIMPLE = _simple2['default'];
  101. /* istanbul ignore next */
  102. Empty.install = function (Vue) {
  103. Vue.use(_base2['default']);
  104. Vue.component(Empty.name, Empty);
  105. };
  106. exports['default'] = Empty;