“),t.type){case”pdf”:if(a.default.isFirefox()||a.default.isEdge()||a.default.isIE())try{if(console.info(“PrintJS currently doesn’t support PDF printing in Firefox, Internet Explorer and Edge.”),!0===t.onBrowserIncompatible())window.open(t.fallbackPrintable,”_blank”).focus(),t.onPdfOpen&&t.onPdfOpen()}catch(e){t.onError(e)}finally{t.showModal&&l.default.close(),t.onLoadingEnd&&t.onLoadingEnd()}else d.default.print(t,o);break;case”image”:f.default.print(t,o);break;case”html”:u.default.print(t,o);break;case”raw-html”:c.default.print(t,o);break;case”json”:s.default.print(t,o)}}}},function(e,t,n){“use strict”;Object.defineProperty(t,”__esModule”,{value:!0});var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r},a=n(1);function l(e,t,n){var r=new window.Blob([n],{type:”application/pdf”});r=window.URL.createObjectURL(r),t.setAttribute(“src”,r),i.default.send(e,t)}t.default={print:function(e,t){if(e.base64){var n=Uint8Array.from(atob(e.printable),function(e){return e.charCodeAt(0)});l(e,t,n)}else{e.printable=/^(blob|http)/i.test(e.printable)?e.printable:window.location.origin+(“/”!==e.printable.charAt(0)?”/”+e.printable:e.printable);var r=new window.XMLHttpRequest;r.responseType=”arraybuffer”,r.addEventListener(“load”,function(){if(-1===[200,201].indexOf(r.status))return(0,a.cleanUp)(e),void e.onError(r.statusText);l(e,t,r.response)}),r.open(“GET”,e.printable,!0),r.send()}}}},function(e,t,n){“use strict”;Object.defineProperty(t,”__esModule”,{value:!0});var r,o=n(1),i=n(0),a=(r=i)&&r.__esModule?r:{default:r};t.default={print:function(e,t){var n=document.getElementById(e.printable);n?(e.printableElement=function e(t,n){var r=t.cloneNode();var o=!0;var i=!1;var a=void 0;try{for(var l,d=t.childNodes[Symbol.iterator]();!(o=(l=d.next()).done);o=!0){var u=l.value;if(-1===n.ignoreElements.indexOf(u.id)){var c=e(u,n);r.appendChild(c)}}}catch(e){i=!0,a=e}finally{try{!o&&d.return&&d.return()}finally{if(i)throw a}}switch(t.tagName){case”SELECT”:r.value=t.value;break;case”CANVAS”:r.getContext(“2d”).drawImage(t,0,0)}return r}(n,e),e.header&&(0,o.addHeader)(e.printableElement,e),a.default.send(e,t)):window.console.error(“Invalid HTML element id: “+e.printable)}}},function(e,t,n){“use strict”;Object.defineProperty(t,”__esModule”,{value:!0});var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r};t.default={print:function(e,t){e.printableElement=document.createElement(“div”),e.printableElement.setAttribute(“style”,”width:100%”),e.printableElement.innerHTML=e.printable,i.default.send(e,t)}}},function(e,t,n){“use strict”;Object.defineProperty(t,”__esModule”,{value:!0});var r,o=n(1),i=n(0),a=(r=i)&&r.__esModule?r:{default:r};t.default={print:function(r,e){r.printable.constructor!==Array&&(r.printable=[r.printable]),r.printableElement=document.createElement(“div”),r.printable.forEach(function(e){var t=document.createElement(“img”);t.setAttribute(“style”,r.imageStyle),t.src=e;var n=document.createElement(“div”);n.appendChild(t),r.printableElement.appendChild(n)}),r.header&&(0,o.addHeader)(r.printableElement,r),a.default.send(r,e)}}},function(e,t,n){“use strict”;Object.defineProperty(t,”__esModule”,{value:!0});var r,o=”function”==typeof Symbol&&”symbol”==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&”function”==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?”symbol”:typeof e},c=n(1),i=n(0),a=(r=i)&&r.__esModule?r:{default:r};t.default={print:function(t,e){if(“object”!==o(t.printable))throw new Error(“Invalid javascript data object (JSON).”);if(“boolean”!=typeof t.repeatTableHeader)throw new Error(“Invalid value for repeatTableHeader attribute (JSON).”);if(!t.properties||!Array.isArray(t.properties))throw new Error(“Invalid properties array for your JSON data.”);t.properties=t.properties.map(function(e){return{field:”object”===(void 0===e?”undefined”:o(e))?e.field:e,displayName:”object”===(void 0===e?”undefined”:o(e))?e.displayName:e,columnSize:”object”===(void 0===e?”undefined”:o(e))&&e.columnSize?e.columnSize+”;”:100/t.properties.length+”%;”}}),t.printableElement=document.createElement(“div”),t.header&&(0,c.addHeader)(t.printableElement,t),t.printableElement.innerHTML+=function(e){var t=e.printable,n=e.properties,r=’
“}(t),a.default.send(t,e)}}}]).default});
document.querySelector(‘.all-content-wrapper’).setAttribute(‘id’,’printable’);
ChangeListener(‘.lead_post_body_main .share-pinterest, .mobile_social_links .share-pinterest’, function(el) {
el.outerHTML=’ ‘;
});
ChangeListener(‘.lead_post_body_main .share-print, .mobile_social_links .share-print’, function(el) {
el.addEventListener(“click”, function(){
if (navigator.userAgent.indexOf(“Firefox”) > 0) {window.print();}else{
printJS({printable: ‘printable’,type: ‘html’,targetStyles: [‘*’],css: ‘https://partners.rebelmouse.com/commondreams/print.css?s=0′,style: “.custom-field-after-seconds,.custom-field-popup-bg-color,.custom-field-popup-text-color,.custom-field-location,.no-print { display: none !important; }”});
}
});
});
});
window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){
if (getCookie(“popupShown”) || (getCookie(“hide_newsletter”) != null && getCookie(“hide_newsletter”))) {
console.log(“nothing to do”);
return;
}
if(document.querySelector(“.popup-modal .mb-2.popup–article #mc-embedded-subscribe”) != null) {
const popupform = document.querySelector(“.popup-modal [name=’mc-embedded-subscribe-form’]”);
popupform.addEventListener(“submit”, () => {
setCookie(“hide_newsletter”, “true”, 365);
});
popupform.addEventListener(“click”, () => {
setCookie(“hide_newsletter”, “true”, 365);
});
/*document.querySelector(“.popup-modal .mb-2.popup–article #mc-embedded-subscribe”).addEventListener(“click”, function(){
// Set the “hide_newsletter” cookie to “true” for 1 year (365 days)
setCookie(“hide_newsletter”, “true”, 365);
});*/
}
const popupBackdrop = document.querySelector(“.popup–backdrop”);
const closePopupButton = popupBackdrop.querySelector(“.close-button”);
const afterSecondsField = popupBackdrop.querySelector(
“.custom-field-after-seconds”
)?.textContent;
const scrollingBeginsField = popupBackdrop.querySelector(
“.custom-field-scrolling-begins”
)?.textContent;
const customFieldObj = document.querySelector(“.popup–article .custom-field-visible-to-admin-only”);
const customBGColor = popupBackdrop.querySelector(‘.custom-field-popup-bg-color’).textContent
const customTextColor = popupBackdrop.querySelector(‘.custom-field-popup-text-color’).textContent
popupBackdrop.style.setProperty(‘–background-color’, `${customBGColor}`)
popupBackdrop.style.setProperty(‘–text-color’, `${customTextColor}`)
const after_seconds = Number(afterSecondsField);
const scrolling_begins = scrollingBeginsField === “True”;
let lastScrollPosition = 0;
let userHasInteracted = false;
const scrollDeltaThreshold = 5;
const showPopup = () => {
console.log(“—- showPopup —-“)
if (((customFieldObj != null && getCookie(“userIsAdmin”)) || customFieldObj == null) && !getCookie(“popupShown”) ){
popupBackdrop.classList.add(“open”);
setCookie(“popupShown”, true, 30);
}
};
const hidePopup = () => popupBackdrop.classList.remove(“open”);
closePopupButton.addEventListener(“click”, hidePopup);
const userEvents = [“mousemove”, “mousedown”, “keydown”, “touchstart”];
let userEventListenersRemoved = false;
const userInteraction = () => {
userHasInteracted = true;
if (userEventListenersRemoved) return;
userEvents.forEach((event) => {
document.removeEventListener(event, userInteraction);
userEventListenersRemoved = true;
});
};
userEvents.forEach((event) =>
document.addEventListener(event, userInteraction)
);
if (!scrolling_begins && !isNaN(after_seconds)) {
setTimeout(showPopup, after_seconds * 1000);
} else if (scrolling_begins) {
document.addEventListener(“scroll”, debounce(handleScroll, 50));
}
function handleScroll() {
console.log(“—-handle Scroll—-“)
if (scrolling_begins && !userHasInteracted) return;
if (scrolling_begins) {
const currentScrollPosition =
window.scrollY || document.documentElement.scrollTop;
const scrollDelta = Math.abs(currentScrollPosition – lastScrollPosition);
if (scrollDelta > scrollDeltaThreshold) {
setTimeout(showPopup, 0);
document.removeEventListener(“scroll”, debounce(handleScroll, 50));
}
lastScrollPosition = currentScrollPosition;
}
}
function debounce(func, wait, immediate = false) {
let timeout;
return function (…args) {
const context = this;
const later = function () {
timeout = null;
if (!immediate) func.apply(context, args);
};
const shouldCallNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (shouldCallNow) func.apply(context, args);
};
}
// to be implemented: cookies
function setCookie(name, value, days) {
let date = new Date();
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
let expires = “expires=” + date.toUTCString();
document.cookie = name + “=” + value + “;” + expires + “;path=/”;
}
function getCookie(cname) {
let name = cname + “=”;
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(“;”);
for (let i = 0; i < ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ” “) {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return “”;
}
});
window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){
REBELMOUSE_STDLIB.createElementChangeListener(‘a[data-track-share=”Twitter”]’, function(twitterEle) {
// Check if the element exists
if (twitterEle) {
// Extract the href attribute from the Twitter link
const twitterHref = new URL(twitterEle.href);
// Extract the `text` and `url` parameters from the Twitter link
const text = twitterHref.searchParams.get(“text”) || “”;
const url = twitterHref.searchParams.get(“url”) || “”;
// Construct the Bluesky compose URL with text first, then the space-separated URL
const blueskyHref = `https://bsky.app/intent/compose?text=${encodeURIComponent(text)} ${encodeURIComponent(url)}`;
// Update the href attribute of the Twitter link to the Bluesky URL
twitterEle.href = blueskyHref;
}
});
});
window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){
var test = ‘this-tax-day-column-is-going-to-piss-you-off’;
if(test && test != ” && test != ‘null’ && test != null){
/* Creates comment icon */
const leftButtons = document.querySelector(‘.lead_post_share_social .posts-custom .widget__shares’);
leftButtons.insertAdjacentHTML(‘afterbegin’,”);
/* Get Post data*/
fetch(‘https://commons.commondreams.org/t/this-tax-day-column-is-going-to-piss-you-off/226048.json’, {
method: ‘GET’,
headers: {
‘Accept’: ‘application/json’,
},
}).then(response => response.json())
.then(response =>{
replyCount = response.posts_count – 1;
document.querySelector(‘.comment_round_button .comment_count’).textContent = replyCount;
/* This line shows reply counter in Big Discourse Button:: */
/* document.querySelector(‘.discourse-btn .btn’).textContent += ` (${replyCount})`; */
});
const commentsBtn = document.querySelector(‘.comment_round_button’);
commentsBtn.addEventListener(‘click’, function(ev){
window.open(commentsBtn.dataset.link, ‘_blank’);
});
}
});
window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){
REBELMOUSE_STDLIB.createElementChangeListener(‘.lead_post_tags_seo .social-author__name’, function(el) {
if(el.nextElementSibling && el.nextElementSibling.classList.contains(‘social-author__bio’)) {
el.nextElementSibling.insertAdjacentHTML(‘afterend’, ‘
‘);
}
else {
el.insertAdjacentHTML(‘afterend’, ‘
‘);
}
});
});
window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){
REBELMOUSE_STDLIB.createElementChangeListener(“.newsletter-campaign .custom-field-source-text”, function(button){
button.setAttribute(‘data-before’, ”);
button.innerHTML=”;
})
});
window.REBELMOUSE_ACTIVE_TASKS_QUEUE.push(function(){
/*
Checking the position set with a post custom field, if it is not a default one (above) – change the position to custom
*/
const blockPlacement = () => {
const newsletterBlock = document.querySelector(‘.js-newsletter-wrapper’);
const placementPosition = document.querySelector(‘.custom-field-newsletter-position’) ? document.querySelector(‘.custom-field-newsletter-position’).innerText : false;
if (!placementPosition) {
return newsletterBlock.classList.remove(‘visually-hidden’);
}
const targetBlock = document.querySelector(‘.tab_wrap’);
placementPosition === ‘above’ || placementPosition === ” ? false : targetBlock.insertAdjacentElement(‘afterend’, newsletterBlock);
return newsletterBlock.classList.remove(‘visually-hidden’);
}
blockPlacement();
});