1document.addEventListener("DOMContentLoaded", function (event) { 2 const dotNetForm = document.getElementById("aspnetForm"); 3 4 //Distance Order 5 const orderSelectOptionVal_distance = 1415; 6 const orderSelectOptions = document.querySelectorAll("option[value='" + orderSelectOptionVal_distance + "']"); 7 orderSelectOptions.forEach(function (orderSelectOption) { 8 new DistanceOrder(orderSelectOption, ".bemClientCoordinates input", ".bemFilterContainer").init(); 9 }); 10 11 //Setup Multiselect 12 const filterMultiselect = document.querySelectorAll(".bemInput__Dropdown--Multiple"); 13 filterMultiselect.forEach(function (ddMultipleInput) { 14 new Multiselect(ddMultipleInput).init(); 15 }); 16 17 //Setup RangeSliderTextSync 18 const filterRangeSliders = document.querySelectorAll("input[type='range']"); 19 filterRangeSliders.forEach(function (rangeSlider) { 20 rangeSlider.addEventListener("input", function (event) { 21 let syncValueTo = this.closest(".bemInput__Range--Default").querySelector("label .bemText--value"); 22 syncValueTo.innerText = this.value; 23 }); 24 }); 25 26 //Setup filterTransferValue 27 const filterInputs = document.querySelectorAll("[data-filter=true]"); 28 filterInputs.forEach(function (filterInput) { 29 30 if (Boolean(filterInput.getAttribute("data-filterInstantSubmit")) == true) { 31 filterInput.addEventListener("click", function (event) { 32 if (event.currentTarget.getAttribute("data-filterTransferValueTo")) { 33 const elToSetVal = document.getElementById(event.currentTarget.getAttribute("data-filterTransferValueTo")); 34 if (elToSetVal.nodeName == "INPUT") { 35 elToSetVal.value = filterInput.getAttribute("data-filterValue"); 36 resetPagerIfOtherFilter(elToSetVal); 37 dotNetForm.submit(); 38 } 39 } 40 }); 41 } 42 }); 43 44 //Setup instantSubmit 45 const instantSubmitFormElements = document.querySelectorAll("[data-filterInstantSubmit='true']"); 46 instantSubmitFormElements.forEach(function (instantSubmitFormElement) { 47 instantSubmitFormElement.addEventListener("change", function (event) { 48 resetPagerIfOtherFilter(event.currentTarget); 49 dotNetForm.submit(); 50 }); 51 }); 52 53 //Reset Pager if Date Filter changes 54 const dateFilterElement = document.querySelectorAll("input[type = 'date']"); 55 dateFilterElement.forEach(function (dateFilterElement) { 56 dateFilterElement.addEventListener("change", function (event) { 57 resetPagerIfOtherFilter(event.currentTarget); 58 }); 59 }); 60 61 62 //Setup reset logic 63 const filterResetButtons = document.querySelectorAll("[type=reset]"); 64 filterResetButtons.forEach(function (filterResetButton) { 65 filterResetButton.addEventListener("click", function (event) { 66 event.preventDefault(); 67 const filterInputsToReset = event.currentTarget.closest(".bemFilterContainer").querySelectorAll("input, select, textarea"); 68 filterInputsToReset.forEach(function (filterInputToReset) { 69 if (filterInputToReset.getAttribute("type") == "date") { 70 filterInputToReset.value = new Date().toISOString().split("T")[0]; 71 } else { 72 filterInputToReset.value = ""; 73 } 74 }); 75 dotNetForm.submit(); 76 }); 77 }); 78 79 function resetPagerIfOtherFilter(currentInput) { 80 if (currentInput.id.indexOf("pager") === -1) { 81 const templateId = currentInput.closest("[data-ris-templateId]").getAttribute("data-ris-templateId"); 82 document.querySelectorAll("input#pager-" + templateId + "[type=hidden]").forEach(function (pagerInput) { 83 pagerInput.value = 0; 84 }); 85 } 86 } 87});
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.