var _tag=new SelectBox("tag","flex-1");_tag.addEventListener("addItem",tagHandler);_tag.addEventListener("removeItem",tagHandler);function tagHandler(e){loadResults(1)} var _threadSort=new Dropdown("thread-sort");function threadSortHandler(e){loadResults(1)} _threadSort.addEventListener("change",threadSortHandler);function pageButtonHandler(e){loadResults(e.currentTarget.dataset.page);_results.scrollIntoView({behavior:"smooth"})} paginationSetup(pageButtonHandler);var loadResults=function(page){_results.classList.add("inactive");if(_refresh)_refresh.classList.add("show");var _urlLoader=new URLLoader();_urlLoader.addEventListener("complete",function(e){var resultsHTML=e.data.resultsHTML;_results.replaceChildren();_results.insertAdjacentHTML('beforeend',resultsHTML);_results.classList.remove("inactive");if(_refresh)_refresh.classList.remove("show");paginationSetup(pageButtonHandler)});_urlLoader.addEventListener("error",function(e){_results.classList.remove("inactive");if(_refresh)_refresh.classList.remove("show");});var params={tag:_tag.selectedItems.map(i=>i.value).join(","),sortBy:_threadSort.value,page:page};_urlLoader.load("/ajax/thread/getResults?"+new URLSearchParams(params).toString())} var _results=document.getElementById('results');var _refresh=document.querySelector('.refresh-container');Modal.addEventListener("close",modalCloseHandler);function modalCloseHandler(e){switch(e.id){case "new-thread-modal":resetNewThreadModal();break}} var _newThreadScreen=document.getElementById("new-thread-screen");var _newThreadForm=document.getElementById("new-thread-form");var _newThreadTitle=document.getElementById("new-thread-title");var _newThreadContent=document.getElementById("new-thread-content");var _newThreadTags=new SelectBox("new-thread-tags");var _newThreadMessage=document.getElementById("new-thread-message");function resetNewThreadModal(){clearForm([_newThreadTitle,_newThreadContent],"input");_newThreadForm.classList.remove("hide");_newThreadTitle.classList.remove("error");_newThreadContent.classList.remove("error");_newThreadTags.clearSelectedItems();_newThreadMessage.classList.add("hide")} function sendNewThread(){var title=_newThreadTitle.value.trim();var content=_newThreadContent.value.trim();var tags=_newThreadTags.values;var _inputsWithError=_newThreadScreen.querySelectorAll(".error");for(var i=0;i<_inputsWithError.length;i++){_inputsWithError[i].classList.remove("error")} if(_newThreadTitle.value.length==0)_newThreadTitle.classList.add("error");if(_newThreadContent.value.length<10)_newThreadContent.classList.add("error");_inputsWithError=_newThreadScreen.querySelectorAll(".error");var _valid=_inputsWithError.length==0;if(_valid){var params={"title":title,"content":content,"tags":tags};var _urlLoader=new URLLoader();_urlLoader.addEventListener("complete",function(e){var response=e.data;if(!response.error){_newThreadForm.classList.add("hide");_newThreadMessage.classList.remove("hide")}else{Modal.close("new-thread-modal")}});_urlLoader.addEventListener("error",function(e){Modal.close("new-thread-modal")});_urlLoader.load("/ajax/api/addThread",0,params)}} function showNewThread(){Modal.open("new-thread-modal")}