Plugin Directory

Changeset 3376842


Ignore:
Timestamp:
10/12/2025 07:14:06 AM (3 months ago)
Author:
wssoffice21
Message:

fixed js

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ymc-smart-filter/trunk/ymc2/assets/js/frontend/main.min.js

    r3376551 r3376842  
    88                        <span class="checkmark"></span>
    99                        <span class="ymc-dropdown__checkbox">${k}</span>
    10                     </label>`;let M=x.querySelector(".ymc-dropdown__close");M?M.insertAdjacentElement("afterend",S):x.insertBefore(S,x.firstChild)}L=S.querySelector(".js-dropdown-all-checkbox");let j=L.cloneNode(!0);L.parentNode.replaceChild(j,L),L=j,L.addEventListener("change",async k=>{k.stopPropagation();let M=D(L),O=e.get(c),I=L.checked;O.length=0,u.querySelectorAll('input[type="checkbox"]:not(.js-dropdown-all-checkbox)').forEach(T=>{T.checked=!1;let E=T.closest(".js-dropdown-item");E&&E.classList.remove("is-selected")}),I?u.querySelectorAll("input[data-value]:not(.js-dropdown-all-checkbox)").forEach(T=>{T.checked=!0;let E=T.closest(".js-dropdown-item");E&&E.classList.add("is-selected");let $=E.textContent.trim();r(c,u,T.dataset.value,$),O.push({value:T.dataset.value,text:$,dropdown:u})}):O.splice(0,O.length),f(c,O),N(M),P(M,"search");let H=h(M);A(M,{terms:H,paged:1}),await w(M)})}if(b.addEventListener("click",S=>{if(S.stopPropagation(),i(u),u.classList.toggle("open")&&C){let j=b.querySelector(".js-dropdown-search");j.readOnly=!1,j.focus()}}),x&&(x.addEventListener("click",S=>{S.target.closest(".dropdown-close-btn")&&(S.stopPropagation(),u.classList.remove("open"))}),x.addEventListener("change",async S=>{var T;let L=S.target.closest('input[type="checkbox"]');if(!L||L.classList.contains("js-dropdown-all-checkbox"))return;let j=L.closest(".js-dropdown-item");if(!j)return;let k=D(L),M=L.getAttribute("data-value"),O=Number(M),I=((T=j.querySelector(".term-name"))==null?void 0:T.textContent.trim())||"",H=e.get(c);if(v==="multiple"){if(j.classList.toggle("is-selected",L.checked),L.checked)r(c,u,M,I);else{n(c,M);let $=H.findIndex(z=>z.value===M);$!==-1&&H.splice($,1);let W=u.querySelector(".js-dropdown-all-checkbox");W&&(W.checked=!1)}f(c,H),N(k),P(k,"search");let E=h(k);A(k,{terms:E,paged:1}),await w(k)}else{let E=L.checked;x.querySelectorAll(".js-dropdown-item").forEach(z=>{z.classList.remove("is-selected"),z.querySelector('input[type="checkbox"]').checked=!1});let $=H.findIndex(z=>z.dropdown===u);if($!==-1){let z=H[$].value;n(c,z),H.splice($,1)}E?(L.checked=!0,j.classList.add("is-selected"),q.textContent=I,r(c,u,M,I),H.push({value:M,text:I,dropdown:u}),C&&(b.querySelector(".js-dropdown-search").value=I)):(q.textContent=u.getAttribute("data-label")||"Select option",C&&(b.querySelector(".js-dropdown-search").value="")),f(c,H),N(k),P(k,"search");let W=h(k);A(k,{terms:W,paged:1}),await w(k)}})),C){let O=function(I,H,T=""){u.dataset.page="1",u.dataset.hasMore="true",fetch(B,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({action:"get_filter_search_terms",nonce_code:_ymc_fg_object.getFilterSearchTerms_nonce,taxonomy:I,filter_id:H,query:T})}).then(E=>E.json()).then(E=>{L.style.display="none",x.innerHTML="",E.data.close_btn&&x.insertAdjacentHTML("beforeend",E.data.close_btn),E.data.terms&&x.insertAdjacentHTML("beforeend",E.data.terms),u.dataset.page="1";let $=Number(E.data.terms_count||0);u.dataset.hasMore=$>=10?"true":"false",g(u,c),f(c,e.get(c)||[])}).catch(E=>{L.style.display="none",console.error("AJAX error:",E)})},S=b.querySelector(".js-dropdown-search"),L=b.querySelector(".js-dropdown-loader"),j=b.querySelector(".js-dropdown-clear"),k=S.dataset.taxonomy,M=S.dataset.filterId;if(j&&j.addEventListener("click",function(){S.value="",this.style.display="none",O(k,M)}),S){let I=null;S.addEventListener("input",H=>{let T=H.target.value.toLowerCase();clearTimeout(I),I=setTimeout(()=>{j&&(j.style.display=T.length>=2?"inline-block":"none"),T.length>=2?(L.style.display="inline-block",u.classList.add("open"),O(k,M,T)):T.length===0?O(k,M):L.style.display="none"},300)})}}});let m=d(c);m.dataset.listenerAdded||(m.addEventListener("click",async u=>{if(u.target.classList.contains("tag__remove")){let b=u.target.getAttribute("data-value"),q=Number(b),x=e.get(c),C=x.findIndex(S=>S.value===b);if(C!==-1){let{dropdown:S}=x[C];x.splice(C,1),n(c,b);let L=S.querySelector(`input[data-value="${b}"]`);L&&(L.checked=!1,L.closest(".js-dropdown-item").classList.remove("is-selected")),V.delete(q),f(c,x);let j=D(S);N(j),P(j,"search");let k=h(j);A(j,{terms:k,paged:1}),await w(j)}}}),m.dataset.listenerAdded="true")}),document.addEventListener("click",a=>{a.target.closest(".ymc-dropdown")||document.querySelectorAll(".ymc-dropdown.open").forEach(c=>c.classList.remove("open"))});function l(){document.querySelectorAll(".js-dropdown").forEach(m=>{let u=m.querySelector(".ymc-dropdown__list"),b=Number(m.dataset.termCount),q=Number(m.dataset.termThreshold)||40;b<q||u&&(m.dataset.page||(m.dataset.page="1"),m.dataset.hasMore||(m.dataset.hasMore="true"),m.dataset.loading||(m.dataset.loading="false"),u.addEventListener("scroll",async()=>{if(m.dataset.loading==="true"||m.dataset.hasMore==="false"||!(u.scrollTop+u.clientHeight>=u.scrollHeight-40))return;let C=Number(m.dataset.page)+1;m.dataset.loading="true",v(u);let S=await y(m,C,20);p(u),m.dataset.loading="false",S?m.dataset.page=String(C):m.dataset.hasMore="false"}))});async function y(m,u=1,b=20){var j,k,M,O;let q=m.querySelector(".ymc-dropdown__list");if(!q)return!1;let x=((k=(j=m.querySelector(".js-dropdown-search"))==null?void 0:j.dataset)==null?void 0:k.taxonomy)||m.dataset.taxonomy||"",C=((O=(M=m.querySelector(".js-dropdown-search"))==null?void 0:M.dataset)==null?void 0:O.filterId)||m.dataset.filterId||"",S=m.querySelector(".js-dropdown-search"),L=S?S.value.trim():"";try{let I=new URLSearchParams({action:"get_filter_search_terms",nonce_code:_ymc_fg_object.getFilterSearchTerms_nonce,taxonomy:x,filter_id:C,query:L,paged:u,per_page:b}),T=await(await fetch(B,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:I})).json();if(!T.success)return console.warn("fetchDropdownTerms: server returned error",T),!1;if(T.data.close_btn&&(q.querySelector(".ymc-dropdown__close")||q.insertAdjacentHTML("afterbegin",T.data.close_btn)),T.data.terms&&T.data.terms.trim()!==""){q.insertAdjacentHTML("beforeend",T.data.terms);let E=m.closest('[data-filter-type="dropdown"]');if(typeof g=="function"&&E)try{g(m,E)}catch(W){}let $=Number(T.data.terms_count||0);return!(isNaN($)||$<b)}else return!1}catch(I){return console.error("fetchDropdownTerms error",I),!1}}function v(m){let u=m.querySelector(".ymc-dropdown__loader");u||(u=document.createElement("li"),u.className="ymc-dropdown__loader",u.textContent=window._ymc_fg_object&&_ymc_fg_object.loadingText?_ymc_fg_object.loadingText:"Loading\u2026",u.style.textAlign="center",u.style.padding="8px 0",m.appendChild(u)),u.style.display="block"}function p(m){let u=m.querySelector(".ymc-dropdown__loader");u&&(u.style.display="none")}}l()}var xe=F(()=>{J();R();X();ie();te();K();G()});var je={};Q(je,{initRangeSliderFilter:()=>Ge});function Ge(){document.querySelectorAll('[data-filter-type="range"]').forEach(e=>{let s=e.querySelector("[data-tags]").dataset.tags,o=e.querySelector("[data-selected-tags]");if(s&&o){s=JSON.parse(s);let r=e.querySelector(".slider-1"),n=e.querySelector(".slider-2"),g=e.querySelector(".range1"),h=e.querySelector(".range2"),d=[],f=e.querySelector(".slider-track"),i=Object.keys(s).length,l=Object.entries(s),a=0;l.sort((y,v)=>!isNaN(Number(y[1]))&&!isNaN(Number(v[1]))?y[1]-v[1]:y[1].localeCompare(v[1]));for(let[y,v]of l)d.push([y,v]);r.setAttribute("max",i-1),n.setAttribute("max",i-1),n.setAttribute("value",i-1),g.textContent=d[0][1],h.textContent=d[i-1][1];let c=r.max;r.addEventListener("input",function(y){parseInt(n.value)-parseInt(r.value)<=a&&(r.value=parseInt(n.value)-a),r.style.zIndex=10,n.style.zIndex=0,g.textContent=d[r.value][1];let v=Number(r.value),p=Number(n.value);o.dataset.selectedTags=we(v,p,d),le(r,n,c,f)}),n.addEventListener("input",function(y){parseInt(n.value)-parseInt(r.value)<=a&&(n.value=parseInt(r.value)+a),r.style.zIndex=0,n.style.zIndex=10,h.textContent=d[n.value][1];let v=Number(r.value),p=Number(n.value);o.dataset.selectedTags=we(v,p,d),le(r,n,c,f)}),le(r,n,c,f)}e.querySelector(".apply-button button").addEventListener("click",async function(r){let n=D(e);N(n),P(n,"search"),A(n,{terms:U(n),paged:1}),await w(n)})})}function le(t,e,s,o){let r=t.value/s*100,n=e.value/s*100;o.style.background=`linear-gradient(to right, #1F1F1F ${r}% , #1F1F1F ${r}% , #1F1F1F ${n}%, #1F1F1F ${n}%)`}function we(t,e,s){let o="";for(let r=t;r<=e;r++)o+=s[r][0]+",";return o.replace(/,\s*$/,"")}var Ae=F(()=>{J();R();X();te();K()});var qe={};Q(qe,{initDatePickerFilter:()=>Ye});function Ye(){document.querySelectorAll(".date-picker-wrapper").forEach(e=>{let s=e.querySelector(".js-dropdown-selected"),o=e.querySelector(".date-picker__dropdown"),r=e.querySelector(".js-date-range"),n=e.querySelectorAll(".js-dropdown-item"),g=e.querySelector(".js-dropdown-close"),h=e.querySelector(".js-btn-cancel"),d=e.querySelector(".js-btn-apply");s.addEventListener("click",()=>{o.classList.toggle("is-open"),s.classList.toggle("is-open")}),n.forEach(f=>{f.addEventListener("change",async i=>{var y,v;let l=D(i.target),a=f.querySelector("input"),c=a.dataset.value;n.forEach(p=>p.classList.remove("is-selected")),f.classList.add("is-selected"),s.textContent=a.value,c==="other_time"?(r.classList.add("is-open"),(y=o.classList)==null||y.remove("is-open")):(v=r.classList)==null||v.remove("is-open"),N(l),P(l,"search"),A(l,{date_filter:{type:c},paged:1}),c!=="other_time"&&await w(l)})}),h&&h.addEventListener("click",f=>{var l;f.stopPropagation(),(l=r.classList)==null||l.remove("is-open"),o.querySelector(".js-dropdown-item").classList.add("is-selected");let i=o.querySelector('input[data-value="all_time"]');i&&(i.checked=!0,s.textContent=i.value,i.dispatchEvent(new Event("change",{bubbles:!0})))}),g&&g.addEventListener("click",f=>{f.stopPropagation(),o.classList.remove("is-open"),s.classList.remove("is-open")}),d&&d.addEventListener("click",async f=>{f.stopPropagation();let i=D(f.target),l=parseInt(e.querySelector('.js-date-range input[name="date_from"]').dataset.timestamp),a=parseInt(e.querySelector('.js-date-range input[name="date_to"]').dataset.timestamp),c=e.querySelector(".notification");a>=l?(c.classList.add("is-hidden"),N(i),P(i,"search"),A(i,{date_filter:{type:"other_time",from:l,to:a},paged:1}),await w(i)):c.classList.remove("is-hidden")}),document.addEventListener("click",f=>{e.contains(f.target)||(o.classList.remove("is-open"),s.classList.remove("is-open"))}),jQuery(".datepicker").datepicker({dateFormat:"M dd, yy",showAnim:"slideDown",monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],onSelect:function(f,i){let l=new Date(f).getTime()/1e3,a=i.input[0];a.dataset.timestamp=l}})})}var Te=F(()=>{K();X();R();J()});ce();async function ke(t){let e=document.querySelectorAll(".js-ymc-container [data-filter-type]"),s=new Set;e.forEach(o=>{let r=o.dataset.filterType;s.add(r)});for(let o of s)switch(o){case"default":let{initDefaultFilter:r}=await Promise.resolve().then(()=>(_e(),be));r();break;case"dropdown":let{initDropdownFilter:n}=await Promise.resolve().then(()=>(xe(),Le));n();break;case"range":let{initRangeSliderFilter:g}=await Promise.resolve().then(()=>(Ae(),je));g();break;case"date_picker":let{initDatePickerFilter:h}=await Promise.resolve().then(()=>(Te(),qe));h();break;case"dependent":let{initDependentFilter:d}=await Promise.resolve().then(()=>(ce(),Se));d();break;default:console.warn(`Unknown filter type: ${o}`)}}J();Z();function oe(t){if(t&&t.dataset.gridStyle==="masonry"){let e=t.dataset.filterId;_.addAction(`ymc/grid/after_update_${e}`,function(s,o){let r=o.querySelector(".js-ajax-content"),n=s.posts_count;r.classList.add("posts-grid--masonry"),Xe(r,e,n)})}}function Xe(t,e,s){let o=!1,r=s||4,n=20,g=4,h=!1,d=!0,f=!1,i=!1;o=_.applyFilters("ymc/grid/masonry/staticContent",o),o=_.applyFilters("ymc/grid/masonry/staticContent_"+e,o),n=_.applyFilters("ymc/grid/masonry/gutter",n),n=_.applyFilters("ymc/grid/masonry/gutter_"+e,n),g=_.applyFilters("ymc/grid/masonry/maxColumns",g),g=_.applyFilters("ymc/grid/masonry/maxColumns_"+e,g),h=_.applyFilters("ymc/grid/masonry/useMin",h),h=_.applyFilters("ymc/grid/masonry/useMin_"+e,h),d=_.applyFilters("ymc/grid/masonry/useTransform",d),d=_.applyFilters("ymc/grid/masonry/useTransform_"+e,d),f=_.applyFilters("ymc/grid/masonry/animate",f),f=_.applyFilters("ymc/grid/masonry/animate_"+e,f),i=_.applyFilters("ymc/grid/masonry/center",i),i=_.applyFilters("ymc/grid/masonry/center_"+e,i);let l=new MagicGrid({container:t,static:o,items:r,gutter:n,maxColumns:g,useMin:h,useTransform:d,animate:f,center:i});l.onReady(()=>{_.doAction("ymc/grid/masonry/magicGrid_ready",t),_.doAction("ymc/grid/masonry/magicGrid_ready_"+e,t)}),l.onPositionComplete(()=>{_.doAction("ymc/grid/masonry/magicGrid_position_complete",t),_.doAction("ymc/grid/masonry/magicGrid_position_complete_"+e,t)}),l.listen(),l.positionItems()}Z();async function Ee(){document.querySelectorAll(".js-ymc-container").forEach(e=>{_.doAction("ymc/grid/cancel_fetch",e),e.dataset.loadingEnabled==="true"&&(w(e),oe(e))})}G();Z();ae();function Ce(){_.addAction("ymc/grid/after_update",function(t,e){document.querySelectorAll(".ymc-filter-grids .js-ymc-popup-trigger").forEach(s=>{s.addEventListener("click",Ke)})})}async function Ke(t){t.preventDefault();let e=document.querySelector("body"),s=this.closest(".js-ymc-container"),o=JSON.parse(s.dataset.params),r=this.closest(".post-card"),n=this.getAttribute("data-grid-id"),g=this.getAttribute("data-post-id"),h=this.getAttribute("data-counter"),d=document.querySelector(`#ymc-popup-${n}`),f=d.querySelector(".js-ymc-popup-wrapper"),i=d.querySelector(".js-ymc-btn-popup-close"),l=d.querySelector(".js-ymc-popup-body"),a=o.preloader_settings.icon+".svg",c=o.preloader_settings.filter_preloader,y=o.preloader_settings.custom_filters_css,v=o.filter_id;if(!d)return;e.style.overflow="hidden",i.addEventListener("click",function(u){d.classList.remove("is-open"),e.style.overflow="auto"}),d.addEventListener("click",function(u){u.target===d&&(d.classList.remove("is-open"),e.style.overflow="auto")});let p=new FormData;p.append("action","get_post_to_popup"),p.append("nonce_code",_ymc_fg_object.getPostToPopup_nonce),p.append("post_id",g),p.append("grid_id",n),p.append("counter",h),l.innerHTML="",a=_.applyFilters("ymc/grid/preloader",a),a=_.applyFilters("ymc/grid/preloader_"+o.filter_id,a),ee(r,"replace","js-grid-item",a,y,c,v),_.doAction("ymc/popup/before_open",d),_.doAction("ymc/popup/before_open_"+o.filter_id,d);let m;try{if(m=await fetch(B,{method:"POST",body:p}),!m.ok){console.error(`HTTP error: ${m.status}`);return}let u=await m.json();if(!u.success){console.warn("No renderedHTML in response");return}let{body:b}=u.data;l.innerHTML=b,d.classList.add("is-open"),_.doAction("ymc/popup/after_open",d,b),_.doAction("ymc/popup/after_open_"+o.filter_id,d,b)}catch(u){console.error("Error occurred:",u)}finally{se(r)}}G();R();J();function Me(){let t=document.querySelectorAll(".js-ymc-container .js-search-field"),e=document.querySelectorAll(".js-ymc-container .js-search-button"),s=document.querySelectorAll(".js-ymc-container .js-clear-button");t&&t.forEach(o=>{o.addEventListener("keydown",ot),o.addEventListener("input",We(Qe,400))}),e&&e.forEach(o=>{o.addEventListener("click",et)}),s&&s.forEach(o=>{o.addEventListener("click",tt)}),document.addEventListener("click",rt)}function We(t,e){let s;return function(...o){let r=this;clearTimeout(s),s=setTimeout(()=>t.apply(r,o),e)}}async function Qe(t){let e=this.value,s=this.closest(".js-ymc-container"),o=this.closest(".ymc-extra-search"),r=s.querySelector(".js-autocomplete-results"),n=s.querySelector(".js-clear-button"),g=this.dataset.gridId,h=this.dataset.stateAutocomplete,d=this.dataset.searchMode,f=[];if(n.classList.add("is-visible"),h==="no")return;let i=e.trim().replace(/[^\p{L}\p{N}\s\-]/gu,"");if(i.length<3){r.classList.remove("is-visible"),r.innerHTML="",n.classList.remove("is-visible");return}if(d==="filtered")if(o){let a=o.dataset.extraFilterId;f=Y(document.querySelector(`.ymc-filter-${a}`)).terms}else f=Y(s).terms;let l=new FormData;l.append("action","get_autocomplete_suggestions"),l.append("nonce_code",_ymc_fg_object.getAutocompletePosts_nonce),l.append("keyword",i),l.append("grid_id",g),l.append("terms",JSON.stringify(f));try{let a=await fetch(B,{method:"POST",body:l});if(!a.ok){console.error(`HTTP error: ${a.status}`);return}let c=await a.json();if(!c.success){console.warn("No renderedHTML in response");return}let{results:y}=c.data;if(y.length===0){r.classList.remove("is-visible"),r.innerHTML="";return}r.innerHTML=y.map(v=>`<div class="clue-item js-clue-item" data-post-title="${v.title}" data-post-id="${v.id}">
     10                    </label>`;let M=x.querySelector(".ymc-dropdown__close");M?M.insertAdjacentElement("afterend",S):x.insertBefore(S,x.firstChild)}L=S.querySelector(".js-dropdown-all-checkbox");let j=L.cloneNode(!0);L.parentNode.replaceChild(j,L),L=j,L.addEventListener("change",async k=>{k.stopPropagation();let M=D(L),O=e.get(c),I=L.checked;O.length=0,u.querySelectorAll('input[type="checkbox"]:not(.js-dropdown-all-checkbox)').forEach(T=>{T.checked=!1;let E=T.closest(".js-dropdown-item");E&&E.classList.remove("is-selected")}),I?u.querySelectorAll("input[data-value]:not(.js-dropdown-all-checkbox)").forEach(T=>{T.checked=!0;let E=T.closest(".js-dropdown-item");E&&E.classList.add("is-selected");let $=E.textContent.trim();r(c,u,T.dataset.value,$),O.push({value:T.dataset.value,text:$,dropdown:u})}):O.splice(0,O.length),f(c,O),N(M),P(M,"search");let H=h(M);A(M,{terms:H,paged:1}),await w(M)})}if(b.addEventListener("click",S=>{if(S.stopPropagation(),i(u),u.classList.toggle("open")&&C){let j=b.querySelector(".js-dropdown-search");j.readOnly=!1,j.focus()}}),x&&(x.addEventListener("click",S=>{S.target.closest(".dropdown-close-btn")&&(S.stopPropagation(),u.classList.remove("open"))}),x.addEventListener("change",async S=>{var T;let L=S.target.closest('input[type="checkbox"]');if(!L||L.classList.contains("js-dropdown-all-checkbox"))return;let j=L.closest(".js-dropdown-item");if(!j)return;let k=D(L),M=L.getAttribute("data-value"),O=Number(M),I=((T=j.querySelector(".term-name"))==null?void 0:T.textContent.trim())||"",H=e.get(c);if(v==="multiple"){if(j.classList.toggle("is-selected",L.checked),L.checked)r(c,u,M,I);else{n(c,M);let $=H.findIndex(z=>z.value===M);$!==-1&&H.splice($,1);let W=u.querySelector(".js-dropdown-all-checkbox");W&&(W.checked=!1)}f(c,H),N(k),P(k,"search");let E=h(k);A(k,{terms:E,paged:1}),await w(k)}else{let E=L.checked;x.querySelectorAll(".js-dropdown-item").forEach(z=>{z.classList.remove("is-selected"),z.querySelector('input[type="checkbox"]').checked=!1});let $=H.findIndex(z=>z.dropdown===u);if($!==-1){let z=H[$].value;n(c,z),H.splice($,1)}E?(L.checked=!0,j.classList.add("is-selected"),q.textContent=I,r(c,u,M,I),H.push({value:M,text:I,dropdown:u}),C&&(b.querySelector(".js-dropdown-search").value=I)):(q.textContent=u.getAttribute("data-label")||"Select option",C&&(b.querySelector(".js-dropdown-search").value="")),f(c,H),N(k),P(k,"search");let W=h(k);A(k,{terms:W,paged:1}),await w(k)}})),C){let O=function(I,H,T=""){u.dataset.page="1",u.dataset.hasMore="true",fetch(B,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({action:"get_filter_search_terms",nonce_code:_ymc_fg_object.getFilterSearchTerms_nonce,taxonomy:I,filter_id:H,query:T})}).then(E=>E.json()).then(E=>{L.style.display="none",x.innerHTML="",E.data.close_btn&&x.insertAdjacentHTML("beforeend",E.data.close_btn),E.data.terms&&x.insertAdjacentHTML("beforeend",E.data.terms),u.dataset.page="1";let $=Number(E.data.terms_count||0);u.dataset.hasMore=$>=10?"true":"false",g(u,c),f(c,e.get(c)||[])}).catch(E=>{L.style.display="none",console.error("AJAX error:",E)})},S=b.querySelector(".js-dropdown-search"),L=b.querySelector(".js-dropdown-loader"),j=b.querySelector(".js-dropdown-clear"),k=S.dataset.taxonomy,M=S.dataset.filterId;if(j&&j.addEventListener("click",function(){S.value="",this.style.display="none",O(k,M)}),S){let I=null;S.addEventListener("input",H=>{let T=H.target.value.toLowerCase();clearTimeout(I),I=setTimeout(()=>{j&&(j.style.display=T.length>=2?"inline-block":"none"),T.length>=2?(L.style.display="inline-block",u.classList.add("open"),O(k,M,T)):T.length===0?O(k,M):L.style.display="none"},300)})}}});let m=d(c);m.dataset.listenerAdded||(m.addEventListener("click",async u=>{if(u.target.classList.contains("tag__remove")){let b=u.target.getAttribute("data-value"),q=Number(b),x=e.get(c),C=x.findIndex(S=>S.value===b);if(C!==-1){let{dropdown:S}=x[C];x.splice(C,1),n(c,b);let L=S.querySelector(`input[data-value="${b}"]`);L&&(L.checked=!1,L.closest(".js-dropdown-item").classList.remove("is-selected")),V.delete(q),f(c,x);let j=D(S);N(j),P(j,"search");let k=h(j);A(j,{terms:k,paged:1}),await w(j)}}}),m.dataset.listenerAdded="true")}),document.addEventListener("click",a=>{a.target.closest(".ymc-dropdown")||document.querySelectorAll(".ymc-dropdown.open").forEach(c=>c.classList.remove("open"))});function l(){document.querySelectorAll(".filter-dropdown .js-dropdown").forEach(m=>{let u=m.querySelector(".ymc-dropdown__list"),b=Number(m.dataset.termCount),q=Number(m.dataset.termThreshold)||40;b<q||u&&(m.dataset.page||(m.dataset.page="1"),m.dataset.hasMore||(m.dataset.hasMore="true"),m.dataset.loading||(m.dataset.loading="false"),u.addEventListener("scroll",async()=>{if(m.dataset.loading==="true"||m.dataset.hasMore==="false"||!(u.scrollTop+u.clientHeight>=u.scrollHeight-40))return;let C=Number(m.dataset.page)+1;m.dataset.loading="true",v(u);let S=await y(m,C,20);p(u),m.dataset.loading="false",S?m.dataset.page=String(C):m.dataset.hasMore="false"}))});async function y(m,u=1,b=20){var j,k,M,O;let q=m.querySelector(".ymc-dropdown__list");if(!q)return!1;let x=((k=(j=m.querySelector(".js-dropdown-search"))==null?void 0:j.dataset)==null?void 0:k.taxonomy)||m.dataset.taxonomy||"",C=((O=(M=m.querySelector(".js-dropdown-search"))==null?void 0:M.dataset)==null?void 0:O.filterId)||m.dataset.filterId||"",S=m.querySelector(".js-dropdown-search"),L=S?S.value.trim():"";try{let I=new URLSearchParams({action:"get_filter_search_terms",nonce_code:_ymc_fg_object.getFilterSearchTerms_nonce,taxonomy:x,filter_id:C,query:L,paged:u,per_page:b}),T=await(await fetch(B,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:I})).json();if(!T.success)return console.warn("fetchDropdownTerms: server returned error",T),!1;if(T.data.close_btn&&(q.querySelector(".ymc-dropdown__close")||q.insertAdjacentHTML("afterbegin",T.data.close_btn)),T.data.terms&&T.data.terms.trim()!==""){q.insertAdjacentHTML("beforeend",T.data.terms);let E=m.closest('[data-filter-type="dropdown"]');if(typeof g=="function"&&E)try{g(m,E)}catch(W){}let $=Number(T.data.terms_count||0);return!(isNaN($)||$<b)}else return!1}catch(I){return console.error("fetchDropdownTerms error",I),!1}}function v(m){let u=m.querySelector(".ymc-dropdown__loader");u||(u=document.createElement("li"),u.className="ymc-dropdown__loader",u.textContent=window._ymc_fg_object&&_ymc_fg_object.loadingText?_ymc_fg_object.loadingText:"Loading\u2026",u.style.textAlign="center",u.style.padding="8px 0",m.appendChild(u)),u.style.display="block"}function p(m){let u=m.querySelector(".ymc-dropdown__loader");u&&(u.style.display="none")}}l()}var xe=F(()=>{J();R();X();ie();te();K();G()});var je={};Q(je,{initRangeSliderFilter:()=>Ge});function Ge(){document.querySelectorAll('[data-filter-type="range"]').forEach(e=>{let s=e.querySelector("[data-tags]").dataset.tags,o=e.querySelector("[data-selected-tags]");if(s&&o){s=JSON.parse(s);let r=e.querySelector(".slider-1"),n=e.querySelector(".slider-2"),g=e.querySelector(".range1"),h=e.querySelector(".range2"),d=[],f=e.querySelector(".slider-track"),i=Object.keys(s).length,l=Object.entries(s),a=0;l.sort((y,v)=>!isNaN(Number(y[1]))&&!isNaN(Number(v[1]))?y[1]-v[1]:y[1].localeCompare(v[1]));for(let[y,v]of l)d.push([y,v]);r.setAttribute("max",i-1),n.setAttribute("max",i-1),n.setAttribute("value",i-1),g.textContent=d[0][1],h.textContent=d[i-1][1];let c=r.max;r.addEventListener("input",function(y){parseInt(n.value)-parseInt(r.value)<=a&&(r.value=parseInt(n.value)-a),r.style.zIndex=10,n.style.zIndex=0,g.textContent=d[r.value][1];let v=Number(r.value),p=Number(n.value);o.dataset.selectedTags=we(v,p,d),le(r,n,c,f)}),n.addEventListener("input",function(y){parseInt(n.value)-parseInt(r.value)<=a&&(n.value=parseInt(r.value)+a),r.style.zIndex=0,n.style.zIndex=10,h.textContent=d[n.value][1];let v=Number(r.value),p=Number(n.value);o.dataset.selectedTags=we(v,p,d),le(r,n,c,f)}),le(r,n,c,f)}e.querySelector(".apply-button button").addEventListener("click",async function(r){let n=D(e);N(n),P(n,"search"),A(n,{terms:U(n),paged:1}),await w(n)})})}function le(t,e,s,o){let r=t.value/s*100,n=e.value/s*100;o.style.background=`linear-gradient(to right, #1F1F1F ${r}% , #1F1F1F ${r}% , #1F1F1F ${n}%, #1F1F1F ${n}%)`}function we(t,e,s){let o="";for(let r=t;r<=e;r++)o+=s[r][0]+",";return o.replace(/,\s*$/,"")}var Ae=F(()=>{J();R();X();te();K()});var qe={};Q(qe,{initDatePickerFilter:()=>Ye});function Ye(){document.querySelectorAll(".date-picker-wrapper").forEach(e=>{let s=e.querySelector(".js-dropdown-selected"),o=e.querySelector(".date-picker__dropdown"),r=e.querySelector(".js-date-range"),n=e.querySelectorAll(".js-dropdown-item"),g=e.querySelector(".js-dropdown-close"),h=e.querySelector(".js-btn-cancel"),d=e.querySelector(".js-btn-apply");s.addEventListener("click",()=>{o.classList.toggle("is-open"),s.classList.toggle("is-open")}),n.forEach(f=>{f.addEventListener("change",async i=>{var y,v;let l=D(i.target),a=f.querySelector("input"),c=a.dataset.value;n.forEach(p=>p.classList.remove("is-selected")),f.classList.add("is-selected"),s.textContent=a.value,c==="other_time"?(r.classList.add("is-open"),(y=o.classList)==null||y.remove("is-open")):(v=r.classList)==null||v.remove("is-open"),N(l),P(l,"search"),A(l,{date_filter:{type:c},paged:1}),c!=="other_time"&&await w(l)})}),h&&h.addEventListener("click",f=>{var l;f.stopPropagation(),(l=r.classList)==null||l.remove("is-open"),o.querySelector(".js-dropdown-item").classList.add("is-selected");let i=o.querySelector('input[data-value="all_time"]');i&&(i.checked=!0,s.textContent=i.value,i.dispatchEvent(new Event("change",{bubbles:!0})))}),g&&g.addEventListener("click",f=>{f.stopPropagation(),o.classList.remove("is-open"),s.classList.remove("is-open")}),d&&d.addEventListener("click",async f=>{f.stopPropagation();let i=D(f.target),l=parseInt(e.querySelector('.js-date-range input[name="date_from"]').dataset.timestamp),a=parseInt(e.querySelector('.js-date-range input[name="date_to"]').dataset.timestamp),c=e.querySelector(".notification");a>=l?(c.classList.add("is-hidden"),N(i),P(i,"search"),A(i,{date_filter:{type:"other_time",from:l,to:a},paged:1}),await w(i)):c.classList.remove("is-hidden")}),document.addEventListener("click",f=>{e.contains(f.target)||(o.classList.remove("is-open"),s.classList.remove("is-open"))}),jQuery(".datepicker").datepicker({dateFormat:"M dd, yy",showAnim:"slideDown",monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],onSelect:function(f,i){let l=new Date(f).getTime()/1e3,a=i.input[0];a.dataset.timestamp=l}})})}var Te=F(()=>{K();X();R();J()});ce();async function ke(t){let e=document.querySelectorAll(".js-ymc-container [data-filter-type]"),s=new Set;e.forEach(o=>{let r=o.dataset.filterType;s.add(r)});for(let o of s)switch(o){case"default":let{initDefaultFilter:r}=await Promise.resolve().then(()=>(_e(),be));r();break;case"dropdown":let{initDropdownFilter:n}=await Promise.resolve().then(()=>(xe(),Le));n();break;case"range":let{initRangeSliderFilter:g}=await Promise.resolve().then(()=>(Ae(),je));g();break;case"date_picker":let{initDatePickerFilter:h}=await Promise.resolve().then(()=>(Te(),qe));h();break;case"dependent":let{initDependentFilter:d}=await Promise.resolve().then(()=>(ce(),Se));d();break;default:console.warn(`Unknown filter type: ${o}`)}}J();Z();function oe(t){if(t&&t.dataset.gridStyle==="masonry"){let e=t.dataset.filterId;_.addAction(`ymc/grid/after_update_${e}`,function(s,o){let r=o.querySelector(".js-ajax-content"),n=s.posts_count;r.classList.add("posts-grid--masonry"),Xe(r,e,n)})}}function Xe(t,e,s){let o=!1,r=s||4,n=20,g=4,h=!1,d=!0,f=!1,i=!1;o=_.applyFilters("ymc/grid/masonry/staticContent",o),o=_.applyFilters("ymc/grid/masonry/staticContent_"+e,o),n=_.applyFilters("ymc/grid/masonry/gutter",n),n=_.applyFilters("ymc/grid/masonry/gutter_"+e,n),g=_.applyFilters("ymc/grid/masonry/maxColumns",g),g=_.applyFilters("ymc/grid/masonry/maxColumns_"+e,g),h=_.applyFilters("ymc/grid/masonry/useMin",h),h=_.applyFilters("ymc/grid/masonry/useMin_"+e,h),d=_.applyFilters("ymc/grid/masonry/useTransform",d),d=_.applyFilters("ymc/grid/masonry/useTransform_"+e,d),f=_.applyFilters("ymc/grid/masonry/animate",f),f=_.applyFilters("ymc/grid/masonry/animate_"+e,f),i=_.applyFilters("ymc/grid/masonry/center",i),i=_.applyFilters("ymc/grid/masonry/center_"+e,i);let l=new MagicGrid({container:t,static:o,items:r,gutter:n,maxColumns:g,useMin:h,useTransform:d,animate:f,center:i});l.onReady(()=>{_.doAction("ymc/grid/masonry/magicGrid_ready",t),_.doAction("ymc/grid/masonry/magicGrid_ready_"+e,t)}),l.onPositionComplete(()=>{_.doAction("ymc/grid/masonry/magicGrid_position_complete",t),_.doAction("ymc/grid/masonry/magicGrid_position_complete_"+e,t)}),l.listen(),l.positionItems()}Z();async function Ee(){document.querySelectorAll(".js-ymc-container").forEach(e=>{_.doAction("ymc/grid/cancel_fetch",e),e.dataset.loadingEnabled==="true"&&(w(e),oe(e))})}G();Z();ae();function Ce(){_.addAction("ymc/grid/after_update",function(t,e){document.querySelectorAll(".ymc-filter-grids .js-ymc-popup-trigger").forEach(s=>{s.addEventListener("click",Ke)})})}async function Ke(t){t.preventDefault();let e=document.querySelector("body"),s=this.closest(".js-ymc-container"),o=JSON.parse(s.dataset.params),r=this.closest(".post-card"),n=this.getAttribute("data-grid-id"),g=this.getAttribute("data-post-id"),h=this.getAttribute("data-counter"),d=document.querySelector(`#ymc-popup-${n}`),f=d.querySelector(".js-ymc-popup-wrapper"),i=d.querySelector(".js-ymc-btn-popup-close"),l=d.querySelector(".js-ymc-popup-body"),a=o.preloader_settings.icon+".svg",c=o.preloader_settings.filter_preloader,y=o.preloader_settings.custom_filters_css,v=o.filter_id;if(!d)return;e.style.overflow="hidden",i.addEventListener("click",function(u){d.classList.remove("is-open"),e.style.overflow="auto"}),d.addEventListener("click",function(u){u.target===d&&(d.classList.remove("is-open"),e.style.overflow="auto")});let p=new FormData;p.append("action","get_post_to_popup"),p.append("nonce_code",_ymc_fg_object.getPostToPopup_nonce),p.append("post_id",g),p.append("grid_id",n),p.append("counter",h),l.innerHTML="",a=_.applyFilters("ymc/grid/preloader",a),a=_.applyFilters("ymc/grid/preloader_"+o.filter_id,a),ee(r,"replace","js-grid-item",a,y,c,v),_.doAction("ymc/popup/before_open",d),_.doAction("ymc/popup/before_open_"+o.filter_id,d);let m;try{if(m=await fetch(B,{method:"POST",body:p}),!m.ok){console.error(`HTTP error: ${m.status}`);return}let u=await m.json();if(!u.success){console.warn("No renderedHTML in response");return}let{body:b}=u.data;l.innerHTML=b,d.classList.add("is-open"),_.doAction("ymc/popup/after_open",d,b),_.doAction("ymc/popup/after_open_"+o.filter_id,d,b)}catch(u){console.error("Error occurred:",u)}finally{se(r)}}G();R();J();function Me(){let t=document.querySelectorAll(".js-ymc-container .js-search-field"),e=document.querySelectorAll(".js-ymc-container .js-search-button"),s=document.querySelectorAll(".js-ymc-container .js-clear-button");t&&t.forEach(o=>{o.addEventListener("keydown",ot),o.addEventListener("input",We(Qe,400))}),e&&e.forEach(o=>{o.addEventListener("click",et)}),s&&s.forEach(o=>{o.addEventListener("click",tt)}),document.addEventListener("click",rt)}function We(t,e){let s;return function(...o){let r=this;clearTimeout(s),s=setTimeout(()=>t.apply(r,o),e)}}async function Qe(t){let e=this.value,s=this.closest(".js-ymc-container"),o=this.closest(".ymc-extra-search"),r=s.querySelector(".js-autocomplete-results"),n=s.querySelector(".js-clear-button"),g=this.dataset.gridId,h=this.dataset.stateAutocomplete,d=this.dataset.searchMode,f=[];if(n.classList.add("is-visible"),h==="no")return;let i=e.trim().replace(/[^\p{L}\p{N}\s\-]/gu,"");if(i.length<3){r.classList.remove("is-visible"),r.innerHTML="",n.classList.remove("is-visible");return}if(d==="filtered")if(o){let a=o.dataset.extraFilterId;f=Y(document.querySelector(`.ymc-filter-${a}`)).terms}else f=Y(s).terms;let l=new FormData;l.append("action","get_autocomplete_suggestions"),l.append("nonce_code",_ymc_fg_object.getAutocompletePosts_nonce),l.append("keyword",i),l.append("grid_id",g),l.append("terms",JSON.stringify(f));try{let a=await fetch(B,{method:"POST",body:l});if(!a.ok){console.error(`HTTP error: ${a.status}`);return}let c=await a.json();if(!c.success){console.warn("No renderedHTML in response");return}let{results:y}=c.data;if(y.length===0){r.classList.remove("is-visible"),r.innerHTML="";return}r.innerHTML=y.map(v=>`<div class="clue-item js-clue-item" data-post-title="${v.title}" data-post-id="${v.id}">
    1111                ${st(v.context)}
    1212             </div>`).join(""),Ze(s),r.classList.add("is-visible")}catch(a){console.error("Error occurred:",a)}finally{}}function Ze(t){t.querySelectorAll(".js-autocomplete-results .js-clue-item").forEach(e=>{e.addEventListener("click",async function(s){let o=s.target.closest(".js-clue-item"),r=o.closest(".ymc-extra-search"),n=o.dataset.postTitle;if(!o)return;let g=o.closest(".js-ymc-container"),h=g.querySelector(".js-search-field"),d=g.querySelector(".js-autocomplete-results"),f=g.querySelector(".js-clear-button"),i=document.createElement("div");i.innerHTML=o.innerHTML;let l=i.textContent.trim();if(h.value=l,h.dataset.postTitle=n,d.innerHTML="",d.classList.remove("is-visible"),f.classList.add("is-visible"),r){let a=r.dataset.extraFilterId;g=document.querySelector(`.ymc-filter-${a}`)}A(g,{search:n,paged:1}),await w(g)})})}async function et(){let t=this.closest(".js-ymc-container"),e=this.closest(".ymc-extra-search"),s=this.closest(".search-form").querySelector(".js-search-field"),o=t.querySelector(".js-autocomplete-results"),r=s.dataset.postTitle;r||(r=s.value);let n=r.trim().replace(/[^\p{L}\p{N}\s\-]/gu,"");if(n.length<3){console.log("Minimum keyword length: 2 characters");return}if(o.classList.remove("is-visible"),o.innerHTML="",s.dataset.postTitle="",e){let g=e.dataset.extraFilterId;t=document.querySelector(`.ymc-filter-${g}`)}A(t,{search:n}),await w(t)}async function tt(){let t=this.closest(".js-ymc-container"),e=this.closest(".ymc-extra-search"),s=this.closest(".search-form").querySelector(".js-search-field"),o=t.querySelector(".js-autocomplete-results");if(this.classList.remove("is-visible"),s.value="",o.classList.remove("is-visible"),o.innerHTML="",s.dataset.postTitle="",e){let r=e.dataset.extraFilterId;t=document.querySelector(`.ymc-filter-${r}`)}P(t,"search"),await w(t)}function st(t){let e=document.createElement("div");e.innerHTML=t;function s(o){if(o.nodeType===Node.TEXT_NODE&&o.textContent.trim())return o.textContent=o.textContent.replace(/^(\s*)(\S)/,(r,n,g)=>n+g.toUpperCase()),!0;for(let r of o.childNodes)if(s(r))return!0;return!1}return s(e),e.innerHTML}function rt(t){document.querySelectorAll(".filter-posts-search").forEach(s=>{let o=s.querySelector(".js-autocomplete-results");s.contains(t.target)||(o.classList.remove("is-visible"),o.innerHTML="")})}async function ot(t){let e=t.target,s=e.closest(".js-ymc-container"),o=e.closest(".ymc-extra-search"),r=s.querySelector(".js-autocomplete-results"),n=r.querySelectorAll(".js-clue-item"),h=e.dataset.stateAutocomplete!=="no",d=-1;if(h&&n.length&&r.classList.contains("is-visible")){if(n.forEach((i,l)=>{i.classList.contains("is-active")&&(d=l)}),t.key==="ArrowDown")if(t.preventDefault(),d<n.length-1){d>=0&&n[d].classList.remove("is-active");let i=n[d+1];i.classList.add("is-active"),f(e,i)}else{n[d].classList.remove("is-active");let i=n[0];i.classList.add("is-active"),f(e,i)}if(t.key==="ArrowUp")if(t.preventDefault(),d>0){n[d].classList.remove("is-active");let i=n[d-1];i.classList.add("is-active"),f(e,i)}else if(d===0){n[d].classList.remove("is-active");let i=n[n.length-1];i.classList.add("is-active"),f(e,i)}else{let i=n[n.length-1];i.classList.add("is-active"),f(e,i)}}if(t.key==="Enter"){if(t.preventDefault(),h&&r.classList.contains("is-visible")){let l=r.querySelector(".js-clue-item.is-active");if(l){let a=l.dataset.postTitle,c=document.createElement("div");c.innerHTML=l.innerHTML;let y=c.textContent.trim();if(e.value=y,e.dataset.postTitle=a,r.innerHTML="",r.classList.remove("is-visible"),s.querySelector(".js-clear-button").classList.add("is-visible"),o){let p=o.dataset.extraFilterId;s=document.querySelector(`.ymc-filter-${p}`)}A(s,{search:a,paged:1}),await w(s);return}}let i=s.querySelector(".js-search-button");i&&i.click()}t.key==="Escape"&&(r.classList.remove("is-visible"),r.innerHTML="",n.forEach(i=>i.classList.remove("is-active")),e.focus());function f(i,l){let a=document.createElement("div");a.innerHTML=l.innerHTML;let c=a.textContent.trim(),y=l.dataset.postTitle;i.value=c,i.dataset.postTitle=y}}R();J();function Fe(){let t=document.querySelectorAll(".js-ymc-container .js-sort-dropdown");t&&t.forEach(e=>{let s=e.closest(".js-ymc-container"),o=e.closest(".ymc-extra-sort"),r=e.querySelector(".js-sort-dropdown-toggle"),n=e.querySelector(".js-sort-dropdown-menu"),g=e.querySelector(".js-sort-order-input"),h=e.querySelector(".js-selected-value");r.addEventListener("click",function(){e.classList.toggle("dropdown-open")}),n.querySelectorAll(".js-sort-item").forEach(d=>{d.addEventListener("click",async function(){let f=this.getAttribute("data-orderby"),i=this.getAttribute("data-order");if(d.closest(".js-sort-dropdown-menu").querySelectorAll(".js-sort-item").forEach(l=>{l.classList.remove("is-asc","is-desc")}),i==="DESC"?(i="ASC",this.setAttribute("data-order","ASC"),this.classList.add("is-asc"),this.classList.remove("is-desc"),h.classList.add("is-asc"),h.classList.remove("is-desc")):(i="DESC",this.setAttribute("data-order","DESC"),this.classList.add("is-desc"),this.classList.remove("is-asc"),h.classList.add("is-desc"),h.classList.remove("is-asc")),h.textContent=this.textContent,g.value=f,o){let l=o.dataset.extraFilterId;s=document.querySelector(`.ymc-filter-${l}`)}A(s,{order:i,orderby:f,paged:1}),await w(s)})}),document.addEventListener("click",function(d){e.contains(d.target)||e.classList.remove("dropdown-open")})})}G();function Pe(){ymcHooks.addAction("ymc/grid/after_update",function(t,e){e.querySelectorAll(".post-card .js-post-link").forEach(s=>{s.addEventListener("click",()=>{let o=s.dataset.postId;if(!o)return;let r=`ymc_post_view_${o}`,n=Date.now(),g=24*60*60*1e3,h=localStorage.getItem(r);if(h)try{let i=JSON.parse(h);if(i.timestamp&&n-i.timestamp<g)return}catch(i){}localStorage.setItem(r,JSON.stringify({timestamp:n}));let d="action=update_track_view&post_id="+encodeURIComponent(o),f=new Blob([d],{type:"application/x-www-form-urlencoded;charset=UTF-8"});navigator.sendBeacon?navigator.sendBeacon(B,f):fetch(B,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d,keepalive:!0}).then(i=>i.json()).then(i=>{if(i.success&&i.data.views){let l=s.closest(".post-card").querySelector(".js-post-views");l&&(l.textContent=i.data.views)}}).catch(console.error)})})})}document.addEventListener("DOMContentLoaded",()=>{ke(),Ee(),Ce(),Me(),Fe(),oe(),Pe()});
Note: See TracChangeset for help on using the changeset viewer.