mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	client/context menus/insert note: avoid highlighting predefined templates as "new"
This commit is contained in:
		| @@ -72,6 +72,7 @@ const NEW_BADGE: MenuItemBadge = { | |||||||
| const SEPARATOR = { title: "----" }; | const SEPARATOR = { title: "----" }; | ||||||
|  |  | ||||||
| const creationDateCache = new Map<string, Date>(); | const creationDateCache = new Map<string, Date>(); | ||||||
|  | let rootCreationDate: Date | undefined; | ||||||
|  |  | ||||||
| async function getNoteTypeItems(command?: TreeCommandNames) { | async function getNoteTypeItems(command?: TreeCommandNames) { | ||||||
|     const items: MenuItem<TreeCommandNames>[] = [ |     const items: MenuItem<TreeCommandNames>[] = [ | ||||||
| @@ -169,6 +170,18 @@ async function getBuiltInTemplates(command?: TreeCommandNames) { | |||||||
| } | } | ||||||
|  |  | ||||||
| async function isNewTemplate(templateNoteId) { | async function isNewTemplate(templateNoteId) { | ||||||
|  |     if (rootCreationDate === undefined) { | ||||||
|  |         // Retrieve the root note creation date | ||||||
|  |         try { | ||||||
|  |             let rootNoteInfo: any = await server.get("notes/root"); | ||||||
|  |             if ("dateCreated" in rootNoteInfo) { | ||||||
|  |                 rootCreationDate = new Date(rootNoteInfo.dateCreated); | ||||||
|  |             } | ||||||
|  |         } catch (ex) { | ||||||
|  |             console.log(ex); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|     // Try to retrieve the template's creation date from the cache |     // Try to retrieve the template's creation date from the cache | ||||||
|     let creationDate: Date | undefined = creationDateCache.get(templateNoteId); |     let creationDate: Date | undefined = creationDateCache.get(templateNoteId); | ||||||
|  |  | ||||||
| @@ -186,6 +199,13 @@ async function isNewTemplate(templateNoteId) { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (creationDate) { |     if (creationDate) { | ||||||
|  |         if (rootCreationDate && creationDate.getTime() - rootCreationDate.getTime() < 30000) { | ||||||
|  |             // Ignore templates created within 30 seconds after the root note is created. | ||||||
|  |             // This is useful to prevent predefined templates from being marked | ||||||
|  |             // as 'New' after setting up a new database. | ||||||
|  |             return false; | ||||||
|  |         } | ||||||
|  |  | ||||||
|         // Determine the difference in days between now and the template's creation date |         // Determine the difference in days between now and the template's creation date | ||||||
|         const age = (new Date().getTime() - creationDate.getTime()) / DAY_LENGTH; |         const age = (new Date().getTime() - creationDate.getTime()) / DAY_LENGTH; | ||||||
|         // Return true if the template is at most NEW_TEMPLATE_MIN_AGE days old |         // Return true if the template is at most NEW_TEMPLATE_MIN_AGE days old | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user