mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 18:36:30 +01:00 
			
		
		
		
	add button to erase deleted notes now into the options
This commit is contained in:
		
							
								
								
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "trilium", | ||||
|   "version": "0.45.5", | ||||
|   "version": "0.45.6", | ||||
|   "lockfileVersion": 1, | ||||
|   "requires": true, | ||||
|   "dependencies": { | ||||
|   | ||||
| @@ -51,6 +51,12 @@ const TPL = ` | ||||
|         <label for="erase-notes-after-time-in-seconds">Erase notes after X seconds</label> | ||||
|         <input class="form-control" id="erase-notes-after-time-in-seconds" type="number" min="0"> | ||||
|     </div> | ||||
|      | ||||
|     <p>You can also trigger erasing manually:</p> | ||||
|      | ||||
|     <button id="erase-deleted-notes-now-button" class="btn">Erase deleted notes now</button> | ||||
|      | ||||
|     <br/><br/> | ||||
| </div> | ||||
|  | ||||
| <div> | ||||
| @@ -117,6 +123,13 @@ export default class ProtectedSessionOptions { | ||||
|             return false; | ||||
|         }); | ||||
|  | ||||
|         this.$eraseDeletedNotesButton = $("#erase-deleted-notes-now-button"); | ||||
|         this.$eraseDeletedNotesButton.on('click', () => { | ||||
|             server.post('notes/erase-deleted-notes-now').then(() => { | ||||
|                 toastService.showMessage("Deleted notes have been erased."); | ||||
|             }); | ||||
|         }); | ||||
|  | ||||
|         this.$protectedSessionTimeout = $("#protected-session-timeout-in-seconds"); | ||||
|  | ||||
|         this.$protectedSessionTimeout.on('change', () => { | ||||
|   | ||||
| @@ -193,6 +193,10 @@ function duplicateSubtree(req) { | ||||
|     return noteService.duplicateSubtree(noteId, parentNoteId); | ||||
| } | ||||
|  | ||||
| function eraseDeletedNotesNow() { | ||||
|     noteService.eraseDeletedNotesNow(); | ||||
| } | ||||
|  | ||||
| module.exports = { | ||||
|     getNote, | ||||
|     updateNote, | ||||
| @@ -204,5 +208,6 @@ module.exports = { | ||||
|     setNoteTypeMime, | ||||
|     getRelationMap, | ||||
|     changeTitle, | ||||
|     duplicateSubtree | ||||
|     duplicateSubtree, | ||||
|     eraseDeletedNotesNow | ||||
| }; | ||||
|   | ||||
| @@ -38,6 +38,8 @@ function saveSyncSeed(req) { | ||||
|         }] | ||||
|     } | ||||
|  | ||||
|     log.info("Saved sync seed."); | ||||
|  | ||||
|     sqlInit.createDatabaseForSync(options); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -153,6 +153,7 @@ function register(app) { | ||||
|     route(GET, '/api/notes/:noteId/revisions/:noteRevisionId/download', [auth.checkApiAuthOrElectron], noteRevisionsApiRoute.downloadNoteRevision); | ||||
|     apiRoute(PUT, '/api/notes/:noteId/restore-revision/:noteRevisionId', noteRevisionsApiRoute.restoreNoteRevision); | ||||
|     apiRoute(POST, '/api/notes/relation-map', notesApiRoute.getRelationMap); | ||||
|     apiRoute(POST, '/api/notes/erase-deleted-notes-now', notesApiRoute.eraseDeletedNotesNow); | ||||
|     apiRoute(PUT, '/api/notes/:noteId/change-title', notesApiRoute.changeTitle); | ||||
|     apiRoute(POST, '/api/notes/:noteId/duplicate/:parentNoteId', notesApiRoute.duplicateSubtree); | ||||
|  | ||||
|   | ||||
| @@ -668,8 +668,10 @@ function scanForLinks(note) { | ||||
|     } | ||||
| } | ||||
|  | ||||
| function eraseDeletedNotes() { | ||||
|     const eraseNotesAfterTimeInSeconds = optionService.getOptionInt('eraseNotesAfterTimeInSeconds'); | ||||
| function eraseDeletedNotes(eraseNotesAfterTimeInSeconds = null) { | ||||
|     if (eraseNotesAfterTimeInSeconds === null) { | ||||
|         eraseNotesAfterTimeInSeconds = optionService.getOptionInt('eraseNotesAfterTimeInSeconds'); | ||||
|     } | ||||
|  | ||||
|     const cutoffDate = new Date(Date.now() - eraseNotesAfterTimeInSeconds * 1000); | ||||
|  | ||||
| @@ -719,6 +721,10 @@ function eraseDeletedNotes() { | ||||
|     log.info(`Erased notes: ${JSON.stringify(noteIdsToErase)}`); | ||||
| } | ||||
|  | ||||
| function eraseDeletedNotesNow() { | ||||
|     eraseDeletedNotes(0); | ||||
| } | ||||
|  | ||||
| // do a replace in str - all keys should be replaced by the corresponding values | ||||
| function replaceByMap(str, mapObj) { | ||||
|     const re = new RegExp(Object.keys(mapObj).join("|"),"g"); | ||||
| @@ -841,5 +847,6 @@ module.exports = { | ||||
|     duplicateSubtree, | ||||
|     duplicateSubtreeWithoutRoot, | ||||
|     getUndeletedParentBranches, | ||||
|     triggerNoteTitleChanged | ||||
|     triggerNoteTitleChanged, | ||||
|     eraseDeletedNotesNow | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user