Custom Templates for DeepL backed up and EmailMonkey. GS University was also re-downloaded. Then small scripts updated like for Chubb.

This commit is contained in:
Norm Rasmussen
2025-02-25 17:01:36 -05:00
parent 74d46e88f4
commit a62a76f5d1
288 changed files with 9886 additions and 152 deletions

View File

@ -25,88 +25,13 @@
</main>
{% include "footer" %}
<script>
window.addEventListener("DOMContentLoaded", function() {
reorderContentAlphabetical()
document.querySelectorAll(".filter-checkbox").forEach((checkbox) => {
checkbox.addEventListener("change", () => {filterCourses()})
})
let params = new URLSearchParams(document.location.search);
params.forEach(function(param) {
document.querySelector(`.filter-checkbox[data-filter="${param}"]`).checked = true
})
document.querySelector(".clear-filters").addEventListener("click", (e) => {
e.preventDefault()
clearAllFilters()
})
})
function clearAllFilters() {
const filterableCards = document.querySelectorAll(".filterable-card");
filterableCards.forEach((card) => {
card.style.display = "flex"
})
document.querySelectorAll(".filter-checkbox").forEach((checkbox) => {
checkbox.checked = false
})
}
function reorderContentAlphabetical() {
let filterableCards = document.querySelectorAll(".filterable-card");
let filterableCardsArray = Array.from(filterableCards);
filterableCardsArray.sort((a, b) => {
let textA = a.querySelector('h3').textContent.trim().toLowerCase();
let textB = b.querySelector('h3').textContent.trim().toLowerCase();
if (textA < textB) return -1;
if (textA > textB) return 1;
return 0;
});
let parentElement = filterableCards[0].parentNode;
filterableCardsArray.forEach(element => parentElement.appendChild(element));
}
function filterCourses() {
let selectedRegionFilters = []
const checkboxFilters = document.querySelectorAll(".filter-checkbox")
checkboxFilters.forEach((checkbox) => {
if (checkbox.checked) {
if (checkbox.classList.contains("region-filter")) {
selectedRegionFilters.push(checkbox.getAttribute("data-filter"))
}
}
})
const filterableCards = document.querySelectorAll(".filterable-card")
filterableCards.forEach((card) => {
const cardTitle = card.querySelector(".np-card-content-title").textContent.trim().toLowerCase()
if
(
cardTitle.includes(selectedRegionFilters)
) {
card.style.display = "flex"
} else {
card.style.display = "none"
}
})
}
</script>
<style>
.np-training-events .np-resource-subtitle {
margin-bottom: 28px;
line-height: 1.5;
}
.np-card-training-event {
height: 100%;
}
</style>