Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
5b95ecc
Refactor the cookie consent implementation.
EreMaijala Mar 18, 2026
3939872
Add Swedish translations.
EreMaijala Mar 24, 2026
37b1b8a
Switch to autowiring.
EreMaijala Mar 24, 2026
909107e
Stop extending from AbstractHelper. Fix unit test.
EreMaijala Mar 24, 2026
a3224a7
Add a new data-focus-on-load attribute.
EreMaijala Mar 24, 2026
149ee12
Update comments.
EreMaijala Mar 24, 2026
91b6dcb
Simplify.
EreMaijala Mar 24, 2026
ba1c9c9
Update module/VuFind/src/VuFind/View/Helper/Root/CookieConsent.php
EreMaijala Mar 26, 2026
2d47bdd
Fix translation, clarify description contents.
EreMaijala Mar 26, 2026
a114679
Update module/VuFind/src/VuFind/View/Helper/Root/CookieConsent.php
EreMaijala Mar 26, 2026
bc24e8f
Fix category description translation.
EreMaijala Mar 26, 2026
42db063
Remove extraneous focus call.
EreMaijala Mar 26, 2026
7439162
Merge remote-tracking branch 'origin/dev' into dev-native-cookie-consent
EreMaijala Mar 26, 2026
57c375e
Simplify.
EreMaijala Mar 27, 2026
06b0822
Work around ununsed variable.
EreMaijala Mar 27, 2026
c1738c2
Clarify that Title and Description fields can contain HTML.
EreMaijala Mar 27, 2026
4c2439e
Replace assert.
EreMaijala Mar 27, 2026
919577e
Show Save Settings button only with non-essential categories. Unify r…
EreMaijala Mar 30, 2026
1e33e38
Avoid crypto.randomUUID() because it's only available in secure context.
EreMaijala Mar 30, 2026
0b76d13
Use overflow: auto to avoid unnecessary scrollbars.
EreMaijala Mar 30, 2026
0ee8621
Add aria-live="polite" to container of uncollapsible content for scre…
EreMaijala Mar 30, 2026
9661e13
Fix doc comment and rename method.
EreMaijala Mar 30, 2026
eb97a4d
Replace aria-live with data-bs-parent mechanism.
EreMaijala Mar 30, 2026
ac40979
Add Northern Sámi translations.
EreMaijala Mar 31, 2026
e029b84
Add aria-controls attribute to category details.
EreMaijala Apr 13, 2026
8009ffa
Fix typo in a comment.
EreMaijala Apr 14, 2026
770873f
Fix screen reader issues and clean up deferred loading.
EreMaijala Apr 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions languages/CookieConsent/ar.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ cookie_description_secure_key_html = "تستخدم لتشفير معلومات
cookie_description_session_html = "تستخدم للحفاظ على حالة جلسة المستخدم."
cookie_description_sidefacet_html = "تستخدم للاحتفاظ بحالة توسيع / طي الفاسِت."
cookie_description_ui_html = "تستخدم لتخزين الثيمة المحددة."
cookie_settings_html = "إعدادات ملفات تعريف الارتباط"
Description = "الوصف"
Domain = "النطاق"
essential_cookies_description_html = "لا يمكن منع استخدام ملفات تعريف الارتباط الأساسية. حيث أنها مطلوبة لعمل الموقع ولتحسين سهولة استخدام الموقع."
Expand All @@ -26,8 +25,7 @@ expiration_session = "نهاية الجلسة"
expiration_unit_days = "%%expiration%% يوماً"
expiration_unit_months = "%%expiration%% شهراً"
Name = "Name"
popup_description_html = 'يستخدم هذا الموقع ملفات تعريف الارتباط الأساسية لضمان التشغيل السليم، ويتم تتبع ملفات تعريف الارتباط لفهم كيفية تفاعلك معها. <a href="#" data-cc="show-preferencesModal">إعدادات ملفات تعريف الارتباط</a>.<br>{{revisionMessage}}'
popup_description_html = "يستخدم هذا الموقع ملفات تعريف الارتباط الأساسية لضمان التشغيل السليم، ويتم تتبع ملفات تعريف الارتباط لفهم كيفية تفاعلك معها."
popup_revision_message_html = "تم طلب موافقتك لأنه تم تحديث فئات ملفات تعريف الارتباط."
popup_title_html = "معلومات حول ملفات تعريف الارتباط المستخدمة في الموقع"
Save Settings = "حفظ الإعدادات"
third_party_html = "طرف ثالث"
4 changes: 1 addition & 3 deletions languages/CookieConsent/bn.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ cookie_description_secure_key_html = "সেশন তথ্য এনক্র
cookie_description_session_html = "ব্যবহারকারীর সেশনের অবস্থা বজায় রাখতে ব্যবহৃত হয়।"
cookie_description_sidefacet_html = "অভিমুখ প্রসারিত/পতন অবস্থা বজায় রাখতে ব্যবহৃত হয়।"
cookie_description_ui_html = "নির্বাচিত থিম সংরক্ষণ করতে ব্যবহৃত হয় ।"
cookie_settings_html = "কুকি সেটিংস"
Description = "বিস্তারিত"
Domain = "ডোমেইন"
essential_cookies_description_html = "প্রয়োজনীয় কুকির ব্যবহার নিষিদ্ধ করা যাবে না। সাইটের কাজ করার জন্য এবং সাইটের উপযোগিতা উন্নত করার জন্য এগুলি প্রয়োজন।"
Expand All @@ -26,8 +25,7 @@ expiration_session = "সেশনের সমাপ্তি"
expiration_unit_days = "%%expiration%% দিন"
expiration_unit_months = "%%expiration%% মাস"
Name = "নাম"
popup_description_html = 'এই সাইটটি তার সঠিক ক্রিয়াকলাপ নিশ্চিত করতে প্রয়োজনীয় কুকিজ ব্যবহার করে এবং আপনি কীভাবে এটির সাথে ইন্টারঅ্যাক্ট করেন তা বোঝার জন্য কুকিগুলি ট্র্যাক করা হয়৷ <a href="#" data-cc="show-preferencesModal">কুকি সেটিংস</a>৷<br> {{revisionMessage}}'
popup_description_html = "এই সাইটটি তার সঠিক ক্রিয়াকলাপ নিশ্চিত করতে প্রয়োজনীয় কুকিজ ব্যবহার করে এবং আপনি কীভাবে এটির সাথে ইন্টারঅ্যাক্ট করেন তা বোঝার জন্য কুকিগুলি ট্র্যাক করা হয়৷"
popup_revision_message_html = "আপনার সম্মতি অনুরোধ করা হচ্ছে কারণ কুকি বিভাগ আপডেট করা হয়েছে।"
popup_title_html = "সাইটে ব্যবহৃত কুকিজ সম্পর্কে তথ্য"
Save Settings = "পছন্দ সংরক্ষণ করুন"
third_party_html = "তৃতীয় পক্ষ"
4 changes: 1 addition & 3 deletions languages/CookieConsent/ca.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ cookie_description_secure_key_html = "S'utilitza per a la xifratge de la informa
cookie_description_session_html = "S'utilitza per mantenir l'estat de la sessió de l'usuari."
cookie_description_sidefacet_html = "S'utilitza per mantenir l'estat d'expansió/plegament de les facetes."
cookie_description_ui_html = "S'utilitza per emmagatzemar el tema seleccionat."
cookie_settings_html = "Configuració de Galetes"
Description = "Descripció"
Domain = "Domini"
essential_cookies_description_html = "L'ús de galetes essencials no pot ser rebutjat. Són necessàries per al funcionament del lloc i per millorar l'amabilitat de l'usuari."
Expand All @@ -26,8 +25,7 @@ expiration_session = "Fi de la sessió"
expiration_unit_days = "%%expiration%% dies"
expiration_unit_months = "%%expiration%% mesos"
Name = "Nom"
popup_description_html = 'Aquest lloc utilitza galetes essencials per garantir el seu correcte funcionament i galetes de seguiment per entendre com interactues amb ell. <a href="#" data-cc="show-preferencesModal">Configuració de galetes</a>.<br>{{revisionMessage}}'
popup_description_html = "Aquest lloc utilitza galetes essencials per garantir el seu correcte funcionament i galetes de seguiment per entendre com interactues amb ell."
popup_revision_message_html = "Es sol·licita el teu consentiment perquè s'han actualitzat les categories de galetes."
popup_title_html = "Informació sobre les galetes utilitzades al lloc"
Save Settings = "Guardar Configuració"
third_party_html = "Tercers"
4 changes: 1 addition & 3 deletions languages/CookieConsent/cs.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ cookie_description_secure_key_html = "Používá se pro šifrování informací
cookie_description_session_html = "Používá se k udržování stavu relace uživatele."
cookie_description_sidefacet_html = "Používá se k udržování stavu rozbalení/zabalení fasety."
cookie_description_ui_html = "Slouží k uložení vybrané grafické šablony."
cookie_settings_html = "Nastavit cookies"
Description = "Popis"
Domain = "Doména"
essential_cookies_description_html = "<p>Funkční cookies jsou zapotřebí k zajištění základních funkcí webu.</p><p>Vzhledem k jejich významu a účelu jsou povoleny vždy a souhlas s jejich použitím není vyžadován.</p>"
Expand All @@ -26,8 +25,7 @@ expiration_session = "Do konce relace"
expiration_unit_days = "%%expiration%% dní"
expiration_unit_months = "%%expiration%% měsíců"
Name = "Název"
popup_description_html = 'Tento web používá následující soubory cookies: funkční cookies (vždy) k zajištění správného fungování webu a analytické cookies (na základě souhlasu) k analýze návštěvnosti webu. Žádné z těchto cookies nelze použít k identifikaci konkrétní osoby. <a href="#" data-cc="show-preferencesModal">Cookie settings</a>.<br>{{revisionMessage}}'
popup_description_html = "Tento web používá následující soubory cookies: funkční cookies (vždy) k zajištění správného fungování webu a analytické cookies (na základě souhlasu) k analýze návštěvnosti webu. Žádné z těchto cookies nelze použít k identifikaci konkrétní osoby."
popup_revision_message_html = "Potřebujeme znovu potvrdit Váš souhlas se zpracováním cookies, protože se změnily kategorie ukládaných údajů."
popup_title_html = "Souhlas s použitím cookies"
Save Settings = "Uložit nastavení"
third_party_html = "Cookie třetí strany"
4 changes: 1 addition & 3 deletions languages/CookieConsent/de.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ cookie_description_secure_key_html = "Wird für die Verschlüsselung von Sitzung
cookie_description_session_html = "Wird verwendet, um den Sitzungsstatus des Benutzers beizubehalten."
cookie_description_sidefacet_html = "Wird verwendet, um den Zustand der aufgeklappeten / geschlossenen Facetten beizubehalten."
cookie_description_ui_html = "Dient zum Speichern des ausgewählten Layouts."
cookie_settings_html = "Cookie-Einstellungen"
Description = "Beschreibung"
Domain = "Domäne"
essential_cookies_description_html = "Die Verwendung funktional notwendiger Cookies kann nicht abgelehnt werden. Sie sind für das grundlegende Funktionieren der Website erforderlich und verbessern die Benutzerfreundlichkeit der Website."
Expand All @@ -26,8 +25,7 @@ expiration_session = "Ende der Session"
expiration_unit_days = "%%expiration%% Tage"
expiration_unit_months = "%%expiration%% Monate"
Name = "Name"
popup_description_html = 'Diese Website verwendet funktional notwendige Cookies, um den grundlegenden Betrieb zu gewährleisten, und Tracking-Cookies, um zu analysieren, wie Sie mit der Website interagieren. <a href="#" data-cc="show-preferencesModal">Cookie-Einstellungen</a>.<br>{{revisionMessage}}'
popup_description_html = "Diese Website verwendet funktional notwendige Cookies, um den grundlegenden Betrieb zu gewährleisten, und Tracking-Cookies, um zu analysieren, wie Sie mit der Website interagieren."
popup_revision_message_html = "Wir bitten Sie um Ihre Zustimmung, da die verschiedenen Cookie-Kategorien aktualisiert worden sind."
popup_title_html = "Informationen zu den auf der Website verwendeten Cookies"
Save Settings = "Einstellungen speichern"
third_party_html = "Drittpartei"
4 changes: 1 addition & 3 deletions languages/CookieConsent/el.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ cookie_description_secure_key_html = "Χρησιμοποιούνται για τ
cookie_description_session_html = "Χρησιμοποιούνται για την διατήρηση της κατάστασης συνεδρίας του χρήστη."
cookie_description_sidefacet_html = "Χρησιμοποιούνται για την διατήρηση της κατάστασης των όψεων (facets)."
cookie_description_ui_html = "Χρησιμοποιούνται για την αποθήκευση του επιλεγμένου θέματος."
cookie_settings_html = "Ρυθμίσεις Cookies"
Description = "Περιγραφή"
Domain = "Τομέας"
essential_cookies_description_html = "Δεν είναι δυνατή η απενεργοποίηση των απολύτως απαραίτητων cookies. Απαιτούνται για τη λειτουργία του ιστότοπου και τη βελτίωση της φιλικότητας του προς τον χρήστη."
Expand All @@ -26,8 +25,7 @@ expiration_session = "Τέλος της συνεδρίας"
expiration_unit_days = "%%expiration%% ημέρες"
expiration_unit_months = "%%expiration%% μήνες"
Name = "Όνομα"
popup_description_html = 'Αυτός ο ιστότοπος χρησιμοποιεί απαραίτητα cookies για να διασφαλίσει τη σωστή λειτουργία του και cookies ανάλυσης για να κατανοήσει πώς αλληλεπιδράτε μαζί του. <a href="#" data-cc="show-preferencesModal">Ρυθμίσεις Cookies</a>.<br>{{revisionMessage}}'
popup_description_html = "Αυτός ο ιστότοπος χρησιμοποιεί απαραίτητα cookies για να διασφαλίσει τη σωστή λειτουργία του και cookies ανάλυσης για να κατανοήσει πώς αλληλεπιδράτε μαζί του."
popup_revision_message_html = "Ζητείται η συγκατάθεσή σας επειδή έχουν ενημερωθεί οι κατηγορίες των cookies."
popup_title_html = "Πληροφορίες σχετικά με τα cookies σε αυτό τον ιστότοπο"
Save Settings = "Αποθήκευση επιλογών"
third_party_html = "Τρίτων (Third Party)"
6 changes: 3 additions & 3 deletions languages/CookieConsent/en.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ cookie_description_secure_key_html = "Used for session information encryption."
cookie_description_session_html = "Used to maintain user's session state."
cookie_description_sidefacet_html = "Used to maintain facet expand/collapse state."
cookie_description_ui_html = "Used to store the selected theme."
cookie_settings_html = "Cookie Settings"
Description = "Description"
Domain = "Domain"
essential_cookies_description_html = "The use of essential cookies cannot be disallowed. They are required for the site to work and improve the site's user friendliness."
Expand All @@ -26,8 +25,9 @@ expiration_session = "End of Session"
expiration_unit_days = "%%expiration%% days"
expiration_unit_months = "%%expiration%% months"
Name = "Name"
popup_description_html = 'This site uses essential cookies to ensure its proper operation, and tracking cookies to understand how you interact with it. <a href="#" data-cc="show-preferencesModal">Cookie settings</a>.<br>{{revisionMessage}}'
popup_description_html = "This site uses essential cookies to ensure its proper operation, and tracking cookies to understand how you interact with it."
popup_revision_message_html = "Your consent is requested because cookie categories have been updated."
popup_title_html = "Information about cookies used on the site"
Save Settings = "Save Settings"
third_party_html = "Third Party"
toggle_categories = "Details"
toggle_category_details = "Cookie Details"
4 changes: 1 addition & 3 deletions languages/CookieConsent/es.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ cookie_description_secure_key_html = "Se utiliza para el cifrado de la informaci
cookie_description_session_html = "Se utiliza para mantener el estado de la sesión del usuario."
cookie_description_sidefacet_html = "Se utiliza para mantener el estado de expansión o contracción de las facetas."
cookie_description_ui_html = "Se utiliza para almacenar el tema seleccionado."
cookie_settings_html = "Configuración de cookies"
Description = "Descripción"
Domain = "Dominio"
essential_cookies_description_html = "No se puede prohibir el uso de cookies esenciales. Son necesarios para que el sitio funcione y mejore la facilidad de uso del sitio."
Expand All @@ -26,8 +25,7 @@ expiration_session = "Fin de sesión"
expiration_unit_days = "%%expiration%% días"
expiration_unit_months = "%%expiration%% meses"
Name = "Nombre"
popup_description_html = 'Este sitio utiliza cookies esenciales para garantizar su correcto funcionamiento y cookies de seguimiento para comprender cómo interactúa usted con él. <a href="#" data-cc="show-preferencesModal">Cookie configuraciones</a>.<br>{{revisionMessage}}'
popup_description_html = "Este sitio utiliza cookies esenciales para garantizar su correcto funcionamiento y cookies de seguimiento para comprender cómo interactúa usted con él."
popup_revision_message_html = "Se solicita su consentimiento porque se han actualizado las categorías de cookies."
popup_title_html = "Información sobre las cookies utilizadas en el sitio"
Save Settings = "Guardar configuraciones"
third_party_html = "Tercero"
4 changes: 1 addition & 3 deletions languages/CookieConsent/eu.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ cookie_description_secure_key_html = "Saioko informazioa zifratzeko erabiltzen d
cookie_description_session_html = "Erabiltzailearen saio-egoera mantentzeko erabiltzen da."
cookie_description_sidefacet_html = "Hedatze/kolapso fazetario egoera mantentzeko erabilia."
cookie_description_ui_html = "Hautatutako gaia gordetzeko erabilia."
cookie_settings_html = "Cookie Baldintzak"
Description = "Deskribapena"
Domain = "Eremua"
essential_cookies_description_html = "Ezin da funtsezko cookieak erabiltzeko baimena kendu. Beharrezkoak dira guneak lan egin dezan eta gunea erabiltzeko erraztasuna hobetzeko."
Expand All @@ -26,8 +25,7 @@ expiration_session = "Saioaren amaiera"
expiration_unit_days = "%%expiration%% egun"
expiration_unit_months = "%%expiration%% hilabete"
Name = "Izena"
popup_description_html = 'Webgune honek funtsezko cookie-ak erabiltzen ditu bere funtzionamendu egokia ziurtatzeko, eta cookie-ak arakatzen ditu harekin nola elkarreragiten duen ulertzeko. <a href="#" data-cc="show-preferencesModal">Cookie baldintzak</a>.<br>{{revisionMessage}}'
popup_description_html = "Webgune honek funtsezko cookie-ak erabiltzen ditu bere funtzionamendu egokia ziurtatzeko, eta cookie-ak arakatzen ditu harekin nola elkarreragiten duen ulertzeko."
popup_revision_message_html = "Zure baimena eskatzen da cookien kategoriak eguneratu direlako."
popup_title_html = "Web orriealdean erabilitako cookies-i buruzko informazioa"
Save Settings = "Gorde baldintzak"
third_party_html = "Hirugarren zatia"
8 changes: 4 additions & 4 deletions languages/CookieConsent/fi.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,19 @@ cookie_description_secure_key_html = "Istunnon tietojen salaaminen."
cookie_description_session_html = "Käyttäjän istunnon ylläpitäminen."
cookie_description_sidefacet_html = "Avointen ja suljettujen fasettien muistaminen."
cookie_description_ui_html = "Valitun teeman muistaminen."
cookie_settings_html = "Evästeasetukset"
Description = "Kuvaus"
Domain = "Toimialue"
essential_cookies_description_html = "Välttämättömien evästeiden käyttöä ei voi kieltää. Ne mahdollistavat sivuston toiminnan ja tekevät sivusta käyttäjäystävällisemmän."
essential_cookies_description_html = "Välttämättömien evästeiden käyttöä ei voi kieltää. Ne mahdollistavat sivuston toiminnan ja tekevät sivustosta käyttäjäystävällisemmän."
essential_cookies_title_html = "Välttämättömät evästeet"
Expiration = "Erääntyminen"
expiration_never = "Ei koskaan"
expiration_session = "Istunnon päättyessä"
expiration_unit_days = "%%expiration%% päivää"
expiration_unit_months = "%%expiration%% kuukautta"
Name = "Nimi"
popup_description_html = 'Tämä sivusto käyttää evästeitä toimiakseen mahdollisimman hyvin. <a href="#" data-cc="show-preferencesModal">Evästeasetukset</a>.<br>{{revisionMessage}}'
popup_description_html = "Tämä sivusto käyttää evästeitä toimiakseen mahdollisimman hyvin."
popup_revision_message_html = "Hyväksyntää pyydetään, koska evästekategorioita on päivitetty."
popup_title_html = "Tietoa sivustolla käytetyistä evästeistä."
Save Settings = "Tallenna asetukset"
third_party_html = "kolmas osapuoli"
toggle_categories = "Tarkemmat tiedot"
toggle_category_details = "Evästeiden yksityiskohdat"
4 changes: 1 addition & 3 deletions languages/CookieConsent/fr.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ cookie_description_secure_key_html = "Utilisés pour le chiffrement des informat
cookie_description_session_html = "Utilisés pour garder l'état de la session de l'utilisateur."
cookie_description_sidefacet_html = "Utilisés pour garder les filtres pliés ou dépliés."
cookie_description_ui_html = "Utilisés pour stocker le thème sélectionné."
cookie_settings_html = "Paramètres des cookies"
Description = "Description"
Domain = "Domaine"
essential_cookies_description_html = "Il n'est pas possible de refuser l'utilisation des cookies nécessaires. Ils sont indispensables pour le fonctionnement du site et pour une meilleure expérience d'utilisation du site."
Expand All @@ -26,8 +25,7 @@ expiration_session = "Fin de la session"
expiration_unit_days = "%%expiration%% jours"
expiration_unit_months = "%%expiration%% mois"
Name = "Nom"
popup_description_html = 'Ce site utilise des cookies nécessaires pour assurer son bon fonctionnement, ainsi que des cookies de pistage qui permettent de comprendre vos interactions avec lui. <a href="#" data-cc="show-preferencesModal">Paramètres des cookies</a>.<br>{{revisionMessage}}'
popup_description_html = "Ce site utilise des cookies nécessaires pour assurer son bon fonctionnement, ainsi que des cookies de pistage qui permettent de comprendre vos interactions avec lui."
popup_revision_message_html = "Votre consentement est requis en raison d'une mise à jour des catégories de cookies."
popup_title_html = "Information sur les cookies utilisés sur ce site"
Save Settings = "Enregistrer les paramètres"
third_party_html = "Cookies tiers"
Loading
Loading