From 7c1295bf5dc8f72f4e0e43af72fe67847faadf6f Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sat, 13 Jun 2020 15:26:41 +0200 Subject: Add collapse button and store collapse state of each node as cookies. --- src/ws/view.js | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'src/ws/view.js') diff --git a/src/ws/view.js b/src/ws/view.js index 78b23c1..2c9d507 100644 --- a/src/ws/view.js +++ b/src/ws/view.js @@ -13,6 +13,37 @@ function createNode() } */ +var cookies = null; +function initCookie(cookie, index) +{ + name = cookie.split('=')[0].trim(); + value = cookie.split('=')[1]; + cookies[name] = value; +} +function initCookies() +{ + cookies = new Object(); + document.cookie.split(';').forEach(initCookie); +} +function setCookie(name, value) +{ + if(cookies == null) + { + initCookies(); + } + cookies[name] = value; + document.cookie = name + "=" + value+"; expires=Fri, 31 Dec 9999 23:59:59 GMT"; +} + +function getCookie(name) +{ + if(cookies == null) + { + initCookies(); + } + return cookies[name]; +} + function getNode(subscribeid, id) { } @@ -249,3 +280,21 @@ function addChild(e) id = idFromStr(e.target.parentElement.id); create("x", id, -1); } + +function collapse(e) +{ + var id = e.target.parentElement.id; + var collapsed = getCookie(id+"_collapsed") == "true"; + collapsed = !collapsed; + setCookie(id+"_collapsed", collapsed?"true":"false"); + + e.stopPropagation(); + if(collapsed) + { + e.target.parentElement.style.maxHeight = "32px"; + } + else + { + e.target.parentElement.style.maxHeight = "inherit"; + } +} -- cgit v1.2.3