b13 / collapse

Collapse or expand Content Element in TYPO3's Page Module
GNU General Public License v2.0
3 stars 5 forks source link

Collapse state is still not saved in user settings #7

Open freshworkx opened 1 year ago

freshworkx commented 1 year ago

Collapsing some elements on a page and later revisiting the same page with the same user displays all elements in the expanded state. According to readme, I would expect the state of collapsed elements to be restored, same as #1.

I can confirm this behavior for TYPO3 11.5.30 and Collapse 1.0.0, the collapse state was not saved when I revisited the page.

After some troubleshooting, it looks like the field is not created in the user settings. You either do an addToList or removeFromList in PageModuleCollapse.js, but the field b13.collapse is never set.

I missed something like that in your PageModuleCollapse.js:

if (PersistentStorage.isset('B13.Collapse') === false) {
     PersistentStorage.set('B13.Collapse','');
}

On the first call, the field is created so that I can add or remove a value. This works for me.

artus70 commented 5 months ago

Symptom: All elements were collapsed all the time.

Fix: I just found that it can be fixed by just changing the line

if (btn.ariaExpanded == 'true') {

to

if (btn.getAttribute('aria-expanded') == 'true') {

Appearantly the object attribute btn.ariaExpanded is not set reliably whereas the HTML attribute aria-expanded="true" is set correctly.