Changeset 3141876
- Timestamp:
- 08/26/2024 07:28:54 PM (19 months ago)
- Location:
- panorom/trunk
- Files:
-
- 6 edited
-
classes/class-panorom-editor.php (modified) (1 diff)
-
panorom.php (modified) (2 diffs)
-
public/css/editor.css (modified) (1 diff)
-
public/css/viewer.css (modified) (1 diff)
-
public/js/viewer.min.js (modified) (1 diff)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
panorom/trunk/classes/class-panorom-editor.php
r3137330 r3141876 359 359 <input type="number" id="input-autorotate-speed" value="0" class="push-to-right"> 360 360 </div> 361 <div class="row" >361 <div class="row" style="display: none;"> 362 362 <label for="input-autorotate-stop-after" class="label-title">Stop after <small>(s)</small></label> 363 363 <input type="number" id="input-autorotate-stop-after" min="0" value="0" class="push-to-right"> -
panorom/trunk/panorom.php
r3137330 r3141876 6 6 * Plugin URI: https://wordpress.org/plugins/panorom/ 7 7 * Description: Panorom - 360° panorama and virtual tour builder with interactive and easy-to-use interface. 8 * Version: 5.1 1.28 * Version: 5.12.0 9 9 * Author: Panorom 10 10 * Author URI: https://panorom.com/ … … 18 18 19 19 20 define('PNRM_VERSION', '5.1 1.2');20 define('PNRM_VERSION', '5.12.0'); 21 21 define("PNRM_DIR_URL", plugin_dir_url(__FILE__)); 22 22 define("PNRM_DIR_PATH", plugin_dir_path(__FILE__)); -
panorom/trunk/public/css/editor.css
r3137330 r3141876 99 99 100 100 101 #wpadminbar { 102 opacity: 0.99999; 103 } 101 104 102 105 .pnrm-editor .thumbnail-bar { 103 106 background-color: #eee; 104 position: relative; 107 /* position: relative; */ 108 position: absolute; 109 max-width: 100%; 105 110 display: none; 106 111 z-index: 0; /* to put it behind hotspot menu */ -
panorom/trunk/public/css/viewer.css
r3137330 r3141876 5 5 width: 100%; 6 6 overflow-wrap: normal; 7 clear: both; 7 8 } 8 9 -
panorom/trunk/public/js/viewer.min.js
r3137330 r3141876 1 "use strict";var panoromViewer=function(){var output={},pnrmViewerDiv;if(document.querySelector(".pnrm-viewer")){console.log("panorom viewer running"),document.addEventListener("DOMContentLoaded",(function(){var topViewerDivs;document.querySelectorAll(".pnrm-viewer").forEach((function(viewerDiv){populatePanoromForDiv(viewerDiv,(function(mainConfig,mainConfigText,panoObj){mainConfigArray.push(mainConfig),mainConfigTextArray.push(mainConfigText),panoObjArray.push(panoObj)}))}))}));var mainConfigArray=[];output.printMainConfig=function(){mainConfigArray.forEach((function(mainConfig){console.log(mainConfig)}))};var mainConfigTextArray=[];output.printMainConfigText=function(){mainConfigTextArray.forEach((function(mainConfigText){console.log(mainConfigText)}))};var panoObjArray=[];return output.panoObjArray=panoObjArray,output}function populatePanoromForDiv(viewerDiv,callback){var pnrmDiv=viewerDiv.querySelector(".pnrm-div"),pano,configJson,config={},tourId,dataToSend={action:"get_tour",post_id:pnrmDiv.dataset.tourId};function checkStartSceneInShortcode(){var startSceneId;pnrmDiv.dataset.startSceneId&&(startSceneId=pnrmDiv.dataset.startSceneId);const urlParams=new URLSearchParams(window.location.search);if(urlParams.has("panorom_start")&&(startSceneId=urlParams.get("panorom_start")),startSceneId&&void 0!==config.scenes[startSceneId]){let tmpAutoRotate,tmpAutoRotateStopDelay;config.default.firstScene&&(tmpAutoRotate=config.scenes[config.default.firstScene].autoRotate,delete config.scenes[config.default.firstScene].autoRotate,tmpAutoRotateStopDelay=config.scenes[config.default.firstScene],delete config.scenes[config.default.firstScene].autoRotateStopDelay),config.default.firstScene=startSceneId,tmpAutoRotate&&(config.scenes[config.default.firstScene].autoRotate=tmpAutoRotate),tmpAutoRotateStopDelay&&(config.scenes[config.default.firstScene].autoRotateStopDelay=tmpAutoRotateStopDelay)}}function applyConfigToMainLogo(){var mainLogo=viewerDiv.querySelector(".custom-logo"),mainLogoImg=document.createElement("img");config.default.pnrmLogoUrl&&(mainLogoImg.src=config.default.pnrmLogoUrl,mainLogo.appendChild(mainLogoImg),mainLogo.classList.add("show")),config.default.pnrmLogoSizeFixed&&(mainLogoImg.style.width=config.default.pnrmLogoSizeFixed+"px"),config.default.pnrmLogoLink&&(mainLogo.href=config.default.pnrmLogoLink)}function handlePnrmAudio(){const iconAudioOn=pnrmDiv.querySelector(".icon-audio-on"),iconAudioOff=pnrmDiv.querySelector(".icon-audio-off"),audioEl=document.createElement("audio");let playStarted=!1;config.default.pnrmAudioFileUrl&&(config.default.compass&&(iconAudioOff.classList.add("shifted"),iconAudioOn.classList.add("shifted")),audioEl.src=config.default.pnrmAudioFileUrl,audioEl.setAttribute("controls",""),audioEl.style.display="none",viewerDiv.appendChild(audioEl),iconAudioOff.classList.add("show"),viewerDiv.onclick=viewerDiv.ontouchstart=function(){config.default.pnrmAudioStartOnClick||playStarted||(audioEl.play(),playStarted=!0)},iconAudioOn.onclick=iconAudioOn.ontouchstart=function(e){e.preventDefault(),audioEl.pause()},iconAudioOff.onclick=iconAudioOff.ontouchstart=function(e){e.preventDefault(),audioEl.play()},audioEl.onplay=function(){iconAudioOff.classList.remove("show"),iconAudioOn.classList.add("show")},audioEl.onpause=function(){iconAudioOn.classList.remove("show"),iconAudioOff.classList.add("show")})}function handleFullscreen(){if(!config.default.pnrmFullscreen)return;viewerDiv.querySelector(".box-main-interface").classList.add("pnrm-fullscreen"),document.querySelector("body").style.overflowY="hidden";const controls=viewerDiv.querySelector(".pnrm-pnlm-controls-container");controls.style.top="calc(230px - "+controls.getBoundingClientRect().height+"px - 4px)"}function handleThumbnailBar(){if(!config.default.pnrmThumbnailBar)return;const tBar=new PnrmThumbnailBar({topContainer:viewerDiv.querySelector(".box-main-interface"),isActivated:!!pnrm_ajax_object.is_activated,isEditorPage:!1});tBar.draw(config,pano),pano.on("scenechange",(function(sceneId){tBar.updateSelected(sceneId)})),config.default.pnrmFullscreen&&(config.default.compass||config.default.pnrmAudioFileUrl)&&(viewerDiv.querySelector(".thumbnail-bar").style.right="70px"),config.default.pnrmBarClosedAtStart&&tBar.close()}function fixChromeBug(){function getElementsWithCriteria(pnrmDivWidth){const allElements=document.querySelectorAll("*"),matchingElements=Array.from(allElements).filter(element=>{const style=window.getComputedStyle(element),position=style.position,opacity=parseFloat(style.opacity),width=parseFloat(style.width);return("fixed"===position||"sticky"===position)&&1===opacity&&width>=pnrmDivWidth&&!1===element.classList.contains("pnrm-div")});return matchingElements}const elements=getElementsWithCriteria(viewerDiv.getBoundingClientRect().width);elements.forEach(el=>{el.style.opacity="0.99999"})}function handleSceneChange(sceneId){hideInfoOverlay();var scene=config.scenes[sceneId];if(scene&&scene.previewTitle){var infoDisplay=viewerDiv.querySelector(".pnrm-pnlm-panorama-info"),titleBox=viewerDiv.querySelector(".pnrm-pnlm-title-box");infoDisplay&&titleBox&&(titleBox.textContent=scene.previewTitle,infoDisplay.style.display="inline")}}function correctHttpProtocol(){for(let key in config.scenes){var scene=config.scenes[key],panoramaNoHttp=scene.panorama.replace(/^https?:\/\//,"");scene.panorama=window.location.protocol+"//"+panoramaNoHttp;var thumbnailNoHttp=scene.thumbnail.replace(/^https?:\/\//,"");scene.thumbnail=window.location.protocol+"//"+thumbnailNoHttp}}function removeDefaultSceneHfov(){for(let key in config.scenes){var scene;delete config.scenes[key].hfov}}function calculateHfovFromPnrmHfov(){var widthOfDiv=viewerDiv.getBoundingClientRect().width,initialHfov=100;void 0===config.default.pnrmHfov&&(config.default.pnrmHfov=100),config.default.hfov=widthOfDiv<600?Number(config.default.pnrmHfov)-20:widthOfDiv>1440?Number(config.default.pnrmHfov)+10:Number(config.default.pnrmHfov)}function calculateHeightForScreenSizes(){var widthOfDiv=viewerDiv.getBoundingClientRect().width;widthOfDiv<600&&void 0!==config.default.pnrmHeightSmall?pnrmDiv.style.height=Number(config.default.pnrmHeightSmall)+"px":widthOfDiv>1440&&void 0!==config.default.pnrmHeightLarge?pnrmDiv.style.height=Number(config.default.pnrmHeightLarge)+"px":void 0!==config.default.pnrmHeight&&(pnrmDiv.style.height=Number(config.default.pnrmHeight)+"px")}function calculatePnrmHandleMoveDisplay(){var pnrmHandleMove=viewerDiv.querySelector(".box-main-interface .pnrm-handle-move"),widthOfDiv=viewerDiv.getBoundingClientRect().width,heightOfDiv=viewerDiv.getBoundingClientRect().height;widthOfDiv<600&&heightOfDiv>200?pnrmHandleMove&&pnrmHandleMove.setAttribute("style","display: block;"):pnrmHandleMove&&pnrmHandleMove.setAttribute("style","display: none;")}function addInfoSpotClickHandlerFunc(){for(let key in config.scenes){var scene=config.scenes[key];if(void 0!==scene.hotSpots)for(var i=0;i<scene.hotSpots.length;i++)"info"===scene.hotSpots[i].type&&(scene.hotSpots[i].clickHandlerFunc=infospotClickHandler)}}jQuery.post(pnrm_ajax_object.ajax_url,dataToSend).done((function(response){response.error?console.log(response.error):(configJson=response.data,config=JSON.parse(configJson),correctHttpProtocol(),removeDefaultSceneHfov(),calculateHfovFromPnrmHfov(),calculateHeightForScreenSizes(),applyConfigToMainLogo(),checkStartSceneInShortcode(),pano=pannellumMod.viewer(pnrmDiv,config),addInfoSpotClickHandlerFunc(),addInfoOverlayEvents(),handlePnrmAudio(),handleFullscreen(),handleThumbnailBar(),fixChromeBug(),pano.on("scenechange",handleSceneChange),callback(config,configJson,pano))})).fail((function(xhr,status,error){console.log(error)}));var infoOverlay=viewerDiv.querySelector(".info-overlay"),infoOverlayBoxContent=viewerDiv.querySelector(".info-overlay .box-content"),infoOverlayBtnClose=viewerDiv.querySelector(".info-overlay .close-icon");function infospotClickHandler(e,clickArgs){if("A"!==e.target.nodeName){var hsId=clickArgs.hsId;null!=hsId&&showInfoOverlay(hsId)}}function showInfoOverlay(hsId){var scene,hs=config.scenes[pano.getScene()].hotSpots.find((function(hotspot){return hotspot.id==hsId}));if(void 0===hs||"info"!==hs.type||!hs.infoImage&&!hs.infoVideo)return;const pInfoTitle=document.createElement("p");if(pInfoTitle.className="info-title",hs.infoURL){pInfoTitle.innerHTML="";var aInfo=document.createElement("a");aInfo.href=sanitizeURL(hs.infoURL,!0),aInfo.target="_blank";var linkIcon='<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link" style="vertical-align: middle;"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>',infoText=void 0!==hs.text?String(hs.text):"";aInfo.innerHTML=infoText+" "+linkIcon,pInfoTitle.appendChild(aInfo)}else pInfoTitle.textContent=hs.text;if(infoOverlayBoxContent.appendChild(pInfoTitle),hs.infoVideo){const video=document.createElement("video");video.src=sanitizeURL(hs.infoVideo,!0),video.autoplay=!0,video.className="info-video",video.setAttribute("controls",""),infoOverlayBoxContent.appendChild(video)}else if(hs.infoImage){const img=document.createElement("img");img.src=sanitizeURL(hs.infoImage,!0),img.className="info-image",infoOverlayBoxContent.appendChild(img)}infoOverlay.classList.add("show")}function hideInfoOverlay(){const infoTitle=infoOverlayBoxContent.querySelector(".info-title"),infoImage=infoOverlayBoxContent.querySelector(".info-image"),infoVideo=infoOverlayBoxContent.querySelector(".info-video");infoTitle&&(infoTitle.outerHTML=""),infoImage&&(infoImage.outerHTML=""),infoVideo&&(infoVideo.outerHTML=""),infoOverlay.classList.remove("show")}function addInfoOverlayEvents(){infoOverlayBoxContent.onclick=function(e){e.stopPropagation()},infoOverlay.onclick=infoOverlayBtnClose.onclick=function(){hideInfoOverlay()}}}function sanitizeURL(url,href){try{var decoded_url=decodeURIComponent(unescape(url)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return"about:blank"}return 0===decoded_url.indexOf("javascript:")||0===decoded_url.indexOf("vbscript:")?(console.log("Script URL removed."),"about:blank"):href&&0===decoded_url.indexOf("data:")?(console.log("Data URI removed from link."),"about:blank"):url}function unescape(html){return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,(function(_,n){return"colon"===(n=n.toLowerCase())?":":"#"===n.charAt(0)?"x"===n.charAt(1)?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""}))}function sanitizeURLForCss(url){return sanitizeURL(url).replace(/"/g,"%22").replace(/'/g,"%27")}}();1 "use strict";var panoromViewer=function(){var output={},pnrmViewerDiv;if(document.querySelector(".pnrm-viewer")){console.log("panorom viewer running"),document.addEventListener("DOMContentLoaded",(function(){var topViewerDivs;document.querySelectorAll(".pnrm-viewer").forEach((function(viewerDiv){populatePanoromForDiv(viewerDiv,(function(mainConfig,mainConfigText,panoObj){mainConfigArray.push(mainConfig),mainConfigTextArray.push(mainConfigText),panoObjArray.push(panoObj)}))}))}));var mainConfigArray=[];output.printMainConfig=function(){mainConfigArray.forEach((function(mainConfig){console.log(mainConfig)}))};var mainConfigTextArray=[];output.printMainConfigText=function(){mainConfigTextArray.forEach((function(mainConfigText){console.log(mainConfigText)}))};var panoObjArray=[];return output.panoObjArray=panoObjArray,output}function populatePanoromForDiv(viewerDiv,callback){var pnrmDiv=viewerDiv.querySelector(".pnrm-div"),pano,configJson,config={},tourId,dataToSend={action:"get_tour",post_id:pnrmDiv.dataset.tourId};function checkStartSceneInShortcode(){var startSceneId;pnrmDiv.dataset.startSceneId&&(startSceneId=pnrmDiv.dataset.startSceneId);const urlParams=new URLSearchParams(window.location.search);if(urlParams.has("panorom_start")&&(startSceneId=urlParams.get("panorom_start")),startSceneId&&void 0!==config.scenes[startSceneId]){let tmpAutoRotate,tmpAutoRotateStopDelay;config.default.firstScene&&(tmpAutoRotate=config.scenes[config.default.firstScene].autoRotate,delete config.scenes[config.default.firstScene].autoRotate,tmpAutoRotateStopDelay=config.scenes[config.default.firstScene],delete config.scenes[config.default.firstScene].autoRotateStopDelay),config.default.firstScene=startSceneId,tmpAutoRotate&&(config.scenes[config.default.firstScene].autoRotate=tmpAutoRotate),tmpAutoRotateStopDelay&&(config.scenes[config.default.firstScene].autoRotateStopDelay=tmpAutoRotateStopDelay)}}function applyConfigToMainLogo(){var mainLogo=viewerDiv.querySelector(".custom-logo"),mainLogoImg=document.createElement("img");config.default.pnrmLogoUrl&&(mainLogoImg.src=config.default.pnrmLogoUrl,mainLogo.appendChild(mainLogoImg),mainLogo.classList.add("show")),config.default.pnrmLogoSizeFixed&&(mainLogoImg.style.width=config.default.pnrmLogoSizeFixed+"px"),config.default.pnrmLogoLink&&(mainLogo.href=config.default.pnrmLogoLink)}function handlePnrmAudio(){const iconAudioOn=pnrmDiv.querySelector(".icon-audio-on"),iconAudioOff=pnrmDiv.querySelector(".icon-audio-off"),audioEl=document.createElement("audio");let playStarted=!1;config.default.pnrmAudioFileUrl&&(config.default.compass&&(iconAudioOff.classList.add("shifted"),iconAudioOn.classList.add("shifted")),audioEl.src=config.default.pnrmAudioFileUrl,audioEl.setAttribute("controls",""),audioEl.style.display="none",viewerDiv.appendChild(audioEl),iconAudioOff.classList.add("show"),viewerDiv.onclick=viewerDiv.ontouchstart=function(){config.default.pnrmAudioStartOnClick||playStarted||(audioEl.play(),playStarted=!0)},iconAudioOn.onclick=iconAudioOn.ontouchstart=function(e){e.preventDefault(),audioEl.pause()},iconAudioOff.onclick=iconAudioOff.ontouchstart=function(e){e.preventDefault(),audioEl.play()},audioEl.onplay=function(){iconAudioOff.classList.remove("show"),iconAudioOn.classList.add("show")},audioEl.onpause=function(){iconAudioOn.classList.remove("show"),iconAudioOff.classList.add("show")})}function handleFullscreen(){if(!config.default.pnrmFullscreen)return;viewerDiv.querySelector(".box-main-interface").classList.add("pnrm-fullscreen"),document.querySelector("body").style.overflowY="hidden";const controls=viewerDiv.querySelector(".pnrm-pnlm-controls-container");controls.style.top="calc(230px - "+controls.getBoundingClientRect().height+"px - 4px)"}function handleThumbnailBar(){if(!config.default.pnrmThumbnailBar)return;const tBar=new PnrmThumbnailBar({topContainer:viewerDiv.querySelector(".box-main-interface"),isActivated:!!pnrm_ajax_object.is_activated,isEditorPage:!1});tBar.draw(config,pano),pano.on("scenechange",(function(sceneId){tBar.updateSelected(sceneId)})),config.default.pnrmFullscreen&&(config.default.compass||config.default.pnrmAudioFileUrl)&&(viewerDiv.querySelector(".thumbnail-bar").style.right="70px"),config.default.pnrmBarClosedAtStart&&tBar.close()}function fixChromeBug(){function getElementsWithCriteria(pnrmDivWidth){const allElements=document.querySelectorAll("*"),matchingElements=Array.from(allElements).filter(element=>{const style=window.getComputedStyle(element),position=style.position,opacity=parseFloat(style.opacity),width=parseFloat(style.width);return("fixed"===position||"sticky"===position)&&1===opacity&&width>=pnrmDivWidth&&!1===element.classList.contains("pnrm-div")});return matchingElements}const elements=getElementsWithCriteria(viewerDiv.getBoundingClientRect().width);elements.forEach(el=>{el.style.opacity="0.99999"})}function autoRotateWhenEntering(){if("undefined"==typeof IntersectionObserver)return;const observerOptions={root:null,threshold:0},observer=new IntersectionObserver(handleIntersection,observerOptions);function handleIntersection(entries,observer){entries.forEach(entry=>{if(entry.isIntersecting){const sceneId=pano.getScene();config.scenes&&config.scenes[sceneId]&&config.scenes[sceneId].autoRotate?pano.startAutoRotate(config.scenes[sceneId].autoRotate):config.default.autoRotate&&pano.startAutoRotate(config.default.autoRotate)}else pano.stopAutoRotate()})}observer.observe(pnrmDiv)}function handleSceneChange(sceneId){hideInfoOverlay();var scene=config.scenes[sceneId];if(scene&&scene.previewTitle){var infoDisplay=viewerDiv.querySelector(".pnrm-pnlm-panorama-info"),titleBox=viewerDiv.querySelector(".pnrm-pnlm-title-box");infoDisplay&&titleBox&&(titleBox.textContent=scene.previewTitle,infoDisplay.style.display="inline")}}function correctHttpProtocol(){for(let key in config.scenes){var scene=config.scenes[key],panoramaNoHttp=scene.panorama.replace(/^https?:\/\//,"");scene.panorama=window.location.protocol+"//"+panoramaNoHttp;var thumbnailNoHttp=scene.thumbnail.replace(/^https?:\/\//,"");scene.thumbnail=window.location.protocol+"//"+thumbnailNoHttp}}function removeDefaultSceneHfov(){for(let key in config.scenes){var scene;delete config.scenes[key].hfov}}function calculateHfovFromPnrmHfov(){var widthOfDiv=viewerDiv.getBoundingClientRect().width,initialHfov=100;void 0===config.default.pnrmHfov&&(config.default.pnrmHfov=100),config.default.hfov=widthOfDiv<600?Number(config.default.pnrmHfov)-20:widthOfDiv>1440?Number(config.default.pnrmHfov)+10:Number(config.default.pnrmHfov)}function calculateHeightForScreenSizes(){var widthOfDiv=viewerDiv.getBoundingClientRect().width;widthOfDiv<600&&void 0!==config.default.pnrmHeightSmall?pnrmDiv.style.height=Number(config.default.pnrmHeightSmall)+"px":widthOfDiv>1440&&void 0!==config.default.pnrmHeightLarge?pnrmDiv.style.height=Number(config.default.pnrmHeightLarge)+"px":void 0!==config.default.pnrmHeight&&(pnrmDiv.style.height=Number(config.default.pnrmHeight)+"px")}function calculatePnrmHandleMoveDisplay(){var pnrmHandleMove=viewerDiv.querySelector(".box-main-interface .pnrm-handle-move"),widthOfDiv=viewerDiv.getBoundingClientRect().width,heightOfDiv=viewerDiv.getBoundingClientRect().height;widthOfDiv<600&&heightOfDiv>200?pnrmHandleMove&&pnrmHandleMove.setAttribute("style","display: block;"):pnrmHandleMove&&pnrmHandleMove.setAttribute("style","display: none;")}function addInfoSpotClickHandlerFunc(){for(let key in config.scenes){var scene=config.scenes[key];if(void 0!==scene.hotSpots)for(var i=0;i<scene.hotSpots.length;i++)"info"===scene.hotSpots[i].type&&(scene.hotSpots[i].clickHandlerFunc=infospotClickHandler)}}jQuery.post(pnrm_ajax_object.ajax_url,dataToSend).done((function(response){response.error?console.log(response.error):(configJson=response.data,config=JSON.parse(configJson),correctHttpProtocol(),removeDefaultSceneHfov(),calculateHfovFromPnrmHfov(),calculateHeightForScreenSizes(),applyConfigToMainLogo(),checkStartSceneInShortcode(),pano=pannellumMod.viewer(pnrmDiv,config),addInfoSpotClickHandlerFunc(),addInfoOverlayEvents(),handlePnrmAudio(),handleFullscreen(),handleThumbnailBar(),fixChromeBug(),autoRotateWhenEntering(),pano.on("scenechange",handleSceneChange),callback(config,configJson,pano))})).fail((function(xhr,status,error){console.log(error)}));var infoOverlay=viewerDiv.querySelector(".info-overlay"),infoOverlayBoxContent=viewerDiv.querySelector(".info-overlay .box-content"),infoOverlayBtnClose=viewerDiv.querySelector(".info-overlay .close-icon");function infospotClickHandler(e,clickArgs){if("A"!==e.target.nodeName){var hsId=clickArgs.hsId;null!=hsId&&showInfoOverlay(hsId)}}function showInfoOverlay(hsId){var scene,hs=config.scenes[pano.getScene()].hotSpots.find((function(hotspot){return hotspot.id==hsId}));if(void 0===hs||"info"!==hs.type||!hs.infoImage&&!hs.infoVideo)return;const pInfoTitle=document.createElement("p");if(pInfoTitle.className="info-title",hs.infoURL){pInfoTitle.innerHTML="";var aInfo=document.createElement("a");aInfo.href=sanitizeURL(hs.infoURL,!0),aInfo.target="_blank";var linkIcon='<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link" style="vertical-align: middle;"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>',infoText=void 0!==hs.text?String(hs.text):"";aInfo.innerHTML=infoText+" "+linkIcon,pInfoTitle.appendChild(aInfo)}else pInfoTitle.textContent=hs.text;if(infoOverlayBoxContent.appendChild(pInfoTitle),hs.infoVideo){const video=document.createElement("video");video.src=sanitizeURL(hs.infoVideo,!0),video.autoplay=!0,video.className="info-video",video.setAttribute("controls",""),infoOverlayBoxContent.appendChild(video)}else if(hs.infoImage){const img=document.createElement("img");img.src=sanitizeURL(hs.infoImage,!0),img.className="info-image",infoOverlayBoxContent.appendChild(img)}infoOverlay.classList.add("show")}function hideInfoOverlay(){const infoTitle=infoOverlayBoxContent.querySelector(".info-title"),infoImage=infoOverlayBoxContent.querySelector(".info-image"),infoVideo=infoOverlayBoxContent.querySelector(".info-video");infoTitle&&(infoTitle.outerHTML=""),infoImage&&(infoImage.outerHTML=""),infoVideo&&(infoVideo.outerHTML=""),infoOverlay.classList.remove("show")}function addInfoOverlayEvents(){infoOverlayBoxContent.onclick=function(e){e.stopPropagation()},infoOverlay.onclick=infoOverlayBtnClose.onclick=function(){hideInfoOverlay()}}}function sanitizeURL(url,href){try{var decoded_url=decodeURIComponent(unescape(url)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return"about:blank"}return 0===decoded_url.indexOf("javascript:")||0===decoded_url.indexOf("vbscript:")?(console.log("Script URL removed."),"about:blank"):href&&0===decoded_url.indexOf("data:")?(console.log("Data URI removed from link."),"about:blank"):url}function unescape(html){return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,(function(_,n){return"colon"===(n=n.toLowerCase())?":":"#"===n.charAt(0)?"x"===n.charAt(1)?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""}))}function sanitizeURLForCss(url){return sanitizeURL(url).replace(/"/g,"%22").replace(/'/g,"%27")}}(); -
panorom/trunk/readme.txt
r3137330 r3141876 4 4 Requires at least: 4.7 5 5 Tested up to: 6.6 6 Stable tag: 5.1 1.26 Stable tag: 5.12.0 7 7 Requires PHP: 5.6 8 8 License: GPLv2 or later … … 124 124 == Changelog == 125 125 126 = 5.12.0 = 127 * autorotate when in viewport 128 * thumbnail bar bug fix 129 * editor bug fix 130 126 131 = 5.11.2 = 127 132 * thumbnail bar close at start 128 133 * infospot close button fix 129 130 134 131 135 = 5.11.1 =
Note: See TracChangeset
for help on using the changeset viewer.