fixes in setting/opening tabs

This commit is contained in:
zadam 2020-03-18 10:08:16 +01:00
parent 280955b3a2
commit 6295a1825d
7 changed files with 17 additions and 15 deletions

View File

@ -66,16 +66,16 @@ export default class Entrypoints extends Component {
async createNoteIntoDayNoteCommand() { async createNoteIntoDayNoteCommand() {
const todayNote = await dateNoteService.getTodayNote(); const todayNote = await dateNoteService.getTodayNote();
const {note} = await noteCreateService.createNote(todayNote.noteId, { const {note} = await server.post(`notes/${todayNote.noteId}/children?target=into`, {
isProtected: todayNote.isProtected,
type: 'text',
title: 'new note', title: 'new note',
content: '' content: '',
type: 'text',
isProtected: todayNote.isProtected
}); });
await ws.waitForMaxKnownSyncId(); await ws.waitForMaxKnownSyncId();
await appContext.tabManager.openTabWithNote(note.noteId, false); await appContext.tabManager.openTabWithNote(note.noteId, true);
appContext.triggerEvent('focusAndSelectTitle'); appContext.triggerEvent('focusAndSelectTitle');
} }

View File

@ -40,7 +40,7 @@ class TabContext extends Component {
return; // note is outside of hoisted subtree and user chose not to unhoist return; // note is outside of hoisted subtree and user chose not to unhoist
} }
await this.triggerEvent('beforeNoteSwitch', {tabId: this.tabId}); await this.triggerEvent('beforeNoteSwitch', {tabContext: this});
utils.closeActiveDialog(); utils.closeActiveDialog();

View File

@ -196,7 +196,7 @@ export default class TabManager extends Component {
this.triggerEvent('tabNoteSwitchedAndActivated', { this.triggerEvent('tabNoteSwitchedAndActivated', {
tabContext, tabContext,
notePath notePath: tabContext.notePath // resolved note path
}); });
} }
} }
@ -211,7 +211,7 @@ export default class TabManager extends Component {
// if no tab with this note has been found we'll create new tab // if no tab with this note has been found we'll create new tab
await this.openTabWithNote(noteId); await this.openTabWithNote(noteId, true);
} }
activateTab(tabId, triggerEvent = true) { activateTab(tabId, triggerEvent = true) {

View File

@ -90,7 +90,7 @@ function waitForSyncId(desiredSyncId) {
return Promise.resolve(); return Promise.resolve();
} }
console.log("Waiting for", desiredSyncId, 'current is', lastProcessedSyncId); console.debug("Waiting for", desiredSyncId, 'current is', lastProcessedSyncId);
return new Promise((res, rej) => { return new Promise((res, rej) => {
syncIdReachedListeners.push({ syncIdReachedListeners.push({
@ -335,7 +335,7 @@ async function processSyncRows(syncRows) {
if (!loadResults.isEmpty()) { if (!loadResults.isEmpty()) {
const appContext = (await import("./app_context.js")).default; const appContext = (await import("./app_context.js")).default;
appContext.triggerEvent('entitiesReloaded', {loadResults}); await appContext.triggerEvent('entitiesReloaded', {loadResults});
} }
} }

View File

@ -188,8 +188,8 @@ export default class NoteDetailWidget extends TabAwareWidget {
} }
} }
async beforeNoteSwitchEvent({tabId}) { async beforeNoteSwitchEvent({tabContext}) {
if (this.isTab(tabId)) { if (this.isTab(tabContext.tabId)) {
await this.spacedUpdate.updateNowIfNecessary(); await this.spacedUpdate.updateNowIfNecessary();
} }
} }

View File

@ -52,8 +52,8 @@ export default class NoteTitleWidget extends TabAwareWidget {
this.$noteTitle.prop("readonly", note.isProtected && !protectedSessionHolder.isProtectedSessionAvailable()); this.$noteTitle.prop("readonly", note.isProtected && !protectedSessionHolder.isProtectedSessionAvailable());
} }
async beforeNoteSwitchEvent({tabId}) { async beforeNoteSwitchEvent({tabContext}) {
if (this.isTab(tabId)) { if (this.isTab(tabContext.tabId)) {
await this.spacedUpdate.updateNowIfNecessary(); await this.spacedUpdate.updateNowIfNecessary();
} }
} }

View File

@ -554,7 +554,9 @@ export default class NoteTreeWidget extends TabAwareWidget {
} }
if (activeNotePath) { if (activeNotePath) {
appContext.tabManager.getActiveTabContext().setNote(activeNotePath); const node = await this.expandToNote(activeNotePath);
node.setActive(true, {noEvents: true});
} }
} }