From 5b0910463b09c33cf54981e33d6841c2d4ffe131 Mon Sep 17 00:00:00 2001 From: rdrew Date: Fri, 6 Feb 2026 12:06:31 -0400 Subject: [PATCH] pager update --- css/components/advanced_search.pager.css | 81 +++++++++++++++++++ js/custom.js | 99 ++++++++++++++++++++++++ olivesnews.libraries.yml | 1 + 3 files changed, 181 insertions(+) create mode 100644 css/components/advanced_search.pager.css create mode 100644 js/custom.js diff --git a/css/components/advanced_search.pager.css b/css/components/advanced_search.pager.css new file mode 100644 index 0000000..b3b70cf --- /dev/null +++ b/css/components/advanced_search.pager.css @@ -0,0 +1,81 @@ +.advanced_search_result_pager .pager__summary { + font-weight: 700; +} + +.advanced_search_result_pager .pager__group { + margin: 1.25rem 0; + padding: 1rem 0; + border-top: 1px solid; + border-bottom: 1px solid; + border-color: #e5e5e5; + display: flex; + justify-content: flex-start; + align-items: center; + flex-flow: row wrap; + ul { + display: flex; + } +} + +@media all and (min-width: 45.063em) { + .advanced_search_result_pager .pager__group { + justify-content: flex-end; + } + .advanced_search_result_pager .pager__group > * { + margin: 0.47214rem 0 0.47214rem 2.61803rem; + } + .advanced_search_result_pager .pager__group > *:first-child { + margin-left: 0; + } +} + +.advanced_search_result_pager .pager__group > * { + margin: 0.47214rem 2rem 0.47214rem 0; +} + +.advanced_search_result_pager .pager__group > *:last-child { + margin-right: 0; +} + +.advanced_search_result_pager .pager__group .item-list__list, +.advanced_search_result_pager .pager__group .item-list__title, +.advanced_search_result_pager .pager__group .item-list__item { + display: inline; +} + +.advanced_search_result_pager .pager__group .item-list__title { + font-size: initial; + margin: 0.25rem; +} + +.view-grid .view-content .views-row { + padding: 0px 20px 20px 0px !important; +} + +/* generalizing */ +.advanced_search_result_pager .pager__group .pager { + display: none; +} + +.pager__group .container { + width: auto !important; + padding-left: 0 !important; + padding-right: 0 !important; +} + +.advanced_search_result_pager .pager__group nav { + display: none; +} + +.view-grid > .view-content { + display: grid; + grid-template-columns: repeat(3, 1fr); + /*margin: 0.47214rem 0 0.47214rem 2.61803rem;*/ +} + +@media only screen and (max-width: 600px) { + .view-grid > .view-content { + display: grid; + grid-template-columns: repeat(1, 1fr); + } +} diff --git a/js/custom.js b/js/custom.js new file mode 100644 index 0000000..5bb6701 --- /dev/null +++ b/js/custom.js @@ -0,0 +1,99 @@ +(function (Drupal) { + //stuff goes here +})(Drupal); + + +(function (Drupal) { + Drupal.behaviors.LangSwitchBehavior = { + attach: function (context, settings) { + const textEn = context.querySelector('#text-en'); + const textFr = context.querySelector('#text-fr'); + const showEn = context.querySelector('#show-text-en'); + const showFr = context.querySelector('#show-text-fr'); + + // Hide French text initially + if (textFr) { + textFr.style.display = 'none'; + } + + if (showEn && textEn && textFr) { + showEn.addEventListener('click', function (e) { + e.preventDefault(); + textEn.style.display = ''; + textFr.style.display = 'none'; + }); + } + + if (showFr && textEn && textFr) { + showFr.addEventListener('click', function (e) { + e.preventDefault(); + textEn.style.display = 'none'; + textFr.style.display = ''; + }); + } + } + }; +})(Drupal); + +//(function (Drupal, once) { + + //async function getAudioSourceFromNode(url) { + //const res = await fetch(url, { + //headers: { 'X-Requested-With': 'XMLHttpRequest' } + //}); + + //const html = await res.text(); + //const doc = new DOMParser().parseFromString(html, 'text/html'); + + //// EXACT match for your markup + //const source = doc.querySelector( + //'audio[data-able-player] source[type="audio/mpeg"]' + //); + + //return source?.src; + //} + + //function playAbleAudio(src) { + //const audio = document.getElementById('global-able-player'); + //if (!audio) return; + + //const source = audio.querySelector('source'); + //source.src = src; + + //audio.load(); + + //// Access Able Player instance safely + //if (audio.ablePlayer) { + //audio.ablePlayer.refreshControls(); + //audio.ablePlayer.playMedia(); + //} else { + //audio.play(); + //} + + //document.getElementById('global-audio-wrapper') + //?.classList.remove('is-hidden'); + //} + + //Drupal.behaviors.ablePlayerRemoteLoad = { + //attach(context) { + //once('able-player-fetch', '.js-play-audio-from-node', context) + //.forEach(link => { + + //link.addEventListener('click', async e => { + //e.preventDefault(); + + //const src = await getAudioSourceFromNode(link.href); + + //if (!src) { + //console.warn('No Able Player audio found on page'); + //return; + //} + + //playAbleAudio(src); + //}); + //}); + //} + //}; + +//})(Drupal, once); + diff --git a/olivesnews.libraries.yml b/olivesnews.libraries.yml index 8822643..c522134 100755 --- a/olivesnews.libraries.yml +++ b/olivesnews.libraries.yml @@ -53,6 +53,7 @@ global-styling: css/components/wide-image.css: {} css/components/unsorted.css: {} css/components/islandora_mods.css: {} + css/components/advanced_search.pager.css: {} js: js/checkbox.js: {}