Skip to content

Commit

Permalink
Merge pull request #1186 from City-of-Helsinki/UHF-11427_accordion_state
Browse files Browse the repository at this point in the history
UHF-11427: Fix for the accordion state saving mechanism
  • Loading branch information
wktohesi authored Feb 14, 2025
2 parents e8ba06e + 2f9f87c commit 2c80079
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 5 deletions.
2 changes: 1 addition & 1 deletion dist/js/accordion.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/js/accordion/accordion-item.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export default class AccordionItem {
this.parentCallback = parentCallback;

// Use header id as this objects id since header id is unique.
this._id = element.querySelector('.helfi-accordion__header').id;
this._id = element.dataset.accordionId;
this._isOpen = this.localState.loadItemState(this._id);

this.element.style = '--js-accordion-open-time:0s'; // do not animate accordions on pageload
Expand Down
3 changes: 2 additions & 1 deletion src/js/accordion/accordion.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,10 @@ const getAccordionType = (classes) => {

const callback = (mutations, observer) => {
const items = document.querySelectorAll(`.${HelfiAccordion.accordionWrapper}`);

if (items.length > window.helfiAccordions.length) {
try {
items.forEach((accordionElement, index) => {
items.forEach((accordionElement, index) => {
const type = getAccordionType(Array.from(accordionElement.classList));
const isHeaderless = HelfiAccordion.isHeaderless(type);

Expand Down
5 changes: 3 additions & 2 deletions templates/component/accordion.twig
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@

{% set controlled_content_id = "accordion-item-content--" ~ random() %}
{% set close_button_labelled_by_id = "accordion-item__button--close--" ~ random() %}
{% set unique_id = heading[0]['#context']['value']|clean_class|clean_unique_id %}

<div class="accordion__wrapper helfi-accordion-item" data-accordion-id="{{heading[0]['#context']['value']|clean_class}}">
<{{ heading_level|default('h2') }} class="accordion-item__header helfi-accordion__header" data-accordion-id="{{heading[0]['#context']['value']|clean_class}}">
<div class="accordion__wrapper helfi-accordion-item" data-accordion-id="{{unique_id}}">
<{{ heading_level|default('h2') }} class="accordion-item__header helfi-accordion__header" data-accordion-id="{{unique_id}}">
<button type="button" class="accordion-item__button accordion-item__button--toggle helfi-accordion__header__button" aria-expanded="true" aria-controls="{{ controlled_content_id }}">
{% if heading_icon %}
<div class="accordion-item__icon">
Expand Down

0 comments on commit 2c80079

Please sign in to comment.