From b5603d2488ac3026b2c2f55806b70967a67a4df0 Mon Sep 17 00:00:00 2001 From: nmemmert <67961292+nmemmert@users.noreply.github.com> Date: Tue, 20 Oct 2026 14:17:03 -0400 Subject: [PATCH] Office tab: create documents, spreadsheets and presentations The Office tab was just the OnlyOffice welcome page. It now offers New document/spreadsheet/presentation, creates the file in Seafile from a valid blank template (empty 0-byte files often will not open in the editor) and opens it in the editor. Files > New uses the same templates. Co-Authored-By: Claude Sonnet 5.5 --- public/app.js | 77 +++++++++++++++++++++++++++++++----- public/templates/blank.docx | Bin 0 -> 36563 bytes public/templates/blank.pptx | Bin 0 -> 28107 bytes public/templates/blank.xlsx | Bin 0 -> 4783 bytes 4 files changed, 67 insertions(+), 10 deletions(-) create mode 100644 public/templates/blank.docx create mode 100644 public/templates/blank.pptx create mode 100644 public/templates/blank.xlsx diff --git a/public/app.js b/public/app.js index f64cde3..4ba5b3d 100644 --- a/public/app.js +++ b/public/app.js @@ -319,15 +319,69 @@ function viewMail() { } function viewOffice() { - const url = cfg.onlyoffice; - $('#view').innerHTML = `

Office

-

OnlyOffice at ${esc(new URL(url).host)}. To edit a file from Seafile, open it in Files.

- - -

If the frame above is blank, your OnlyOffice server blocks embedding. Use the button, or allow this app's origin in its frame-ancestors / X-Frame-Options.

`; + const docs = store.get('recents', []).filter(r => EDIT_EXT.has(ext(r.name)) && ext(r.name) !== 'txt').slice(0, 8); + $('#view').innerHTML = `

Office

Create a file in Seafile and edit it right here.

+
+ + + +
+

+ ${docs.length ? `

Recent documents

${docs.map((r, i) => ``).join('')}
` : ''} + +

Editing server: ${esc(new URL(cfg.onlyoffice).host)}

`; + $('#view').querySelectorAll('.tile[data-x]').forEach(t => t.onclick = () => newOfficeDoc(t.dataset.x, t.dataset.l)); + $('#view').querySelectorAll('button[data-r]').forEach(b => b.onclick = () => { const r = docs[b.dataset.r]; openFile(r.repo, r.path, r.name, r.path.slice(0, r.path.lastIndexOf('/')) || '/'); }); + if (sf.token()) sf.req('/api2/repos/').then(repos => { + const r = repos.find(x => x.id === store.get('office_repo')) || (repos.length === 1 ? repos[0] : null); + const el = $('#olib'); if (!el) return; + el.innerHTML = r ? `New files go in ${esc(r.name)} ยท change` : 'You will be asked which library to use.'; + const c = $('#chl'); if (c) c.onclick = e => { e.preventDefault(); store.del('office_repo'); pickLibrary().then(() => viewOffice()).catch(() => {}); }; + }).catch(() => {}); } +// Blank Office files come from valid templates (an empty 0-byte .docx/.xlsx/.pptx often will not open in the editor). +async function createFromTemplate(repo, dir, name, x) { + const enc = encodeURIComponent; + if (!['docx', 'xlsx', 'pptx'].includes(x)) { + await sf.req(`/api2/repos/${enc(repo)}/file/?p=${enc(joinP(dir, name))}`, { method: 'POST', headers: FORM, body: new URLSearchParams({ operation: 'create' }) }); + return name; + } + const tpl = await fetch('/templates/blank.' + x); if (!tpl.ok) throw new Error('Template missing'); + const link = await sf.req(`/api2/repos/${enc(repo)}/upload-link/?p=${enc(dir)}`); + const fd = new FormData(); fd.append('parent_dir', dir); fd.append('file', await tpl.blob(), name); + const r = await fetch('/sf' + new URL(link, cfg.seafile).pathname + '?ret-json=1', { method: 'POST', body: fd }); + if (!r.ok) throw new Error('Could not create ' + name); + return ((await r.json())[0] || {}).name || name; // Seafile renames if the name is taken +} + +// Which library new Office files go in (remembered once chosen). +async function pickLibrary() { + const repos = (await sf.req('/api2/repos/')).filter(r => !r.encrypted && r.permission !== 'r'); + if (!repos.length) throw new Error('No library to create files in. Make one in Files first.'); + const saved = repos.find(r => r.id === store.get('office_repo')); + if (saved) return saved; + if (repos.length === 1) { store.set('office_repo', repos[0].id); return repos[0]; } + return new Promise((ok, no) => actionSheet('Choose a library', 'New files will be created here', repos.map(r => ({ label: r.name, icon: 'files', run: () => { store.set('office_repo', r.id); ok(r); } }))) + || 0); +} + +async function newOfficeDoc(x, label) { + if (!sf.token()) { toast('Sign in to Files first'); location.hash = '#/files'; return; } + let repo; + try { repo = await pickLibrary(); } catch (e) { return toast(e.message); } + textSheet('New ' + label, 'File name (in ' + repo.name + ')', 'Create', async n => { + const want = n.toLowerCase().endsWith('.' + x) ? n : n + '.' + x; + try { + const name = await createFromTemplate(repo.id, '/', want, x), path = '/' + name; + addRecent(repo.id, path, name); + if (cfg.editor) location.hash = '#/edit/' + encodeURIComponent(repo.id) + '/' + encodeURIComponent(name); + else window.open(`${cfg.seafile}/lib/${encodeURIComponent(repo.id)}/file/${encodeURIComponent(name)}`, '_blank', 'noopener'); + } catch (e) { toast(e.message); } + }, 'Untitled'); +} + + // ---- Audiobooks: embedded site. Sign-in details saved in Settings (this browser only) can be copied with one tap, // because a page can't type into another site's login form. const abCreds = () => store.get('ab_creds', { u: '', p: '' }); @@ -706,9 +760,12 @@ async function loadDir(repo, dir) { { label: 'Folder', icon: 'newdir', run: () => textSheet('New folder', 'Folder name', 'Create', n => create(joinP(dir, n), 'mkdir', {}, 'dir')) }, ...[['Document', 'docx'], ['Spreadsheet', 'xlsx'], ['Presentation', 'pptx'], ['Text file', 'txt']].map(([label, x]) => ({ label, icon: 'doc', run: () => textSheet('New ' + label.toLowerCase(), 'File name', 'Create', async n => { - const name = n.toLowerCase().endsWith('.' + x) ? n : n + '.' + x; - await create(joinP(dir, name), 'create'); - if (EDIT_EXT.has(x) && cfg.editor && x !== 'txt') openFile(repo, joinP(dir, name), name, dir); + const want = n.toLowerCase().endsWith('.' + x) ? n : n + '.' + x; + try { + const name = await createFromTemplate(repo, dir, want, x); + loadDir(repo, dir); + if (x !== 'txt') openFile(repo, joinP(dir, name), name, dir); + } catch (e) { toast(e.message); } }) })), ]); $('#up').onchange = async e => { diff --git a/public/templates/blank.docx b/public/templates/blank.docx new file mode 100644 index 0000000000000000000000000000000000000000..550703902a4b13f5e28bf3886ae086ebedaf15b1 GIT binary patch literal 36563 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 Dm#PU7 literal 0 HcmV?d00001 diff --git a/public/templates/blank.pptx b/public/templates/blank.pptx new file mode 100644 index 0000000000000000000000000000000000000000..2521d21224b11d2e3fc5619fb6904f1fbf2da1f4 GIT binary patch literal 28107 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⪙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%0At(h+#&lHfKTzB1&BJ%7}-RwF~dIBRMD8HL3 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 literal 0 HcmV?d00001 diff --git a/public/templates/blank.xlsx b/public/templates/blank.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..cc3eef2370a0294da3ec93355d60615c502f35ae GIT binary patch literal 4783 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