32 lines
916 B
JavaScript
32 lines
916 B
JavaScript
// Generated, do not edit. sha256:1a4cf8672609e7907c7ebb7585b76d7f298027e896295fa767475cc915ce9da4
|
|||
|
|
import { getPref, setPref } from '../data/preferences.js';
|
||
|
|
|
||
|
|
const SCOPE = 'expand';
|
||
|
|
|
||
|
|
export async function expanders(pagina, standaard = {}) {
|
||
|
|
let bewaard = {};
|
||
|
|
try {
|
||
|
|
const rij = await getPref(SCOPE, pagina, {});
|
||
|
|
if (rij && typeof rij === 'object' && !Array.isArray(rij)) bewaard = rij;
|
||
|
|
} catch { }
|
||
|
|
|
||
|
|
const stand = { ...standaard, ...bewaard };
|
||
|
|
|
||
|
|
return {
|
||
|
|
open: naam => stand[naam] === true,
|
||
|
|
|
||
|
|
attr(naam) {
|
||
|
|
return `data-expand="${naam}"${stand[naam] === true ? ' open' : ''}`;
|
||
|
|
},
|
||
|
|
|
||
|
|
bind(host) {
|
||
|
|
if (!host) return;
|
||
|
|
for (const kader of host.querySelectorAll('[data-expand]')) {
|
||
|
|
kader.addEventListener('toggle', () => {
|
||
|
|
stand[kader.dataset.expand] = kader.open;
|
||
|
|
setPref(SCOPE, pagina, stand).catch(() => { });
|
||
|
|
});
|
||
|
|
}
|
||
|
|
},
|
||
|
|
};
|
||
|
|
}
|