fixes for indentation and keyboard shortcuts

This commit is contained in:
azivner 2018-01-22 22:14:03 -05:00
parent d8b7763dea
commit 93d0e0aa2d
2 changed files with 24 additions and 10 deletions

View File

@ -171,6 +171,20 @@ const noteEditor = (function() {
return editor; return editor;
} }
function focus() {
const note = getCurrentNote();
if (note.detail.type === 'text') {
noteDetailEl.focus();
}
else if (note.detail.type === 'code') {
codeEditor.focus();
}
else {
throwError('Unrecognized type: ' + note.detail.type);
}
}
$(document).ready(() => { $(document).ready(() => {
noteTitleEl.on('input', () => { noteTitleEl.on('input', () => {
noteChanged(); noteChanged();
@ -192,19 +206,17 @@ const noteEditor = (function() {
console.error(error); console.error(error);
}); });
CodeMirror.keyMap.default["Shift-Tab"] = "indentLess";
CodeMirror.keyMap.default["Tab"] = "indentMore";
codeEditor = CodeMirror($("#note-detail-code")[0], { codeEditor = CodeMirror($("#note-detail-code")[0], {
value: "", value: "",
viewportMargin: Infinity viewportMargin: Infinity,
indentUnit: 4,
}); });
codeEditor.on('change', noteChanged); codeEditor.on('change', noteChanged);
codeEditor.setOption("extraKeys", {
'Ctrl-.': function(cm) {
noteTree.scrollToCurrentNote();
}
});
// so that tab jumps from note title (which has tabindex 1) // so that tab jumps from note title (which has tabindex 1)
noteDetailEl.attr("tabindex", 2); noteDetailEl.attr("tabindex", 2);
}); });
@ -222,6 +234,7 @@ const noteEditor = (function() {
getCurrentNote, getCurrentNote,
getCurrentNoteId, getCurrentNoteId,
newNoteCreated, newNoteCreated,
getEditor getEditor,
focus
}; };
})(); })();

View File

@ -4,7 +4,6 @@ const noteTree = (function() {
const treeEl = $("#tree"); const treeEl = $("#tree");
const parentListEl = $("#parent-list"); const parentListEl = $("#parent-list");
const parentListListEl = $("#parent-list-list"); const parentListListEl = $("#parent-list-list");
const noteDetailEl = $("#note-detail");
let startNotePath = null; let startNotePath = null;
let notesTreeMap = {}; let notesTreeMap = {};
@ -504,7 +503,9 @@ const noteTree = (function() {
return false; return false;
}, },
"return": node => { "return": node => {
noteDetailEl.focus(); noteEditor.focus();
return false;
}, },
"backspace": node => { "backspace": node => {
if (!isTopLevelNode(node)) { if (!isTopLevelNode(node)) {