mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 13:01:31 +08:00 
			
		
		
		
	fix(client/tasks): error due to froca update
This commit is contained in:
		
							parent
							
								
									373e0b45f2
								
							
						
					
					
						commit
						0b8e3b976f
					
				| @ -8,6 +8,8 @@ import FAttribute, { type FAttributeRow } from "../entities/fattribute.js"; | ||||
| import FAttachment, { type FAttachmentRow } from "../entities/fattachment.js"; | ||||
| import type { default as FNote, FNoteRow } from "../entities/fnote.js"; | ||||
| import type { EntityChange } from "../server_types.js"; | ||||
| import type { FTaskRow } from "../entities/ftask.js"; | ||||
| import FTask from "../entities/ftask.js"; | ||||
| 
 | ||||
| async function processEntityChanges(entityChanges: EntityChange[]) { | ||||
|     const loadResults = new LoadResults(entityChanges); | ||||
| @ -37,6 +39,8 @@ async function processEntityChanges(entityChanges: EntityChange[]) { | ||||
|                 processAttachment(loadResults, ec); | ||||
|             } else if (ec.entityName === "blobs" || ec.entityName === "etapi_tokens") { | ||||
|                 // NOOP
 | ||||
|             } else if (ec.entityName === "tasks") { | ||||
|                 processTaskChange(loadResults, ec); | ||||
|             } else { | ||||
|                 throw new Error(`Unknown entityName '${ec.entityName}'`); | ||||
|             } | ||||
| @ -306,6 +310,33 @@ function processAttachment(loadResults: LoadResults, ec: EntityChange) { | ||||
|     loadResults.addAttachmentRow(attachmentEntity); | ||||
| } | ||||
| 
 | ||||
| function processTaskChange(loadResults: LoadResults, ec: EntityChange) { | ||||
|     if (ec.isErased && ec.entityId in froca.tasks) { | ||||
|         utils.reloadFrontendApp(`${ec.entityName} '${ec.entityId}' is erased, need to do complete reload.`); | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     let task = froca.tasks[ec.entityId]; | ||||
|     const taskEntity = ec.entity as FTaskRow; | ||||
| 
 | ||||
|     if (ec.isErased || (ec.entity as any)?.isDeleted) { | ||||
|         if (task) { | ||||
|             delete froca.tasks[ec.entityId]; | ||||
|         } | ||||
| 
 | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     if (ec.entity) { | ||||
|         if (task) { | ||||
|             task.update(ec.entity as FTaskRow); | ||||
|         } else { | ||||
|             task = new FTask(froca, ec.entity as FTaskRow); | ||||
|             froca.tasks[task.taskId] = task; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| export default { | ||||
|     processEntityChanges | ||||
| }; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Elian Doran
						Elian Doran