From 3a4a0f6f2bf9aff14c00c6acee637319d7458bbb Mon Sep 17 00:00:00 2001 From: Karan Jayachandra Date: Wed, 12 Nov 2025 14:18:36 +0100 Subject: Memory added --- utils.mjs | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) (limited to 'utils.mjs') diff --git a/utils.mjs b/utils.mjs index 308bba8..afe200c 100644 --- a/utils.mjs +++ b/utils.mjs @@ -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'); + }); + } } } -- cgit v1.3.1