PluginProbe
Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog & News / 4.0.7
Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog & News v4.0.7
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 2.3.5 2.3.6 2.4.0 2.4.1 2.4.10 2.4.11 2.4.12 2.4.13 2.4.14 2.4.15 2.4.16 2.4.17 2.4.18 2.4.19 2.4.2 2.4.20 2.4.21 All 88 releases
post-carousel / blocks / assets / js / smart-search.min.js

smart-search.min.js in Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog & News 4.0.7, at blocks/assets/js/smart-search.min.js

2 lines 3.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 document.addEventListener("DOMContentLoaded",function(){let e=document.querySelectorAll(".sp-smart-post-search-wrapper"),t=(e,t={})=>{try{return JSON.parse(e)||t}catch(s){return console.log("Failed to parse JSON:",e,s),t}},s=e=>fetch(sp_smart_search_block_localize.searchRestUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(e=>e.json()),r=async(e,t,a)=>{e.preventDefault();let o=e.target,l=t.querySelector(".sp-smart-post-search-results"),n=o.closest(".sp-smart-post-search-input"),p=t.querySelector(".sp-smart-post-search-cate-list");if(p){let c=p.value;a.term=c}if(n){let i=n.value.trim();if(i.length>0)l.classList.add("sp-smart-post-search-results--show"),a.s=i;else{l.classList.remove("sp-smart-post-search-results--show");return}}s(a).then(s=>{let o=t.querySelector(".sp-smart-post-search-list");o&&(o.innerHTML=s.html,a.s&&a?.hightLightSearchTerm&&function e(t,s){if(!s)return;let r=RegExp("("+s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+")","gi"),a=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,null,!1),o=[];for(;a.nextNode();)o.push(a.currentNode);o?.forEach(function(e){let t=e.parentNode;if(t&&"MARK"!==t.nodeName){let s=e.nodeValue.replace(r,'<mark class="sp-smart-post-search-highlight">$1</mark>');if(s!==e.nodeValue){let a=document.createElement("span");a.innerHTML=s,t.replaceChild(a,e)}}})}(o,a.s.trim()));let l=t.querySelector(".sp-smart-post-search-load-more");if(l){let n=a?.showResultsCount||!0,p=l.dataset.view_more_text??"View More";if(s.remaining_posts>0){if(a?.moreResultClickAction==="expanded"){l.innerHTML=`<button type="button" class="sp-smart-post-search-load-more-button"> ${p}${n?" "+s.remaining_posts+" + Posts":""}</button>`;let c=l.querySelector(".sp-smart-post-search-load-more-button");c?.addEventListener("click",()=>{a.loadMore=!0,r(e,t,a)})}else l.innerHTML=`<a href="/?s=${a.s}" ${a?.moreResultClickAction==="new_tab"?'target="_blank"':""} class="sp-smart-post-search-load-more-button">
2 ${p}${n?" "+s.remaining_posts+" + Posts":""} </a>`}else l.innerHTML=""}})};e?.forEach(e=>{let s=e.querySelector(".sp-smart-post-search-form"),a=s?.dataset?.search_settings??"{}";a=t(a,{});let o=e.closest(".sp-smart-post-wrapper");if(o&&(a.block=o.id,a?.displayType==="popup")){let l=o.querySelector("button.sp-smart-post-search-trigger-button");l&&l.addEventListener("click",()=>{e.classList.toggle("sp-smart-post-search-popup--active");let t=o.querySelector(".sp-smart-post-search-overlay");t&&(t.classList.toggle("sp-d-block"),t.addEventListener("click",()=>{e.classList.remove("sp-smart-post-search-popup--active"),t.classList.remove("sp-d-block")}));let s=e.querySelector(".sp-smart-post-popup-close-icon");s&&s.addEventListener("click",()=>{e.classList.remove("sp-smart-post-search-popup--active"),t&&t.classList.remove("sp-d-block")})})}if(a?.isAjaxSearch){let n=e?.querySelectorAll(".sp-smart-post-search-form select[name], .sp-smart-post-search-form input[name]")||[];n?.forEach(t=>{var s;let o="INPUT"===t.tagName,l;t?.addEventListener(o?"input":"change",o?(s=t=>r(t,e,a),function(...e){clearTimeout(l),l=setTimeout(()=>s.apply(this,e),400)}):t=>r(t,e,a))})}else s?.addEventListener("submit",e=>{e.preventDefault()});let p=e.querySelector(".sp-smart-post-search-results");e.addEventListener("blur",function(t){!e.contains(t.relatedTarget)&&p&&p.classList.remove("sp-smart-post-search-results--show")},!0)})}),document.addEventListener("DOMContentLoaded",()=>{let e=document.querySelectorAll(".sp-smart-post-search-wrapper.sp-smart-post-search-popup");function t(){e.forEach(e=>{let t=e.getBoundingClientRect();t.left<0?(e.style.left="0px",e.style.right="unset"):t.right>window.innerWidth&&(e.style.right="0px",e.style.left="unset")})}e.length<1||(t(),window.addEventListener("resize",t))});