From 3e66cdad8dd3a731941b9391c038ce1b4defad36 Mon Sep 17 00:00:00 2001 From: Fred Boniface Date: Mon, 23 Jan 2023 16:39:36 +0000 Subject: [PATCH] Add lib.main.js and lib.board.js Migrate code from main.js to lib.main.js Signed-off-by: Fred Boniface --- UpNext.md | 12 +++++++++ static/js/lib.board.js | 0 static/js/lib.main.js | 61 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 static/js/lib.board.js create mode 100644 static/js/lib.main.js diff --git a/UpNext.md b/UpNext.md index bcba586..45c6e32 100644 --- a/UpNext.md +++ b/UpNext.md @@ -23,6 +23,18 @@ - find-code.js - service-worker.js +### In Progress: + +* Frontend code refactoring: --- Pre-Refactor /static/js folder size: 22132B + - Refactor into files: + - lib.main.js + - lib.board.js + - simple-board.js + - index.js + - settings.js + - find-code.js + - service-worker.js + ### Completed - Testing: * Implement calling list. diff --git a/static/js/lib.board.js b/static/js/lib.board.js new file mode 100644 index 0000000..e69de29 diff --git a/static/js/lib.main.js b/static/js/lib.main.js new file mode 100644 index 0000000..a25b218 --- /dev/null +++ b/static/js/lib.main.js @@ -0,0 +1,61 @@ +/* Feature Detectors */ + +/* Valid values for ${type}: localstorage, sessionstorage */ +async function storageAvailable(type) { + try { + var storage = window[type], + x = '__storage_test__'; + storage.setItem(x, x); + storage.getItem(x); + return true; + } catch (err) { + return false; + } +} + + +/* Delays */ +/* Usage: '' */ +const delay = ms => new Promise(res => setTimeout(res, ms)); + + +/* Log Helper */ +/* Values for level: 1, 2, 3 */ +/* Maintains backwards compatibility for previous + implementation of log helper */ +async function log(msg, type) { + var time = new Date().toISOString(); + switch (type) { + case "ERR": + console.error(`${time} - ${msg}`); + break; + case "WARN": + console.warn(`${time} - ${msg}`); + break; + case "INFO": + console.info(`${time} - ${msg}`); + break; + default: + console.log(`${time} - ${msg}`); + break; + }; +}; + +/* Loading Box Control */ +async function hideLoading() { + document.getElementById("loading").style = "display: none;"; +} + + /* DEPRECIATED: Alias for hideLoading() - Marked for removal*/ + async function clearLoading() { + log("Depreciated function called - clearLoading()", "WARN") + await hideLoading(); + } + +async function showLoading() { + document.getElementById("loading").style = "display: block;"; +} + +async function setLoadingDesc(desc) { + document.getElementById("loading_desc").textContent = `${desc}`; +} \ No newline at end of file