]> git.mdlowis.com Git - proto/journal.git/commitdiff
fixed local storage behavior and new page shortcut
authorMichael D. Lowis <mike@mdlowis.com>
Sat, 2 Dec 2017 02:27:50 +0000 (21:27 -0500)
committerMichael D. Lowis <mike@mdlowis.com>
Sat, 2 Dec 2017 02:27:50 +0000 (21:27 -0500)
editor.js
index.html

index 30eaf5a9c7d16418ed4e41567fd924099fb08fd5..466306ac96301bbdfc7f91acd296abd03f5399f7 100644 (file)
--- a/editor.js
+++ b/editor.js
@@ -18,7 +18,9 @@
                return [dt.getFullYear(), (month > 9 ? '' : '0') + month, (day > 9 ? '' : '0') + day].join('.');
        };
 
-       const initialize = () => {
+       const initialize = (force) => {
+               if (!!force) document.title = "", ls.clear();
+
                if (doc.title === "") {
                        content.innerHTML = !!ls['content'] ? ls['content'] : "<p>&nbsp;</p>";
                        header.innerHTML = !!ls['header'] ? ls['header']
@@ -26,8 +28,9 @@
                        doc.title = header.innerText;
                }
 
+               header.onkeydown = (ev) => (!!keys[ev.key] ? (keys[ev.key])(ev) : true);
                content.onkeydown = (ev) => (!!keys[ev.key] ? (keys[ev.key])(ev) : true);
-               header.onkeyup = (ev) => {
+               document.onkeyup = (ev) => {
                        doc.title = header.innerText;
                        ls['header'] = header.innerHTML;
                        ls['content'] = content.innerHTML;
@@ -40,6 +43,8 @@
        const keyCmd = (ev, cmd, arg) => (ctrlHeld(ev) ? !doc.exec(cmd, false, arg) : true);
 
        const keys = {
+               ".": (ev) => initialize(true),
+               ";": (ev) => keyCmd(ev, "insertHTML", "<code>\r\n</code>"),
                "b": (ev) => keyCmd(ev, "bold"),
                "i": (ev) => keyCmd(ev, "italic"),
                "u": (ev) => keyCmd(ev, "underline"),
@@ -70,8 +75,6 @@
                                return !doc.exec((ev.shiftKey ? "out" : "in")+"dent",false);
                },
 
-               "\\": (ev) => init(),
-               ";": (ev) => keyCmd(ev, "insertHTML", "<code>\r\n</code>"),
                "'": (ev) => {
                        if (ctrlHeld(ev)) {
                                const block = (inTag("BLOCKQUOTE") ? "<p>" : "<blockquote>");
index a55c5e288bc4df18dc51e9e827018a19e9e7ffa0..e2c0a9fad6d8dfeacc892213a211ee90438de2cb 100644 (file)
@@ -99,7 +99,9 @@ th:first-child, td:first-child {
                return [dt.getFullYear(), (month > 9 ? '' : '0') + month, (day > 9 ? '' : '0') + day].join('.');
        };
 
-       const initialize = () => {
+       const initialize = (force) => {
+               if (!!force) document.title = "", ls.clear();
+
                if (doc.title === "") {
                        content.innerHTML = !!ls['content'] ? ls['content'] : "<p>&nbsp;</p>";
                        header.innerHTML = !!ls['header'] ? ls['header']
@@ -107,8 +109,9 @@ th:first-child, td:first-child {
                        doc.title = header.innerText;
                }
 
+               header.onkeydown = (ev) => (!!keys[ev.key] ? (keys[ev.key])(ev) : true);
                content.onkeydown = (ev) => (!!keys[ev.key] ? (keys[ev.key])(ev) : true);
-               header.onkeyup = (ev) => {
+               document.onkeyup = (ev) => {
                        doc.title = header.innerText;
                        ls['header'] = header.innerHTML;
                        ls['content'] = content.innerHTML;
@@ -121,6 +124,7 @@ th:first-child, td:first-child {
        const keyCmd = (ev, cmd, arg) => (ctrlHeld(ev) ? !doc.exec(cmd, false, arg) : true);
 
        const keys = {
+               ".": (ev) => initialize(true),
                "b": (ev) => keyCmd(ev, "bold"),
                "i": (ev) => keyCmd(ev, "italic"),
                "u": (ev) => keyCmd(ev, "underline"),
@@ -151,7 +155,6 @@ th:first-child, td:first-child {
                                return !doc.exec((ev.shiftKey ? "out" : "in")+"dent",false);
                },
 
-               "\\": (ev) => init(),
                ";": (ev) => keyCmd(ev, "insertHTML", "<code>\r\n</code>"),
                "'": (ev) => {
                        if (ctrlHeld(ev)) {