From b0ab591cbdd3381b1b3f36af21e12cdfb7f9bc2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Tue, 7 Feb 2023 16:50:07 +0100 Subject: [PATCH] Feature: [Document action buttons] do now show "Editer en ligne" for document which are not editable --- .../vuejs/DocumentActionButtonsGroup.vue | 4 +- .../vuejs/StoredObjectButton/helpers.ts | 135 ++++++++++-------- 2 files changed, 75 insertions(+), 64 deletions(-) diff --git a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentActionButtonsGroup.vue b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentActionButtonsGroup.vue index cb72fa5cd..60b368cd3 100644 --- a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentActionButtonsGroup.vue +++ b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentActionButtonsGroup.vue @@ -7,7 +7,7 @@
  • -
  • +
  • @@ -23,7 +23,7 @@ import ConvertButton from "./StoredObjectButton/ConvertButton.vue"; import DownloadButton from "./StoredObjectButton/DownloadButton.vue"; import WopiEditButton from "./StoredObjectButton/WopiEditButton.vue"; -import {is_extension_editable} from "./StoredObjectButton/helpers"; +import {is_extension_editable, is_extension_viewable} from "./StoredObjectButton/helpers"; import {StoredObject, WopiEditButtonExecutableBeforeLeaveFunction} from "../types"; interface DocumentActionButtonsGroupConfig { diff --git a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/helpers.ts b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/helpers.ts index 58d2ebc71..d82efb111 100644 --- a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/helpers.ts +++ b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/helpers.ts @@ -1,97 +1,107 @@ -const SUPPORTED_MIMES = new Set([ - 'image/svg+xml', +const MIMES_EDIT = new Set([ 'application/vnd.ms-powerpoint', 'application/vnd.ms-excel', - 'application/vnd.sun.xml.writer', 'application/vnd.oasis.opendocument.text', 'application/vnd.oasis.opendocument.text-flat-xml', - 'application/vnd.sun.xml.calc', 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.oasis.opendocument.spreadsheet-flat-xml', - 'application/vnd.sun.xml.impress', 'application/vnd.oasis.opendocument.presentation', 'application/vnd.oasis.opendocument.presentation-flat-xml', - 'application/vnd.sun.xml.draw', 'application/vnd.oasis.opendocument.graphics', 'application/vnd.oasis.opendocument.graphics-flat-xml', 'application/vnd.oasis.opendocument.chart', - 'application/vnd.sun.xml.writer.global', - 'application/vnd.oasis.opendocument.text-master', - 'application/vnd.sun.xml.writer.template', - 'application/vnd.oasis.opendocument.text-template', - 'application/vnd.oasis.opendocument.text-master-template', - 'application/vnd.sun.xml.calc.template', - 'application/vnd.oasis.opendocument.spreadsheet-template', - 'application/vnd.sun.xml.impress.template', - 'application/vnd.oasis.opendocument.presentation-template', - 'application/vnd.sun.xml.draw.template', - 'application/vnd.oasis.opendocument.graphics-template', - 'application/msword', 'application/msword', 'application/vnd.ms-excel', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-word.document.macroEnabled.12', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', - 'application/vnd.ms-word.template.macroEnabled.12', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', - 'application/vnd.ms-excel.template.macroEnabled.12', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-excel.sheet.binary.macroEnabled.12', 'application/vnd.ms-excel.sheet.macroEnabled.12', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', - 'application/vnd.openxmlformats-officedocument.presentationml.template', - 'application/vnd.ms-powerpoint.template.macroEnabled.12', - 'application/vnd.wordperfect', - 'application/x-aportisdoc', - 'application/x-hwp', - 'application/vnd.ms-works', - 'application/x-mswrite', 'application/x-dif-document', 'text/spreadsheet', 'text/csv', 'application/x-dbase', - 'application/vnd.lotus-1-2-3', - 'image/cgm', - 'image/vnd.dxf', - 'image/x-emf', - 'image/x-wmf', - 'application/coreldraw', - 'application/vnd.visio2013', - 'application/vnd.visio', - 'application/vnd.ms-visio.drawing', - 'application/x-mspublisher', - 'application/x-sony-bbeb', - 'application/x-gnumeric', - 'application/macwriteii', - 'application/x-iwork-numbers-sffnumbers', - 'application/vnd.oasis.opendocument.text-web', - 'application/x-pagemaker', 'text/rtf', 'text/plain', - 'application/x-fictionbook+xml', - 'application/clarisworks', - 'image/x-wpg', - 'application/x-iwork-pages-sffpages', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', - 'application/x-iwork-keynote-sffkey', - 'application/x-abiword', - 'image/x-freehand', - 'application/vnd.sun.xml.chart', - 'application/x-t602', - 'image/bmp', - 'image/png', - 'image/gif', - 'image/tiff', - 'image/jpg', - 'image/jpeg', - 'application/pdf', ]); + + +const MIMES_VIEW = new Set([ + ...MIMES_EDIT, + [ + 'image/svg+xml', + 'application/vnd.sun.xml.writer', + 'application/vnd.sun.xml.calc', + 'application/vnd.sun.xml.impress', + 'application/vnd.sun.xml.draw', + 'application/vnd.sun.xml.writer.global', + 'application/vnd.sun.xml.writer.template', + 'application/vnd.sun.xml.calc.template', + 'application/vnd.sun.xml.impress.template', + 'application/vnd.sun.xml.draw.template', + 'application/vnd.oasis.opendocument.text-master', + 'application/vnd.oasis.opendocument.text-template', + 'application/vnd.oasis.opendocument.text-master-template', + 'application/vnd.oasis.opendocument.spreadsheet-template', + 'application/vnd.oasis.opendocument.presentation-template', + 'application/vnd.oasis.opendocument.graphics-template', + 'application/vnd.ms-word.template.macroEnabled.12', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', + 'application/vnd.ms-excel.template.macroEnabled.12', + 'application/vnd.openxmlformats-officedocument.presentationml.template', + 'application/vnd.ms-powerpoint.template.macroEnabled.12', + 'application/vnd.wordperfect', + 'application/x-aportisdoc', + 'application/x-hwp', + 'application/vnd.ms-works', + 'application/x-mswrite', + 'application/vnd.lotus-1-2-3', + 'image/cgm', + 'image/vnd.dxf', + 'image/x-emf', + 'image/x-wmf', + 'application/coreldraw', + 'application/vnd.visio2013', + 'application/vnd.visio', + 'application/vnd.ms-visio.drawing', + 'application/x-mspublisher', + 'application/x-sony-bbeb', + 'application/x-gnumeric', + 'application/macwriteii', + 'application/x-iwork-numbers-sffnumbers', + 'application/vnd.oasis.opendocument.text-web', + 'application/x-pagemaker', + 'application/x-fictionbook+xml', + 'application/clarisworks', + 'image/x-wpg', + 'application/x-iwork-pages-sffpages', + 'application/x-iwork-keynote-sffkey', + 'application/x-abiword', + 'image/x-freehand', + 'application/vnd.sun.xml.chart', + 'application/x-t602', + 'image/bmp', + 'image/png', + 'image/gif', + 'image/tiff', + 'image/jpg', + 'image/jpeg', + 'application/pdf', + ] +]) + function is_extension_editable(mimeType: string): boolean { - return SUPPORTED_MIMES.has(mimeType); + return MIMES_EDIT.has(mimeType); +} + +function is_extension_viewable(mimeType: string): boolean { + return MIMES_VIEW.has(mimeType); } function build_convert_link(uuid: string) { @@ -165,4 +175,5 @@ export { download_and_decrypt_doc, download_doc, is_extension_editable, + is_extension_viewable, };