diff --git a/nullboard.html b/nullboard.html index 619680a..40cb7ce 100644 --- a/nullboard.html +++ b/nullboard.html @@ -3040,13 +3040,13 @@ $note.find('.text').html(''); $note.addClass('brand-new'); - if ($before) + if ($before && $before.length) { $before.before($note); $note = $before.prev(); } else - if ($after) + if ($after && $after.length) { $after.after($note); $note = $after.next(); @@ -4617,12 +4617,17 @@ // $('.wrap').on('keydown', '.board .edit', function(ev){ - var isNote = (this.tagName == 'TEXTAREA'); + var $this = $(this); + var $note = $this.closest('.note'); + var $list = $this.closest('.list'); + + var isNote = $note.length > 0; + var isList = $list.length > 0; // esc if (ev.keyCode == 27) { - stopEditing($(this), true, false); + stopEditing($this, true, false); return false; } @@ -4634,28 +4639,35 @@ } // done - if (ev.keyCode == 13 && ! isNote || - ev.keyCode == 13 && ev.altKey || + if (ev.keyCode == 13 && ev.altKey || ev.keyCode == 13 && ev.shiftKey && ! ev.ctrlKey) { - stopEditing($(this), false, false); + stopEditing($this, false, false); return false; } // done + (add after / add before) if (ev.keyCode == 13 && ev.ctrlKey) { - var $this = $(this); - var $note = $this.closest('.note'); - var $list = $note.closest('.list'); - stopEditing($this, false, false); - if ($note && ev.shiftKey) // ctrl-shift-enter - addNote($list, null, $note); + if (isNote) + { + if (ev.shiftKey) // ctrl-shift-enter + addNote($list, null, $note); + else + addNote($list, $note); + } else - if ($note && !ev.shiftKey) // ctrl-enter + if (isList) + { + $note = $list.find('.note').last(); addNote($list, $note); + } + else + { + addList(); + } return false; } @@ -4663,26 +4675,26 @@ // done + collapse if (isNote && ev.altKey && ev.key == 'ArrowUp') { - var $item = $(this).parent(); + var $item = $this.parent(); $item[0]._collapsed = true; - stopEditing($(this), false, false); + stopEditing($this, false, false); return false; } // done + expand if (isNote && ev.altKey && ev.key == 'ArrowDown') { - var $item = $(this).parent(); + var $item = $this.parent(); $item[0]._collapsed = false; - stopEditing($(this), false, false); + stopEditing($this, false, false); return false; } // done + toggle 'raw' if (isNote && ev.altKey && ev.keyCode == 82) { - $(this).parent().toggleClass('raw'); - stopEditing($(this), false, false); + $this.parent().toggleClass('raw'); + stopEditing($this, false, false); return false; } @@ -4692,7 +4704,7 @@ var have = this.value; var pos = this.selectionStart; var want = have.substr(0, pos) + '\u2022 ' + have.substr(this.selectionEnd); - $(this).val(want); + $this.val(want); this.selectionStart = this.selectionEnd = pos + 2; return false; } @@ -5002,7 +5014,7 @@ */ var NB = { - codeVersion: 20210804, + codeVersion: 20211023, blobVersion: 20190412, // board blob format in Storage board: null, storage: null,