1document.addEventListener('DOMContentLoaded', function() { 2 3 function loadCalendarData(wrapper, year, month, postType) { 4 var nonce = wrapper.getAttribute('data-nonce'); 5 wrapper.style.opacity = '0.5'; 6 7 var params = new URLSearchParams(); 8 params.append('year', year); 9 params.append('month', month); 10 params.append('post_type', postType); 11 params.append('nonce', nonce); 12 13 fetch(window.location.origin + '/wp-json/custom/v1/get-calendar', { 14 method: 'POST', 15 body: params, 16 headers: { 'X-WP-Nonce': nonce, 'Content-Type': 'application/x-www-form-urlencoded' } 17 }) 18 .then(function(res) { return res.json(); }) 19 .then(function(res) { 20 if (res.success && res.data) { 21 wrapper.innerHTML = res.data; 22 } 23 wrapper.style.opacity = '1'; 24 }) 25 .catch(function() { 26 wrapper.style.opacity = '1'; 27 }); 28 } 29 30 document.body.addEventListener('click', function(e) { 31 var targetLink = e.target.classList.contains('cac-nav') ? e.target : e.target.closest('.cac-nav'); 32 if (targetLink) { 33 e.preventDefault(); 34 35 var wrapper = targetLink.closest('.cac-calendar-wrapper'); 36 if (!wrapper) return; 37 38 var year = targetLink.getAttribute('data-year'); 39 var month = targetLink.getAttribute('data-month'); 40 var postType = wrapper.getAttribute('data-post-type'); 41 42 loadCalendarData(wrapper, year, month, postType); 43 } 44 }); 45 46 document.body.addEventListener('change', function(e) { 47 if (e.target.classList.contains('cac-select-month')) { 48 var select = e.target; 49 var wrapper = select.closest('.cac-calendar-wrapper'); 50 if (!wrapper) return; 51 52 var dateVal = select.value.split('-'); 53 if (dateVal.length === 2) { 54 var year = dateVal[0]; 55 var month = dateVal[1]; 56 var postType = wrapper.getAttribute('data-post-type'); 57 58 loadCalendarData(wrapper, year, month, postType); 59 } 60 } 61 }); 62 63});
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.