From 93fa5aa1bd9e45fbaaef098a127136e49d6d6984 Mon Sep 17 00:00:00 2001 From: silver Date: Tue, 4 Nov 2025 15:24:56 +0100 Subject: [PATCH 1/2] feat: add downloadCallback for Viewer handler Signed-off-by: silver --- src/viewer.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/viewer.js b/src/viewer.js index a0f89cc9da3..f0ed364bcc8 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -28,5 +28,18 @@ if (typeof OCA.Viewer === 'undefined') { group: null, theme: 'default', canCompare: true, + downloadCallback: async (fileInfo) => { + // Save any unsaved changes before download + const editors = window.OCA?.Text?.editorComponents + if (editors instanceof Set) { + for (const editor of editors) { + if (editor?.fileId === fileInfo.fileid && editor?.dirty) { + logger.debug('Saving file before download', { fileId: fileInfo.fileid }) + await editor.save() + return + } + } + } + }, }) } From 3a1cd924a8231790c1def8d8dd66a02dc088c482 Mon Sep 17 00:00:00 2001 From: silver Date: Wed, 5 Nov 2025 11:00:27 +0100 Subject: [PATCH 2/2] npm run lint Signed-off-by: silver --- src/viewer.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/viewer.js b/src/viewer.js index f0ed364bcc8..74e173d0f23 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -34,7 +34,9 @@ if (typeof OCA.Viewer === 'undefined') { if (editors instanceof Set) { for (const editor of editors) { if (editor?.fileId === fileInfo.fileid && editor?.dirty) { - logger.debug('Saving file before download', { fileId: fileInfo.fileid }) + logger.debug('Saving file before download', { + fileId: fileInfo.fileid, + }) await editor.save() return }