{"version":3,"sources":["webpack:///./resources/js/src/app/components/item/ItemImageCarousel.vue?55b3","webpack:///./resources/js/src/app/components/item/ItemImageCarousel.vue?df97","webpack:///resources/js/src/app/components/item/ItemImageCarousel.vue","webpack:///./resources/js/src/app/components/item/ItemImageCarousel.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","itemscope","itemtype","ref","staticClass","_l","singleImages","image","index","key","href","url","_uid","alt","getAltText","title","getImageName","width","getImageWidth","height","getImageHeight","_v","showThumbs","id","carouselImages","imagePreview","on","click","$event","goTo","class","active","currentItem","_e","initialized","_withStripped","component","options","__file"],"mappings":"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","file":"chunks/ceres-client-36.min.js","sourcesContent":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { itemscope: \"\", itemtype: \"https://schema.org/Thing\" } },\n [\n _c(\n \"div\",\n {\n ref: \"single\",\n staticClass:\n \"single-carousel owl-carousel owl-theme owl-single-item mt-0\"\n },\n _vm._l(_vm.singleImages, function(image, index) {\n return _c(\"div\", { key: index, staticClass: \"prop-1-1\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: image.url,\n \"data-lightbox\": \"single-item-image\" + _vm._uid\n }\n },\n [\n _c(\"lazy-img\", {\n attrs: {\n alt: _vm.getAltText(image),\n \"image-url\": image.url,\n title: _vm.getImageName(image),\n width: _vm.getImageWidth(image),\n height: _vm.getImageHeight(image)\n }\n })\n ],\n 1\n )\n ])\n }),\n 0\n ),\n _vm._v(\" \"),\n _vm.showThumbs\n ? _c(\n \"div\",\n {\n ref: \"thumbs\",\n staticClass: \"owl-thumbs owl-carousel owl-theme owl-single-item\",\n attrs: { id: \"thumb-carousel\" }\n },\n _vm._l(_vm.carouselImages, function(imagePreview, index) {\n return _c(\"div\", { key: index, staticClass: \"prop-1-1\" }, [\n _c(\n \"div\",\n {\n staticClass: \"image-container\",\n on: {\n click: function($event) {\n return _vm.goTo(index)\n }\n }\n },\n [\n _c(\"lazy-img\", {\n class: { active: _vm.currentItem === index },\n attrs: {\n alt: _vm.getAltText(imagePreview),\n \"image-url\": imagePreview.url,\n title: _vm.getImageName(imagePreview),\n width: _vm.getImageWidth(imagePreview),\n height: _vm.getImageHeight(imagePreview),\n \"picture-class\": \"owl-thumb border-appearance\"\n }\n })\n ],\n 1\n )\n ])\n }),\n 0\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.initialized\n ? _c(\n \"div\",\n {\n staticClass:\n \"single-carousel owl-carousel owl-loaded owl-theme owl-single-item mt-0\"\n },\n [\n _c(\n \"div\",\n { staticClass: \"prop-1-1\" },\n [\n _c(\"lazy-img\", {\n attrs: {\n alt: _vm.getAltText(_vm.singleImages[0].url),\n \"image-url\": _vm.singleImages[0].url,\n title: _vm.getImageName(_vm.singleImages[0].url),\n width: _vm.getImageWidth(_vm.singleImages[0]),\n height: _vm.getImageHeight(_vm.singleImages[0]),\n \"picture-class\": \"owl-placeholder\"\n }\n })\n ],\n 1\n )\n ]\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemImageCarousel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemImageCarousel.vue?vue&type=script&lang=js&\"","<template>\n <div itemscope itemtype=\"https://schema.org/Thing\">\n <div ref=\"single\" class=\"single-carousel owl-carousel owl-theme owl-single-item mt-0\">\n <div v-for=\"(image, index) in singleImages\" :key=\"index\" class=\"prop-1-1\">\n <a :href=\"image.url\" :data-lightbox=\"`single-item-image${_uid}`\">\n <lazy-img :alt=\"getAltText(image)\" :image-url=\"image.url\" :title=\"getImageName(image)\" :width=\"getImageWidth(image)\" :height=\"getImageHeight(image)\" />\n </a>\n </div>\n </div>\n\n <div v-if=\"showThumbs\" id=\"thumb-carousel\" ref=\"thumbs\" class=\"owl-thumbs owl-carousel owl-theme owl-single-item\">\n <div v-for=\"(imagePreview, index) in carouselImages\" :key=\"index\" class=\"prop-1-1\">\n <div @click=\"goTo(index)\" class=\"image-container\">\n <lazy-img\n :alt=\"getAltText(imagePreview)\"\n :image-url=\"imagePreview.url\"\n :title=\"getImageName(imagePreview)\"\n :width=\"getImageWidth(imagePreview)\"\n :height=\"getImageHeight(imagePreview)\"\n picture-class=\"owl-thumb border-appearance\"\n v-bind:class=\"{ 'active': currentItem === index}\" />\n </div>\n </div>\n </div>\n\n <div v-if=\"!initialized\" class=\"single-carousel owl-carousel owl-loaded owl-theme owl-single-item mt-0\">\n <div class=\"prop-1-1\">\n <lazy-img\n :alt=\"getAltText(singleImages[0].url)\"\n :image-url=\"singleImages[0].url\"\n :title=\"getImageName(singleImages[0].url)\"\n :width=\"getImageWidth(singleImages[0])\"\n :height=\"getImageHeight(singleImages[0])\"\n picture-class=\"owl-placeholder\" />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { isNullOrUndefined } from \"../../helper/utils\";\n\nexport default {\n name: \"item-image-carousel\",\n\n props: {\n maxQuantity:\n {\n type: Number,\n default: 10\n },\n imageUrlAccessor:\n {\n type: String,\n default: \"url\"\n },\n showThumbs:\n {\n type: Boolean,\n default: true\n },\n showDots:\n {\n type: Boolean,\n default: true\n },\n animationStyle:\n {\n type: String,\n default: \"standard\"\n },\n pluginPath:\n {\n type: String,\n default: \"\"\n }\n },\n\n inject: {\n itemId: {\n default: null\n }\n },\n\n data()\n {\n return {\n currentItem: 0,\n initialized: false,\n };\n },\n\n computed:\n {\n currentVariation()\n {\n return this.$store.getters[`${this.itemId}/currentItemVariation`]\n },\n\n carouselImages()\n {\n return this.$options.filters.itemImages(\n this.currentVariation.images,\n \"urlPreview\"\n ).slice(0, this.maxQuantity);\n },\n\n singleImages()\n {\n return this.$options.filters.itemImages(\n this.currentVariation.images,\n this.imageUrlAccessor\n ).slice(0, this.maxQuantity);\n }\n },\n\n watch: {\n currentVariation:\n {\n handler(val, oldVal)\n {\n if (val !== oldVal)\n {\n setTimeout(() =>\n {\n this.reInitialize();\n }, 1);\n }\n },\n deep: true\n }\n },\n\n mounted()\n {\n this.$nextTick(() =>\n {\n this.loadLightbox().then(() =>\n {\n this.initCarousel();\n this.initThumbCarousel();\n })\n .catch(event =>\n {\n console.log(\"error while loading lightbox\", event);\n });\n });\n },\n\n methods:\n {\n getImageCount()\n {\n return this.carouselImages.length > this.maxQuantity ? this.maxQuantity : this.carouselImages.length;\n },\n\n reInitialize()\n {\n const $owl = $(this.$refs.single);\n\n $owl.trigger(\"destroy.owl.carousel\");\n $owl.html($owl.find(\".owl-stage-outer\").html()).removeClass(\"owl-loaded\");\n $owl.find(\".owl-item\").remove();\n\n const $thumbs = $(this.$refs.thumbs);\n\n $thumbs.trigger(\"destroy.owl.carousel\");\n $thumbs.html($thumbs.find(\".owl-stage-outer\").html()).removeClass(\"owl-loaded\");\n $thumbs.find(\".owl-item\").remove();\n\n this.initCarousel();\n this.initThumbCarousel();\n },\n\n initCarousel()\n {\n const imageCount = this.getImageCount();\n const carouselSettings = {\n autoHeight : true,\n dots : this.showDots,\n items : 1,\n lazyLoad : true,\n rewind : true,\n margin : 10,\n mouseDrag : imageCount > 1,\n nav : imageCount > 1,\n navClass : [\n \"owl-single-item-nav left carousel-control\",\n \"owl-single-item-nav right carousel-control\"\n ],\n navContainerClass: \"\",\n navText : [\n \"<i class=\\\"owl-single-item-control fa fa-chevron-left\\\" aria-hidden=\\\"true\\\"></i>\",\n \"<i class=\\\"owl-single-item-control fa fa-chevron-right\\\" aria-hidden=\\\"true\\\"></i>\"\n ],\n smartSpeed : 350,\n onChanged: event =>\n {\n const $thumb = $(this.$refs.thumbs);\n\n $thumb.trigger(\"to.owl.carousel\", [\n event.page.index,\n 350\n ]);\n },\n onInitialized: event =>\n {\n this.initialized = true;\n }\n };\n\n if (this.animationStyle !== \"standard\")\n {\n carouselSettings.animateOut = this.animationStyle;\n }\n\n $(this.$refs.single).owlCarousel(carouselSettings);\n\n if (!isNullOrUndefined(window.lightbox))\n {\n lightbox.option({\n wrapAround: true,\n albumLabel: this.$translate(\"Ceres::Template.singleItemLightboxImageShown\")\n });\n }\n\n $(this.$refs.single).on(\"changed.owl.carousel\", event =>\n {\n this.currentItem = event.page.index;\n });\n },\n\n initThumbCarousel()\n {\n $(this.$refs.thumbs).owlCarousel({\n autoHeight : true,\n dots : false,\n items : 5,\n lazyLoad : true,\n loop : false,\n margin : 10,\n mouseDrag : false,\n center : false,\n nav : true,\n navClass : [\n \"owl-single-item-nav left carousel-control\",\n \"owl-single-item-nav right carousel-control\"\n ],\n navContainerClass: \"\",\n navText : [\n \"<i class=\\\"owl-single-item-control fa fa-chevron-left\\\" aria-hidden=\\\"true\\\"></i>\",\n \"<i class=\\\"owl-single-item-control fa fa-chevron-right\\\" aria-hidden=\\\"true\\\"></i>\"\n ],\n smartSpeed : 350\n });\n },\n\n goTo(index)\n {\n const $owl = $(this.$refs.single);\n\n $owl.trigger(\"to.owl.carousel\", [\n index,\n 350\n ]);\n },\n\n getAltText(image)\n {\n return image && image.alternate ? image.alternate : this.$options.filters.itemName(this.currentVariation);\n },\n\n getImageName(image)\n {\n return image && image.name ? image.name : this.$options.filters.itemName(this.currentVariation);\n },\n\n getImageWidth(image)\n {\n return image && image.width ? image.width : this.$options.filters.itemImageWidth(this.carouselImages);\n },\n\n getImageHeight(image)\n {\n return image && image.height ? image.height : this.$options.filters.itemImageHeight(this.carouselImages);\n },\n\n loadLightbox()\n {\n return new Promise((resolve, reject) =>\n {\n const script = document.querySelector(\"script#lightboxscript\");\n\n if (!isNullOrUndefined(script))\n {\n resolve();\n }\n else\n {\n const script = document.createElement(\"script\");\n\n script.type = \"text/javascript\";\n script.id = \"lightboxscript\";\n script.src = `${ this.pluginPath }/js/dist/lightbox.min.js`;\n\n script.addEventListener(\"load\", () => resolve(), false);\n script.addEventListener(\"error\", event => reject(event), false);\n\n document.body.appendChild(script);\n }\n });\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./ItemImageCarousel.vue?vue&type=template&id=5285279e&\"\nimport script from \"./ItemImageCarousel.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemImageCarousel.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/runner/work/plugin-ceres/plugin-ceres/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('5285279e')) {\n api.createRecord('5285279e', component.options)\n } else {\n api.reload('5285279e', component.options)\n }\n module.hot.accept(\"./ItemImageCarousel.vue?vue&type=template&id=5285279e&\", function () {\n api.rerender('5285279e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"resources/js/src/app/components/item/ItemImageCarousel.vue\"\nexport default component.exports"],"sourceRoot":""}