clipper doesn't open new tab if the note is already loaded in existing tab

This commit is contained in:
zadam 2019-07-07 11:15:55 +02:00
parent a912b2f23d
commit 95a773e5c9
3 changed files with 19 additions and 5 deletions

View file

@ -76,6 +76,22 @@ function getActiveEditor() {
}
}
async function activateOrOpenNote(noteId) {
for (const tabContext of tabContexts) {
if (tabContext.note && tabContext.note.noteId === noteId) {
await tabContext.activate();
return;
}
}
// if no tab with this note has been found we'll create new tab
await loadNoteDetail(noteId, {
newTab: true,
activate: true
});
}
function getTabContexts() {
return tabContexts;
}
@ -544,6 +560,7 @@ export default {
getTabContexts,
getActiveTabContext,
getActiveEditor,
activateOrOpenNote,
clearOpenTabsTask,
filterTabs,
openEmptyTab,

View file

@ -713,10 +713,7 @@ messagingService.subscribeToMessages(message => {
reload();
}
else if (message.type === 'open-note') {
noteDetailService.loadNoteDetail(message.noteId, {
newTab: true,
activate: true
});
noteDetailService.activateOrOpenNote(message.noteId);
if (utils.isElectron()) {
const currentWindow = require("electron").remote.getCurrentWindow();

View file

@ -38,7 +38,7 @@ async function addClipping(req) {
const rewrittenContent = await addImagesToNote(images, clippingNote, content);
await clippingNote.setContent(await clippingNote.getContent() + rewrittenContent);
await clippingNote.setContent(await clippingNote.getContent() + '<p>' + rewrittenContent + '</p>');
return {
noteId: clippingNote.noteId