mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-31 04:02:26 +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 FAttachment, { type FAttachmentRow } from "../entities/fattachment.js";
|
||||||
import type { default as FNote, FNoteRow } from "../entities/fnote.js";
|
import type { default as FNote, FNoteRow } from "../entities/fnote.js";
|
||||||
import type { EntityChange } from "../server_types.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[]) {
|
async function processEntityChanges(entityChanges: EntityChange[]) {
|
||||||
const loadResults = new LoadResults(entityChanges);
|
const loadResults = new LoadResults(entityChanges);
|
||||||
@ -37,6 +39,8 @@ async function processEntityChanges(entityChanges: EntityChange[]) {
|
|||||||
processAttachment(loadResults, ec);
|
processAttachment(loadResults, ec);
|
||||||
} else if (ec.entityName === "blobs" || ec.entityName === "etapi_tokens") {
|
} else if (ec.entityName === "blobs" || ec.entityName === "etapi_tokens") {
|
||||||
// NOOP
|
// NOOP
|
||||||
|
} else if (ec.entityName === "tasks") {
|
||||||
|
processTaskChange(loadResults, ec);
|
||||||
} else {
|
} else {
|
||||||
throw new Error(`Unknown entityName '${ec.entityName}'`);
|
throw new Error(`Unknown entityName '${ec.entityName}'`);
|
||||||
}
|
}
|
||||||
@ -306,6 +310,33 @@ function processAttachment(loadResults: LoadResults, ec: EntityChange) {
|
|||||||
loadResults.addAttachmentRow(attachmentEntity);
|
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 {
|
export default {
|
||||||
processEntityChanges
|
processEntityChanges
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user