diff --git a/sigal/themes/photoswipe/static/default-skin/default-skin.css b/sigal/themes/photoswipe/static/default-skin/default-skin.css index c961632..bc42eba 100644 --- a/sigal/themes/photoswipe/static/default-skin/default-skin.css +++ b/sigal/themes/photoswipe/static/default-skin/default-skin.css @@ -72,6 +72,9 @@ .pswp__button--share { background-position: -44px -44px; } +.pswp__button--download { + background-position: -176px 0; } + .pswp__button--fs { display: none; } @@ -92,8 +95,8 @@ background-position: -132px 0; } /* no arrows on touch screens */ -.pswp--touch .pswp__button--arrow--left, -.pswp--touch .pswp__button--arrow--right { +.pswp--touch:not(.pswp--preventswipe) .pswp__button--arrow--left, +.pswp--touch:not(.pswp--preventswipe) .pswp__button--arrow--right { visibility: hidden; } /* @@ -140,7 +143,6 @@ .pswp__counter, .pswp__share-modal { -webkit-user-select: none; - -moz-user-select: none; -ms-user-select: none; user-select: none; } @@ -153,7 +155,7 @@ left: 0; padding: 10px; position: absolute; - z-index: 1600; + z-index: 16777371; opacity: 0; -webkit-transition: opacity 0.25s ease-out; transition: opacity 0.25s ease-out; @@ -164,9 +166,9 @@ display: none; } .pswp__share-tooltip { - z-index: 1620; + z-index: 16777391; position: absolute; - background: #FFF; + background: #fff; top: 56px; border-radius: 2px; display: block; @@ -216,28 +218,28 @@ a.pswp__share--facebook:before { position: absolute; top: -12px; right: 15px; - border: 6px solid transparent; - border-bottom-color: #FFF; + border: 6px solid rgba(0, 0, 0, 0); + border-bottom-color: #fff; -webkit-pointer-events: none; -moz-pointer-events: none; pointer-events: none; } a.pswp__share--facebook:hover { - background: #3E5C9A; - color: #FFF; } + background: #3e5c9a; + color: #fff; } a.pswp__share--facebook:hover:before { - border-bottom-color: #3E5C9A; } + border-bottom-color: #3e5c9a; } a.pswp__share--twitter:hover { - background: #55ACEE; - color: #FFF; } + background: #55acee; + color: #fff; } a.pswp__share--pinterest:hover { - background: #CCC; - color: #CE272D; } + background: #ccc; + color: #ce272d; } a.pswp__share--download:hover { - background: #DDD; } + background: #ddd; } /* @@ -251,7 +253,7 @@ a.pswp__share--download:hover { height: 44px; font-size: 13px; line-height: 44px; - color: #FFF; + color: #fff; opacity: 0.75; padding: 0 10px; } @@ -268,16 +270,16 @@ a.pswp__share--download:hover { min-height: 44px; } .pswp__caption small { font-size: 11px; - color: #BBB; } + color: #bbb; } .pswp__caption__center { - text-align: left; + text-align: center; max-width: 420px; margin: 0 auto; font-size: 13px; padding: 10px; line-height: 20px; - color: #CCC; } + color: #ccc; } .pswp__caption--empty { display: none; } @@ -351,7 +353,7 @@ a.pswp__share--download:hover { box-sizing: border-box; width: 14px; height: 14px; - border: 2px solid #FFF; + border: 2px solid #fff; border-radius: 50%; border-left-color: transparent; border-bottom-color: transparent; @@ -417,7 +419,7 @@ a.pswp__share--download:hover { -webkit-font-smoothing: auto; visibility: visible; opacity: 1; - z-index: 1550; } + z-index: 16777321; } /* top black bar with buttons and "1 of X" indicator */ .pswp__top-bar { @@ -467,7 +469,8 @@ a.pswp__share--download:hover { .pswp__ui--hidden .pswp__button--arrow--left, .pswp__ui--hidden .pswp__button--arrow--right { /* Force paint & create composition layer for controls. */ - opacity: 0.001; } + opacity: 0.001; + visibility: hidden; } /* pswp__ui--one-slide class is added when there is just one item in gallery */ .pswp__ui--one-slide .pswp__button--arrow--left, @@ -479,4 +482,4 @@ a.pswp__share--download:hover { display: none !important; } .pswp--minimal--dark .pswp__top-bar { - background: none; } + background: none; } \ No newline at end of file diff --git a/sigal/themes/photoswipe/static/default-skin/default-skin.css.map b/sigal/themes/photoswipe/static/default-skin/default-skin.css.map new file mode 100644 index 0000000..4e30a8b --- /dev/null +++ b/sigal/themes/photoswipe/static/default-skin/default-skin.css.map @@ -0,0 +1,10 @@ +{ + "version": 3, + "file": "default-skin.css", + "sources": [ + "../../src/css/default-skin/default-skin.scss", + "../../src/css/_main-settings.scss" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/sigal/themes/photoswipe/static/default-skin/default-skin.png b/sigal/themes/photoswipe/static/default-skin/default-skin.png index 441c502..777ed34 100644 Binary files a/sigal/themes/photoswipe/static/default-skin/default-skin.png and b/sigal/themes/photoswipe/static/default-skin/default-skin.png differ diff --git a/sigal/themes/photoswipe/static/default-skin/default-skin.svg b/sigal/themes/photoswipe/static/default-skin/default-skin.svg index 9d5f0c6..a1ff7fc 100644 --- a/sigal/themes/photoswipe/static/default-skin/default-skin.svg +++ b/sigal/themes/photoswipe/static/default-skin/default-skin.svg @@ -1 +1,36 @@ -default-skin 2 \ No newline at end of file + + + + + +image/svg+xml + +default-skin 2 + + + +default-skin 2 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sigal/themes/photoswipe/static/photoswipe-ui-default.js b/sigal/themes/photoswipe/static/photoswipe-ui-default.js index f3733e1..62cb920 100644 --- a/sigal/themes/photoswipe/static/photoswipe-ui-default.js +++ b/sigal/themes/photoswipe/static/photoswipe-ui-default.js @@ -1,13 +1,16 @@ -/*! PhotoSwipe Default UI - 4.1.3 - 2019-01-08 -* http://photoswipe.com -* Copyright (c) 2019 Dmitry Semenov; */ +/*! + * PhotoSwipe Default UI - 4.4.0 - 2020-12-06 + * http://photoswipe.com + * Copyright (c) 2020 Dmitry Semenov; + */ + /** -* -* UI on top of main sliding area (caption, arrows, close button, etc.). -* Built just using public methods/properties of PhotoSwipe. -* -*/ -(function (root, factory) { + * + * UI on top of main sliding area (caption, arrows, close button, etc.). + * Built just using public methods/properties of PhotoSwipe. + * + */ +(function (root, factory) { if (typeof define === 'function' && define.amd) { define(factory); } else if (typeof exports === 'object') { @@ -16,846 +19,853 @@ root.PhotoSwipeUI_Default = factory(); } })(this, function () { - 'use strict'; + var PhotoSwipeUI_Default = function (pswp, framework) { + var ui = this; + var _overlayUIUpdated = false, + _controlsVisible = true, + _fullscrenAPI, + _stopAllAnimations, + _controls, + _captionContainer, + _fakeCaptionContainer, + _indexIndicator, + _prevButton, + _nextButton, + _shareButton, + _shareModal, + _shareModalHidden = true, + _downloadButton, + _initalCloseOnScrollValue, + _isIdle, + _listen, + _loadingIndicator, + _loadingIndicatorHidden, + _loadingIndicatorTimeout, + _galleryHasOneSlide, + _options, + _defaultUIOptions = { + barsSize: {top: 44, bottom: 'auto'}, + closeElClasses: ['item', 'caption', 'zoom-wrap', 'ui', 'top-bar'], + timeToIdle: 4000, + timeToIdleOutside: 1000, + loadingIndicatorDelay: 1000, // 2s + addCaptionHTMLFn: function (item, captionEl /*, isFake */) { + if (!item.title) { + framework.resetEl(captionEl.firstChild); + return false; + } + captionEl.children[0].innerHTML = item.title; + return true; + }, -var PhotoSwipeUI_Default = - function(pswp, framework) { + closeEl: true, + captionEl: true, + fullscreenEl: true, + zoomEl: true, + shareEl: true, + downloadEl: true, + counterEl: true, + arrowEl: true, + preloaderEl: true, + closeOnOutsideClick: true, - var ui = this; - var _overlayUIUpdated = false, - _controlsVisible = true, - _fullscrenAPI, - _controls, - _captionContainer, - _fakeCaptionContainer, - _indexIndicator, - _shareButton, - _shareModal, - _shareModalHidden = true, - _initalCloseOnScrollValue, - _isIdle, - _listen, + tapToClose: false, + tapToToggleControls: true, - _loadingIndicator, - _loadingIndicatorHidden, - _loadingIndicatorTimeout, + clickToCloseNonZoomable: true, + clickToShowNextNonZoomable: false, - _galleryHasOneSlide, + shareButtons: [ + {id: 'facebook', label: 'Share on Facebook', url: 'https://www.facebook.com/sharer/sharer.php?u={{url}}'}, + {id: 'twitter', label: 'Tweet', url: 'https://twitter.com/intent/tweet?text={{text}}&url={{url}}'}, + { + id: 'pinterest', + label: 'Pin it', + url: 'http://www.pinterest.com/pin/create/button/' + '?url={{url}}&media={{image_url}}&description={{text}}' + }, + {id: 'download', label: 'Download image', url: '{{raw_image_url}}', download: true} + ], + getImageURLForShare: function (/* shareButtonData */) { + return pswp.currItem.src || ''; + }, + getPageURLForShare: function (/* shareButtonData */) { + return window.location.href; + }, + getTextForShare: function (/* shareButtonData */) { + return pswp.currItem.title || ''; + }, - _options, - _defaultUIOptions = { - barsSize: {top:44, bottom:'auto'}, - closeElClasses: ['item', 'caption', 'zoom-wrap', 'ui', 'top-bar'], - timeToIdle: 4000, - timeToIdleOutside: 1000, - loadingIndicatorDelay: 1000, // 2s - - addCaptionHTMLFn: function(item, captionEl /*, isFake */) { - if(!item.title) { - captionEl.children[0].innerHTML = ''; + indexIndicatorSep: ' / ', + fitControlsWidth: 1200 + }, + _blockControlsTap, + _blockControlsTapTimeout; + + var _onControlsTap = function (e) { + if (_blockControlsTap) { + return true; + } + + e = e || window.event; + + if (_options.timeToIdle && _options.mouseUsed && !_isIdle) { + // reset idle timer + _onIdleMouseMove(); + } + + var target = e.target || e.srcElement, + uiElement, + clickedClass = target.getAttribute('class') || '', + found; + + for (var i = 0; i < _uiElements.length; i++) { + uiElement = _uiElements[i]; + if (uiElement.onTap && clickedClass.indexOf('pswp__' + uiElement.name) > -1) { + uiElement.onTap(); + found = true; + } + } + + if (found) { + if (e.stopPropagation) { + e.stopPropagation(); + } + _blockControlsTap = true; + + // Some versions of Android don't prevent ghost click event + // when preventDefault() was called on touchstart and/or touchend. + // + // This happens on v4.3, 4.2, 4.1, + // older versions strangely work correctly, + // but just in case we add delay on all of them) + var tapDelay = framework.features.isOldAndroid ? 600 : 30; + _blockControlsTapTimeout = setTimeout(function () { + _blockControlsTap = false; + }, tapDelay); + } + }, + _fitControlsInViewport = function () { + return !pswp.likelyTouchDevice || _options.mouseUsed || screen.width > _options.fitControlsWidth; + }, + _togglePswpClass = function (el, cName, add) { + framework[(add ? 'add' : 'remove') + 'Class'](el, 'pswp__' + cName); + }, + // add class when there is just one item in the gallery + // (by default it hides left/right arrows and 1ofX counter) + _countNumItems = function () { + var hasOneSlide = _options.getNumItemsFn() === 1; + + if (hasOneSlide !== _galleryHasOneSlide) { + _togglePswpClass(_controls, 'ui--one-slide', hasOneSlide); + _galleryHasOneSlide = hasOneSlide; + } + }, + _downloadFile = function () { + var link = document.createElement('A'); + link.setAttribute('href', pswp.currItem.downloadURL || pswp.currItem.src || ''); + link.setAttribute('target', '_blank'); + link.setAttribute('download', ''); + + _downloadButton.appendChild(link); + link.click(); + _downloadButton.removeChild(link); + }, + _toggleShareModalClass = function () { + _togglePswpClass(_shareModal, 'share-modal--hidden', _shareModalHidden); + }, + _toggleShareModal = function () { + _shareModalHidden = !_shareModalHidden; + + if (!_shareModalHidden) { + _toggleShareModalClass(); + setTimeout(function () { + if (!_shareModalHidden) { + framework.addClass(_shareModal, 'pswp__share-modal--fade-in'); + } + }, 30); + } else { + framework.removeClass(_shareModal, 'pswp__share-modal--fade-in'); + setTimeout(function () { + if (_shareModalHidden) { + _toggleShareModalClass(); + } + }, 300); + } + + if (!_shareModalHidden) { + _updateShareURLs(); + } + return false; + }, + _openWindowPopup = function (e) { + e = e || window.event; + var target = e.target || e.srcElement; + + pswp.shout('shareLinkClick', e, target); + + if (!target.href) { return false; } - captionEl.children[0].innerHTML = item.title; - return true; - }, - - closeEl:true, - captionEl: true, - fullscreenEl: true, - zoomEl: true, - shareEl: true, - counterEl: true, - arrowEl: true, - preloaderEl: true, - - tapToClose: false, - tapToToggleControls: true, - - clickToCloseNonZoomable: true, - - shareButtons: [ - {id:'facebook', label:'Share on Facebook', url:'https://www.facebook.com/sharer/sharer.php?u={{url}}'}, - {id:'twitter', label:'Tweet', url:'https://twitter.com/intent/tweet?text={{text}}&url={{url}}'}, - {id:'pinterest', label:'Pin it', url:'http://www.pinterest.com/pin/create/button/'+ - '?url={{url}}&media={{image_url}}&description={{text}}'}, - {id:'download', label:'Download image', url:'{{raw_image_url}}', download:true} - ], - getImageURLForShare: function( /* shareButtonData */ ) { - return pswp.currItem.src || ''; - }, - getPageURLForShare: function( /* shareButtonData */ ) { - return window.location.href; - }, - getTextForShare: function( /* shareButtonData */ ) { - return pswp.currItem.title || ''; - }, - - indexIndicatorSep: ' / ', - fitControlsWidth: 1200 - - }, - _blockControlsTap, - _blockControlsTapTimeout; - - - - var _onControlsTap = function(e) { - if(_blockControlsTap) { - return true; - } - - - e = e || window.event; - - if(_options.timeToIdle && _options.mouseUsed && !_isIdle) { - // reset idle timer - _onIdleMouseMove(); - } - - - var target = e.target || e.srcElement, - uiElement, - clickedClass = target.getAttribute('class') || '', - found; - - for(var i = 0; i < _uiElements.length; i++) { - uiElement = _uiElements[i]; - if(uiElement.onTap && clickedClass.indexOf('pswp__' + uiElement.name ) > -1 ) { - uiElement.onTap(); - found = true; + if (target.hasAttribute('download')) { + return true; } - } - if(found) { - if(e.stopPropagation) { - e.stopPropagation(); + window.open( + target.href, + 'pswp_share', + 'scrollbars=yes,resizable=yes,toolbar=no,' + + 'location=yes,width=550,height=420,top=100,left=' + + (window.screen ? Math.round(screen.width / 2 - 275) : 100) + ); + + if (!_shareModalHidden) { + _toggleShareModal(); } - _blockControlsTap = true; - // Some versions of Android don't prevent ghost click event - // when preventDefault() was called on touchstart and/or touchend. - // - // This happens on v4.3, 4.2, 4.1, - // older versions strangely work correctly, - // but just in case we add delay on all of them) - var tapDelay = framework.features.isOldAndroid ? 600 : 30; - _blockControlsTapTimeout = setTimeout(function() { - _blockControlsTap = false; - }, tapDelay); - } + return false; + }, + _updateShareURLs = function () { + var shareButtonOut = '', + shareButtonData, + shareURL, + image_url, + page_url, + share_text; - }, - _fitControlsInViewport = function() { - return !pswp.likelyTouchDevice || _options.mouseUsed || screen.width > _options.fitControlsWidth; - }, - _togglePswpClass = function(el, cName, add) { - framework[ (add ? 'add' : 'remove') + 'Class' ](el, 'pswp__' + cName); - }, + for (var i = 0; i < _options.shareButtons.length; i++) { + shareButtonData = _options.shareButtons[i]; - // add class when there is just one item in the gallery - // (by default it hides left/right arrows and 1ofX counter) - _countNumItems = function() { - var hasOneSlide = (_options.getNumItemsFn() === 1); + image_url = _options.getImageURLForShare(shareButtonData); + page_url = _options.getPageURLForShare(shareButtonData); + share_text = _options.getTextForShare(shareButtonData); - if(hasOneSlide !== _galleryHasOneSlide) { - _togglePswpClass(_controls, 'ui--one-slide', hasOneSlide); - _galleryHasOneSlide = hasOneSlide; - } - }, - _toggleShareModalClass = function() { - _togglePswpClass(_shareModal, 'share-modal--hidden', _shareModalHidden); - }, - _toggleShareModal = function() { + shareURL = shareButtonData.url + .replace('{{url}}', encodeURIComponent(page_url)) + .replace('{{image_url}}', encodeURIComponent(image_url)) + .replace('{{raw_image_url}}', image_url) + .replace('{{text}}', encodeURIComponent(share_text)); - _shareModalHidden = !_shareModalHidden; - - - if(!_shareModalHidden) { - _toggleShareModalClass(); - setTimeout(function() { - if(!_shareModalHidden) { - framework.addClass(_shareModal, 'pswp__share-modal--fade-in'); + shareButtonOut += + '' + + shareButtonData.label + + ''; + + if (_options.parseShareButtonOut) { + shareButtonOut = _options.parseShareButtonOut(shareButtonData, shareButtonOut); } - }, 30); + } + _shareModal.children[0].innerHTML = shareButtonOut; + _shareModal.children[0].onclick = _openWindowPopup; + }, + _hasCloseClass = function (target) { + for (var i = 0; i < _options.closeElClasses.length; i++) { + if (framework.hasClass(target, 'pswp__' + _options.closeElClasses[i])) { + return true; + } + } + }, + _idleInterval, + _idleTimer, + _idleIncrement = 0, + _onIdleMouseMove = function () { + clearTimeout(_idleTimer); + _idleIncrement = 0; + if (_isIdle) { + ui.setIdle(false); + } + }, + _onMouseLeaveWindow = function (e) { + e = e ? e : window.event; + var from = e.relatedTarget || e.toElement; + if (!from || from.nodeName === 'HTML') { + clearTimeout(_idleTimer); + _idleTimer = setTimeout(function () { + ui.setIdle(true); + }, _options.timeToIdleOutside); + } + }, + _setupFullscreenAPI = function () { + if (_options.fullscreenEl && !framework.features.isOldAndroid) { + if (!_fullscrenAPI) { + _fullscrenAPI = ui.getFullscreenAPI(); + } + if (_fullscrenAPI) { + framework.bind(document, _fullscrenAPI.eventK, ui.updateFullscreen); + ui.updateFullscreen(); + framework.addClass(pswp.template, 'pswp--supports-fs'); + } else { + framework.removeClass(pswp.template, 'pswp--supports-fs'); + } + } + }, + _setupLoadingIndicator = function () { + // Setup loading indicator + if (_options.preloaderEl) { + _toggleLoadingIndicator(true); + + _listen('beforeChange', function () { + clearTimeout(_loadingIndicatorTimeout); + + // display loading indicator with delay + _loadingIndicatorTimeout = setTimeout(function () { + if (pswp.currItem && pswp.currItem.loading) { + if (!pswp.allowProgressiveImg() || (pswp.currItem.img && !pswp.currItem.img.naturalWidth)) { + // show preloader if progressive loading is not enabled, + // or image width is not defined yet (because of slow connection) + _toggleLoadingIndicator(false); + // items-controller.js function allowProgressiveImg + } + } else { + _toggleLoadingIndicator(true); // hide preloader + } + }, _options.loadingIndicatorDelay); + }); + _listen('imageLoadComplete', function (index, item) { + if (pswp.currItem === item) { + _toggleLoadingIndicator(true); + } + }); + } + }, + _toggleLoadingIndicator = function (hide) { + if (_loadingIndicatorHidden !== hide) { + _togglePswpClass(_loadingIndicator, 'preloader--active', !hide); + _loadingIndicatorHidden = hide; + } + }, + _applyNavBarGaps = function (item) { + var gap = item.vGap; + var bars = _options.barsSize; + + if (_fitControlsInViewport()) { + if (_options.captionEl && bars.bottom === 'auto') { + if (!_fakeCaptionContainer) { + _fakeCaptionContainer = framework.createEl('pswp__caption pswp__caption--fake'); + _fakeCaptionContainer.appendChild(framework.createEl('pswp__caption__center')); + _controls.insertBefore(_fakeCaptionContainer, _captionContainer); + framework.addClass(_controls, 'pswp__ui--fit'); + } + if (_options.addCaptionHTMLFn(item, _fakeCaptionContainer, true)) { + var captionSize = _fakeCaptionContainer.clientHeight; + gap.bottom = parseInt(captionSize, 10) || 44; + } else { + gap.bottom = bars.top; // if no caption, set size of bottom gap to size of top + } + } else { + gap.bottom = bars.bottom === 'auto' ? 0 : bars.bottom; + } + + // height of top bar is static, no need to calculate it + gap.top = bars.top; + } else { + gap.top = gap.bottom = 0; + } + }, + _setupIdle = function () { + // Hide controls when mouse is used + if (_options.timeToIdle) { + _listen('mouseUsed', function () { + framework.bind(document, 'mousemove', _onIdleMouseMove); + framework.bind(document, 'mouseout', _onMouseLeaveWindow); + + _idleInterval = setInterval(function () { + _idleIncrement++; + if (_idleIncrement === 2) { + ui.setIdle(true); + } + }, _options.timeToIdle / 2); + }); + } + }, + _setupHidingControlsDuringGestures = function () { + // Hide controls on vertical drag + _listen('onVerticalDrag', function (now) { + if (_controlsVisible && now < 0.95) { + ui.hideControls(); + } else if (!_controlsVisible && now >= 0.95) { + ui.showControls(); + } + }); + + // Hide controls when pinching to close + var pinchControlsHidden; + _listen('onPinchClose', function (now) { + if (_controlsVisible && now < 0.9) { + ui.hideControls(); + pinchControlsHidden = true; + } else if (pinchControlsHidden && !_controlsVisible && now > 0.9) { + ui.showControls(); + } + }); + + _listen('zoomGestureEnded', function () { + pinchControlsHidden = false; + if (pinchControlsHidden && !_controlsVisible) { + ui.showControls(); + } + }); + }; + + var _uiElements = [ + { + name: 'caption', + option: 'captionEl', + onInit: function (el) { + _captionContainer = el; + } + }, + { + name: 'share-modal', + option: 'shareEl', + onInit: function (el) { + _shareModal = el; + }, + onTap: function () { + _toggleShareModal(); + } + }, + { + name: 'button--share', + option: 'shareEl', + onInit: function (el) { + _shareButton = el; + }, + onTap: function () { + _toggleShareModal(); + } + }, + { + name: 'button--download', + option: 'downloadEl', + onInit: function (el) { + _downloadButton = el; + }, + onTap: _downloadFile + }, + { + name: 'button--zoom', + option: 'zoomEl', + onTap: pswp.toggleDesktopZoom + }, + { + name: 'counter', + option: 'counterEl', + onInit: function (el) { + _indexIndicator = el; + } + }, + { + name: 'button--close', + option: 'closeEl', + onTap: function () { + setTimeout(pswp.close); + } + }, + { + name: 'button--arrow--left', + option: 'arrowEl', + onInit: function (el) { + _prevButton = el; + }, + onTap: pswp.prev + }, + { + name: 'button--arrow--right', + option: 'arrowEl', + onInit: function (el) { + _nextButton = el; + }, + onTap: pswp.next + }, + { + name: 'button--fs', + option: 'fullscreenEl', + onTap: function () { + if (_fullscrenAPI.isFullscreen()) { + _fullscrenAPI.exit(); + } else { + _fullscrenAPI.enter(); + } + } + }, + { + name: 'preloader', + option: 'preloaderEl', + onInit: function (el) { + _loadingIndicator = el; + } + } + ]; + + var _setupUIElements = function () { + var item, classAttr, uiElement; + + var loopThroughChildElements = function (sChildren) { + if (!sChildren) { + return; + } + + var l = sChildren.length; + for (var i = 0; i < l; i++) { + item = sChildren[i]; + classAttr = item.className; + + for (var a = 0; a < _uiElements.length; a++) { + uiElement = _uiElements[a]; + + if (classAttr.indexOf('pswp__' + uiElement.name) > -1) { + if (_options[uiElement.option]) { + // if element is not disabled from options + + framework.removeClass(item, 'pswp__element--disabled'); + if (uiElement.onInit) { + uiElement.onInit(item); + } + + //item.style.display = 'block'; + } else { + framework.addClass(item, 'pswp__element--disabled'); + //item.style.display = 'none'; + } + } + } + } + }; + loopThroughChildElements(_controls.children); + + var topBar = framework.getChildByClass(_controls, 'pswp__top-bar'); + if (topBar) { + loopThroughChildElements(topBar.children); + } + }; + + ui.init = function () { + // extend options + framework.extend(pswp.options, _defaultUIOptions, true); + + // create local link for fast access + _options = pswp.options; + + // find pswp__ui element + _controls = framework.getChildByClass(pswp.scrollWrap, 'pswp__ui'); + + // create local link + _listen = pswp.listen; + + _setupHidingControlsDuringGestures(); + + // update controls when slides change + _listen('beforeChange', ui.update); + + // toggle zoom on double-tap + _listen('doubleTap', function (point) { + var initialZoomLevel = pswp.currItem.initialZoomLevel; + if (pswp.getZoomLevel() !== initialZoomLevel) { + pswp.zoomTo(initialZoomLevel, point, 333); + } else { + pswp.zoomTo(_options.getDoubleTapZoom(false, pswp.currItem), point, 333); + } + }); + + // Allow text selection in caption + _listen('preventDragEvent', function (e, isDown, preventObj) { + var t = e.target || e.srcElement; + if ( + t && + t.nodeType === 1 && + t.getAttribute('class') && + e.type.indexOf('mouse') > -1 && + (t.getAttribute('class').indexOf('__caption') > 0 || /(SMALL|STRONG|EM)/i.test(t.tagName)) + ) { + preventObj.prevent = false; + _stopAllAnimations(); + } + }); + + // bind events for UI + _listen('bindEvents', function () { + framework.bind(_controls, 'pswpTap click', _onControlsTap); + framework.bind(pswp.scrollWrap, 'pswpTap', ui.onGlobalTap); + + if (!pswp.likelyTouchDevice) { + framework.bind(pswp.scrollWrap, 'mouseover', ui.onMouseOver); + } + }); + + // unbind events for UI + _listen('unbindEvents', function () { + if (!_shareModalHidden) { + _toggleShareModal(); + } + if (_idleInterval) { + clearInterval(_idleInterval); + } + framework.unbind(document, 'mouseout', _onMouseLeaveWindow); + framework.unbind(document, 'mousemove', _onIdleMouseMove); + framework.unbind(_controls, 'pswpTap click', _onControlsTap); + framework.unbind(pswp.scrollWrap, 'pswpTap', ui.onGlobalTap); + framework.unbind(pswp.scrollWrap, 'mouseover', ui.onMouseOver); + + if (_fullscrenAPI) { + framework.unbind(document, _fullscrenAPI.eventK, ui.updateFullscreen); + if (_fullscrenAPI.isFullscreen()) { + _options.hideAnimationDuration = 0; + _fullscrenAPI.exit(); + } + _fullscrenAPI = null; + } + }); + + // clean up things when gallery is destroyed + _listen('destroy', function () { + if (_options.captionEl) { + if (_fakeCaptionContainer) { + _controls.removeChild(_fakeCaptionContainer); + } + framework.removeClass(_captionContainer, 'pswp__caption--empty'); + } + + if (_shareModal) { + _shareModal.children[0].onclick = null; + } + framework.removeClass(_controls, 'pswp__ui--over-close'); + framework.addClass(_controls, 'pswp__ui--hidden'); + ui.setIdle(false); + }); + + if (!_options.showAnimationDuration) { + framework.removeClass(_controls, 'pswp__ui--hidden'); + } + _listen('initialZoomIn', function () { + if (_options.showAnimationDuration) { + framework.removeClass(_controls, 'pswp__ui--hidden'); + } + }); + _listen('initialZoomOut', function () { + framework.addClass(_controls, 'pswp__ui--hidden'); + }); + + _listen('parseVerticalMargin', _applyNavBarGaps); + + _setupUIElements(); + + if (_options.shareEl && _shareButton && _shareModal) { + _shareModalHidden = true; + } + + _countNumItems(); + + _setupIdle(); + + _setupFullscreenAPI(); + + _setupLoadingIndicator(); + }; + + ui.setIdle = function (isIdle) { + _isIdle = isIdle; + _togglePswpClass(_controls, 'ui--idle', isIdle); + }; + + ui.update = function () { + // Don't update UI if it's hidden + if (_controlsVisible && pswp.currItem) { + ui.updateIndexIndicator(); + + if (_options.captionEl) { + var captionExists = _options.addCaptionHTMLFn(pswp.currItem, _captionContainer); + + _togglePswpClass(_captionContainer, 'caption--empty', !captionExists); + } + + _overlayUIUpdated = true; } else { - framework.removeClass(_shareModal, 'pswp__share-modal--fade-in'); - setTimeout(function() { - if(_shareModalHidden) { - _toggleShareModalClass(); - } - }, 300); + _overlayUIUpdated = false; } - - if(!_shareModalHidden) { - _updateShareURLs(); - } - return false; - }, - _openWindowPopup = function(e) { + if (!_shareModalHidden) { + _toggleShareModal(); + } + + _countNumItems(); + }; + + ui.updateFullscreen = function (e) { + if (e) { + // some browsers change window scroll position during the fullscreen + // so PhotoSwipe updates it just in case + setTimeout(function () { + pswp.setScrollOffset(0, framework.getScrollY()); + }, 50); + } + + // toogle pswp--fs class on root element + framework[(_fullscrenAPI.isFullscreen() ? 'add' : 'remove') + 'Class'](pswp.template, 'pswp--fs'); + }; + + ui.updateIndexIndicator = function () { + if (_options.counterEl) { + _indexIndicator.innerHTML = pswp.getCurrentIndex() + 1 + _options.indexIndicatorSep + _options.getNumItemsFn(); + } + if (!_options.loop) { + if (pswp.getCurrentIndex() === 0) { + framework.addClass(_prevButton, 'pswp__element--disabled'); + } else { + framework.removeClass(_prevButton, 'pswp__element--disabled'); + } + if (pswp.getCurrentIndex() === _options.getNumItemsFn() - 1) { + framework.addClass(_nextButton, 'pswp__element--disabled'); + } else { + framework.removeClass(_nextButton, 'pswp__element--disabled'); + } + } + }; + + ui.onGlobalTap = function (e) { e = e || window.event; var target = e.target || e.srcElement; - pswp.shout('shareLinkClick', e, target); - - if(!target.href) { - return false; - } - - if( target.hasAttribute('download') ) { - return true; - } - - window.open(target.href, 'pswp_share', 'scrollbars=yes,resizable=yes,toolbar=no,'+ - 'location=yes,width=550,height=420,top=100,left=' + - (window.screen ? Math.round(screen.width / 2 - 275) : 100) ); - - if(!_shareModalHidden) { - _toggleShareModal(); - } - - return false; - }, - _updateShareURLs = function() { - var shareButtonOut = '', - shareButtonData, - shareURL, - image_url, - page_url, - share_text; - - for(var i = 0; i < _options.shareButtons.length; i++) { - shareButtonData = _options.shareButtons[i]; - - image_url = _options.getImageURLForShare(shareButtonData); - page_url = _options.getPageURLForShare(shareButtonData); - share_text = _options.getTextForShare(shareButtonData); - - shareURL = shareButtonData.url.replace('{{url}}', encodeURIComponent(page_url) ) - .replace('{{image_url}}', encodeURIComponent(image_url) ) - .replace('{{raw_image_url}}', image_url ) - .replace('{{text}}', encodeURIComponent(share_text) ); - - shareButtonOut += '' + - shareButtonData.label + ''; - - if(_options.parseShareButtonOut) { - shareButtonOut = _options.parseShareButtonOut(shareButtonData, shareButtonOut); - } - } - _shareModal.children[0].innerHTML = shareButtonOut; - _shareModal.children[0].onclick = _openWindowPopup; - - }, - _hasCloseClass = function(target) { - for(var i = 0; i < _options.closeElClasses.length; i++) { - if( framework.hasClass(target, 'pswp__' + _options.closeElClasses[i]) ) { - return true; - } - } - }, - _idleInterval, - _idleTimer, - _idleIncrement = 0, - _onIdleMouseMove = function() { - clearTimeout(_idleTimer); - _idleIncrement = 0; - if(_isIdle) { - ui.setIdle(false); - } - }, - _onMouseLeaveWindow = function(e) { - e = e ? e : window.event; - var from = e.relatedTarget || e.toElement; - if (!from || from.nodeName === 'HTML') { - clearTimeout(_idleTimer); - _idleTimer = setTimeout(function() { - ui.setIdle(true); - }, _options.timeToIdleOutside); - } - }, - _setupFullscreenAPI = function() { - if(_options.fullscreenEl && !framework.features.isOldAndroid) { - if(!_fullscrenAPI) { - _fullscrenAPI = ui.getFullscreenAPI(); - } - if(_fullscrenAPI) { - framework.bind(document, _fullscrenAPI.eventK, ui.updateFullscreen); - ui.updateFullscreen(); - framework.addClass(pswp.template, 'pswp--supports-fs'); - } else { - framework.removeClass(pswp.template, 'pswp--supports-fs'); - } - } - }, - _setupLoadingIndicator = function() { - // Setup loading indicator - if(_options.preloaderEl) { - - _toggleLoadingIndicator(true); - - _listen('beforeChange', function() { - - clearTimeout(_loadingIndicatorTimeout); - - // display loading indicator with delay - _loadingIndicatorTimeout = setTimeout(function() { - - if(pswp.currItem && pswp.currItem.loading) { - - if( !pswp.allowProgressiveImg() || (pswp.currItem.img && !pswp.currItem.img.naturalWidth) ) { - // show preloader if progressive loading is not enabled, - // or image width is not defined yet (because of slow connection) - _toggleLoadingIndicator(false); - // items-controller.js function allowProgressiveImg - } - - } else { - _toggleLoadingIndicator(true); // hide preloader - } - - }, _options.loadingIndicatorDelay); - - }); - _listen('imageLoadComplete', function(index, item) { - if(pswp.currItem === item) { - _toggleLoadingIndicator(true); - } - }); - - } - }, - _toggleLoadingIndicator = function(hide) { - if( _loadingIndicatorHidden !== hide ) { - _togglePswpClass(_loadingIndicator, 'preloader--active', !hide); - _loadingIndicatorHidden = hide; - } - }, - _applyNavBarGaps = function(item) { - var gap = item.vGap; - - if( _fitControlsInViewport() ) { - - var bars = _options.barsSize; - if(_options.captionEl && bars.bottom === 'auto') { - if(!_fakeCaptionContainer) { - _fakeCaptionContainer = framework.createEl('pswp__caption pswp__caption--fake'); - _fakeCaptionContainer.appendChild( framework.createEl('pswp__caption__center') ); - _controls.insertBefore(_fakeCaptionContainer, _captionContainer); - framework.addClass(_controls, 'pswp__ui--fit'); - } - if( _options.addCaptionHTMLFn(item, _fakeCaptionContainer, true) ) { - - var captionSize = _fakeCaptionContainer.clientHeight; - gap.bottom = parseInt(captionSize,10) || 44; - } else { - gap.bottom = bars.top; // if no caption, set size of bottom gap to size of top - } - } else { - gap.bottom = bars.bottom === 'auto' ? 0 : bars.bottom; - } - - // height of top bar is static, no need to calculate it - gap.top = bars.top; - } else { - gap.top = gap.bottom = 0; - } - }, - _setupIdle = function() { - // Hide controls when mouse is used - if(_options.timeToIdle) { - _listen('mouseUsed', function() { - - framework.bind(document, 'mousemove', _onIdleMouseMove); - framework.bind(document, 'mouseout', _onMouseLeaveWindow); - - _idleInterval = setInterval(function() { - _idleIncrement++; - if(_idleIncrement === 2) { - ui.setIdle(true); - } - }, _options.timeToIdle / 2); - }); - } - }, - _setupHidingControlsDuringGestures = function() { - - // Hide controls on vertical drag - _listen('onVerticalDrag', function(now) { - if(_controlsVisible && now < 0.95) { - ui.hideControls(); - } else if(!_controlsVisible && now >= 0.95) { - ui.showControls(); - } - }); - - // Hide controls when pinching to close - var pinchControlsHidden; - _listen('onPinchClose' , function(now) { - if(_controlsVisible && now < 0.9) { - ui.hideControls(); - pinchControlsHidden = true; - } else if(pinchControlsHidden && !_controlsVisible && now > 0.9) { - ui.showControls(); - } - }); - - _listen('zoomGestureEnded', function() { - pinchControlsHidden = false; - if(pinchControlsHidden && !_controlsVisible) { - ui.showControls(); - } - }); - - }; - - - - var _uiElements = [ - { - name: 'caption', - option: 'captionEl', - onInit: function(el) { - _captionContainer = el; - } - }, - { - name: 'share-modal', - option: 'shareEl', - onInit: function(el) { - _shareModal = el; - }, - onTap: function() { - _toggleShareModal(); - } - }, - { - name: 'button--share', - option: 'shareEl', - onInit: function(el) { - _shareButton = el; - }, - onTap: function() { - _toggleShareModal(); - } - }, - { - name: 'button--zoom', - option: 'zoomEl', - onTap: pswp.toggleDesktopZoom - }, - { - name: 'counter', - option: 'counterEl', - onInit: function(el) { - _indexIndicator = el; - } - }, - { - name: 'button--close', - option: 'closeEl', - onTap: pswp.close - }, - { - name: 'button--arrow--left', - option: 'arrowEl', - onTap: pswp.prev - }, - { - name: 'button--arrow--right', - option: 'arrowEl', - onTap: pswp.next - }, - { - name: 'button--fs', - option: 'fullscreenEl', - onTap: function() { - if(_fullscrenAPI.isFullscreen()) { - _fullscrenAPI.exit(); - } else { - _fullscrenAPI.enter(); - } - } - }, - { - name: 'preloader', - option: 'preloaderEl', - onInit: function(el) { - _loadingIndicator = el; - } - } - - ]; - - var _setupUIElements = function() { - var item, - classAttr, - uiElement; - - var loopThroughChildElements = function(sChildren) { - if(!sChildren) { + if (_blockControlsTap) { return; } - var l = sChildren.length; - for(var i = 0; i < l; i++) { - item = sChildren[i]; - classAttr = item.className; - - for(var a = 0; a < _uiElements.length; a++) { - uiElement = _uiElements[a]; - - if(classAttr.indexOf('pswp__' + uiElement.name) > -1 ) { - - if( _options[uiElement.option] ) { // if element is not disabled from options - - framework.removeClass(item, 'pswp__element--disabled'); - if(uiElement.onInit) { - uiElement.onInit(item); - } - - //item.style.display = 'block'; - } else { - framework.addClass(item, 'pswp__element--disabled'); - //item.style.display = 'none'; - } - } - } - } - }; - loopThroughChildElements(_controls.children); - - var topBar = framework.getChildByClass(_controls, 'pswp__top-bar'); - if(topBar) { - loopThroughChildElements( topBar.children ); - } - }; - - - - - ui.init = function() { - - // extend options - framework.extend(pswp.options, _defaultUIOptions, true); - - // create local link for fast access - _options = pswp.options; - - // find pswp__ui element - _controls = framework.getChildByClass(pswp.scrollWrap, 'pswp__ui'); - - // create local link - _listen = pswp.listen; - - - _setupHidingControlsDuringGestures(); - - // update controls when slides change - _listen('beforeChange', ui.update); - - // toggle zoom on double-tap - _listen('doubleTap', function(point) { - var initialZoomLevel = pswp.currItem.initialZoomLevel; - if(pswp.getZoomLevel() !== initialZoomLevel) { - pswp.zoomTo(initialZoomLevel, point, 333); - } else { - pswp.zoomTo(_options.getDoubleTapZoom(false, pswp.currItem), point, 333); - } - }); - - // Allow text selection in caption - _listen('preventDragEvent', function(e, isDown, preventObj) { - var t = e.target || e.srcElement; - if( - t && - t.getAttribute('class') && e.type.indexOf('mouse') > -1 && - ( t.getAttribute('class').indexOf('__caption') > 0 || (/(SMALL|STRONG|EM)/i).test(t.tagName) ) - ) { - preventObj.prevent = false; - } - }); - - // bind events for UI - _listen('bindEvents', function() { - framework.bind(_controls, 'pswpTap click', _onControlsTap); - framework.bind(pswp.scrollWrap, 'pswpTap', ui.onGlobalTap); - - if(!pswp.likelyTouchDevice) { - framework.bind(pswp.scrollWrap, 'mouseover', ui.onMouseOver); - } - }); - - // unbind events for UI - _listen('unbindEvents', function() { - if(!_shareModalHidden) { - _toggleShareModal(); - } - - if(_idleInterval) { - clearInterval(_idleInterval); - } - framework.unbind(document, 'mouseout', _onMouseLeaveWindow); - framework.unbind(document, 'mousemove', _onIdleMouseMove); - framework.unbind(_controls, 'pswpTap click', _onControlsTap); - framework.unbind(pswp.scrollWrap, 'pswpTap', ui.onGlobalTap); - framework.unbind(pswp.scrollWrap, 'mouseover', ui.onMouseOver); - - if(_fullscrenAPI) { - framework.unbind(document, _fullscrenAPI.eventK, ui.updateFullscreen); - if(_fullscrenAPI.isFullscreen()) { - _options.hideAnimationDuration = 0; - _fullscrenAPI.exit(); - } - _fullscrenAPI = null; - } - }); - - - // clean up things when gallery is destroyed - _listen('destroy', function() { - if(_options.captionEl) { - if(_fakeCaptionContainer) { - _controls.removeChild(_fakeCaptionContainer); - } - framework.removeClass(_captionContainer, 'pswp__caption--empty'); - } - - if(_shareModal) { - _shareModal.children[0].onclick = null; - } - framework.removeClass(_controls, 'pswp__ui--over-close'); - framework.addClass( _controls, 'pswp__ui--hidden'); - ui.setIdle(false); - }); - - - if(!_options.showAnimationDuration) { - framework.removeClass( _controls, 'pswp__ui--hidden'); - } - _listen('initialZoomIn', function() { - if(_options.showAnimationDuration) { - framework.removeClass( _controls, 'pswp__ui--hidden'); - } - }); - _listen('initialZoomOut', function() { - framework.addClass( _controls, 'pswp__ui--hidden'); - }); - - _listen('parseVerticalMargin', _applyNavBarGaps); - - _setupUIElements(); - - if(_options.shareEl && _shareButton && _shareModal) { - _shareModalHidden = true; - } - - _countNumItems(); - - _setupIdle(); - - _setupFullscreenAPI(); - - _setupLoadingIndicator(); - }; - - ui.setIdle = function(isIdle) { - _isIdle = isIdle; - _togglePswpClass(_controls, 'ui--idle', isIdle); - }; - - ui.update = function() { - // Don't update UI if it's hidden - if(_controlsVisible && pswp.currItem) { - - ui.updateIndexIndicator(); - - if(_options.captionEl) { - _options.addCaptionHTMLFn(pswp.currItem, _captionContainer); - - _togglePswpClass(_captionContainer, 'caption--empty', !pswp.currItem.title); - } - - _overlayUIUpdated = true; - - } else { - _overlayUIUpdated = false; - } - - if(!_shareModalHidden) { - _toggleShareModal(); - } - - _countNumItems(); - }; - - ui.updateFullscreen = function(e) { - - if(e) { - // some browsers change window scroll position during the fullscreen - // so PhotoSwipe updates it just in case - setTimeout(function() { - pswp.setScrollOffset( 0, framework.getScrollY() ); - }, 50); - } - - // toogle pswp--fs class on root element - framework[ (_fullscrenAPI.isFullscreen() ? 'add' : 'remove') + 'Class' ](pswp.template, 'pswp--fs'); - }; - - ui.updateIndexIndicator = function() { - if(_options.counterEl) { - _indexIndicator.innerHTML = (pswp.getCurrentIndex()+1) + - _options.indexIndicatorSep + - _options.getNumItemsFn(); - } - }; - - ui.onGlobalTap = function(e) { - e = e || window.event; - var target = e.target || e.srcElement; - - if(_blockControlsTap) { - return; - } - - if(e.detail && e.detail.pointerType === 'mouse') { - - // close gallery if clicked outside of the image - if(_hasCloseClass(target)) { - pswp.close(); - return; - } - - if(framework.hasClass(target, 'pswp__img')) { - if(pswp.getZoomLevel() === 1 && pswp.getZoomLevel() <= pswp.currItem.fitRatio) { - if(_options.clickToCloseNonZoomable) { + if (e.detail && e.detail.pointerType === 'mouse') { + // Silently ignore right-click events. + if (!e.detail.rightClick) { + // close gallery if clicked outside of the image + if (_options.closeOnOutsideClick && _hasCloseClass(target)) { pswp.close(); + return; } - } else { - pswp.toggleDesktopZoom(e.detail.releasePoint); + + if (framework.hasClass(target, 'pswp__img')) { + if (pswp.getZoomLevel() === 1 && pswp.getZoomLevel() <= pswp.currItem.fitRatio) { + if (_options.clickToCloseNonZoomable) { + pswp.close(); + } else if (_options.clickToShowNextNonZoomable) { + pswp.next(); + } + } else { + pswp.toggleDesktopZoom(e.detail.releasePoint); + } + } + } + } else { + // tap anywhere (except buttons) to toggle visibility of controls + if (_options.tapToToggleControls) { + if (_controlsVisible) { + ui.hideControls(); + } else { + ui.showControls(); + } + } + + // tap to close gallery + if ( + _options.tapToClose && + (framework.hasClass(target, 'pswp__img') || (_options.closeOnOutsideClick && _hasCloseClass(target))) + ) { + pswp.close(); + return; } } - - } else { + }; + ui.onMouseOver = function (e) { + e = e || window.event; + var target = e.target || e.srcElement; - // tap anywhere (except buttons) to toggle visibility of controls - if(_options.tapToToggleControls) { - if(_controlsVisible) { - ui.hideControls(); - } else { - ui.showControls(); - } + // add class when mouse is over an element that should close the gallery + _togglePswpClass(_controls, 'ui--over-close', _hasCloseClass(target)); + }; + + ui.hideControls = function () { + framework.addClass(_controls, 'pswp__ui--hidden'); + _controlsVisible = false; + }; + + ui.showControls = function () { + _controlsVisible = true; + if (!_overlayUIUpdated) { + ui.update(); + } + framework.removeClass(_controls, 'pswp__ui--hidden'); + }; + + ui.supportsFullscreen = function () { + var d = document; + return !!(d.exitFullscreen || d.mozCancelFullScreen || d.webkitExitFullscreen || d.msExitFullscreen); + }; + + ui.getFullscreenAPI = function () { + var dE = document.documentElement, + api, + tF = 'fullscreenchange'; + + if (dE.requestFullscreen) { + api = { + enterK: 'requestFullscreen', + exitK: 'exitFullscreen', + elementK: 'fullscreenElement', + eventK: tF + }; + } else if (dE.mozRequestFullScreen) { + api = { + enterK: 'mozRequestFullScreen', + exitK: 'mozCancelFullScreen', + elementK: 'mozFullScreenElement', + eventK: 'moz' + tF + }; + } else if (dE.webkitRequestFullscreen) { + api = { + enterK: 'webkitRequestFullscreen', + exitK: 'webkitExitFullscreen', + elementK: 'webkitFullscreenElement', + eventK: 'webkit' + tF + }; + } else if (dE.msRequestFullscreen) { + api = { + enterK: 'msRequestFullscreen', + exitK: 'msExitFullscreen', + elementK: 'msFullscreenElement', + eventK: 'MSFullscreenChange' + }; } - // tap to close gallery - if(_options.tapToClose && (framework.hasClass(target, 'pswp__img') || _hasCloseClass(target)) ) { - pswp.close(); - return; + if (api) { + api.enter = function () { + // disable close-on-scroll in fullscreen + _initalCloseOnScrollValue = _options.closeOnScroll; + _options.closeOnScroll = false; + + if (this.enterK === 'webkitRequestFullscreen') { + pswp.template[this.enterK](Element.ALLOW_KEYBOARD_INPUT); + } else { + return pswp.template[this.enterK](); + } + }; + api.exit = function () { + _options.closeOnScroll = _initalCloseOnScrollValue; + + return document[this.exitK](); + }; + api.isFullscreen = function () { + return document[this.elementK]; + }; } - - } + + return api; + }; }; - ui.onMouseOver = function(e) { - e = e || window.event; - var target = e.target || e.srcElement; - - // add class when mouse is over an element that should close the gallery - _togglePswpClass(_controls, 'ui--over-close', _hasCloseClass(target)); - }; - - ui.hideControls = function() { - framework.addClass(_controls,'pswp__ui--hidden'); - _controlsVisible = false; - }; - - ui.showControls = function() { - _controlsVisible = true; - if(!_overlayUIUpdated) { - ui.update(); - } - framework.removeClass(_controls,'pswp__ui--hidden'); - }; - - ui.supportsFullscreen = function() { - var d = document; - return !!(d.exitFullscreen || d.mozCancelFullScreen || d.webkitExitFullscreen || d.msExitFullscreen); - }; - - ui.getFullscreenAPI = function() { - var dE = document.documentElement, - api, - tF = 'fullscreenchange'; - - if (dE.requestFullscreen) { - api = { - enterK: 'requestFullscreen', - exitK: 'exitFullscreen', - elementK: 'fullscreenElement', - eventK: tF - }; - - } else if(dE.mozRequestFullScreen ) { - api = { - enterK: 'mozRequestFullScreen', - exitK: 'mozCancelFullScreen', - elementK: 'mozFullScreenElement', - eventK: 'moz' + tF - }; - - - - } else if(dE.webkitRequestFullscreen) { - api = { - enterK: 'webkitRequestFullscreen', - exitK: 'webkitExitFullscreen', - elementK: 'webkitFullscreenElement', - eventK: 'webkit' + tF - }; - - } else if(dE.msRequestFullscreen) { - api = { - enterK: 'msRequestFullscreen', - exitK: 'msExitFullscreen', - elementK: 'msFullscreenElement', - eventK: 'MSFullscreenChange' - }; - } - - if(api) { - api.enter = function() { - // disable close-on-scroll in fullscreen - _initalCloseOnScrollValue = _options.closeOnScroll; - _options.closeOnScroll = false; - - if(this.enterK === 'webkitRequestFullscreen') { - pswp.template[this.enterK]( Element.ALLOW_KEYBOARD_INPUT ); - } else { - return pswp.template[this.enterK](); - } - }; - api.exit = function() { - _options.closeOnScroll = _initalCloseOnScrollValue; - - return document[this.exitK](); - - }; - api.isFullscreen = function() { return document[this.elementK]; }; - } - - return api; - }; - - - -}; -return PhotoSwipeUI_Default; - - + return PhotoSwipeUI_Default; }); diff --git a/sigal/themes/photoswipe/static/photoswipe-ui-default.min.js b/sigal/themes/photoswipe/static/photoswipe-ui-default.min.js index ab7bedc..73e2811 100644 --- a/sigal/themes/photoswipe/static/photoswipe-ui-default.min.js +++ b/sigal/themes/photoswipe/static/photoswipe-ui-default.min.js @@ -1,4 +1 @@ -/*! PhotoSwipe Default UI - 4.1.3 - 2019-01-08 -* http://photoswipe.com -* Copyright (c) 2019 Dmitry Semenov; */ -!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.PhotoSwipeUI_Default=b()}(this,function(){"use strict";var a=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=this,w=!1,x=!0,y=!0,z={barsSize:{top:44,bottom:"auto"},closeElClasses:["item","caption","zoom-wrap","ui","top-bar"],timeToIdle:4e3,timeToIdleOutside:1e3,loadingIndicatorDelay:1e3,addCaptionHTMLFn:function(a,b){return a.title?(b.children[0].innerHTML=a.title,!0):(b.children[0].innerHTML="",!1)},closeEl:!0,captionEl:!0,fullscreenEl:!0,zoomEl:!0,shareEl:!0,counterEl:!0,arrowEl:!0,preloaderEl:!0,tapToClose:!1,tapToToggleControls:!0,clickToCloseNonZoomable:!0,shareButtons:[{id:"facebook",label:"Share on Facebook",url:"https://www.facebook.com/sharer/sharer.php?u={{url}}"},{id:"twitter",label:"Tweet",url:"https://twitter.com/intent/tweet?text={{text}}&url={{url}}"},{id:"pinterest",label:"Pin it",url:"http://www.pinterest.com/pin/create/button/?url={{url}}&media={{image_url}}&description={{text}}"},{id:"download",label:"Download image",url:"{{raw_image_url}}",download:!0}],getImageURLForShare:function(){return a.currItem.src||""},getPageURLForShare:function(){return window.location.href},getTextForShare:function(){return a.currItem.title||""},indexIndicatorSep:" / ",fitControlsWidth:1200},A=function(a){if(r)return!0;a=a||window.event,q.timeToIdle&&q.mouseUsed&&!k&&K();for(var c,d,e=a.target||a.srcElement,f=e.getAttribute("class")||"",g=0;g-1&&(c.onTap(),d=!0);if(d){a.stopPropagation&&a.stopPropagation(),r=!0;var h=b.features.isOldAndroid?600:30;s=setTimeout(function(){r=!1},h)}},B=function(){return!a.likelyTouchDevice||q.mouseUsed||screen.width>q.fitControlsWidth},C=function(a,c,d){b[(d?"add":"remove")+"Class"](a,"pswp__"+c)},D=function(){var a=1===q.getNumItemsFn();a!==p&&(C(d,"ui--one-slide",a),p=a)},E=function(){C(i,"share-modal--hidden",y)},F=function(){return y=!y,y?(b.removeClass(i,"pswp__share-modal--fade-in"),setTimeout(function(){y&&E()},300)):(E(),setTimeout(function(){y||b.addClass(i,"pswp__share-modal--fade-in")},30)),y||H(),!1},G=function(b){b=b||window.event;var c=b.target||b.srcElement;return a.shout("shareLinkClick",b,c),!!c.href&&(!!c.hasAttribute("download")||(window.open(c.href,"pswp_share","scrollbars=yes,resizable=yes,toolbar=no,location=yes,width=550,height=420,top=100,left="+(window.screen?Math.round(screen.width/2-275):100)),y||F(),!1))},H=function(){for(var a,b,c,d,e,f="",g=0;g"+a.label+"",q.parseShareButtonOut&&(f=q.parseShareButtonOut(a,f));i.children[0].innerHTML=f,i.children[0].onclick=G},I=function(a){for(var c=0;c=.95&&v.showControls()});var a;l("onPinchClose",function(b){x&&b<.9?(v.hideControls(),a=!0):a&&!x&&b>.9&&v.showControls()}),l("zoomGestureEnded",function(){a=!1,a&&!x&&v.showControls()})},S=[{name:"caption",option:"captionEl",onInit:function(a){e=a}},{name:"share-modal",option:"shareEl",onInit:function(a){i=a},onTap:function(){F()}},{name:"button--share",option:"shareEl",onInit:function(a){h=a},onTap:function(){F()}},{name:"button--zoom",option:"zoomEl",onTap:a.toggleDesktopZoom},{name:"counter",option:"counterEl",onInit:function(a){g=a}},{name:"button--close",option:"closeEl",onTap:a.close},{name:"button--arrow--left",option:"arrowEl",onTap:a.prev},{name:"button--arrow--right",option:"arrowEl",onTap:a.next},{name:"button--fs",option:"fullscreenEl",onTap:function(){c.isFullscreen()?c.exit():c.enter()}},{name:"preloader",option:"preloaderEl",onInit:function(a){m=a}}],T=function(){var a,c,e,f=function(d){if(d)for(var f=d.length,g=0;g-1&&(q[e.option]?(b.removeClass(a,"pswp__element--disabled"),e.onInit&&e.onInit(a)):b.addClass(a,"pswp__element--disabled"))}};f(d.children);var g=b.getChildByClass(d,"pswp__top-bar");g&&f(g.children)};v.init=function(){b.extend(a.options,z,!0),q=a.options,d=b.getChildByClass(a.scrollWrap,"pswp__ui"),l=a.listen,R(),l("beforeChange",v.update),l("doubleTap",function(b){var c=a.currItem.initialZoomLevel;a.getZoomLevel()!==c?a.zoomTo(c,b,333):a.zoomTo(q.getDoubleTapZoom(!1,a.currItem),b,333)}),l("preventDragEvent",function(a,b,c){var d=a.target||a.srcElement;d&&d.getAttribute("class")&&a.type.indexOf("mouse")>-1&&(d.getAttribute("class").indexOf("__caption")>0||/(SMALL|STRONG|EM)/i.test(d.tagName))&&(c.prevent=!1)}),l("bindEvents",function(){b.bind(d,"pswpTap click",A),b.bind(a.scrollWrap,"pswpTap",v.onGlobalTap),a.likelyTouchDevice||b.bind(a.scrollWrap,"mouseover",v.onMouseOver)}),l("unbindEvents",function(){y||F(),t&&clearInterval(t),b.unbind(document,"mouseout",L),b.unbind(document,"mousemove",K),b.unbind(d,"pswpTap click",A),b.unbind(a.scrollWrap,"pswpTap",v.onGlobalTap),b.unbind(a.scrollWrap,"mouseover",v.onMouseOver),c&&(b.unbind(document,c.eventK,v.updateFullscreen),c.isFullscreen()&&(q.hideAnimationDuration=0,c.exit()),c=null)}),l("destroy",function(){q.captionEl&&(f&&d.removeChild(f),b.removeClass(e,"pswp__caption--empty")),i&&(i.children[0].onclick=null),b.removeClass(d,"pswp__ui--over-close"),b.addClass(d,"pswp__ui--hidden"),v.setIdle(!1)}),q.showAnimationDuration||b.removeClass(d,"pswp__ui--hidden"),l("initialZoomIn",function(){q.showAnimationDuration&&b.removeClass(d,"pswp__ui--hidden")}),l("initialZoomOut",function(){b.addClass(d,"pswp__ui--hidden")}),l("parseVerticalMargin",P),T(),q.shareEl&&h&&i&&(y=!0),D(),Q(),M(),N()},v.setIdle=function(a){k=a,C(d,"ui--idle",a)},v.update=function(){x&&a.currItem?(v.updateIndexIndicator(),q.captionEl&&(q.addCaptionHTMLFn(a.currItem,e),C(e,"caption--empty",!a.currItem.title)),w=!0):w=!1,y||F(),D()},v.updateFullscreen=function(d){d&&setTimeout(function(){a.setScrollOffset(0,b.getScrollY())},50),b[(c.isFullscreen()?"add":"remove")+"Class"](a.template,"pswp--fs")},v.updateIndexIndicator=function(){q.counterEl&&(g.innerHTML=a.getCurrentIndex()+1+q.indexIndicatorSep+q.getNumItemsFn())},v.onGlobalTap=function(c){c=c||window.event;var d=c.target||c.srcElement;if(!r)if(c.detail&&"mouse"===c.detail.pointerType){if(I(d))return void a.close();b.hasClass(d,"pswp__img")&&(1===a.getZoomLevel()&&a.getZoomLevel()<=a.currItem.fitRatio?q.clickToCloseNonZoomable&&a.close():a.toggleDesktopZoom(c.detail.releasePoint))}else if(q.tapToToggleControls&&(x?v.hideControls():v.showControls()),q.tapToClose&&(b.hasClass(d,"pswp__img")||I(d)))return void a.close()},v.onMouseOver=function(a){a=a||window.event;var b=a.target||a.srcElement;C(d,"ui--over-close",I(b))},v.hideControls=function(){b.addClass(d,"pswp__ui--hidden"),x=!1},v.showControls=function(){x=!0,w||v.update(),b.removeClass(d,"pswp__ui--hidden")},v.supportsFullscreen=function(){var a=document;return!!(a.exitFullscreen||a.mozCancelFullScreen||a.webkitExitFullscreen||a.msExitFullscreen)},v.getFullscreenAPI=function(){var b,c=document.documentElement,d="fullscreenchange";return c.requestFullscreen?b={enterK:"requestFullscreen",exitK:"exitFullscreen",elementK:"fullscreenElement",eventK:d}:c.mozRequestFullScreen?b={enterK:"mozRequestFullScreen",exitK:"mozCancelFullScreen",elementK:"mozFullScreenElement",eventK:"moz"+d}:c.webkitRequestFullscreen?b={enterK:"webkitRequestFullscreen",exitK:"webkitExitFullscreen",elementK:"webkitFullscreenElement",eventK:"webkit"+d}:c.msRequestFullscreen&&(b={enterK:"msRequestFullscreen",exitK:"msExitFullscreen",elementK:"msFullscreenElement",eventK:"MSFullscreenChange"}),b&&(b.enter=function(){return j=q.closeOnScroll,q.closeOnScroll=!1,"webkitRequestFullscreen"!==this.enterK?a.template[this.enterK]():void a.template[this.enterK](Element.ALLOW_KEYBOARD_INPUT)},b.exit=function(){return q.closeOnScroll=j,document[this.exitK]()},b.isFullscreen=function(){return document[this.elementK]}),b}};return a}); \ No newline at end of file +!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.PhotoSwipeUI_Default=t()}(this,function(){"use strict";return function(l,s){function e(e){if(K)return!0;e=e||window.event,O.timeToIdle&&O.mouseUsed&&!I&&Z();for(var t,n,o,l=(e.target||e.srcElement).getAttribute("class")||"",i=0;iO.fitControlsWidth?(O.captionEl&&"auto"===o.bottom?(h||((h=s.createEl("pswp__caption pswp__caption--fake")).appendChild(s.createEl("pswp__caption__center")),m.insertBefore(h,f),s.addClass(m,"pswp__ui--fit")),O.addCaptionHTMLFn(e,h,!0)?(t=h.clientHeight,n.bottom=parseInt(t,10)||44):n.bottom=o.top):n.bottom="auto"===o.bottom?0:o.bottom,n.top=o.top):n.top=n.bottom=0}function d(){function e(e){if(e)for(var t=e.length,n=0;n