import { clearData, createBookShelf, importBookShelf, } from "./storage.js"; import { loadTemplate, storeFilesToServer, checkForStoredDataOnServer, delStoredDataOnServer } from "./web.js"; import { getUsrId } from "./scripts.js"; function showMenu() { var x = document.getElementById("navMob"); if (x.className.indexOf("w3-show") == -1) { x.className += " w3-show"; } else { x.className = x.className.replace(" w3-show", ""); } if (screen.width < 993) { let sidebar = document.getElementById("sidebar"); sidebar.style.display = "none"; } } function showSidebar() { let sidebar = document.getElementById("sidebar"); if (getComputedStyle(sidebar).display === "none") { sidebar.style.display = "block"; sidebar.style.marginTop = "35px"; } else { sidebar.style.display = "none"; } if (screen.width < 993) { let navBar = document.getElementById("navMob"); navBar.className = navBar.className.replace(" w3-show", ""); } } function showTextBlocks() { var x = document.getElementById("navTb"); if (x.className.indexOf("w3-show") == -1) { x.className += " w3-show"; } else { x.className = x.className.replace(" w3-show", ""); } if (screen.width < 993) { let sidebar = document.getElementById("sidebar"); sidebar.style.display = "none"; } } function insertTextBlocks(t) { let insert = "!" + t.innerText.split(":")[0] + " "; let id = activeState.lastElement; let element = document.getElementById(id); if (element === null) { return; } element.value += insert; let tB = document.getElementById("navTb"); tB.className.replace(" w3-show", ""); element.focus(); } function handleOnBlur(t) { activeState.lastElement = t.id; //createStorageObj(); } function clickClearForm() { //document.activeElement.blur(); //document.getElementById("sidebar").focus(); clearData("userInput"); let lT = activeState.loadedTemplate; loadTemplate(lT); } function hideMenus(evt) { if (evt === undefined) return; if (evt.target.id == "loadTemplateBtn") return; if (evt.target.parentElement != null) { if (evt.target.parentElement.id == "navMob") return; if (evt.target.parentElement.id == "navReg") return; if (evt.target.parentElement.parentElement != null) { if (evt.target.parentElement.parentElement.id == "navMob") return; if (evt.target.parentElement.parentElement.id == "navReg") return; } } let sidebar = document.getElementById("sidebar"); sidebar.style.display = "none"; let navBar = document.getElementById("navMob"); navBar.className = navBar.className.replace(" w3-show", ""); let tbBar = document.getElementById("navTb"); tbBar.className = tbBar.className.replace(" w3-show", ""); } function modalNotifier(msg, timeout = 3, closeable = true) { let modalElement = document.getElementById("modalNotifier"); let modalElementCloseBtn = document.getElementById("modalNotifierClose"); let msgElement = document.getElementById("modalMsg"); modalElement.style.display = "block"; if (!closeable) modalElementCloseBtn.style.display = "none"; msgElement.innerHTML = msg; if (timeout >= 1) { const run = setTimeout( () => (modalElement.style.display = "none"), timeout * 1000 ); } } function printVersion(msg = "") { const scripts = document.getElementsByTagName("script"); const versionSpan = document.getElementById("currentVersion").lastChild; for (var i = 0; i < scripts.length; i++) { if (scripts[i].src) { let source = scripts[i].src; // js/version/main.js let pathVersion = source.split("/"); pathVersion = pathVersion[pathVersion.length - 2]; //add it to document footer currentVersion versionSpan.textContent = msg+" version: " + pathVersion; } } } function clickImportFiles() { if (activeState.settings.localOnly == "true") { createBookShelfDownload(); return; } checkForStoredDataOnServer(); document.getElementById("modalMsg").addEventListener("click", (e) => { if (e.target && e.target.tagName === "BUTTON") { let modal = document.getElementById("modalNotifier"); switch (e.target.innerHTML) { case "Import": modal.replaceWith(modal.cloneNode(true)); document.getElementById("modalMsg").addEventListener("click", (e) => { if (e.target && e.target.tagName === "BUTTON") { let modal = document.getElementById("modalNotifier"); switch (e.target.innerHTML) { case "Yes": importBookShelf(); modal.replaceWith(modal.cloneNode(true)); modalNotifier("Imported!", activeState.settings.notifierPause); break; case "Cancel": modal.replaceWith(modal.cloneNode(true)); document.getElementById("modalNotifier").style.display = "none"; break; default: e.preventDefault; } } }) modalNotifier( "