mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	refactoring
This commit is contained in:
		| @@ -64,7 +64,7 @@ export default class DialogCommandExecutor extends Component { | |||||||
|  |  | ||||||
|         const tabContext = await appContext.tabManager.openTabWithNote(sqlConsoleNote.noteId, true); |         const tabContext = await appContext.tabManager.openTabWithNote(sqlConsoleNote.noteId, true); | ||||||
|  |  | ||||||
|         appContext.triggerCommand('focusOnDetail', {tabId: tabContext.tabId}); |         appContext.triggerEvent('focusOnDetail', {tabId: tabContext.tabId}); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     async searchNotesCommand({searchString, ancestorNoteId}) { |     async searchNotesCommand({searchString, ancestorNoteId}) { | ||||||
|   | |||||||
| @@ -56,10 +56,10 @@ async function createNote(parentNoteId, options = {}) { | |||||||
|         await activeTabContext.setNote(note.noteId); |         await activeTabContext.setNote(note.noteId); | ||||||
|  |  | ||||||
|         if (options.focus === 'title') { |         if (options.focus === 'title') { | ||||||
|             appContext.triggerCommand('focusAndSelectTitle'); |             appContext.triggerEvent('focusAndSelectTitle'); | ||||||
|         } |         } | ||||||
|         else if (options.focus === 'content') { |         else if (options.focus === 'content') { | ||||||
|             appContext.triggerCommand('focusOnDetail', {tabId: activeTabContext.tabId}); |             appContext.triggerEvent('focusOnDetail', {tabId: activeTabContext.tabId}); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -26,31 +26,10 @@ class TabContext extends Component { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     async setNote(inputNotePath, triggerSwitchEvent = true) { |     async setNote(inputNotePath, triggerSwitchEvent = true) { | ||||||
|         const noteId = treeService.getNoteIdFromNotePath(inputNotePath); |         const resolvedNotePath = await this.getResolvedNotePath(inputNotePath); | ||||||
|         let resolvedNotePath; |  | ||||||
|  |  | ||||||
|         if ((await treeCache.getNote(noteId)).isDeleted) { |         if (!resolvedNotePath) { | ||||||
|             // no point in trying to resolve canonical notePath |             return; | ||||||
|             resolvedNotePath = inputNotePath; |  | ||||||
|         } |  | ||||||
|         else { |  | ||||||
|             resolvedNotePath = await treeService.resolveNotePath(inputNotePath); |  | ||||||
|  |  | ||||||
|             if (!resolvedNotePath) { |  | ||||||
|                 logError(`Cannot resolve note path ${inputNotePath}`); |  | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|             if (resolvedNotePath === this.notePath) { |  | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|             if (await hoistedNoteService.checkNoteAccess(resolvedNotePath, this) === false) { |  | ||||||
|                 return; // note is outside of hoisted subtree and user chose not to unhoist |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|             // if user choise to unhoist, cache was reloaded, but might not contain this note (since it's on unexpanded path) |  | ||||||
|             await treeCache.getNote(noteId); |  | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         await this.triggerEvent('beforeNoteSwitch', {tabContext: this}); |         await this.triggerEvent('beforeNoteSwitch', {tabContext: this}); | ||||||
| @@ -58,20 +37,12 @@ class TabContext extends Component { | |||||||
|         utils.closeActiveDialog(); |         utils.closeActiveDialog(); | ||||||
|  |  | ||||||
|         this.notePath = resolvedNotePath; |         this.notePath = resolvedNotePath; | ||||||
|         this.noteId = noteId; |         this.noteId = treeService.getNoteIdFromNotePath(resolvedNotePath); | ||||||
|  |  | ||||||
|         this.textPreviewDisabled = false; |         this.textPreviewDisabled = false; | ||||||
|         this.codePreviewDisabled = false; |         this.codePreviewDisabled = false; | ||||||
|  |  | ||||||
|         setTimeout(async () => { |         this.saveToRecentNotes(resolvedNotePath); | ||||||
|             // we include the note into recent list only if the user stayed on the note at least 5 seconds |  | ||||||
|             if (resolvedNotePath && resolvedNotePath === this.notePath) { |  | ||||||
|                 await server.post('recent-notes', { |  | ||||||
|                     noteId: this.note.noteId, |  | ||||||
|                     notePath: this.notePath |  | ||||||
|                 }); |  | ||||||
|             } |  | ||||||
|         }, 5000); |  | ||||||
|  |  | ||||||
|         protectedSessionHolder.touchProtectedSessionIfNecessary(this.note); |         protectedSessionHolder.touchProtectedSessionIfNecessary(this.note); | ||||||
|  |  | ||||||
| @@ -88,6 +59,47 @@ class TabContext extends Component { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     saveToRecentNotes(resolvedNotePath) { | ||||||
|  |         setTimeout(async () => { | ||||||
|  |             // we include the note into recent list only if the user stayed on the note at least 5 seconds | ||||||
|  |             if (resolvedNotePath && resolvedNotePath === this.notePath) { | ||||||
|  |                 await server.post('recent-notes', { | ||||||
|  |                     noteId: this.note.noteId, | ||||||
|  |                     notePath: this.notePath | ||||||
|  |                 }); | ||||||
|  |             } | ||||||
|  |         }, 5000); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     async getResolvedNotePath(inputNotePath) { | ||||||
|  |         const noteId = treeService.getNoteIdFromNotePath(inputNotePath); | ||||||
|  |  | ||||||
|  |         if ((await treeCache.getNote(noteId)).isDeleted) { | ||||||
|  |             // no point in trying to resolve canonical notePath | ||||||
|  |             return inputNotePath; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         const resolvedNotePath = await treeService.resolveNotePath(inputNotePath); | ||||||
|  |  | ||||||
|  |         if (!resolvedNotePath) { | ||||||
|  |             logError(`Cannot resolve note path ${inputNotePath}`); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (resolvedNotePath === this.notePath) { | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (await hoistedNoteService.checkNoteAccess(resolvedNotePath, this) === false) { | ||||||
|  |             return; // note is outside of hoisted subtree and user chose not to unhoist | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         // if user choise to unhoist, cache was reloaded, but might not contain this note (since it's on unexpanded path) | ||||||
|  |         await treeCache.getNote(noteId); | ||||||
|  |  | ||||||
|  |         return resolvedNotePath; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /** @property {NoteShort} */ |     /** @property {NoteShort} */ | ||||||
|     get note() { |     get note() { | ||||||
|         if (this.noteId && !(this.noteId in treeCache.notes)) { |         if (this.noteId && !(this.noteId in treeCache.notes)) { | ||||||
|   | |||||||
| @@ -485,7 +485,7 @@ export default class AttributeEditorWidget extends TabAwareWidget { | |||||||
|                 }); |                 }); | ||||||
|             } |             } | ||||||
|             else { |             else { | ||||||
|                 this.triggerCommand('focusOnDetail', {tabId: this.tabContext.tabId}); |                 this.triggerEvent('focusOnDetail', {tabId: this.tabContext.tabId}); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -249,7 +249,6 @@ export default class NoteDetailWidget extends TabAwareWidget { | |||||||
|             loadCSS: [ |             loadCSS: [ | ||||||
|                 "libraries/codemirror/codemirror.css", |                 "libraries/codemirror/codemirror.css", | ||||||
|                 "libraries/ckeditor/ckeditor-content.css", |                 "libraries/ckeditor/ckeditor-content.css", | ||||||
|                 "libraries/ckeditor/ckeditor-content.css", |  | ||||||
|                 "libraries/bootstrap/css/bootstrap.min.css", |                 "libraries/bootstrap/css/bootstrap.min.css", | ||||||
|                 "libraries/katex/katex.min.css", |                 "libraries/katex/katex.min.css", | ||||||
|                 "stylesheets/print.css", |                 "stylesheets/print.css", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user