1function clearField(elementId) { 2 document.getElementById(elementId).value = ""; 3} 4 5function showElement(elementId) { 6 document.getElementById(elementId).style.display = "block"; 7} 8 9function hideElement(elementId) { 10 document.getElementById(elementId).style.display = "none"; 11} 12 13function toggleVisibility(elementId) { 14 if (document.getElementById(elementId).style.display === "none") 15 document.getElementById(elementId).style.display = "block"; 16 else document.getElementById(elementId).style.display = "none"; 17} 18 19function togglePanel(toggledDiv, controlDiv, showText, hideText) { 20 if (document.getElementById(toggledDiv).style.display == "block") { 21 document.getElementById(toggledDiv).style.display = "none"; 22 document.getElementById(controlDiv).innerHTML = showText; 23 } else { 24 document.getElementById(toggledDiv).style.display = "block"; 25 document.getElementById(controlDiv).innerHTML = hideText; 26 } 27} 28 29function checkboxToggle(checkbox, element) { 30 if (document.getElementById(checkbox).checked) 31 document.getElementById(element).style.display = "block"; 32 else document.getElementById(element).style.display = "none"; 33} 34 35function checkAll(name) { 36 let checkboxes = document.getElementsByName(name); 37 38 for (let i = 0, n = checkboxes.length; i < n; i++) 39 checkboxes[i].checked = true; 40} 41 42function getRadioChoiceValue(radioChoiceElement) { 43 let selectedValue = null; 44 let radioChoice = document.getElementsByName(radioChoiceElement); 45 46 for (let i = 0, length = radioChoice.length; i < length; i++) { 47 if (radioChoice[i].checked) selectedValue = radioChoice[i].value; 48 } 49 50 return selectedValue; 51} 52 53function getSelectValue(selectElementId) { 54 let selectElement = document.getElementById(selectElementId); 55 56 return selectElement.options[selectElement.selectedIndex].value; 57} 58 59function getUrlParameter(sParam) { 60 var sPageURL = window.location.search.substring(1); 61 var sURLVariables = sPageURL.split("&"); 62 for (var i = 0; i < sURLVariables.length; i++) { 63 var sParameterName = sURLVariables[i].split("="); 64 if (sParameterName[0] == sParam) { 65 return sParameterName[1]; 66 } 67 } 68} 69 70function uncheckAll(name) { 71 let checkboxes = document.getElementsByName(name); 72 73 for (let i = 0, n = checkboxes.length; i < n; i++) 74 checkboxes[i].checked = false; 75} 76 77function itemIsInList(itemList, item, delimiter) { 78 let itemListArray = itemList.split(delimiter); 79 let itemFound = false; 80 81 for (let i = 0; i < itemListArray.length; i++) { 82 if (itemListArray[i] !== item) continue; 83 84 itemFound = true; 85 break; 86 } 87 88 return itemFound; 89} 90 91function addItemToList(itemList, item, delimiter) { 92 let items = itemList.split(delimiter); 93 94 if (items.indexOf(item) === -1) items.push(item); 95 96 let updatedList = items.join(delimiter); 97 updatedList = updatedList.replace(/^,/, ""); 98 99 return updatedList; 100} 101 102function removeItemFromList(itemList, item, delimiter) { 103 let items = itemList.split(delimiter); 104 105 for (let i = 0; i < items.length; i++) { 106 if (items[i] === item) { 107 items.splice(i, 1); 108 return items.join(delimiter); 109 } 110 } 111 112 return itemList; 113} 114 115function setDateTimeField(fieldName) { 116 let dateTimeField = document.getElementById(fieldName); 117 let dateField = document.getElementById(fieldName + "-date"); 118 let timeField = document.getElementById(fieldName + "-time"); 119 let timeValue = "12:00 AM"; 120 121 if (timeField.value !== "") timeValue = timeField.value; 122 123 if (timeField.value !== "") timeValue = timeField.value; 124 125 if (dateField.value === "") dateTimeField.value = ""; 126 else dateTimeField.value = dateField.value + " " + timeValue; 127} 128 129function setDateAndTimeFields(fieldName) { 130 let dateTimeField = document.getElementById(fieldName); 131 let dateField = document.getElementById(fieldName + "-date"); 132 let timeField = document.getElementById(fieldName + "-time"); 133 134 if (dateTimeField.value !== "") { 135 let dateTimeFieldParts = dateTimeField.value.split(" "); 136 137 dateField.value = dateTimeFieldParts[0]; 138 139 if (!dateTimeFieldParts[1]) timeField.value = " 12:00 AM"; 140 else timeField.value = dateTimeFieldParts[1] + " " + dateTimeFieldParts[2]; 141 } 142} 143 144function closePanelControls() { 145 $(".panel-control-body").hide("slide", { direction: "up" }, 10); 146 147 let arrow = $(".panel-control-header .indicator .arrow"); 148 arrow.removeClass("spin-open"); 149 arrow.removeClass("spin-close"); 150 arrow.addClass("spin-close-instant"); 151} 152 153function clearPanelControl(controlName, optionId) { 154 let checks = document.querySelectorAll( 155 "#" + controlName + ' input[type="checkbox"]', 156 ); 157 158 for (let i = 0; i < checks.length; i++) {
159 let check = checks[i]; 160 161 if (check.id !== optionId && !check.disabled) check.checked = false; 162 } 163} 164 165// WCAG 2.1 AA Compliance - updated for keyboard navigation and to ensure screen reader access 166function configurePanelControl(controlName) { 167 let filterTransitionTime = 100; 168 169 let control = $("#" + controlName); 170 let controlHeader = $("#" + controlName + " .panel-control-header"); 171 let controlBody = $("#" + controlName + " .panel-control-body"); 172 let arrow = $("#" + controlName + " .panel-control-header .indicator .arrow"); 173 174 $(controlHeader).on("click", function () { 175 if (controlBody.is(":visible")) { 176 closeMenu(); 177 } else { 178 openMenu(); 179 } 180 }); 181 182 function openMenu() { 183 controlBody.show("slide", { direction: "up" }, filterTransitionTime); 184 controlHeader.attr("aria-expanded", "true"); 185 arrow.addClass("spin-open").removeClass("spin-close spin-close-instant"); 186 } 187 188 function closeMenu() { 189 controlBody.hide("slide", { direction: "up" }, filterTransitionTime); 190 controlHeader.attr("aria-expanded", "false"); 191 arrow.addClass("spin-close").removeClass("spin-open spin-close-instant"); 192 } 193 194 $(document).on("keydown", function (e) { 195 if (e.key === "Escape" && controlBody.is(":visible")) { 196 closeMenu(); 197 controlHeader.focus(); 198 } 199 }); 200 201 $(document).on("mouseup", function (event) { 202 let clickedOutsideOfControl = 203 !control.is(event.target) && control.has(event.target).length === 0; 204 let clickedInsideDatePicker = false; 205 let datePicker = $("#ui-datepicker-div"); 206 207 if (datePicker.length) { 208 clickedInsideDatePicker = datePicker.has(event.target).length > 0; 209 } 210 211 if ( 212 clickedOutsideOfControl && 213 !clickedInsideDatePicker && 214 controlBody.is(":visible") 215 ) { 216 closeMenu(); 217 } 218 }); 219}
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.