From 1501c1d91edddcafc48175723512ca148cda8357 Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Wed, 8 Sep 2021 15:46:52 +0300 Subject: [PATCH] FIx Bug 52243 Client.Editor. There is no prompt message indicating that the file was saved successfully when using Save Copy As. --- packages/asc-web-common/api/client.js | 2 +- .../ASC.Files/Client/src/helpers/utils.js | 43 ++++++++++++------- web/ASC.Web.Editor/src/Editor.jsx | 19 +++++++- 3 files changed, 46 insertions(+), 18 deletions(-) diff --git a/packages/asc-web-common/api/client.js b/packages/asc-web-common/api/client.js index e4493ab0d9..878dce7c00 100644 --- a/packages/asc-web-common/api/client.js +++ b/packages/asc-web-common/api/client.js @@ -66,7 +66,7 @@ export const request = function (options) { if (response.data.hasOwnProperty("total")) return { total: +response.data.total, items: response.data.response }; - return response.data.response; + return response.data.response || response.data; }; const onError = function (error) { diff --git a/products/ASC.Files/Client/src/helpers/utils.js b/products/ASC.Files/Client/src/helpers/utils.js index 3c4bc99e91..7ecc3c982a 100644 --- a/products/ASC.Files/Client/src/helpers/utils.js +++ b/products/ASC.Files/Client/src/helpers/utils.js @@ -76,6 +76,20 @@ export const openDocEditor = async ( return Promise.resolve(); }; +export const getDataSaveAs = async (params) => { + try { + const data = await request({ + baseURL: combineUrl(AppServerConfig.proxyURL, config.homepage), + method: "get", + url: `/httphandlers/filehandler.ashx?${params}`, + responseType: "text", + }); + + return data; + } catch (e) { + console.error("error"); + } +}; export const SaveAs = (title, url, folderId, openNewTab) => { const options = { action: "create", @@ -84,23 +98,20 @@ export const SaveAs = (title, url, folderId, openNewTab) => { folderid: folderId, response: openNewTab ? null : "message", }; + const params = toUrlParams(options, true); - !openNewTab - ? request({ - baseURL: combineUrl(AppServerConfig.proxyURL, config.homepage), - method: "get", - url: `/httphandlers/filehandler.ashx?${params}`, - }) - .then((data) => console.log("data", data)) - .catch((e) => console.error("error", e)) - : window.open( - combineUrl( - AppServerConfig.proxyURL, - config.homepage, - `/httphandlers/filehandler.ashx?${params}` - ), - "_blank" - ); + if (!openNewTab) { + return getDataSaveAs(params); + } else { + window.open( + combineUrl( + AppServerConfig.proxyURL, + config.homepage, + `/httphandlers/filehandler.ashx?${params}` + ), + "_blank" + ); + } }; export const canConvert = (fileExst) => { diff --git a/web/ASC.Web.Editor/src/Editor.jsx b/web/ASC.Web.Editor/src/Editor.jsx index a7a1a48a86..6171defb8b 100644 --- a/web/ASC.Web.Editor/src/Editor.jsx +++ b/web/ASC.Web.Editor/src/Editor.jsx @@ -637,6 +637,19 @@ const Editor = () => { setNewOpenTab(false); }; + const getSavingInfo = async (title, folderId) => { + const savingInfo = await SaveAs( + title, + urlSelectorFolder, + folderId, + openNewTab + ); + + if (savingInfo) { + const convertedInfo = savingInfo.split(": ").pop(); + docEditor.showMessage(convertedInfo); + } + }; const onClickSaveSelectFolder = (e, folderId) => { const currentExst = titleSelectorFolder.split(".").pop(); @@ -645,7 +658,11 @@ const Editor = () => { ? titleSelectorFolder.concat(`.${extension}`) : titleSelectorFolder; - SaveAs(title, urlSelectorFolder, folderId, openNewTab); + if (openNewTab) { + SaveAs(title, urlSelectorFolder, folderId, openNewTab); + } else { + getSavingInfo(title, folderId); + } }; const onChangeInput = (e) => {