diff options
| author | Karan Jayachandra <karan.jayachandra@nxp.com> | 2025-11-12 14:18:36 +0100 |
|---|---|---|
| committer | Karan Jayachandra <karan.jayachandra@nxp.com> | 2025-11-12 14:18:36 +0100 |
| commit | 3a4a0f6f2bf9aff14c00c6acee637319d7458bbb (patch) | |
| tree | 8f136ad7fcaad95d7b3028138ed092a07ed10162 /utils.mjs | |
| parent | ca3e550fb59af89a2ddc0e1e0e59a3025edbece7 (diff) | |
Memory added
Diffstat (limited to 'utils.mjs')
| -rw-r--r-- | utils.mjs | 38 |
1 files changed, 27 insertions, 11 deletions
@@ -1,14 +1,30 @@ -export function addToggleBehaviour(list, description) { - let renderedHTML = list.map((i) => {return i.render();}).join(''); - let listId = description + 'list'; - document.getElementById(listId).innerHTML = renderedHTML; - for (let index = 0; index < list.length; ++index) { - const p = document.getElementById(description + list[index].id); - p.addEventListener("click", () => { - list[index].toggle(); - p.classList.toggle('is-success'); - p.classList.toggle('is-danger'); - }); +export class Manager { + constructor(description, listData) { + this.description = description; + this.listData = listData; + this.count = listData.length; + } + store() { + let stringData = JSON.stringify(this.listData); + localStorage.setItem(this.description, stringData); + } + render() { + let renderedHTML = this.listData.map((i) => {return i.render();}).join(''); + let elementId = this.description + '_list'; + document.getElementById(elementId).innerHTML = renderedHTML; + this.addToggleBehaviour(); + } + addToggleBehaviour() { + for (let idx = 0; idx < this.listData.length; ++idx) { + const elementId = this.description + "_" + this.listData[idx].id; + const p = document.getElementById(elementId); + p.addEventListener("click", () => { + this.listData[idx].toggle(); + this.store(); + p.classList.toggle('is-success'); + p.classList.toggle('is-danger'); + }); + } } } |
