feat(ckeditor/watchdog): use data stored in the spaced update

This commit is contained in:
Elian Doran
2025-12-07 19:30:35 +02:00
parent f662b95dc9
commit 1bbf86fbeb
3 changed files with 24 additions and 7 deletions

View File

@@ -78,12 +78,23 @@ export function useSpacedUpdate(callback: () => void | Promise<void>, interval =
return spacedUpdateRef.current;
}
export interface SavedData {
content: string;
attachments?: {
role: string;
title: string;
mime: string;
content: string;
position: number;
}[];
}
export function useEditorSpacedUpdate({ note, noteContext, getData, onContentChange, dataSaved, updateInterval }: {
note: FNote,
noteContext: NoteContext | null | undefined,
getData: () => Promise<object | undefined> | object | undefined,
getData: () => Promise<SavedData | undefined> | SavedData | undefined,
onContentChange: (newContent: string) => void,
dataSaved?: () => void,
dataSaved?: (savedData: SavedData) => void,
updateInterval?: number;
}) {
const parentComponent = useContext(ParentComponent);
@@ -99,7 +110,7 @@ export function useEditorSpacedUpdate({ note, noteContext, getData, onContentCha
protected_session_holder.touchProtectedSessionIfNecessary(note);
await server.put(`notes/${note.noteId}/data`, data, parentComponent?.componentId);
dataSaved?.();
dataSaved?.(data);
}
}, [ note, getData, dataSaved ])
const spacedUpdate = useSpacedUpdate(callback);