mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-29 11:02:28 +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