const searchHeadApp=Vue.createApp({data(){return{solrHeadConfigUrl:"/chunk-fields/search-config?async=1",solrHeadAPISetting:null,searchHeadAutocompleteData:[],autoHeadCompleteDataObject:{},autoHeadCompleteInput:"",showHeadAutocompleteData:!1,focusedItemHeadIndex:-1}},async created(){await this.solrHeadConfig()},computed:{isInputInvalid(){const n=this.autoHeadCompleteInput;return n.includes("<script>")||n.includes("<\/script>")}},mounted(){document.addEventListener("click",()=>{this.showHeadAutocompleteData=!1})},methods:{async solrHeadConfig(){try{const n=await fetch(this.solrHeadConfigUrl);if(!n.ok)throw new Error(`Failed to fetch data from API. Status: ${n.status}`);this.solrHeadAPISetting=await n.json()}catch(n){console.error("Error getting Solr config:",n)}},async autocompleteRequestHead(){const n=new URLSearchParams({Handler:"autocomplete",Query:this.buildHeadAutocompleteParams()});try{const r=await fetch(this.solrHeadAPISetting.SolrGlobalConfig.APIURI,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:n.toString()}),u=await r.json();this.searchHeadAutocompleteData=JSON.parse(u);console.log(this.searchHeadAutocompleteData);const t=this.searchHeadAutocompleteData.facet_counts.facet_fields.tnt_txt_en;let i={};for(let n=0;n<t.length;n+=2)i[t[n]]=t[n+1];this.autoHeadCompleteDataObject=i}catch(t){console.error("Error in autocomplete request:",t)}},buildHeadAutocompleteParams(){return JSON.stringify({q:`(client:${this.solrHeadAPISetting.SolrGlobalConfig.CLIENT} AND (otplanguage:${this.solrHeadAPISetting.SolrOtpToolsSearchConfig.OTPLANGUAGE} OR language:${this.solrHeadAPISetting.SolrGlobalConfig.LANGUAGE}))`,"facet.prefix":this.autoHeadCompleteInput,"facet.method":"enum","facet.limit":"10"})},async searchHeadButtonRequest(){const n=this.autoHeadCompleteInput;this.isInputInvalid||(window.location.href="/search?q="+encodeURIComponent(n))},handleHeadArrowNavigation(n){if(n.key==="ArrowDown")n.preventDefault(),this.focusedItemHeadIndex<Object.keys(this.autoHeadCompleteDataObject).length-1&&(this.focusedItemHeadIndex++,this.scrollContainerIfNeeded());else if(n.key==="ArrowUp")n.preventDefault(),this.focusedItemHeadIndex>-1&&(this.focusedItemHeadIndex--,this.scrollContainerIfNeeded());else if(n.key==="Enter"&&this.focusedItemHeadIndex!==-1){n.preventDefault();const t=Object.keys(this.autoHeadCompleteDataObject),i=t[this.focusedItemHeadIndex];this.autoHeadCompleteInput=i;this.searchHeadButtonRequest()}},scrollContainerIfNeeded(){const n=document.querySelector(".seach__autocomplete--data"),t=document.querySelector(".seach__autocomplete--data-item.focused");if(n&&t){const i=n.getBoundingClientRect(),r=t.getBoundingClientRect();n.scrollTop=r.top-i.top}},selectHeadItem(n){this.autoHeadCompleteInput=n;this.searchHeadButtonRequest()},async handleHeadAutocompleteKeyup(){console.log(this.autoHeadCompleteInput);this.autoHeadCompleteInput.length>3&&(this.showHeadAutocompleteData=!0,await this.autocompleteRequestHead())},fillHeadInput(n){const t=n.currentTarget.querySelector(".key").textContent;this.autoHeadCompleteInput=t},sanitizeHeadInput(){this.autoHeadCompleteInput=this.autoHeadCompleteInput.replace(/[^A-Za-z0-9&. ]/g,"")},boldMatchedPart(n){const i=this.autoHeadCompleteInput.toLowerCase(),t=n.toLowerCase().indexOf(i);if(t!==-1){const r=n.slice(t,t+i.length),u=n.slice(0,t),f=n.slice(t+i.length);return r.startsWith("<b>")&&r.endsWith("<\/b>")?n:u+"<b>"+r+"<\/b>"+f}return n}}}),hvm=searchHeadApp.mount("#searchHeader")