{"version":3,"sources":["webpack:///./resources/js/src/app/components/item/ItemImageCarousel.vue?55b3","webpack:///./resources/js/src/app/components/item/ItemImageCarousel.vue?a015","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","href","url","_uid","alt","getAltText","title","getImageName","_v","showThumbs","id","carouselImages","imagePreview","index","on","click","$event","goTo","class","active","currentItem","_e","initialized","src","_withStripped","component","options","__file"],"mappings":"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","file":"chunks/ceres-35.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: \"http://schema.org/Thing\" } },\n [\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) {\n return _c(\"div\", { 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(\"img\", {\n staticClass: \"owl-lazy\",\n attrs: {\n \"data-src\": image.url,\n alt: _vm.getAltText(image),\n title: _vm.getImageName(image)\n }\n })\n ]\n )\n ])\n }),\n 0\n ),\n _vm._v(\" \"),\n _vm.showThumbs\n ? _c(\n \"div\",\n {\n ref: \"thumbs\",\n staticClass:\n \"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\", { 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 \"picture-class\": \"owl-thumb border-appearance\",\n \"image-url\": imagePreview.url,\n alt: _vm.getAltText(imagePreview),\n title: _vm.getImageName(imagePreview)\n }\n })\n ],\n 1\n )\n ])\n }),\n 0\n )\n : _vm._e()\n ],\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(\"div\", { staticClass: \"prop-1-1\" }, [\n _c(\"img\", {\n staticClass: \"owl-placeholder\",\n attrs: {\n src: _vm.singleImages[0].url,\n alt: _vm.getAltText(_vm.singleImages[0].url),\n title: _vm.getImageName(_vm.singleImages[0].url)\n }\n })\n ])\n ]\n )\n : _vm._e()\n ],\n 2\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=\"http://schema.org/Thing\">\n <template>\n <div class=\"single-carousel owl-carousel owl-theme owl-single-item mt-0\" ref=\"single\">\n <div v-for=\"image in singleImages\" class=\"prop-1-1\">\n <a :href=\"image.url\" :data-lightbox=\"'single-item-image' + _uid\">\n <img class=\"owl-lazy\" :data-src=\"image.url\" :alt=\"getAltText(image)\" :title=\"getImageName(image)\">\n </a>\n </div>\n </div>\n <div v-if=\"showThumbs\" id=\"thumb-carousel\" class=\"owl-thumbs owl-carousel owl-theme owl-single-item\" ref=\"thumbs\">\n <div class=\"prop-1-1\" v-for=\"(imagePreview, index) in carouselImages\">\n <div class=\"image-container\" @click=\"goTo(index)\">\n <lazy-img\n picture-class=\"owl-thumb border-appearance\"\n v-bind:class=\"{ 'active': currentItem === index}\"\n :image-url=\"imagePreview.url\"\n :alt=\"getAltText(imagePreview)\"\n :title=\"getImageName(imagePreview)\">\n </lazy-img>\n </div>\n </div>\n </div>\n </template>\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 <img\n class=\"owl-placeholder\"\n :src=\"singleImages[0].url\"\n :alt=\"getAltText(singleImages[0].url)\"\n :title=\"getImageName(singleImages[0].url)\"\n >\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 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":""}