Use onlyoffice spreadsheets without ooserver
This commit is contained in:
242
www/common/onlyoffice/sdkjs/cell/sdk-all-min.js
vendored
242
www/common/onlyoffice/sdkjs/cell/sdk-all-min.js
vendored
@@ -3174,6 +3174,7 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
DocsCoApi.prototype._send = function(data) {
|
||||
if (data !== null && typeof data === "object") {
|
||||
if (this._state > 0) {
|
||||
console.log(data);
|
||||
this.sockjs.send(JSON.stringify(data));
|
||||
} else {
|
||||
this._msgBuffer.push(JSON.stringify(data));
|
||||
@@ -3184,6 +3185,7 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
DocsCoApi.prototype._sendRaw = function(data) {
|
||||
if (data !== null && typeof data === "string") {
|
||||
if (this._state > 0) {
|
||||
console.log(data);
|
||||
this.sockjs.send(data);
|
||||
} else {
|
||||
this._msgBuffer.push(data);
|
||||
@@ -3755,6 +3757,7 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
var t = this;
|
||||
|
||||
var sockjs;
|
||||
/*
|
||||
if (window['IS_NATIVE_EDITOR']) {
|
||||
sockjs = this.sockjs = window['SockJS'];
|
||||
sockjs.open();
|
||||
@@ -3763,21 +3766,27 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
//ограничиваем transports WebSocket и XHR / JSONP polling, как и engine.io https://github.com/socketio/engine.io
|
||||
//при переборе streaming transports у клиента с wirewall происходило зацикливание(не повторялось в версии sock.js 0.3.4)
|
||||
sockjs = this.sockjs = new (this._getSockJs())(this.sockjs_url, null, {transports: ['websocket', 'xdr-polling', 'xhr-polling', 'iframe-xhr-polling', 'jsonp-polling']});
|
||||
}
|
||||
}*/
|
||||
sockjs = this.sockjs = {};
|
||||
//t._state = true;
|
||||
|
||||
sockjs.onopen = function() {
|
||||
/*
|
||||
if (t.reconnectTimeout) {
|
||||
clearTimeout(t.reconnectTimeout);
|
||||
t.reconnectTimeout = null;
|
||||
t.attemptCount = 0;
|
||||
}
|
||||
*/
|
||||
|
||||
t._state = ConnectionState.WaitAuth;
|
||||
t.onFirstConnect();
|
||||
};
|
||||
sockjs.onopen();
|
||||
sockjs.onmessage = function(e) {
|
||||
//TODO: add checks and error handling
|
||||
//Get data type
|
||||
console.log(e.data);
|
||||
var dataObject = JSON.parse(e.data);
|
||||
switch (dataObject['type']) {
|
||||
case 'auth' :
|
||||
@@ -3847,6 +3856,68 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
sockjs.close = function () {
|
||||
console.error('Close realtime');
|
||||
};
|
||||
|
||||
var send = function (data) {
|
||||
setTimeout(function () {
|
||||
console.log(data);
|
||||
sockjs.onmessage({
|
||||
data: JSON.stringify(data)
|
||||
});
|
||||
});
|
||||
};
|
||||
sockjs.send = function (data) {
|
||||
console.log(data);
|
||||
try {
|
||||
var obj = JSON.parse(data);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
return;
|
||||
}
|
||||
var msg, msg2;
|
||||
switch (obj.type) {
|
||||
case 'auth':
|
||||
msg = {
|
||||
"type":"auth",
|
||||
"result":1,
|
||||
"sessionId":"08e77705-dc5c-477d-b73a-b1a7cbca1e9b",
|
||||
"sessionTimeConnect":+new Date(),
|
||||
"participants":[]
|
||||
};
|
||||
msg2 = {
|
||||
"type":"documentOpen",
|
||||
"data":{"type":"open","status":"ok","data":{"Editor.bin":obj.openCmd.url}}
|
||||
};
|
||||
send(msg);
|
||||
send(msg2);
|
||||
break;
|
||||
case 'getMessages':
|
||||
msg = {};
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
var license = {
|
||||
type: 'license',
|
||||
license: {
|
||||
type: 3,
|
||||
light: false,
|
||||
trial: false,
|
||||
rights: 1,
|
||||
buildVersion: "4.3.3",
|
||||
buildNumber: 4,
|
||||
branding: false
|
||||
}
|
||||
};
|
||||
send(license);
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
sockjs.onclose = function(evt) {
|
||||
if (ConnectionState.SaveChanges === t._state) {
|
||||
// Мы сохраняли изменения и разорвалось соединение
|
||||
@@ -3871,6 +3942,7 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
t._tryReconnect();
|
||||
}
|
||||
};
|
||||
*/
|
||||
|
||||
return sockjs;
|
||||
};
|
||||
@@ -3917,7 +3989,8 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
//----------------------------------------------------------export----------------------------------------------------
|
||||
window['AscCommon'] = window['AscCommon'] || {};
|
||||
window['AscCommon'].CDocsCoApi = CDocsCoApi;
|
||||
})(window);
|
||||
})(window);
|
||||
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
@@ -9205,7 +9278,6 @@ function saveWithParts(fSendCommand, fCallback, fCallbackRequest, oAdditionalDat
|
||||
}
|
||||
|
||||
function loadFileContent(url, callback) {
|
||||
console.error(url);
|
||||
asc_ajax({
|
||||
url: url,
|
||||
dataType: "text",
|
||||
@@ -9228,90 +9300,86 @@ function getImageFromChanges (name) {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
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 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 sendCommand(editor, fCallback, rdata, dataContainer) {
|
||||
//json не должен превышать размера 2097152, иначе при его чтении будет exception
|
||||
var docConnectionId = editor.CoAuthoringApi.getDocId();
|
||||
|
||||
72
www/common/onlyoffice/sdkjs/slide/sdk-all-min.js
vendored
72
www/common/onlyoffice/sdkjs/slide/sdk-all-min.js
vendored
@@ -3755,6 +3755,7 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
var t = this;
|
||||
|
||||
var sockjs;
|
||||
/*
|
||||
if (window['IS_NATIVE_EDITOR']) {
|
||||
sockjs = this.sockjs = window['SockJS'];
|
||||
sockjs.open();
|
||||
@@ -3763,8 +3764,11 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
//ограничиваем transports WebSocket и XHR / JSONP polling, как и engine.io https://github.com/socketio/engine.io
|
||||
//при переборе streaming transports у клиента с wirewall происходило зацикливание(не повторялось в версии sock.js 0.3.4)
|
||||
sockjs = this.sockjs = new (this._getSockJs())(this.sockjs_url, null, {transports: ['websocket', 'xdr-polling', 'xhr-polling', 'iframe-xhr-polling', 'jsonp-polling']});
|
||||
}
|
||||
}*/
|
||||
sockjs = {};
|
||||
t._state = true;
|
||||
|
||||
/*
|
||||
sockjs.onopen = function() {
|
||||
if (t.reconnectTimeout) {
|
||||
clearTimeout(t.reconnectTimeout);
|
||||
@@ -3775,6 +3779,7 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
t._state = ConnectionState.WaitAuth;
|
||||
t.onFirstConnect();
|
||||
};
|
||||
*/
|
||||
sockjs.onmessage = function(e) {
|
||||
//TODO: add checks and error handling
|
||||
//Get data type
|
||||
@@ -3847,6 +3852,67 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
sockjs.close = function () {
|
||||
console.error('Close realtime');
|
||||
};
|
||||
|
||||
var send = function (data) {
|
||||
setTimeout(function () {
|
||||
this.onmessage(JSON.stringify(data));
|
||||
});
|
||||
};
|
||||
sockjs.send = function (data) {
|
||||
try {
|
||||
var obj = JSON.parse(data);
|
||||
} catch (e) {
|
||||
console.log(data);
|
||||
console.error(e);
|
||||
return;
|
||||
}
|
||||
var msg, msg2;
|
||||
switch (obj.type) {
|
||||
case 'auth':
|
||||
msg = {
|
||||
"type":"auth",
|
||||
"result":1,
|
||||
"sessionId":"08e77705-dc5c-477d-b73a-b1a7cbca1e9b",
|
||||
"sessionTimeConnect":+new Date(),
|
||||
"participants":[]
|
||||
};
|
||||
msg2 = {
|
||||
"type":"documentOpen",
|
||||
"data":{"type":"open","status":"ok","data":{"Editor.bin":obj.openCmd.url}}
|
||||
};
|
||||
send(msg);
|
||||
send(msg2);
|
||||
break;
|
||||
case 'getMessages':
|
||||
msg = {};
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
var license = {
|
||||
type: 'license',
|
||||
license: {
|
||||
type: 3,
|
||||
light: false,
|
||||
trial: false,
|
||||
rights: 1,
|
||||
buildVersion: "4.3.3",
|
||||
buildNumber: 4,
|
||||
branding: false
|
||||
}
|
||||
};
|
||||
sockjs.onmessage({
|
||||
data: JSON.stringify(license)
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
sockjs.onclose = function(evt) {
|
||||
if (ConnectionState.SaveChanges === t._state) {
|
||||
// Мы сохраняли изменения и разорвалось соединение
|
||||
@@ -3871,6 +3937,7 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
t._tryReconnect();
|
||||
}
|
||||
};
|
||||
*/
|
||||
|
||||
return sockjs;
|
||||
};
|
||||
@@ -3917,7 +3984,8 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
//----------------------------------------------------------export----------------------------------------------------
|
||||
window['AscCommon'] = window['AscCommon'] || {};
|
||||
window['AscCommon'].CDocsCoApi = CDocsCoApi;
|
||||
})(window);
|
||||
})(window);
|
||||
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
|
||||
72
www/common/onlyoffice/sdkjs/word/sdk-all-min.js
vendored
72
www/common/onlyoffice/sdkjs/word/sdk-all-min.js
vendored
@@ -3755,6 +3755,7 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
var t = this;
|
||||
|
||||
var sockjs;
|
||||
/*
|
||||
if (window['IS_NATIVE_EDITOR']) {
|
||||
sockjs = this.sockjs = window['SockJS'];
|
||||
sockjs.open();
|
||||
@@ -3763,8 +3764,11 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
//ограничиваем transports WebSocket и XHR / JSONP polling, как и engine.io https://github.com/socketio/engine.io
|
||||
//при переборе streaming transports у клиента с wirewall происходило зацикливание(не повторялось в версии sock.js 0.3.4)
|
||||
sockjs = this.sockjs = new (this._getSockJs())(this.sockjs_url, null, {transports: ['websocket', 'xdr-polling', 'xhr-polling', 'iframe-xhr-polling', 'jsonp-polling']});
|
||||
}
|
||||
}*/
|
||||
sockjs = {};
|
||||
t._state = true;
|
||||
|
||||
/*
|
||||
sockjs.onopen = function() {
|
||||
if (t.reconnectTimeout) {
|
||||
clearTimeout(t.reconnectTimeout);
|
||||
@@ -3775,6 +3779,7 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
t._state = ConnectionState.WaitAuth;
|
||||
t.onFirstConnect();
|
||||
};
|
||||
*/
|
||||
sockjs.onmessage = function(e) {
|
||||
//TODO: add checks and error handling
|
||||
//Get data type
|
||||
@@ -3847,6 +3852,67 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
sockjs.close = function () {
|
||||
console.error('Close realtime');
|
||||
};
|
||||
|
||||
var send = function (data) {
|
||||
setTimeout(function () {
|
||||
this.onmessage(JSON.stringify(data));
|
||||
});
|
||||
};
|
||||
sockjs.send = function (data) {
|
||||
try {
|
||||
var obj = JSON.parse(data);
|
||||
} catch (e) {
|
||||
console.log(data);
|
||||
console.error(e);
|
||||
return;
|
||||
}
|
||||
var msg, msg2;
|
||||
switch (obj.type) {
|
||||
case 'auth':
|
||||
msg = {
|
||||
"type":"auth",
|
||||
"result":1,
|
||||
"sessionId":"08e77705-dc5c-477d-b73a-b1a7cbca1e9b",
|
||||
"sessionTimeConnect":+new Date(),
|
||||
"participants":[]
|
||||
};
|
||||
msg2 = {
|
||||
"type":"documentOpen",
|
||||
"data":{"type":"open","status":"ok","data":{"Editor.bin":obj.openCmd.url}}
|
||||
};
|
||||
send(msg);
|
||||
send(msg2);
|
||||
break;
|
||||
case 'getMessages':
|
||||
msg = {};
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
var license = {
|
||||
type: 'license',
|
||||
license: {
|
||||
type: 3,
|
||||
light: false,
|
||||
trial: false,
|
||||
rights: 1,
|
||||
buildVersion: "4.3.3",
|
||||
buildNumber: 4,
|
||||
branding: false
|
||||
}
|
||||
};
|
||||
sockjs.onmessage({
|
||||
data: JSON.stringify(license)
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
sockjs.onclose = function(evt) {
|
||||
if (ConnectionState.SaveChanges === t._state) {
|
||||
// Мы сохраняли изменения и разорвалось соединение
|
||||
@@ -3871,6 +3937,7 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
t._tryReconnect();
|
||||
}
|
||||
};
|
||||
*/
|
||||
|
||||
return sockjs;
|
||||
};
|
||||
@@ -3917,7 +3984,8 @@ AscBrowser.convertToRetinaValue = function(value, isScale)
|
||||
//----------------------------------------------------------export----------------------------------------------------
|
||||
window['AscCommon'] = window['AscCommon'] || {};
|
||||
window['AscCommon'].CDocsCoApi = CDocsCoApi;
|
||||
})(window);
|
||||
})(window);
|
||||
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user