diff --git a/index.html b/index.html index c0584a4..f8977c7 100644 --- a/index.html +++ b/index.html @@ -37,6 +37,7 @@
+
diff --git a/main.js b/main.js index 7d20f6d..35dc07e 100644 --- a/main.js +++ b/main.js @@ -35,6 +35,8 @@ var tags = null; var currentvault = ""; var currenttag = ""; +var vaults = ["local", "remote", "sandbox"]; + var stat = { ses: @@ -228,8 +230,8 @@ var commands = [ action: downloadnotewithsubs }, { - hint: "Download local data", - action: downloadlocal, + hint: "Download vault", + action: downloadvault, shortcut: "ctrl+shift+S" }, { @@ -275,7 +277,7 @@ var commands = [ shortcut: "ctrl+l" }, { - hint: "Switch vault", + hint: "Change vault", action: switchvault, shortcut: "ctrl+shift+V" }, @@ -482,8 +484,17 @@ function addtagfilter() function switchvault() { - window.localStorage.setItem("vault", othervault()); - init(); + searchinlist(vaults) + .then(vault => + { + window.localStorage.setItem("vault", vault); + init(); + + if (vault == "sandbox") + { + datafile.hidden = false; + } + }); } function ancestors(note) @@ -804,14 +815,9 @@ function downloadnotes() }); } -function downloadlocal() +function downloadvault() { - var data = - { - local : JSON.parse(window.localStorage.getItem("local")), - remote : JSON.parse(window.localStorage.getItem("remote")) - }; - download(timestamp() + " notes.json", JSON.stringify(data)); + download("notes " + timestamp() + " " + currentvault + ".json", window.localStorage.getItem(currentvault)); } function downloadnotewithsubs() @@ -961,23 +967,32 @@ function initsnippets() } } -function othervault() -{ - return isremote() ? "local" : "remote"; -} - function initvault() { currentvault = window.localStorage.getItem("vault") || "local"; } +function loaddatafile(filepath) +{ + reader = new FileReader(); + if (filepath.files && filepath.files[0]) + { + reader.onload = function (e) + { + localdata = JSON.parse(e.target.result); + loadlast(); + datafile.hidden = true; + }; + reader.readAsText(filepath.files[0]); + } + return true; +} + function init() { loadsettings(); initvault(); - commands.find(c => c.action == switchvault).hint = "Switch to " + othervault() + " vault"; - window.onbeforeunload = checksaved; window.onclick = focuseditor; @@ -1865,7 +1880,7 @@ function mainkeydownhandler() function setwindowtitle() { - document.title = ""; + document.title = "[" + currentvault + "] -\xa0"; if (currenttag) { document.title += "[" + currenttag + "] -\xa0";