{ "version": 3, "sources": ["../../src/_js/content/jobs-home.js"], "sourcesContent": ["document.addEventListener('DOMContentLoaded', function() {\n const cacheKey = `?cacheKey=${new Date().getTime()}`;\n fetch(`/_data/jobs.json${cacheKey}`)\n .then(function(response) { return response.json(); })\n .then(data => {\n const jobsContainer = document.getElementById('jobsData');\n const moreJobsLink = document.getElementById('moreJobsLink');\n if (jobsContainer) {\n const now = new Date();\n data = data.filter(job => !job.applyDeadline || new Date(job.applyDeadline) > now);\n const jobCount = data.length;\n if (data.length === 0) {\n const mediaReleases = document.getElementById('mediaReleases');\n if (mediaReleases) {\n mediaReleases.classList.remove('d-none');\n }\n } else {\n const careers = document.getElementById('careers');\n if (careers) {\n careers.classList.remove('d-none');\n }\n }\n\n if (jobCount > 2) {\n data = data.sort((a, b) => {\n if (!a.applyDeadline) return 1;\n if (!b.applyDeadline) return -1;\n return new Date(a.applyDeadline) - new Date(b.applyDeadline);\n }).slice(0, 2);\n if (moreJobsLink) {\n moreJobsLink.classList.remove('d-none');\n }\n } else {\n data = data.sort((a, b) => {\n if (!a.applyDeadline) return -1;\n if (!b.applyDeadline) return 1;\n return new Date(a.applyDeadline) - new Date(b.applyDeadline);\n });\n }\n\n data.forEach(job => {\n const colElement = document.createElement('div');\n if (jobCount === 1) {\n colElement.classList.add('col-12', 'mb-4');\n } else if (jobCount === 2) {\n colElement.classList.add('col-12', 'col-lg-6', 'mb-4');\n } else if (jobCount >= 3) {\n colElement.classList.add('col-12', 'col-lg-6', 'col-lg-4', 'mb-4');\n }\n\n const jobElement = document.createElement('div');\n colElement.appendChild(jobElement);\n\n const cardBodyElement = document.createElement('div');\n jobElement.appendChild(cardBodyElement);\n\n const titleElement = document.createElement('h3');\n titleElement.classList.add('h5', 'card-title');\n const titleSpan = document.createElement('span');\n titleSpan.textContent = job.title;\n titleElement.appendChild(titleSpan);\n cardBodyElement.appendChild(titleElement);\n\n const level = document.createElement('p');\n level.classList.add('small');\n level.textContent = `${job.level}`;\n cardBodyElement.appendChild(level);\n\n const descElement = document.createElement('p');\n descElement.classList.add('balance-text', 'mw-70');\n descElement.textContent = job.desc;\n cardBodyElement.appendChild(descElement);\n\n if (job.customClose) {\n const customCloseElement = document.createElement('p');\n customCloseElement.classList.add('small');\n customCloseElement.textContent = job.customClose;\n cardBodyElement.appendChild(customCloseElement);\n } else {\n const deadlineElement = document.createElement('p');\n deadlineElement.classList.add('small');\n const applyDeadline = new Date(job.applyDeadline);\n const options = { month: 'short', day: 'numeric', year: 'numeric' };\n const monthNames = [\"Jan.\", \"Feb.\", \"March\", \"April\", \"May\", \"June\", \"July\", \"Aug.\", \"Sep.\", \"Oct.\", \"Nov.\", \"Dec.\"];\n const formattedDate = applyDeadline.toLocaleDateString('en-US', options).replace(/(\\w+)\\s/, function(_, p1) { return monthNames[new Date(`${p1} 1, 2000`).getMonth()] + ' '; });\n deadlineElement.textContent = `Apply by ${formattedDate}.`;\n cardBodyElement.appendChild(deadlineElement);\n }\n\n const cardFooterElement = document.createElement('div');\n cardFooterElement.classList.add('card-footer', 'small');\n\n const openToElement = document.createElement('span');\n openToElement.textContent = 'This job is open to: ';\n\n if (job.publicLink) {\n const publicLinkElement = document.createElement('a');\n publicLinkElement.setAttribute('rel', 'nofollow');\n publicLinkElement.href = job.publicLink;\n publicLinkElement.textContent = 'the public';\n publicLinkElement.target = '_blank';\n openToElement.appendChild(publicLinkElement);\n\n openToElement.appendChild(document.createTextNode(' and '));\n }\n\n const statusCandidateLinkElement = document.createElement('a');\n statusCandidateLinkElement.setAttribute('rel', 'nofollow');\n statusCandidateLinkElement.href = job.statusCandidateLink;\n statusCandidateLinkElement.textContent = 'status candidates.';\n statusCandidateLinkElement.target = '_blank';\n openToElement.appendChild(statusCandidateLinkElement);\n\n cardFooterElement.appendChild(openToElement);\n\n jobElement.appendChild(cardFooterElement);\n\n jobsContainer.appendChild(colElement);\n });\n }\n\n })\n .catch(error => console.error('Error fetching jobs:', error));\n});\n"], "mappings": "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", "names": ["cacheKey", "response", "data", "jobsContainer", "moreJobsLink", "now", "job", "jobCount", "mediaReleases", "careers", "a", "b", "colElement", "jobElement", "cardBodyElement", "titleElement", "titleSpan", "level", "descElement", "customCloseElement", "deadlineElement", "applyDeadline", "options", "monthNames", "formattedDate", "_", "p1", "cardFooterElement", "openToElement", "publicLinkElement", "statusCandidateLinkElement", "error"] }