PageSourceSearch

https://aquatorya.ru/local/templates/sotbit_b2c/components/sotbit/…/header_search/script.min.js?17708632906463

js aquatorya.ru collected 2026-10-10 02:36:05 UTC 6,463 bytes, 2 lines download raw bytes

1class SearchTitle{constructor(t){this.params=t,this.ajaxPage=t.AJAX_PAGE,this.container=document.getElementById(t.CONTAINER_ID),this.input=this.container.querySelector(`#${t.INPUT_ID}`),this.clearButton=this.container.querySelector("#header-search-clear"),this.resultContainer=this.container.querySelector("#header-search-result"),this.minQueryLength=parseInt(t.MIN_QUERY_LEN)||1,this.isOpen=!1,this.useSpeech=t.USE_SPEECH,this.addEventListeners(),this.initSearchImg(),this.initRequestHistory()}showDropdown(){this.isOpen||BX.Sotbit.B2C.showElement(this.resultContainer,{duration:100,callback:()=>{this.isOpen=!0,document.addEventListener("click",(t=>{t.composedPath().includes(this.resultContainer)||this.hideDropdown()}),{once:!0})}})}hideDropdown(){this.isOpen&&BX.Sotbit.B2C.hideElement(this.resultContainer,{duration:100,callback:()=>this.isOpen=!1})}clearInput(){this.input.value="",BX.Sotbit.B2C.hideElement(this.clearButton,{duration:100}),this.hideDropdown(),this.setResult("")}setResult(t){this.resultContainer.innerHTML=t}sendRequest(t){return BX.ajax.promise({url:this.ajaxPage,method:"POST",data:{ajax_call:"y",INPUT_ID:this.params.INPUT_ID,q:t,l:this.minQueryLength},dataType:"html"})}handleInput(){const t=this.input.value;t?BX.Sotbit.B2C.showElement(this.clearButton,{duration:100}):BX.Sotbit.B2C.hideElement(this.clearButton,{duration:100}),this.sendRequest(t).then((t=>{this.setResult(t),t?(this.showDropdown(),this.showHint()):this.hideDropdown()}))}handleInputDebounced=BX.debounce(this.handleInput,300).bind(this);addEventListeners(){if(this.input.addEventListener("input",this.handleInputDebounced.bind(this)),this.input.addEventListener("click",this.showDropdown.bind(this)),this.clearButton.addEventListener("click",this.clearInput.bind(this)),this.useSpeech){if(this.speech=this.container.querySelector("#header-search-speech"),!window.webkitSpeechRecognition&&!window.SpeechRecognition)return console.warn("Your browser does not support the SpeechRecognition API"),void this.speech.remove();this.transcriptionInProgress=null,this.speech.classList.remove("d-none"),this.speech.addEventListener("click",this.speechEvent.bind(this))}}speechEvent(){this.transcriptionInProgress?this.transcriptionInProgress.stop():(this.transcriptionInProgress=window.webkitSpeechRecognition?new webkitSpeechRecognition:new SpeechRecognition,this.transcriptionInProgress.lang=navigator.language||"ru-RU",this.transcriptionInProgress.interimResults=!0,this.transcriptionInProgress.addEventListener("result",(t=>{this.input.value=t.results[0][0].transcript,this.handleInput()})),this.transcriptionInProgress.addEventListener("end",(()=>{this.transcriptionInProgress=null,this.speech.classList.toggle("speech")})),this.transcriptionInProgress.addEventListener("start",(()=>{this.speech.classList.toggle("speech")})),this.transcriptionInProgress.addEventListener("error",(t=>{console.warn("sotbit.smartsearch: "+("not-allowed"===t.error?"no permission to use microphone":t.error)),this.speech.classList.toggle("speech")})),this.transcriptionInProgress.start())}showHint(){if(!this.params.USE_HINT)return;const t=this.input.value.split(/\s+/).pop(),e=this.resultContainer.querySelector(this.params.FIRST_ITEM_SELECTOR)?.innerText;if(""===t||!e)return;const s=e.split(/\s+/).filter((e=>e.toLowerCase().startsWith(t.toLowerCase())));if(0===s.length)return;const i=s[0],n=this.input.selectionStart;this.input.value+=i.substring(t.length,i.length),this.input.setSelectionRange(n,this.input.value.length)}initRequestHistory(){this.params.USE_REQUEST_HISTORY&&(this.isHistoryOpen=!1,this.historyItemsCount=0,this.historyWrap=document.querySelector(`#${this.params.HISTORY.WRAP_ID}`),this.historyWrap.querySelectorAll(".delete-item").forEach((t=>{t.addEventListener("click",(()=>this.deleteRequestHistoryItem(t))),this.historyItemsCount++})),this.input.addEventListener("click",(()=>0===this.input.value.length&&this.showRequestHistory())),this.input.addEventListener("input",(()=>this.input.value.length>0?this.hideRequestHistory():this.showRequestHistory())))}deleteRequestHistoryItem(t){const e=t.closest(this.params.HISTORY.ITEM_SELECTOR);
1BX.ajax.runComponentAction("sotbit:search.title","deleteRequestHistory",{mode:"class",data:{id:e.dataset.id}}),e.remove(),0==--this.historyItemsCount&&this.historyWrap.remove()}showRequestHistory(t=!1){this.isHistoryOpen&&!t||(!this.isHistoryOpen&&BX.Sotbit.B2C.showElement(this.historyWrap,{duration:100}),this.isHistoryOpen=!0,setTimeout((()=>document.addEventListener("click",(t=>{t.composedPath().includes(this.historyWrap)?this.showRequestHistory(!0):this.hideRequestHistory()}),{once:!0})),0))}hideRequestHistory(){BX.Sotbit.B2C.hideElement(this.historyWrap,{duration:100}),this.isHistoryOpen=!1}initSearchImg(){if(this.params.SEARCH_IMG){if(this.params.SEARCH_IMG.CURRENT_IMG_CONTAINER){const t=document.getElementById(this.params.SEARCH_IMG.CURRENT_IMG_CONTAINER);t?.querySelector('[data-type="clear-img"]')?.addEventListener("click",(()=>t.classList.add("d-none")))}this.params.SEARCH_IMG.FORM_CONTAINER_ID&&(this.searchImgForm=document.getElementById(this.params.SEARCH_IMG.FORM_CONTAINER_ID)),this.params.SEARCH_IMG.SHOW_FORM_BTN&&document.getElementById(this.params.SEARCH_IMG.SHOW_FORM_BTN)?.addEventListener("click",(()=>this.showSearchImg()))}}showSearchImg(){this.searchImgForm.style.display="block",setTimeout((()=>document.addEventListener("click",(t=>{t.composedPath().includes(this.searchImgForm)&&!t.target.closest('[data-type="close-form"]')?this.showSearchImg():this.hideSearchImg()}),{once:!0})),0)}hideSearchImg(){this.searchImgForm.style.display="none"}}class SearchTitleResult{constructor(t={}){this.btnAddToBasket=document.querySelectorAll('[data-type="add_to_basket"]'),this.classInCart="in-cart",this.btnAddToBasket.length>0&&this.initAddToBasket()}initAddToBasket(){for(let t of this.btnAddToBasket)t.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation();const s=t.closest("[data-product-id]");s.classList.contains(this.classInCart)||BX.ajax.runAction("sotbit:b2c.basket.add",{data:{productData:{PRODUCT_ID:s.getAttribute("data-product-id")},siteId:BX.message("SITE_ID")}}).then((t=>{s.classList.add(this.classInCart),BX.onCustomEvent("OnBasketChange"),BX.Sotbit.B2C.showMessage(BX.message("SBB_ADDED_TO_BASKET"),{subMessage:t.data.subMessage})}),(t=>{BX.Sotbit.B2C.showMessage(t.errors.map((t=>t.message)).join("\n"),{icon:"error"})}))}))}}
2//# sourceMappingURL=script.min.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.