diff --git a/www/common/onlyoffice/inner.js b/www/common/onlyoffice/inner.js index a324c5606..8f0a60812 100644 --- a/www/common/onlyoffice/inner.js +++ b/www/common/onlyoffice/inner.js @@ -66,12 +66,17 @@ define([ config.onRemote(); } - var getContent = function () { + var getContent = APP.getContent = function () { + APP.ed = window.frames[0].frames[0].editor; try { return window.frames[0].frames[0].editor.asc_nativeGetFile(); } catch (e) { return null; } }; + var setContent = APP.setContent = function (content) { + + }; + var saveDocument = APP.saveDocument = function () { var defaultName = "text.oot"; UI.prompt(Messages.exportPrompt, defaultName, function (filename) { diff --git a/www/common/onlyoffice/sdkjs/cell/sdk-all-min.js b/www/common/onlyoffice/sdkjs/cell/sdk-all-min.js index ea9661993..88caf0e20 100644 --- a/www/common/onlyoffice/sdkjs/cell/sdk-all-min.js +++ b/www/common/onlyoffice/sdkjs/cell/sdk-all-min.js @@ -9205,6 +9205,7 @@ function saveWithParts(fSendCommand, fCallback, fCallbackRequest, oAdditionalDat } function loadFileContent(url, callback) { +console.error(url); asc_ajax({ url: url, dataType: "text", @@ -9227,86 +9228,90 @@ function getImageFromChanges (name) { } return null; } -function openFileCommand(binUrl, changesUrl, Signature, callback) { - var bError = false, oResult = new OpenFileResult(), bEndLoadFile = false, bEndLoadChanges = false; - var onEndOpen = function() { - if (bEndLoadFile && bEndLoadChanges) { - if (callback) { - callback(bError, oResult); - } - } - }; - var sFileUrl = binUrl; - sFileUrl = sFileUrl.replace(/\\/g, "/"); - - if (!window['IS_NATIVE_EDITOR']) { - asc_ajax({ - url: sFileUrl, - dataType: "text", - success: function(result) { - //получаем url к папке с файлом - var url; - var nIndex = sFileUrl.lastIndexOf("/"); - url = (-1 !== nIndex) ? sFileUrl.substring(0, nIndex + 1) : sFileUrl; - if (0 < result.length) { - oResult.bSerFormat = Signature === result.substring(0, Signature.length); - oResult.data = result; - oResult.url = url; - } else { - bError = true; - } - bEndLoadFile = true; - onEndOpen(); - }, - error: function() { - bEndLoadFile = true; - bError = true; - onEndOpen(); - } - }); - } - - if (null != changesUrl) { - getJSZipUtils().getBinaryContent(changesUrl, function(err, data) { - bEndLoadChanges = true; - if (err) { - bError = true; - onEndOpen(); - return; - } - - oZipChanges = new (require('jszip'))(data); - oResult.changes = []; - for (var i in oZipChanges.files) { - if (i.endsWith('.json')) { - // Заглушка на имя файла (стоило его начинать с цифры) - oResult.changes[parseInt(i.slice('changes'.length))] = JSON.parse(oZipChanges.files[i].asText()); - } - } - onEndOpen(); - }); - } else { - bEndLoadChanges = true; - } - - if (window['IS_NATIVE_EDITOR']) { - var result = window["native"]["openFileCommand"](sFileUrl, changesUrl, Signature); - - var url; - var nIndex = sFileUrl.lastIndexOf("/"); - url = (-1 !== nIndex) ? sFileUrl.substring(0, nIndex + 1) : sFileUrl; - if (0 < result.length) { - oResult.bSerFormat = Signature === result.substring(0, Signature.length); - oResult.data = result; - oResult.url = url; - } else { - bError = true; - } - - bEndLoadFile = true; - onEndOpen(); - } - } +function openFileCommand(binUrl, changesUrl, Signature, callback) { + var bError = false, oResult = new OpenFileResult(), bEndLoadFile = false, bEndLoadChanges = false; + var onEndOpen = function() { + console.error("this is where we should decrypt"); + if (bEndLoadFile && bEndLoadChanges) { + if (callback) { + callback(bError, oResult); + } + } + }; + var sFileUrl = binUrl; + sFileUrl = sFileUrl.replace(/\\/g, "/"); + + if (!window['IS_NATIVE_EDITOR']) { + asc_ajax({ + url: sFileUrl, + dataType: "text", + success: function(result) { + //получаем url к папке с файлом + var url; + var nIndex = sFileUrl.lastIndexOf("/"); + url = (-1 !== nIndex) ? sFileUrl.substring(0, nIndex + 1) : sFileUrl; + if (0 < result.length) { + oResult.bSerFormat = Signature === result.substring(0, Signature.length); + oResult.data = result; + oResult.url = url; + } else { + bError = true; + } + bEndLoadFile = true; + onEndOpen(); + console.error(oResult); // XXX + }, + error: function() { + bEndLoadFile = true; + bError = true; + onEndOpen(); + } + }); + } + + if (null != changesUrl) { + console.error("null changesUrl"); // XXX + getJSZipUtils().getBinaryContent(changesUrl, function(err, data) { + bEndLoadChanges = true; + if (err) { + bError = true; + onEndOpen(); + return; + } + + oZipChanges = new (require('jszip'))(data); + oResult.changes = []; + for (var i in oZipChanges.files) { + if (i.endsWith('.json')) { + // Заглушка на имя файла (стоило его начинать с цифры) + oResult.changes[parseInt(i.slice('changes'.length))] = + JSON.parse(oZipChanges.files[i].asText()); + } + } + onEndOpen(); + }); + } else { + bEndLoadChanges = true; + } + + if (window['IS_NATIVE_EDITOR']) { + console.error("is native editor"); + var result = window["native"]["openFileCommand"](sFileUrl, changesUrl, Signature); + + var url; + var nIndex = sFileUrl.lastIndexOf("/"); + url = (-1 !== nIndex) ? sFileUrl.substring(0, nIndex + 1) : sFileUrl; + if (0 < result.length) { + oResult.bSerFormat = Signature === result.substring(0, Signature.length); + oResult.data = result; + oResult.url = url; + } else { + bError = true; + } + bEndLoadFile = true; + onEndOpen(); + } +} function sendCommand(editor, fCallback, rdata, dataContainer) { //json не должен превышать размера 2097152, иначе при его чтении будет exception var docConnectionId = editor.CoAuthoringApi.getDocId(); diff --git a/www/oocell/doc.js b/www/oocell/doc.js index eb148a347..123b68d10 100644 --- a/www/oocell/doc.js +++ b/www/oocell/doc.js @@ -2,7 +2,7 @@ window.config = { "document": { "fileType": "xlsx", - "key": "Khirz6zTPdfd7", + "key": "fresh", // "Khirz6zTPdfd7", "title": "test.xlsx", "url": "/onlyoffice/test.xlsx" }, @@ -15,8 +15,8 @@ window.config = { } }, "user": { - "id": "c0c3bf82-20d7-4663-bf6d-7fa39c598b1d", - "name": "John Smith" + "id": "", //"c0c3bf82-20d7-4663-bf6d-7fa39c598b1d", + "name": "", //"John Smith" } }, "events": {