1/******/ (function(modules) { // webpackBootstrap 2/******/ // The module cache 3/******/ var installedModules = {}; 4/******/ 5/******/ // The require function 6/******/ function __webpack_require__(moduleId) { 7/******/ 8/******/ // Check if module is in cache 9/******/ if(installedModules[moduleId]) 10/******/ return installedModules[moduleId].exports; 11/******/ 12/******/ // Create a new module (and put it into the cache) 13/******/ var module = installedModules[moduleId] = { 14/******/ exports: {}, 15/******/ id: moduleId, 16/******/ loaded: false 17/******/ }; 18/******/ 19/******/ // Execute the module function 20/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 21/******/ 22/******/ // Flag the module as loaded 23/******/ module.loaded = true; 24/******/ 25/******/ // Return the exports of the module 26/******/ return module.exports; 27/******/ } 28/******/ 29/******/ 30/******/ // expose the modules object (__webpack_modules__) 31/******/ __webpack_require__.m = modules; 32/******/ 33/******/ // expose the module cache 34/******/ __webpack_require__.c = installedModules; 35/******/ 36/******/ // __webpack_public_path__ 37/******/ __webpack_require__.p = ""; 38/******/ 39/******/ // Load entry module and return exports 40/******/ return __webpack_require__(0); 41/******/ }) 42/************************************************************************/ 43/******/ ([ 44/* 0 */ 45/***/ (function(module, exports, __webpack_require__) { 46 47 'use strict'; 48 49 __webpack_require__(7); 50 51 __webpack_require__(9); 52 53/***/ }), 54/* 1 */, 55/* 2 */, 56/* 3 */, 57/* 4 */, 58/* 5 */, 59/* 6 */, 60/* 7 */ 61/***/ (function(module, exports, __webpack_require__) { 62 63 'use strict'; 64 65 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 66 67 var _libThreesixtyThreesixtyMin = __webpack_require__(8); 68 69 var _libThreesixtyThreesixtyMin2 = _interopRequireDefault(_libThreesixtyThreesixtyMin); 70 71 $(document).ready(function () { 72 var threesixty; 73 var videoIframes = undefined, 74 $videoIframesWrapper = undefined, 75 $videoModal = $('#iqit-iqitvideos-modal'), 76 $threesixtyModal = $('#iqit-threesixty-modal'); 77 78 $threesixtyModal.on('shown.bs.modal', function () { 79 80 var speed = 70; 81 if (typeof iqitextendedproduct.speed !== 'undefined') { 82 speed = iqitextendedproduct.speed; 83 } 84 85 if (typeof threesixty !== 'undefined') { 86 threesixty.autoplayStart(); 87 } else { 88 threesixty = new _libThreesixtyThreesixtyMin2['default']({ 89 element: '#iqit-threesixty', 90 images: $('#iqit-threesixty').data('threesixty'), 91 autoplay: true, 92 autoplaySpeed: speed, 93 stopAutoplayOnClick: true, 94 stopAutoplayOnMouseenter: true, 95 resumeAutoplayOnMouseleave: true, 96 resumeAutoplayDelay: 500 97 }); 98 threesixty.load(); 99 } 100 }); 101 102 $threesixtyModal.on('hidden.bs.modal', function () { 103 threesixty.autoplayStop(); 104 }); 105 106 $videoModal.on('shown.bs.modal', function () { 107 $videoIframesWrapper = $('#iqitvideos-block'); 108 videoIframes = $videoIframesWrapper.html(); 109 }); 110 111 $videoModal.on('hidden.bs.modal', function () { 112 $videoIframesWrapper.html(videoIframes); 113 }); 114 }); 115 116/***/ }), 117/* 8 */ 118/***/ (function(module, exports) { 119 120 /* 121 Tridi v1.2.0 - JavaScript 360 3D Product Viewer 122 Author: Lukasz Wojcik 123 License: MIT 124 Homepage: https://tridi.lukem.net 125 GitHub: http://github.com/lukemnet/tridi 126 */ 127 "use strict"; 128 129 var Tridi = (function () { 130 function t(t) { 131 var i = this;this.trigger = function (t) { 132 var e = i[t];e && e(); 133 }, this.validate = function (t) { 134 t.element || console.error("'element' property is missing or invalid. Container element must be specified."), void 0 === t.images && void 0 === t.format && console.error("'format' property is missing or invalid. Image format must be provided for 'numbered' property."), "numbered" !== t.images || t.location || console.error("'location' property is missing or invalid. Image location must be provided for 'numbered' property."); 135 }, this.validate(t), this.element = t.element, this.images = t.images || "numbered", this.format = t.format || void 0, this.location = t.location || "./images", this.count = Array.isArray(this.images) ? this.images.length : t.count, this.draggable = void 0 === t.draggable || t.draggable, this.keys = t.keys || !1, this.hintOnStartup = t.hintOnStartup || !1, this.hintText = t.hintText || null, this.focusOnHintClose = t.focusOnHintClose || !1, this.lazy = t.lazy || !1, this.autoplay = t.autoplay || !1, this.autoplaySpeed = void 0 !== t.autoplaySpeed ? t.autoplaySpeed : 50, this.stopAutoplayOnClick = t.stopAutoplayOnClick || !1, this.stopAutoplayOnMouseenter = t.stopAutoplayOnMouseenter || !1, this.resumeAutoplayOnMouseleave = t.resumeAutoplayOnMouseleave || !1, this.resumeAutoplayDelay = t.resumeAutoplayDelay || 0, this.passive = void 0 === t.passive || t.passive, this.spinner = t.spinner || !1, this.touch = void 0 === t.touch || t.touch, this.mousewheel = t.mousewheel || !1, this.inverse = t.inverse || !1, this.dragInterval = t.dragInterval || 1, this.touchDragInterval = t.touchDragInterval || 2, this.mouseleaveDetect = t.mouseleaveDetect || !1, this.onViewerGenerate = t.onViewerGenerate || void 0, this.onViewerImageGenerate = t.onViewerImageGenerate || void 0, this.onViewerImageUpdate = t.onViewerImageUpdate || void 0, this.onHintShow = t.onHintShow || void 0, this.onHintHide = t.onHintHide || void 0, this.onLoadingScreenShow = t.onLoadingScreenShow || void 0, this.onLoadingScreenHide = t.onLoadingScreenHide || void 0, this.onImagesPreload = t.onImagesPreload || void 0, this.onAutoplayStart = t.onAutoplayStart || void 0, this.onAutoplayStop = t.onAutoplayStop || void 0, this.onNextMove = t.onNextMove || void 0, this.onPrevMove = t.onPrevMove || void 0, this.onNextFrame = t.onNextFrame || void 0, this.onPrevFrame = t.onPrevFrame || void 0, this.onDragStart = t.onDragStart || void 0, this.onDragEnd = t.onDragEnd || void 0, this.onLoad = t.onLoad || void 0, this.onUpdate = t.onUpdate || void 0, this.elementName = this.setElementName(), this.imageIndex = 1, this.moveBuffer = [], this.dragActive = !1, this.intervals = [], this.timeouts = [], this.stashedImgs = 0; 136 }return t.prototype.setElementName = function () { 137 var t = this.element;return "string" == typeof t ? t.substr(1) : t.getAttribute("id") ? t.getAttribute("id") : t.getAttribute("class") ? t.getAttribute("class").split(" ")[0] : "unnamedTridi-" + (Math.floor(9e4 * Math.random()) + 1e4); 138 }, t.prototype.validateUpdate = function (t) { 139 return !!(t.images || t.format || t.count || t.location) || (console.error("UpdatableOptions object doesn't contain options that can be updated."), !1); 140 }, t.prototype.updateOptions = function (e) { 141 var i = this;Object.keys(e).map(function (t) { 142 i[t] = e[t], "images" === t && e[t].constructor === Array && (i.count = e.images.length); 143 }); 144 }, t.prototype.getElem = function (t) { 145 return "string" == typeof this.element ? t ? document.querySelector(this.element + " " + t) : document.querySelector(this.element) : this.element; 146 }, t.prototype.viewer = function () { 147 return this.getElem(); 148 }, t.prototype.stash = function () { 149 return this.getElem(".tridi-stash"); 150 }, t.prototype.getHintOverlay = function () { 151 return this.getElem(".tridi-hint-overlay"); 152 }, t.prototype.getLoadingScreen = function () { 153 return this.getElem(".tridi-loading"); 154 }, t.prototype.image = function (t) { 155 return this.imgs()[t - 1];
156 }, t.prototype.viewerImage = function () { 157 return this.getElem(".tridi-viewer-image"); 158 }, t.prototype.lazyLoad = function (t, e) { 159 this.lazy && !e ? (this.viewerImage().addEventListener("click", t), this.touch && this.viewerImage().addEventListener("touchstart", t, { passive: this.passive })) : t(); 160 }, t.prototype.imgs = function () { 161 var i = this;return "numbered" === this.images ? Array.apply(null, { length: this.count }).map(function (t, e) { 162 return i.location + "/" + (e + 1) + "." + i.format.toLowerCase(); 163 }) : this.images; 164 }, t.prototype.generateViewer = function () { 165 this.viewer().className += " tridi-viewer tridi-" + this.elementName + "-viewer tridi-draggable-" + this.draggable + " tridi-touch-" + this.touch + " tridi-mousewheel-" + this.mousewheel + " tridi-hintOnStartup-" + this.hintOnStartup + " tridi-lazy-" + this.lazy, this.trigger("onViewerGenerate"); 166 }, t.prototype.generateLoadingScreen = function () { 167 var t = document.createElement("div");t.className += "tridi-loading tridi-" + this.elementName + "-loading", t.style.display = "none";var e = document.createElement("div");e.className += "tridi-spinner tridi-" + this.elementName + "-spinner", t.appendChild(e), this.viewer().appendChild(t); 168 }, t.prototype.setLoadingState = function (t, e) { 169 this.getLoadingScreen().style.display = t ? "block" : "none", e || this.trigger(t ? "onLoadingScreenShow" : "onLoadingScreenHide"); 170 }, t.prototype.generateStash = function () { 171 if (!this.stash()) { 172 this.stashedImgs = 0;var t = document.createElement("div");t.style.display = "none", t.classList.add("tridi-stash"), this.viewer().appendChild(t); 173 } 174 }, t.prototype.destroyStash = function () { 175 this.stashedImgs = 0, this.stash().parentNode.removeChild(this.stash()); 176 }, t.prototype.displayHintOnStartup = function (n) { 177 var _this = this; 178 179 var o = this;if (this.hintOnStartup) { 180 var s, t; 181 var a, e; 182 183 (function () { 184 var i = function i(t) { 185 var e = t.target.classList.contains(s), 186 i = t.target.classList.contains(a);(e || i) && (o.getHintOverlay().style.display = "none", n(), o.focusOnHintClose && o.viewerImage().focus(), o.trigger("onHintHide")); 187 }; 188 189 s = "tridi-" + _this.elementName + "-hint-overlay"; 190 t = document.createElement("div"); 191 t.className += "tridi-hint-overlay " + s, t.tabIndex = 0;a = "tridi-" + _this.elementName + "-hint"; 192 e = document.createElement("div"); 193 e.className += "tridi-hint " + a, _this.hintText && (e.innerHTML = '<span class="tridi-hint-text tridi-' + _this.elementName + '-hint-text">' + _this.hintText + "</span>"), t.appendChild(e), _this.viewer().appendChild(t), _this.trigger("onHintShow");document.addEventListener("click", i), _this.touch && document.addEventListener("touchstart", i), document.addEventListener("keydown", function (t) { 194 "Enter" === t.key && i(t); 195 }); 196 })(); 197 } else n(); 198 }, t.prototype.stashImage = function (t, e, i, n) { 199 var o = new Image();o.onload = n.bind(this), o.className += "tridi-image tridi-image-" + (i + 1), o.src = e, t.innerHTML += o.outerHTML; 200 }, t.prototype.populateStash = function () { 201 var i = this, 202 n = this.stash(), 203 o = this.imgs();n && o && o.map(function (t, e) { 204 i.stashImage(n, t, e, function () { 205 i.stashedImgs += 1, i.stashedImgs === o.length && (i.setLoadingState(!1, !0), i.trigger("onImagesPreload")); 206 }); 207 }); 208 }, t.prototype.generateViewerImage = function () { 209 var t = this, 210 e = this.viewer(), 211 i = new Image();i.onload = function () { 212 return t.trigger("onViewerImageGenerate"); 213 }, i.className += "tridi-viewer-image tridi-" + this.elementName + "-viewer-image", i.setAttribute("draggable", "false"), i.setAttribute("alt", ""), i.src = this.image(1), e.innerHTML = "" + i.outerHTML + e.innerHTML; 214 }, t.prototype.updateViewerImage = function (t) { 215 var e = this;this.viewerImage().onload = function () { 216 return e.trigger("onViewerImageUpdate"); 217 }, this.viewerImage().src = this.image(t); 218 }, t.prototype.nextFrame = function () { 219 this.imageIndex = this.imageIndex <= 1 ? this.count : this.imageIndex - 1, this.viewerImage().src = this.image(this.imageIndex), this.trigger("onNextFrame"); 220 }, t.prototype.prevFrame = function () { 221 this.imageIndex = this.imageIndex >= this.count ? 1 : this.imageIndex + 1, this.viewerImage().src = this.image(this.imageIndex), this.trigger("onPrevFrame"); 222 }, t.prototype.nextMove = function () { 223 return this.trigger("onNextMove"), this.inverse ? this.prevFrame() : this.nextFrame(); 224 }, t.prototype.prevMove = function () { 225 return this.trigger("onPrevMove"), this.inverse ? this.nextFrame() : this.prevFrame(); 226 }, t.prototype.rotateViewerImage = function (t) { 227 var e = t.touches ? this.touchDragInterval : this.dragInterval, 228 i = (t.touches ? t.touches[0].clientX : t.clientX) - this.viewerImage().offsetLeft;if (this.moveBuffer.length < 2) this.moveBuffer.push(i);else { 229 var n = this.moveBuffer[1];this.moveBuffer[1] = i, this.moveBuffer[0] = n; 230 }var o = !(i % e), 231 s = this.moveBuffer[0], 232 a = this.moveBuffer[1];o && a < s ? this.nextMove() : o && s < a && this.prevMove(); 233 }, t.prototype.startDragging = function () { 234 this.dragActive = !0, this.viewer().classList.add("tridi-dragging"), this.trigger("onDragStart"); 235 }, t.prototype.stopDragging = function () { 236 this.dragActive = !1, this.viewer().classList.remove("tridi-dragging"), this.trigger("onDragEnd"); 237 }, t.prototype.resetMoveBuffer = function () { 238 this.moveBuffer.length = 0; 239 }, t.prototype.attachCosmeticEvents = function () { 240 var t = this.viewer();t.addEventListener("mouseenter", function () { 241 return t.classList.add("tridi-viewer-hovered"); 242 }), t.addEventListener("mouseleave", function () { 243 return t.classList.remove("tridi-viewer-hovered"); 244 }); 245 }, t.prototype.attachDragEvents = function () { 246 var e = this;if (this.draggable) { 247 var t = this.viewerImage();t.addEventListener("mousedown", function (t) { 248 t.preventDefault && t.preventDefault(), e.startDragging(), e.rotateViewerImage(t); 249 }), t.addEventListener("mouseup", function (t) { 250 t.preventDefault && t.preventDefault(), e.stopDragging(), e.resetMoveBuffer(); 251 }), t.addEventListener("mousemove", function (t) { 252 e.dragActive && e.rotateViewerImage(t); 253 }), t.addEventListener("mouseleave", function () { 254 e.resetMoveBuffer(); 255 }); 256 } 257 }, t.prototype.attachMouseLeaveDetection = function () { 258 var t = this;this.mouseleaveDetect && this.viewer().addEventListener("mouseleave", function () { 259 t.stopDragging(), t.resetMoveBuffer(); 260 }); 261 }, t.prototype.attachTouchEvents = function () { 262 var e = this;if (this.touch) { 263 var t = this.viewerImage();t.addEventListener("touchstart", function (t) { 264 e.startDragging(), e.rotateViewerImage(t); 265 }, { passive: !0 }), t.addEventListener("touchmove", function (t) { 266 e.rotateViewerImage(t); 267 }, { passive: !0 }), t.addEventListener("touchend", function () { 268 e.stopDragging(), e.resetMoveBuffer(); 269 }); 270 } 271 }, t.prototype.attachMousewheelEvents = function () { 272 var e = this;this.mousewheel && this.viewerImage().addEventListener("wheel", function (t) { 273 t.preventDefault && !e.passive && t.preventDefault(), 0 < t.deltaY / 120 ? e.nextMove() : e.prevMove(); 274 }, { passive: this.passive }); 275 }, t.prototype.attachKeyEvents = function () { 276 var e = this;this.keys && (this.viewerImage().setAttribute("tabindex", "0"), this.viewerImage().addEventListener("keydown", function (t) { 277 "ArrowLeft" === t.key && e.prevMove(), "ArrowRight" === t.key && e.nextMove(); 278 })); 279 }, t.prototype.clearIntervals = function () { 280 this.intervals.map(clearInterval), this.intervals.length = 0; 281 }, t.prototype.setAutoplayInterval = function () { 282 var t = window.setInterval(this.nextMove.bind(this), this.autoplaySpeed);this.intervals.push(t); 283 }, t.prototype.clearTimeouts = function () { 284 this.timeouts.map(clearTimeout), this.timeouts.length = 0; 285 }, t.prototype.setAutoplayTimeout = function () { 286 var t = window.setTimeout(this.setAutoplayInterval.bind(this), this.resumeAutoplayDelay);this.timeouts.push(t); 287 }, t.prototype.toggleAutoplay = function (t, e) { 288 t ? (this.clearTimeouts(), 0 === this.intervals.length && (e ? this.setAutoplayInterval() : this.setAutoplayTimeout())) : this.clearIntervals(), this.trigger(t ? "onAutoplayStart" : "onAutoplayStop"); 289 }, t.prototype.stopAutoplaySequence = function () { 290 this.clearTimeouts(), this.toggleAutoplay(!1); 291 }, t.prototype.startAutoplay = function () { 292 var e = this;if (this.autoplay) { 293 var _t2 = function t(_t) { 294 _t.target.classList.contains("tridi-btn") || e.toggleAutoplay(!0); 295 }; 296 297 this.toggleAutoplay(!0, !0), this.stopAutoplayOnClick && (this.viewerImage().addEventListener("mousedown", this.stopAutoplaySequence.bind(this)), this.touch && this.viewerImage().addEventListener("touchstart", this.stopAutoplaySequence.bind(this), { passive: this.passive })), this.stopAutoplayOnMouseenter && this.viewerImage().addEventListener("mouseenter", this.stopAutoplaySequence.bind(this));if (this.resumeAutoplayOnMouseleave) { 298 var i = this.viewerImage();i.addEventListener("mouseleave", _t2), this.touch && i.addEventListener("touchend", _t2); 299 } 300 } 301 }, t.prototype.attachEvents = function () { 302 this.attachCosmeticEvents(), this.attachDragEvents(), this.attachMouseLeaveDetection(), this.attachTouchEvents(), this.attachMousewheelEvents(), this.attachKeyEvents(); 303 }, t.prototype.start = function () { 304 var t = this;this.generateViewer(), this.generateLoadingScreen(), this.setLoadingState(!0), this.generateViewerImage(), this.setLoadingState(!1), this.displayHintOnStartup(function () { 305 t.lazyLoad(function () { 306 t.setLoadingState(!0), t.generateStash(), t.populateStash(), t.attachEvents(), t.startAutoplay(), t.setLoadingState(!1); 307 }); 308 }), this.trigger("onLoad"); 309 }, t.prototype.next = function () { 310 this.nextMove(); 311 }, t.prototype.prev = function () { 312 this.prevMove(); 313 }, t.prototype.autoplayStart = function () { 314 this.toggleAutoplay(!0); 315 }, t.prototype.autoplayStop = function () { 316 this.toggleAutoplay(!1); 317 }, t.prototype.update = function (t, e) { 318 this.validateUpdate(t) && (this.setLoadingState(!0), this.updateOptions(t), this.destroyStash(), this.generateStash(), this.populateStash(), this.updateViewerImage(e ? this.imageIndex : 1), this.attachEvents(), this.setLoadingState(!1), this.trigger("onUpdate")); 319 }, t.prototype.load = function () { 320 this.start(); 321 }, t; 322 })();"undefined" != typeof module && (module.exports = Tridi); 323 324/***/ }), 325/* 9 */
326/***/ (function(module, exports) { 327 328 // removed by extract-text-webpack-plugin 329 330/***/ }) 331/******/ ]); 332//# sourceMappingURL=front.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.