From 0642eeb2a7d86089878a6a984a692e142c44a245 Mon Sep 17 00:00:00 2001 From: yflory Date: Thu, 30 Sep 2021 18:51:01 +0200 Subject: [PATCH 1/3] Add missing versions --- www/lib/changelog.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/www/lib/changelog.md b/www/lib/changelog.md index 1913b78df..aead44e2d 100644 --- a/www/lib/changelog.md +++ b/www/lib/changelog.md @@ -3,8 +3,8 @@ This file is intended to be used as a log of what third-party source we have ven * [turndown v7.1.1](https://github.com/mixmark-io/turndown/releases/tag/v7.1.1) built from unmodified source as per its build scripts. * [less.min.js v3.11.1](https://github.com/less/less.js/releases/tag/v3.11.1) with a minor modification to produce slightly more compact CSS * [textFit.min.js v2.4.0 ](https://github.com/STRML/textFit/releases/tag/v2.4.0) to ensure that app names fit inside their icon containers on the home page -* [highlightjs](https://github.com/highlightjs/highlight.js/) for syntax highlighting in our code editor -* [our fork of tippy.js](https://github.com/xwiki-labs/tippyjs) for adding tooltips. +* [highlightjs v10.2.0](https://github.com/highlightjs/highlight.js/) for syntax highlighting in our code editor +* [our fork of tippy.js v1.2.0](https://github.com/xwiki-labs/tippyjs) for adding tooltips. * [jscolor v2.0.5](https://jscolor.com/) for providing a consistent color picker across all browsers * [jquery.ui 1.12.1](https://jqueryui.com/) for its 'autocomplete' extension which is used for our tag picker * [pdfjs](https://mozilla.github.io/pdf.js/) with some minor modifications to prevent CSP errors From db5d2cbfc8cf3533959e9af739d24c69c685da49 Mon Sep 17 00:00:00 2001 From: yflory Date: Fri, 1 Oct 2021 11:26:34 +0200 Subject: [PATCH 2/3] Support OO bin format in the convert app --- www/convert/inner.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/www/convert/inner.js b/www/convert/inner.js index 3c885ce57..31a41d2a9 100644 --- a/www/convert/inner.js +++ b/www/convert/inner.js @@ -249,6 +249,30 @@ define([ }); } }; + if (ext === 'bin') { + var reader2 = new FileReader(); + reader2.onload = function (e) { + var str = e.target.result; + var type = str.slice(0,4); + var c = CONVERTERS['bin'] = {}; + + if (type === "XLSY") { + c.ods = x2tConverter('bin', 'ods'); + c.xlsx = x2tConverter('bin', 'xlsx'); + } else if (type === "PPTY") { + c.odp = x2tConverter('bin', 'odp'); + c.pptx = x2tConverter('bin', 'pptx'); + } else if (type === "DOCY") { + c.odt = x2tConverter('bin', 'odt'); + c.docx = x2tConverter('bin', 'docx'); + } else { + return void console.error('Unsupported'); + } + + reader.readAsArrayBuffer(file, 'application/octet-stream'); + }; + return void reader2.readAsText(file); + } reader.readAsArrayBuffer(file, 'application/octet-stream'); }); From 0718e0fc1b8f555e73a449280a355cb38b88c545 Mon Sep 17 00:00:00 2001 From: yflory Date: Fri, 1 Oct 2021 12:25:53 +0200 Subject: [PATCH 3/3] Fix OpenDocument and PDF export in new OO apps --- www/common/onlyoffice/inner.js | 55 ++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/www/common/onlyoffice/inner.js b/www/common/onlyoffice/inner.js index 195991db9..29600853a 100644 --- a/www/common/onlyoffice/inner.js +++ b/www/common/onlyoffice/inner.js @@ -1790,7 +1790,16 @@ define([ if (ext === 'ods') { return 259; } if (ext === 'csv') { return 260; } if (ext === 'pdf') { return 513; } - return; + // Docs + if (ext === 'docx') { return 65; } + if (ext === 'doc') { return 66; } + if (ext === 'odt') { return 67; } + if (ext === 'txt') { return 69; } + if (ext === 'html') { return 70; } + // Slides + if (ext === 'pptx') { return 129; } + if (ext === 'ppt') { return 130; } + if (ext === 'odp') { return 131; } }; var getFromId = function (ext) { var id = getFormatId(ext); @@ -1878,24 +1887,24 @@ define([ var type = common.getMetadataMgr().getPrivateData().ooType; var title = md.title || md.defaultTitle || type; var blob = new Blob([xlsData], {type: "application/pdf"}); - //var url = URL.createObjectURL(blob, { type: "application/pdf" }); + if (privateData.app !== "sheet") { + UI.removeModals(); + var url = URL.createObjectURL(blob, { type: "application/pdf" }); + cb({ + "type":"save", + "status":"ok", + "data": url + }); + saveAs(blob, title+'.pdf'); + return; + } saveAs(blob, title+'.pdf'); - //window.open(url); cb({ "type":"save", "status":"ok", - //"data":url + "?disposition=inline&ooname=output.pdf" }); - /* - ooChannel.send({ - "type":"documentOpen", - "data": { - "type":"save", - "status":"ok", - "data":url + "?disposition=inline&ooname=output.pdf" - } - }); - */ + + } }); }; @@ -1903,10 +1912,10 @@ define([ var x2tSaveAndConvertDataInternal = function(x2t, data, filename, extension, finalFilename) { var type = common.getMetadataMgr().getPrivateData().ooType; var xlsData; + var e = getEditor(); // PDF if (type === "sheet" && extension === "pdf") { - var e = getEditor(); var d = e.asc_nativePrint(undefined, undefined, 0x101).ImData; xlsData = x2tConvertDataInternal(x2t, { buffer: d.data, @@ -1919,15 +1928,9 @@ define([ } return; } - if (type === "sheet" && extension !== 'xlsx') { - xlsData = x2tConvertDataInternal(x2t, data, filename, 'xlsx'); - filename += '.xlsx'; - } else if (type === "presentation" && extension !== "pptx") { - xlsData = x2tConvertDataInternal(x2t, data, filename, 'pptx'); - filename += '.pptx'; - } else if (type === "doc" && extension !== "docx") { - xlsData = x2tConvertDataInternal(x2t, data, filename, 'docx'); - filename += '.docx'; + if (extension === "pdf") { + return void e.asc_Print({ + }); } xlsData = x2tConvertDataInternal(x2t, data, filename, extension); if (xlsData) { @@ -1952,9 +1955,9 @@ define([ var type = common.getMetadataMgr().getPrivateData().ooType; var warning = ''; if (type==="presentation") { - ext = ['.pptx', /*'.odp',*/ '.bin']; + ext = ['.pptx', '.odp', '.bin', '.pdf']; } else if (type==="doc") { - ext = ['.docx', /*'.odt',*/ '.bin']; + ext = ['.docx', '.odt', '.bin', '.pdf']; } if (!supportsXLSX()) {