mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 13:01:31 +08:00 
			
		
		
		
	unify API for creating note links
This commit is contained in:
		
							parent
							
								
									b8d6ff0542
								
							
						
					
					
						commit
						d467db2227
					
				| @ -44,7 +44,10 @@ export async function showDialog() { | |||||||
|                 const note = await treeCache.getNote(change.noteId); |                 const note = await treeCache.getNote(change.noteId); | ||||||
|                 const notePath = await treeService.getSomeNotePath(note); |                 const notePath = await treeService.getSomeNotePath(note); | ||||||
| 
 | 
 | ||||||
|                 noteLink = await linkService.createNoteLinkWithPath(notePath, change.title); |                 noteLink = await linkService.createNoteLink(notePath, { | ||||||
|  |                     title: change.title, | ||||||
|  |                     showNotePath: true | ||||||
|  |                 }); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             changesListEl.append($('<li>') |             changesListEl.append($('<li>') | ||||||
|  | |||||||
| @ -9,7 +9,11 @@ function getNotePathFromUrl(url) { | |||||||
|     return notePathMatch === null ? null : notePathMatch[1]; |     return notePathMatch === null ? null : notePathMatch[1]; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| async function createNoteLink(notePath, noteTitle = null, tooltip = true) { | async function createNoteLink(notePath, options = {}) { | ||||||
|  |     let noteTitle = options.title; | ||||||
|  |     const showTooltip = options.showTooltip === undefined ? true : options.showTooltip; | ||||||
|  |     const showNotePath = options.showNotePath === undefined ? false : options.showNotePath; | ||||||
|  | 
 | ||||||
|     if (!noteTitle) { |     if (!noteTitle) { | ||||||
|         const {noteId, parentNoteId} = treeUtils.getNoteIdAndParentIdFromNotePath(notePath); |         const {noteId, parentNoteId} = treeUtils.getNoteIdAndParentIdFromNotePath(notePath); | ||||||
| 
 | 
 | ||||||
| @ -22,30 +26,26 @@ async function createNoteLink(notePath, noteTitle = null, tooltip = true) { | |||||||
|     }).attr('data-action', 'note') |     }).attr('data-action', 'note') | ||||||
|         .attr('data-note-path', notePath); |         .attr('data-note-path', notePath); | ||||||
| 
 | 
 | ||||||
|     if (!tooltip) { |     if (!showTooltip) { | ||||||
|         $noteLink.addClass("no-tooltip-preview"); |         $noteLink.addClass("no-tooltip-preview"); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     return $noteLink; |     const $container = $("<span>").append($noteLink); | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| async function createNoteLinkWithPath(notePath, noteTitle = null) { |     if (showNotePath) { | ||||||
|     const $link = await createNoteLink(notePath, noteTitle); |         notePath = await treeService.resolveNotePath(notePath); | ||||||
| 
 | 
 | ||||||
|     const $res = $("<span>").append($link); |  | ||||||
| 
 |  | ||||||
|     if (notePath.includes("/")) { |  | ||||||
|         const noteIds = notePath.split("/"); |         const noteIds = notePath.split("/"); | ||||||
|         noteIds.pop(); // remove last element
 |         noteIds.pop(); // remove last element
 | ||||||
| 
 | 
 | ||||||
|         const parentNotePath = noteIds.join("/").trim(); |         const parentNotePath = noteIds.join("/").trim(); | ||||||
| 
 | 
 | ||||||
|         if (parentNotePath) { |         if (parentNotePath) { | ||||||
|             $res.append($("<small>").text(" (" + await treeUtils.getNotePathTitle(parentNotePath) + ")")); |             $container.append($("<small>").text(" (" + await treeUtils.getNotePathTitle(parentNotePath) + ")")); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     return $res; |     return $container; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function getNotePathFromLink($link) { | function getNotePathFromLink($link) { | ||||||
| @ -180,7 +180,6 @@ $(document).on('contextmenu', ".note-detail-render a", newTabContextMenu); | |||||||
| export default { | export default { | ||||||
|     getNotePathFromUrl, |     getNotePathFromUrl, | ||||||
|     createNoteLink, |     createNoteLink, | ||||||
|     createNoteLinkWithPath, |  | ||||||
|     addLinkToEditor, |     addLinkToEditor, | ||||||
|     addTextToEditor, |     addTextToEditor, | ||||||
|     goToLink |     goToLink | ||||||
|  | |||||||
| @ -88,7 +88,7 @@ export default class LinkMap { | |||||||
|                 .addClass("note-box") |                 .addClass("note-box") | ||||||
|                 .prop("id", noteBoxId); |                 .prop("id", noteBoxId); | ||||||
| 
 | 
 | ||||||
|             linkService.createNoteLink(noteId, note.title).then($link => { |             linkService.createNoteLink(noteId, {title: note.title}).then($link => { | ||||||
|                 $link.on('click', e => { |                 $link.on('click', e => { | ||||||
|                     try { |                     try { | ||||||
|                         $link.tooltip('dispose'); |                         $link.tooltip('dispose'); | ||||||
|  | |||||||
| @ -137,7 +137,7 @@ class NoteDetailBook { | |||||||
|                 .attr('data-note-id', childNote.noteId) |                 .attr('data-note-id', childNote.noteId) | ||||||
|                 .css("flex-basis", ZOOMS[this.zoomLevel].width) |                 .css("flex-basis", ZOOMS[this.zoomLevel].width) | ||||||
|                 .addClass("type-" + type) |                 .addClass("type-" + type) | ||||||
|                 .append($('<h5 class="note-book-title">').append(await linkService.createNoteLink(childNotePath, null, false))) |                 .append($('<h5 class="note-book-title">').append(await linkService.createNoteLink(childNotePath,  {showTooltip: false}))) | ||||||
|                 .append($('<div class="note-book-content">') |                 .append($('<div class="note-book-content">') | ||||||
|                     .css("max-height", ZOOMS[this.zoomLevel].height) |                     .css("max-height", ZOOMS[this.zoomLevel].height) | ||||||
|                     .append(await this.getNoteContent(type, childNote))); |                     .append(await this.getNoteContent(type, childNote))); | ||||||
|  | |||||||
| @ -494,7 +494,7 @@ class NoteDetailRelationMap { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     async createNoteBox(noteId, title, x, y) { |     async createNoteBox(noteId, title, x, y) { | ||||||
|         const $link = await linkService.createNoteLink(noteId, title); |         const $link = await linkService.createNoteLink(noteId, {title}); | ||||||
|         $link.mousedown(e => { |         $link.mousedown(e => { | ||||||
|             console.log(e); |             console.log(e); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -379,7 +379,7 @@ class TabContext { | |||||||
|     async addPath(notePath, isCurrent) { |     async addPath(notePath, isCurrent) { | ||||||
|         const title = await treeUtils.getNotePathTitle(notePath); |         const title = await treeUtils.getNotePathTitle(notePath); | ||||||
| 
 | 
 | ||||||
|         const noteLink = await linkService.createNoteLink(notePath, title); |         const noteLink = await linkService.createNoteLink(notePath, {title}); | ||||||
| 
 | 
 | ||||||
|         noteLink |         noteLink | ||||||
|             .addClass("no-tooltip-preview") |             .addClass("no-tooltip-preview") | ||||||
|  | |||||||
| @ -45,7 +45,7 @@ class EditedNotesWidget extends StandardWidget { | |||||||
|                 $item.append($("<i>").text(editedNote.title + " (deleted)")); |                 $item.append($("<i>").text(editedNote.title + " (deleted)")); | ||||||
|             } |             } | ||||||
|             else { |             else { | ||||||
|                 $item.append(editedNote.notePath ? await linkService.createNoteLinkWithPath(editedNote.notePath.join("/")) : editedNote.title); |                 $item.append(editedNote.notePath ? await linkService.createNoteLink(editedNote.notePath.join("/"), {showNotePath: true}) : editedNote.title); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             $list.append($item); |             $list.append($item); | ||||||
|  | |||||||
| @ -39,7 +39,7 @@ class SimilarNotesWidget extends StandardWidget { | |||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             const $item = $("<li>") |             const $item = $("<li>") | ||||||
|                 .append(await linkService.createNoteLinkWithPath(similarNote.notePath.join("/"))); |                 .append(await linkService.createNoteLink(similarNote.notePath.join("/"), {showNotePath: true})); | ||||||
| 
 | 
 | ||||||
|             $list.append($item); |             $list.append($item); | ||||||
|         } |         } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 zadam
						zadam