From 294c7c5cb48d179152bce7e3437eb0cf212bb572 Mon Sep 17 00:00:00 2001 From: Joel Chen Date: Fri, 17 Apr 2020 09:01:57 -0700 Subject: [PATCH 1/3] improve HTML viewer - Use Menlo font - Use DOM to append entries - Use URL hash to remember settings --- packages/xarc-app-dev/lib/dev-admin/log.html | 125 ++++++++++++++++++- 1 file changed, 121 insertions(+), 4 deletions(-) diff --git a/packages/xarc-app-dev/lib/dev-admin/log.html b/packages/xarc-app-dev/lib/dev-admin/log.html index c8a920a87..6b0196c51 100644 --- a/packages/xarc-app-dev/lib/dev-admin/log.html +++ b/packages/xarc-app-dev/lib/dev-admin/log.html @@ -46,11 +46,16 @@ font-size: small; line-height: normal; } + + .hide { + display: none; + } From 6f5583dd7ec90655a2ed01525a8bad3e2d5cd1c7 Mon Sep 17 00:00:00 2001 From: Joel Chen Date: Fri, 17 Apr 2020 09:29:21 -0700 Subject: [PATCH 2/3] set default levels --- packages/xarc-app-dev/lib/dev-admin/log.html | 33 +++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/packages/xarc-app-dev/lib/dev-admin/log.html b/packages/xarc-app-dev/lib/dev-admin/log.html index 6b0196c51..796bb84f1 100644 --- a/packages/xarc-app-dev/lib/dev-admin/log.html +++ b/packages/xarc-app-dev/lib/dev-admin/log.html @@ -93,15 +93,24 @@ const el = document.getElementById("logs"); let logCount = 0; let currentHash = ""; + const defaultLevelSelections = { + error: true, + warn: true, + info: true, + http: true, + verbose: true, + debug: true, + silly: true + }; function getLevelSelections() { - const levels = ["error", "warn", "info", "http", "verbose", "debug", "silly"]; - const levelSelections = {}; - levels.forEach(level => { - const c = document.getElementById("level." + level); - levelSelections[level] = c.checked; - }); - return levelSelections; + const levels = Object.keys(defaultLevelSelections); + const levelSelections = levels.reduce((acc, level) => { + const checkBox = document.getElementById("level." + level); + acc[level] = checkBox.checked; + return acc; + }, {}); + return { ...defaultLevelSelections, ...levelSelections }; } function levelChangeHandler() { @@ -153,7 +162,7 @@ } function setValuesInHash(values) { - const info = { ...getHashValues(), ...values }; + const info = { ...defaultLevelSelections, ...getHashValues(), ...values }; currentHash = window.location.hash = "#" + Object.keys(info) @@ -198,8 +207,8 @@ } } - function updateLevelChecks() { - const info = getHashValues(); + function updateLevelCheckboxes() { + const info = { ...defaultLevelSelections, ...getLevelSelections(), ...getHashValues() }; Object.keys(info).forEach(k => { const elem = document.getElementById(`level.${k}`); if (elem) { @@ -213,7 +222,7 @@ () => { if (currentHash !== window.location.hash) { currentHash = window.location.hash; - updateLevelChecks(); + updateLevelCheckboxes(); const count = getCountFromHash(); if (count !== logCount) { logCount = count; @@ -228,7 +237,7 @@ ); logCount = getCountFromHash(); - updateLevelChecks(); + updateLevelCheckboxes(); setTimeout(displayLogs, 10); From 03da606df37eec599100afeedc0957e304381b53 Mon Sep 17 00:00:00 2001 From: Joel Chen Date: Fri, 17 Apr 2020 10:11:52 -0700 Subject: [PATCH 3/3] use & to separate values in hash --- packages/xarc-app-dev/lib/dev-admin/log.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/xarc-app-dev/lib/dev-admin/log.html b/packages/xarc-app-dev/lib/dev-admin/log.html index 796bb84f1..405c31be0 100644 --- a/packages/xarc-app-dev/lib/dev-admin/log.html +++ b/packages/xarc-app-dev/lib/dev-admin/log.html @@ -137,7 +137,7 @@ if (hash) { return hash .substr(1) - .split(";") + .split("&") .reduce((acc, val) => { const kvp = val.split("="); if (kvp.length === 2 && kvp[0]) { @@ -168,7 +168,7 @@ Object.keys(info) .sort() .map(k => `${k}=${info[k]}`) - .join(";"); + .join("&"); } function setCountInHash() { @@ -184,7 +184,7 @@ async function displayLogs(levelSelections, scrollToEnd = true) { levelSelections = levelSelections || getLevelSelections(); - const logResponse = await fetch("/__electrode_dev/log-events"); + const logResponse = await fetch(`/__electrode_dev/log-events`); let newLogs = await logResponse.json(); const updateLogs = newLogs.slice(logCount, newLogs.length);