ws_event-1.0.16/assets/js/card_links.js
assets/js/card_links.js
(function (Drupal, once) {
Drupal.behaviors.eventCards = {
attach(context) {
const elements = once('linkedEventCard', '.node--type-lb-event.node--view-mode-teaser, .node--type-lb-event.node--view-mode-featured', context);
// Process each card.
elements.forEach(processingCallback);
}
};
// Adapted from https://css-tricks.com/block-links-the-search-for-a-perfect-solution/#aa-method-4-sprinkle-javascript-on-the-second-method
function processingCallback(value, index) {
const card = value;
const mainLink = value.querySelector('h3 a');
card.addEventListener("click", handleClick);
function handleClick(event) {
const isTextSelected = window.getSelection().toString();
const isContextualMenu = event.target.parentElement.classList.contains('contextual');
if (!isTextSelected && !isContextualMenu) {
mainLink.click();
}
}
}
}(Drupal, once));
