diff --git a/package-lock.json b/package-lock.json index 9a5e2f247..30956b6c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4886,7 +4886,8 @@ }, "ini": { "version": "1.3.5", - "resolved": "", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, diff --git a/src/assets/css/tainacan-gutenberg-block-item-gallery.css b/src/assets/css/tainacan-gutenberg-block-item-gallery.css index 3e202a5fe..6618c94fb 100644 --- a/src/assets/css/tainacan-gutenberg-block-item-gallery.css +++ b/src/assets/css/tainacan-gutenberg-block-item-gallery.css @@ -290,114 +290,137 @@ .tainacan-media-component__swiper-main + .tainacan-media-component__swiper-thumbs li.swiper-slide { cursor: pointer; } -.tainacan-photoswipe-layer .pswp__bg { - background-color: rgba(0, 0, 0, 0.85); } -.tainacan-photoswipe-layer .pswp__ui--fit .pswp__top-bar, -.tainacan-photoswipe-layer .pswp__ui--fit .pswp__caption { - background-color: rgba(0, 0, 0, 0.7); } -.tainacan-photoswipe-layer .pswp__button--arrow--left::before, -.tainacan-photoswipe-layer .pswp__button--arrow--right::before { - background-color: transparent; } -.tainacan-photoswipe-layer .pswp__container { - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: center; } - .tainacan-photoswipe-layer .pswp__container .attachment-without-image { +.tainacan-photoswipe-layer { + --pswp-bg: var(--tainacan-lightbox-background, #000); + --pswp-error-text-color: var(--tainacan-lightbox-text-color, #f7f7f7); + --pswp-icon-color: var(--tainacan-lightbox-text-color, #fff); } + .tainacan-photoswipe-layer .pswp__caption { + bottom: 0; + position: fixed; + padding: 8px; width: 100%; - height: calc(100% - 44px); display: flex; - justify-content: center; - align-items: center; + justify-content: center; } + .tainacan-photoswipe-layer .pswp__caption-inner { + opacity: 0.75; + background-color: var(--pswp-bg); + color: var(--pswp-icon-color); + text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary); + max-width: 920px; + padding: 12px; + line-height: 20px; text-align: center; - padding: 44px; - margin-top: 22px; - margin-bottom: 22px; } - .tainacan-photoswipe-layer .pswp__container .attachment-without-image > iframe:not(.wp-embedded-content) { + font-size: 1em; + border-radius: 3px; + transition: opacity 0.4s ease; } + .tainacan-photoswipe-layer .pswp__caption-inner:hover { + opacity: 1.0; } + .tainacan-photoswipe-layer.pswp--zoomed-in .pswp__caption-inner { + opacity: 0.0; } + .tainacan-photoswipe-layer .pswp__button--arrow--left::before, + .tainacan-photoswipe-layer .pswp__button--arrow--right::before { + background-color: transparent; } + .tainacan-photoswipe-layer .pswp__container { + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; } + .tainacan-photoswipe-layer .pswp__container .attachment-without-image { + width: 100%; + height: calc(100% - 44px); + display: flex; + justify-content: center; + align-items: center; + text-align: center; + padding: 44px; + margin-top: 22px; + margin-bottom: 22px; } + .tainacan-photoswipe-layer .pswp__container .attachment-without-image > iframe:not(.wp-embedded-content) { + width: 90vw; + height: 90vh; + border: none; + margin: 44px; + display: block; + background-image: url("../images/preloader.gif"); + background-repeat: no-repeat; + background-position: center; } + .tainacan-photoswipe-layer .pswp__container .pswp__zoom-wrap > iframe#iframePDF { width: 90vw; height: 90vh; border: none; - margin: 44px; + margin: 44px auto; display: block; background-image: url("../images/preloader.gif"); background-repeat: no-repeat; background-position: center; } - .tainacan-photoswipe-layer .pswp__container .pswp__zoom-wrap > iframe#iframePDF { - width: 90vw; - height: 90vh; - border: none; - margin: 44px auto; + .tainacan-photoswipe-layer .pswp__container .pswp__zoom-wrap { + display: flex; + justify-content: center; + align-items: center; } + .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed { + width: 100%; + height: auto; } + .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-has-aspect-ratio { + max-width: calc((90vh * 2) / 1); + /* Default to 2:1 aspect ratio. */ + margin-left: auto; + margin-right: auto; } + .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-21-9 { + max-width: calc((90vh * 21) / 9); } + .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-18-9 { + max-width: calc((90vh * 18) / 9); } + .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-16-9 { + max-width: calc((90vh * 16) / 9); } + .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-4-3 { + max-width: calc((90vh * 4) / 3); } + .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-1-1 { + max-width: 90vh; } + .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-9-16 { + max-width: calc((90vh * 9) / 16); } + .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-1-2 { + max-width: calc((90vh * 1) / 2); } + .tainacan-photoswipe-layer .pswp__container a:first-of-type, + .tainacan-photoswipe-layer .pswp__container p:first-of-type, + .tainacan-photoswipe-layer .pswp__container article:first-of-type { + z-index: 99; + padding: 1rem 4.33337vw; + background: var(--tainacan-media-background, #ffffff); + border-radius: 3px; + word-wrap: break-word; } + .tainacan-photoswipe-layer .pswp__container audio { + background: black; + min-height: 38px; + border-radius: 20px; + min-width: 80%; + max-width: 80%; } + .tainacan-photoswipe-layer .pswp__container video { + min-height: 56px; + max-width: 80%; } + .tainacan-photoswipe-layer .pswp__top-bar .pswp__name { + color: var(--pswp-icon-color); + text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary); + text-align: center; + font-size: 1.125em; display: block; - background-image: url("../images/preloader.gif"); - background-repeat: no-repeat; - background-position: center; } - .tainacan-photoswipe-layer .pswp__container .pswp__zoom-wrap { - display: flex; - justify-content: center; - align-items: center; } - .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed { + height: 44px; + max-width: calc(100% - 240px); width: 100%; - height: auto; } - .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-has-aspect-ratio { - max-width: calc((90vh * 2) / 1); - /* Default to 2:1 aspect ratio. */ - margin-left: auto; - margin-right: auto; } - .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-21-9 { - max-width: calc((90vh * 21) / 9); } - .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-18-9 { - max-width: calc((90vh * 18) / 9); } - .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-16-9 { - max-width: calc((90vh * 16) / 9); } - .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-4-3 { - max-width: calc((90vh * 4) / 3); } - .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-1-1 { - max-width: 90vh; } - .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-9-16 { - max-width: calc((90vh * 9) / 16); } - .tainacan-photoswipe-layer .pswp__container .tainacan-content-embed.tainacan-embed-aspect-1-2 { - max-width: calc((90vh * 1) / 2); } - .tainacan-photoswipe-layer .pswp__container a:first-of-type, - .tainacan-photoswipe-layer .pswp__container p:first-of-type, - .tainacan-photoswipe-layer .pswp__container article:first-of-type { - z-index: 99; - padding: 1rem 4.33337vw; - background: var(--tainacan-media-background, #ffffff); - border-radius: var(--borderRadius, 3px); - word-wrap: break-word; } - .tainacan-photoswipe-layer .pswp__container audio { - background: black; - min-height: 38px; - border-radius: 20px; - min-width: 80%; - max-width: 80%; } - .tainacan-photoswipe-layer .pswp__container video { - min-height: 56px; - max-width: 80%; } -.tainacan-photoswipe-layer .pswp__top-bar .pswp__name { - color: white; - text-align: center; - font-size: 1.125em; - display: block; - height: 44px; - max-width: calc(100% - 240px); - width: 100%; - left: 44px; - position: absolute; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - line-height: 44px; - padding: 0 10px; } -.tainacan-photoswipe-layer .pswp__figure_caption { - font-size: 0.875em; - font-style: italic; } -.tainacan-photoswipe-layer .pswp__description { - font-size: 0.9375em; } -.tainacan-photoswipe-layer .pswp__caption__center { - text-align: center; - font-size: 1em; - max-width: 800px; } + left: 44px; + position: absolute; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + line-height: 44px; + padding: 0 10px; } + .tainacan-photoswipe-layer .pswp__figure_caption { + font-size: 0.875em; + font-style: italic; } + .tainacan-photoswipe-layer .pswp__description { + font-size: 0.9375em; } + .tainacan-photoswipe-layer .pswp__caption__center { + text-align: center; + font-size: 1em; + max-width: 800px; } /*# sourceMappingURL=tainacan-gutenberg-block-item-gallery.css.map */ diff --git a/src/assets/css/tainacan-gutenberg-block-item-gallery.css.map b/src/assets/css/tainacan-gutenberg-block-item-gallery.css.map index f9eeb69f0..275bbe61d 100644 --- a/src/assets/css/tainacan-gutenberg-block-item-gallery.css.map +++ b/src/assets/css/tainacan-gutenberg-block-item-gallery.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "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", +"mappings": "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", "sources": ["../../views/gutenberg-blocks/blocks/item-gallery/style.scss"], "names": [], "file": "tainacan-gutenberg-block-item-gallery.css" diff --git a/src/classes/theme-helper/template-tags.php b/src/classes/theme-helper/template-tags.php index 527ad7d10..3fc1b018f 100644 --- a/src/classes/theme-helper/template-tags.php +++ b/src/classes/theme-helper/template-tags.php @@ -346,10 +346,6 @@ function tainacan_get_the_media_component( ob_start(); if ( $args['has_media_main'] || $args['has_media_thumbs'] ) : - - // Modal lightbox layer for rendering photoswipe - if (!$args['disable_lightbox']) - add_action('wp_footer', 'tainacan_get_the_media_modal_layer'); wp_enqueue_style( 'tainacan-media-component', $TAINACAN_BASE_URL . '/assets/css/tainacan-gutenberg-block-item-gallery.css', array(), TAINACAN_VERSION); @@ -583,75 +579,6 @@ function tainacan_get_the_media_component_slide( $args = array() ) { return $content; } -/** - * Div with content necessay to render the photowipe modal - * - * @return string - */ -function tainacan_get_the_media_modal_layer() { -?> - - - this.onThumbnailsClick(event, this); - - // Parse URL and open gallery if it contains #&pid=3&gid=1 - let hashData = this.photoswipeParseHash(); + console.log(this.options.media_id); - if (hashData.pid && hashData.gid) - this.openPhotoSwipe(hashData.pid, galleryElement, true, true); + let items = this.parseThumbnailElements(galleryElement); + let photoswipeOptions = { + loop: false, + preloadFirstSlide: false, + mainClass: 'tainacan-photoswipe-layer', + bgOpacity: 0.85, + clickToCloseNonZoomable: false, + closeTitle: __( 'Close lightbox', 'tainacan'), + zoomTitle: __( 'Zoom', 'tainacan'), + arrowPrevTitle: __( 'Previous slide', 'tainacan'), + arrowNextTitle: __( 'Next slide', 'tainacan'), + getClickedIndexFn: (clickedElement) => { + return items.findIndex(anItem => anItem.el.contains(clickedElement.target)); + }, + padding: { top: 60, bottom: 60, left: 40, right: 40 }, + // paddingFn: (viewportSize, itemData, index) => { + // console.log(viewportSize, itemData, index) + // return { + // // check based on slide index + // top: 60, + // bottom: 0, + // left: 0, + // right: 0 + // }; + // } + }; + + // Pass data to PhotoSwipe and initialize it + this.lightbox = new PhotoSwipeLightbox({ + gallery: galleryElement, + children: items, + pswpModule: PhotoSwipe, + ...photoswipeOptions + }); + this.lightbox.init(); + + /* Updates Swiper instance from Photoswipe */ + const swiperInstance = this.mainSwiper ? this.mainSwiper : this.thumbsSwiper; + const thisLightbox = this.lightbox; + + // Parse URL and open gallery from it if contains #&pid=3&gid=1 + const hashData = this.photoswipeParseHash(); + if (hashData.pid && hashData.gid && this.options.media_id == hashData.gid) { + // in URL indexes start from 1 + photoswipeOptions.index = parseInt(hashData.pid, 10) - 1; + + if (!isNaN(photoswipeOptions.index) && items[photoswipeOptions.index] && items[photoswipeOptions.index].el) + items[photoswipeOptions.index].el.click(); + } + + // On destroy we make a copy of the inner content to clear it + // and set again. This stops YouTube player, for example. + this.lightbox.on('destroy', () => { + let actualGalleryContainer = document.getElementsByClassName("pswp__container")[0]; + if (actualGalleryContainer) { + let currentData = actualGalleryContainer.innerHTML; + actualGalleryContainer.innerHTML = ''; + actualGalleryContainer.innerHTML = currentData; + } + }); + + // Swiper autoplay stop when image zoom */ + this.lightbox.on('initialZoomInEnd', () => { + if (swiperInstance.params && swiperInstance.params.autoplay && swiperInstance.params.autoplay.enabled && swiperInstance.autoplay.running) + swiperInstance.autoplay.stop(); + }); + + // Update position of the slider + this.lightbox.on("change", () => { + + if (thisLightbox.pswp && thisLightbox.pswp.currIndex) { + // This is the index of current photoswipe slide + swiperInstance.slideTo(thisLightbox.pswp.currIndex); + + // Also updates URL for history navigation + // We only add to the history if it is the first time opening + let currentURL = window.location.toString(); + if (currentURL.indexOf("#") > 0) { + currentURL = currentURL.substring(0, currentURL.indexOf("#")); + window.history.replaceState({}, '', currentURL + '#gid=' + this.options.media_id + '&pid=' + (thisLightbox.pswp.currIndex + 1)); + } else { + window.history.pushState({}, '', currentURL + '#gid=' + this.options.media_id + '&pid=' + (thisLightbox.pswp.currIndex + 1)); + } + } + }); + + // Re-starts autoplay, if needed + this.lightbox.on("close", () => { + // Start swiper autoplay (on close - if swiper autoplay is true) + if (swiperInstance.params && swiperInstance.params.autoplay && swiperInstance.params.autoplay.enabled) + swiperInstance.autoplay.start(); + + // Clears URL hash as we no longer need history navigation + let currentURL = window.location.toString(); + if (currentURL.indexOf("#") > 0) + window.history.replaceState({},'', currentURL.substring(0, currentURL.indexOf("#"))); + }); + + // Adds caption + this.lightbox.on('uiRegister', () => { + thisLightbox.pswp.ui.registerElement({ + name: 'caption', + order: 15, + isButton: false, + appendTo: 'root', + onInit: (el, pswp) => { + thisLightbox.pswp.on('change', () => { + const item = pswp.currSlide.data; + if (item && item.title) { + let innerHTML = ''; + + innerHTML += '
'; + + if (item.title.caption) + innerHTML += '' + item.title.caption.innerHTML + ''; + + if (item.title.name && item.title.caption || (!item.title.name && item.title.caption && item.title.description) ) + innerHTML += '
'; + + if (item.title.name) + innerHTML += '' + item.title.name.innerHTML + ''; + + if (item.title.description && item.title.name) + innerHTML += '
'; + + if (item.title.description) + innerHTML += '' + item.title.description.innerHTML + ''; + + innerHTML += '
'; + + el.innerHTML = innerHTML; + } + }); + } + }); + }); } - // parse slide data (url, title, size ...) from DOM elements + // Parse slide data (url, title, size ...) from DOM elements // (children of gallerySelector) parseThumbnailElements(el) { let items = []; @@ -181,190 +307,9 @@ tainacan_plugin.classes.TainacanMediaGallery = class TainacanMediaGallery { return items; }; + - openPhotoSwipe( - index, - galleryElement, - disableAnimation, - fromURL - ) { - let pswpElement = document.querySelectorAll(".pswp")[0], - gallery, - options, - items; - items = this.parseThumbnailElements(galleryElement); - - // Photoswipe options - // https://photoswipe.com/documentation/options.html // - options = { - showHideOpacity: true, - loop: false, - timeToIdle: 6000, - timeToIdleOutside: 3000, - closeEl: true, - captionEl: true, - fullscreenEl: true, - zoomEl: true, - counterEl: true, - arrowEl: true, - preloadFirstSlide: false, - preload: [0,0], - shareEl: this.options.show_share_button ? this.options.show_share_button : false, - bgOpacity: 1, - // define gallery index (for URL) - galleryUID: galleryElement.getAttribute("data-pswp-uid"), - getThumbBoundsFn: (index) => { - let thumbnail = items[index].el, - pageYScroll = window.pageYOffset || document.documentElement.scrollTop, - rect = thumbnail.getBoundingClientRect(); - - return { x: rect.left, y: rect.top + pageYScroll, w: rect.width }; - }, - // Function builds caption markup - addCaptionHTMLFn: (item, captionEl, isFake) => { - // item - slide object - // captionEl - caption DOM element - // isFake - true when content is added to fake caption container - // (used to get size of next or previous caption) - - captionEl.children[0].innerHTML = ''; - - if(!item.title) - return false; - - if (item.title.caption) - captionEl.children[0].innerHTML += '' + item.title.caption.innerHTML + ''; - - if (item.title.name && item.title.caption || (!item.title.name && item.title.caption && item.title.description) ) - captionEl.children[0].innerHTML += '
'; - - if (item.title.name) - captionEl.children[0].innerHTML += '' + item.title.name.innerHTML + ''; - - if (item.title.description && item.title.name) - captionEl.children[0].innerHTML += '
'; - - if (item.title.description) - captionEl.children[0].innerHTML += '' + item.title.description.innerHTML + ''; - - return true; - }, - - }; - - // PhotoSwipe opened from URL - if (fromURL) { - if (options.galleryPIDs) { - // parse real index when custom PIDs are used - // http://photoswipe.com/documentation/faq.html#custom-pid-in-url - for (let j = 0; j < items.length; j++) { - if (items[j].pid == index) { - options.index = j; - break; - } - } - } else { - // in URL indexes start from 1 - options.index = parseInt(index, 10) - 1; - } - } else { - options.index = parseInt(index, 10); - } - - // exit if index not found - if (isNaN(options.index)) - return; - - if (disableAnimation) - options.showAnimationDuration = 0; - - // Pass data to PhotoSwipe and initialize it - gallery = new PhotoSwipeLightbox({ - gallery: pswpElement, - pswpModule: PhotoSwipe, - children: items, - ...options - }); - gallery.loadAndOpen(options.index); - - /* Updates PhotoSwiper instance from Swiper */ - let swiperInstance = this.mainSwiper ? this.mainSwiper : this.thumbsSwiper; - - gallery.on("unbindEvents", () => { - // This is index of current photoswipe slide - let getCurrentIndex = gallery.getCurrentIndex(); - // Update position of the slider - swiperInstance.slideTo(getCurrentIndex, 0, false); - // Start swiper autoplay (on close - if swiper autoplay is true) - if (swiperInstance.params && swiperInstance.params.autoplay && swiperInstance.params.autoplay.enabled) - swiperInstance.autoplay.start(); - }); - - // Swiper autoplay stop when image zoom */ - gallery.on('initialZoomIn', () => { - if (swiperInstance.params && swiperInstance.params.autoplay && swiperInstance.params.autoplay.enabled && swiperInstance.autoplay.running) - swiperInstance.autoplay.stop(); - }); - - // On destroy we make a copy of the inner content to clear it - // and set again. This stops YouTube player, for example. - gallery.on('destroy', () => { - let actualGalleryContainer = document.getElementsByClassName("pswp__container")[0]; - if (actualGalleryContainer) { - let currentData = actualGalleryContainer.innerHTML; - actualGalleryContainer.innerHTML = ''; - actualGalleryContainer.innerHTML = currentData; - } - }); - - }; - - // triggers when user clicks on thumbnail - onThumbnailsClick(e, self) { - e = e || window.event; - e.preventDefault ? e.preventDefault() : (e.returnValue = false); - - let eTarget = e.target || e.srcElement; - - // find root element of slide - let closest = function closest(el, fn) { - return el && (fn(el) ? el : closest(el.parentNode, fn)); - }; - - let clickedListItem = closest(eTarget, function(el) { - return el.tagName && el.tagName.toUpperCase() === "LI"; - }); - - if (!clickedListItem) - return; - - // find index of clicked item by looping through all child nodes - // alternatively, you may define index via data- attribute - let clickedGallery = clickedListItem.parentNode, - childNodes = clickedListItem.parentNode.childNodes, - numChildNodes = childNodes.length, - nodeIndex = 0, - index; - - for (let i = 0; i < numChildNodes; i++) { - if (childNodes[i].nodeType !== 1) - continue; - - if (childNodes[i] === clickedListItem) { - index = nodeIndex; - break; - } - nodeIndex++; - } - - // open PhotoSwipe if valid index found - if (index >= 0) - self.openPhotoSwipe(index, clickedGallery); - - return false; - } - - // parse picture index and gallery index from URL (#&pid=1&gid=2) + // Parse slide index and gallery index from URL (#&pid=1&gid=2) photoswipeParseHash() { const hash = window.location.hash.substring(1), params = {}; @@ -384,8 +329,8 @@ tainacan_plugin.classes.TainacanMediaGallery = class TainacanMediaGallery { params[pair[0]] = pair[1]; } - if (params.gid) - params.gid = parseInt(params.gid, 10); + if (params.pid) + params.pid = parseInt(params.pid, 10); return params; }