mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 10:26:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| const treeUtils = (function() {
 | |
|     const treeEl = $("#tree");
 | |
| 
 | |
|     function getParentNoteTreeId(node) {
 | |
|         return node.note_pid;
 | |
|     }
 | |
| 
 | |
|     function getParentProtectedStatus(node) {
 | |
|         return node.getParent() === null ? 0 : node.getParent().data.is_protected;
 | |
|     }
 | |
| 
 | |
|     function getNodeByKey(key) {
 | |
|         return treeEl.fancytree('getNodeByKey', key);
 | |
|     }
 | |
| 
 | |
|     function getNodeByNoteTreeId(noteTreeId) {
 | |
|         const key = noteTree.getKeyFromNoteTreeId(noteTreeId);
 | |
| 
 | |
|         return getNodeByKey(key);
 | |
|     }
 | |
| 
 | |
|     function getNoteIdFromNotePath(notePath) {
 | |
|         const path = notePath.split("/");
 | |
| 
 | |
|         return path[path.length - 1];
 | |
|     }
 | |
| 
 | |
|     function getFullNameForPath(notePath) {
 | |
|         const path = notePath.split("/");
 | |
|         const titlePath = path.map(noteId => noteTree.getNoteTitle(noteId));
 | |
| 
 | |
|         return titlePath.join(" > ");
 | |
|     }
 | |
| 
 | |
|     function getFullName(noteTreeId) {
 | |
|         let note = noteTree.getByNoteTreeId(noteTreeId);
 | |
| 
 | |
|         if (note === null) {
 | |
|             return "[unknown]";
 | |
|         }
 | |
| 
 | |
|         const path = [];
 | |
| 
 | |
|         while (note) {
 | |
|             path.push(note.note_title);
 | |
| 
 | |
|             note = noteTree.getByNoteTreeId(note.note_pid);
 | |
|         }
 | |
| 
 | |
|         return path.reverse().join(" > ");
 | |
|     }
 | |
| 
 | |
|     function getNotePath(node) {
 | |
|         const path = [];
 | |
| 
 | |
|         while (node) {
 | |
|             if (node.data.note_id) {
 | |
|                 path.push(node.data.note_id);
 | |
|             }
 | |
| 
 | |
|             node = node.getParent();
 | |
|         }
 | |
| 
 | |
|         return path.reverse().join("/");
 | |
|     }
 | |
| 
 | |
|     return {
 | |
|         getParentNoteTreeId,
 | |
|         getParentProtectedStatus,
 | |
|         getNodeByKey,
 | |
|         getNodeByNoteTreeId,
 | |
|         getFullName,
 | |
|         getFullNameForPath,
 | |
|         getNotePath,
 | |
|         getNoteIdFromNotePath
 | |
|     };
 | |
| })(); |