carousel-item.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _comp = require("../../ui/src/comp");
  7. var _xeUtils = _interopRequireDefault(require("xe-utils"));
  8. var _ui = require("../../ui");
  9. var _util = require("./util");
  10. function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
  11. var _default = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
  12. name: 'VxeCarouselItem',
  13. mixins: [_ui.globalMixins.sizeMixin],
  14. props: {
  15. name: [String, Number],
  16. className: String,
  17. url: String
  18. },
  19. inject: {
  20. $xeCarousel: {
  21. default: null
  22. }
  23. },
  24. data: function data() {
  25. var xID = _xeUtils.default.uniqueId();
  26. var reactData = {
  27. currentDate: null
  28. };
  29. var itemConfig = {
  30. id: xID,
  31. name: '',
  32. url: '',
  33. className: '',
  34. slots: {}
  35. };
  36. return {
  37. xID: xID,
  38. reactData: reactData,
  39. itemConfig: itemConfig
  40. };
  41. },
  42. computed: Object.assign({}, {}),
  43. methods: {
  44. //
  45. // Method
  46. //
  47. dispatchEvent: function dispatchEvent(type, params, evnt) {
  48. var $xeCarouselItem = this;
  49. $xeCarouselItem.$emit(type, (0, _ui.createEvent)(evnt, {
  50. $carouselItem: $xeCarouselItem
  51. }, params));
  52. },
  53. //
  54. // Render
  55. //
  56. renderVN: function renderVN(h) {
  57. return h('div', {
  58. ref: 'refElem'
  59. });
  60. }
  61. },
  62. watch: {
  63. name: function name(val) {
  64. var $xeCarouselItem = this;
  65. var itemConfig = $xeCarouselItem.itemConfig;
  66. itemConfig.name = val;
  67. },
  68. url: function url(val) {
  69. var $xeCarouselItem = this;
  70. var itemConfig = $xeCarouselItem.itemConfig;
  71. itemConfig.url = val;
  72. }
  73. },
  74. created: function created() {
  75. var $xeCarouselItem = this;
  76. var props = $xeCarouselItem;
  77. var slots = $xeCarouselItem.$scopedSlots;
  78. var itemConfig = $xeCarouselItem.itemConfig;
  79. Object.assign(itemConfig, {
  80. name: props.name,
  81. url: props.url,
  82. className: props.className,
  83. slots: slots
  84. });
  85. },
  86. mounted: function mounted() {
  87. var $xeCarouselItem = this;
  88. var slots = $xeCarouselItem.$scopedSlots;
  89. var itemConfig = $xeCarouselItem.itemConfig;
  90. var $xeCarousel = $xeCarouselItem.$xeCarousel;
  91. itemConfig.slots = slots;
  92. var elem = $xeCarouselItem.$refs.refElem;
  93. if ($xeCarousel && elem) {
  94. (0, _util.assembleCarouselItem)($xeCarousel, elem, itemConfig);
  95. }
  96. },
  97. beforeDestroy: function beforeDestroy() {
  98. var $xeCarouselItem = this;
  99. var itemConfig = $xeCarouselItem.itemConfig;
  100. var $xeCarousel = $xeCarouselItem.$xeCarousel;
  101. if ($xeCarousel) {
  102. (0, _util.destroyCarouselItem)($xeCarousel, itemConfig);
  103. }
  104. },
  105. render: function render(h) {
  106. return this.renderVN(h);
  107. }
  108. });
  109. /* define-vxe-component end */