diff --git a/public/javascripts/note_editor.js b/public/javascripts/note_editor.js index 150fe0691..b0b3a5df9 100644 --- a/public/javascripts/note_editor.js +++ b/public/javascripts/note_editor.js @@ -150,12 +150,12 @@ const noteEditor = (function() { noteDetailEl.show(); noteDetailCodeEl.hide(); - noteDetailRenderEl.hide(); + noteDetailRenderEl.html('').hide(); } else if (currentNote.detail.type === 'code') { noteDetailEl.hide(); noteDetailCodeEl.show(); - noteDetailRenderEl.hide(); + noteDetailRenderEl.html('').hide(); // this needs to happen after the element is shown, otherwise the editor won't be refresheds codeEditor.setValue(currentNote.detail.note_text); @@ -170,7 +170,7 @@ const noteEditor = (function() { else if (currentNote.detail.type === 'render') { noteDetailEl.hide(); noteDetailCodeEl.hide(); - noteDetailRenderEl.show(); + noteDetailRenderEl.html('').show(); const subTree = await server.get('script/subtree/' + getCurrentNoteId()); diff --git a/public/javascripts/note_tree.js b/public/javascripts/note_tree.js index 7831e46e2..18378ce8b 100644 --- a/public/javascripts/note_tree.js +++ b/public/javascripts/note_tree.js @@ -756,16 +756,6 @@ const noteTree = (function() { is_protected: isProtected }); - const newNode = { - title: newNoteName, - note_id: result.note_id, - parent_note_id: parentNoteId, - refKey: result.note_id, - note_tree_id: result.note_tree_id, - is_protected: isProtected, - extraClasses: isProtected ? "protected" : "" - }; - setParentChildRelation(result.note_tree_id, parentNoteId, result.note_id); notesTreeMap[result.note_tree_id] = result; @@ -774,6 +764,16 @@ const noteTree = (function() { noteEditor.newNoteCreated(); + const newNode = { + title: newNoteName, + note_id: result.note_id, + parent_note_id: parentNoteId, + refKey: result.note_id, + note_tree_id: result.note_tree_id, + is_protected: isProtected, + extraClasses: getExtraClasses(result.note) + }; + if (target === 'after') { node.appendSibling(newNode).setActive(true); } diff --git a/public/javascripts/note_type.js b/public/javascripts/note_type.js index 3116c7105..e6e077880 100644 --- a/public/javascripts/note_type.js +++ b/public/javascripts/note_type.js @@ -79,6 +79,9 @@ const noteType = (function() { await noteEditor.reload(); + // for the note icon to be updated in the tree + await noteTree.reload(); + self.updateExecuteScriptButtonVisibility(); } diff --git a/routes/api/notes.js b/routes/api/notes.js index 623328ac5..b8f9f8bf4 100644 --- a/routes/api/notes.js +++ b/routes/api/notes.js @@ -33,14 +33,15 @@ router.get('/:noteId', auth.checkApiAuth, wrap(async (req, res, next) => { router.post('/:parentNoteId/children', auth.checkApiAuth, wrap(async (req, res, next) => { const sourceId = req.headers.source_id; const parentNoteId = req.params.parentNoteId; - const note = req.body; + const newNote = req.body; await sql.doInTransaction(async () => { - const { noteId, noteTreeId } = await notes.createNewNote(parentNoteId, note, req, sourceId); + const { noteId, noteTreeId, note } = await notes.createNewNote(parentNoteId, newNote, req, sourceId); res.send({ 'note_id': noteId, - 'note_tree_id': noteTreeId + 'note_tree_id': noteTreeId, + 'note': note }); }); })); diff --git a/routes/api/script.js b/routes/api/script.js index 25ba17862..40cb1dabc 100644 --- a/routes/api/script.js +++ b/routes/api/script.js @@ -49,7 +49,7 @@ async function getNoteWithSubtreeScript(noteId, req) { } async function getSubTreeScripts(parentId, includedNoteIds, dataKey) { - const children = await sql.getAll(`SELECT notes.note_id, notes.note_title, notes.note_text, notes.is_protected + const children = await sql.getAll(`SELECT notes.note_id, notes.note_title, notes.note_text, notes.is_protected, notes.mime FROM notes JOIN notes_tree USING(note_id) WHERE notes_tree.is_deleted = 0 AND notes.is_deleted = 0 AND notes_tree.parent_note_id = ? AND notes.type = 'code' @@ -68,6 +68,12 @@ async function getSubTreeScripts(parentId, includedNoteIds, dataKey) { script += await getSubTreeScripts(child.note_id, includedNoteIds, dataKey); + console.log('MIME: ', child.mime); + + if (child.mime === 'application/javascript') { + child.note_text = ''; + } + script += child.note_text + "\r\n"; } diff --git a/services/notes.js b/services/notes.js index 81c4f07d9..200d9b555 100644 --- a/services/notes.js +++ b/services/notes.js @@ -119,7 +119,8 @@ async function createNewNote(parentNoteId, noteOpts, dataKey, sourceId) { return { noteId, - noteTreeId + noteTreeId, + note }; }