Commit 6a8fd916 authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

Убрал PrepareToSave в редакторах.

Убрал блокирующие сообщения в таблицах и презентациях.
Баг http://bugzserver/show_bug.cgi?id=24386

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@58306 954022d7-b5bf-4e40-9824-e11837661b57
parent 86a626de
......@@ -569,7 +569,6 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
this.isAutoSave = !!isAutoSave;
if (!this.isAutoSave) {
this.asc_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
this.asc_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
}
// Нужно закрыть редактор
this.asc_closeCellEditor();
......@@ -579,9 +578,6 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
};
spreadsheet_api.prototype.asc_OnSaveEnd = function (isDocumentSaved) {
// Если не автосохранение, то не забываем закрыть Block-сообщение
if (!this.isAutoSave)
this.asc_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Save);
this.asc_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
this.canSave = true;
this.isAutoSave = false;
......@@ -1898,10 +1894,8 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
var t = this;
var nState;
if (false == e["saveLock"]) {
if (this.isAutoSave) {
if (this.isAutoSave)
this.asc_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
this.asc_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
}
// Принимаем чужие изменения
t.collaborativeEditing.applyChanges();
......@@ -1920,21 +1914,13 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
this.wb._onWSSelectionChanged(/*info*/null);
}
// Заканчиваем сохранение, т.к. мы хотим дать пользователю продолжать набирать документ
// Но сохранять до прихода ответа от сервера не сможет
this.asc_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
// Если не автосохранение, то продолжаем показывать Block-сообщение
if (!this.isAutoSave)
this.asc_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Save);
this.asc_OnSaveEnd(true);
} else {
nState = t.CoAuthoringApi.get_state();
if (3 === nState) {
// Отключаемся от сохранения, соединение потеряно
if (!this.isAutoSave) {
this.asc_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
if (!this.isAutoSave)
this.asc_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
}
this.isAutoSave = false;
this.canSave = true;
} else {
......@@ -1946,12 +1932,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
}
setTimeout(function () {
t.CoAuthoringApi.askSaveChanges(function (event) {
// Функция может быть долгой (и в IE10 происходит disconnect). Поэтому вызовем через timeout
window.setTimeout(function () {
t.onSaveCallback(event);
}, 10);
});
t.CoAuthoringApi.askSaveChanges(function (event) { t.onSaveCallback(event); });
}, 1000);
}
}
......@@ -3180,10 +3161,8 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
}
var isFastSave = !this.collaborativeEditing.getCollaborativeEditing();
var gap = new Date() - this.lastSaveTime - (isFastSave ? this.autoSaveGapFast : this.autoSaveGapSlow);
if (0 <= gap) {
//isFastSave ? this.onSaveCallback() : this.asc_Save(true);
if (0 <= gap)
this.asc_Save(true);
}
};
spreadsheet_api.prototype._onUpdateDocumentCanSave = function () {
......
......@@ -86,8 +86,7 @@ var c_oAscAsyncAction = {
Print : 7, //конвертация в PDF и сохранение у пользователя
UploadImage : 8,
Recalc : 9,
SlowOperation : 10,
PrepareToSave : 11 // Подготовка к сохранению
SlowOperation : 10
};
var c_oAscAlignType = {
......
......@@ -1414,19 +1414,14 @@ asc_docs_api.prototype.asc_Save = function (isAutoSave) {
if (true === this.canSave) {
this.canSave = false;
this.isAutoSave = !!isAutoSave;
if (!this.isAutoSave) {
if (!this.isAutoSave)
this.sync_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
this.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
}
var t = this;
this.CoAuthoringApi.askSaveChanges (function (e) { t.onSaveCallback (e); });
}
};
asc_docs_api.prototype.asc_OnSaveEnd = function (isDocumentSaved) {
// Если не автосохранение, то не забываем закрыть Block-сообщение
if (!this.isAutoSave)
this.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Save);
this.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
this.canSave = true;
this.isAutoSave = false;
......@@ -1777,10 +1772,8 @@ asc_docs_api.prototype.onSaveCallback = function (e) {
var t = this;
var nState;
if (false == e["saveLock"]) {
if (t.isAutoSave) {
if (t.isAutoSave)
t.sync_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
t.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
}
// Принимаем чужие изменения
safe_Apply_Changes();
......@@ -1806,21 +1799,13 @@ asc_docs_api.prototype.onSaveCallback = function (e) {
//Обратно выставляем, что документ не модифицирован
t.SetUnchangedDocument();
// Заканчиваем сохранение, т.к. мы хотим дать пользователю продолжать набирать документ
// Но сохранять до прихода ответа от сервера не сможет
t.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
// Если не автосохранение, то продолжаем показывать Block-сообщение
if (!t.isAutoSave)
t.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Save);
t.asc_OnSaveEnd(true);
} else {
nState = t.CoAuthoringApi.get_state();
if (3 === nState) {
// Отключаемся от сохранения, соединение потеряно
if (!t.isAutoSave) {
t.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
if (!t.isAutoSave)
t.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
}
t.isAutoSave = false;
t.canSave = true;
} else {
......@@ -1832,12 +1817,7 @@ asc_docs_api.prototype.onSaveCallback = function (e) {
}
setTimeout(function () {
t.CoAuthoringApi.askSaveChanges(function (event) {
// Функция может быть долгой (и в IE10 происходит disconnect). Поэтому вызовем через timeout
window.setTimeout(function () {
t.onSaveCallback(event);
}, 10);
});
t.CoAuthoringApi.askSaveChanges(function (event) { t.onSaveCallback(event); });
}, 1000);
}
}
......
......@@ -57,8 +57,7 @@ var c_oAscAsyncAction = {
Print : 7, // конвертация в PDF и сохранение у пользователя
UploadImage : 8,
LoadTheme : 9,
ApplyChanges : 10, // применение изменений от другого пользователя.
PrepareToSave : 11 // Подготовка к сохранению
ApplyChanges : 10 // применение изменений от другого пользователя.
};
var c_oAscVertAlignJc = {
......
......@@ -2816,85 +2816,85 @@ function safe_Apply_Changes()
}
}
function OnSave_Callback(e)
{
var nState;
if ( false == e["saveLock"] ) {
if (editor.isAutoSave) {
editor.sync_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
editor.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
}
if ( c_oAscCollaborativeMarksShowType.LastChanges === editor.CollaborativeMarksShowType )
CollaborativeEditing.Clear_CollaborativeMarks();
// Принимаем чужие изменения
safe_Apply_Changes();
// Сохраняем файл на сервер
var oBinaryFileWriter = new BinaryFileWriter(editor.WordControl.m_oLogicDocument);
if (undefined != window['qtDocBridge']) {
var data = oBinaryFileWriter.Write();
// push data to native QT code
window['qtDocBridge']['savedDocument'] (data);
} else {
/*var oAdditionalData = {};
oAdditionalData["c"] = "save";
oAdditionalData["id"] = documentId;
oAdditionalData["userid"] = documentUserId;
oAdditionalData["vkey"] = documentVKey;
oAdditionalData["outputformat"] = documentFormatSave;
if(c_oAscFileType.TXT == documentFormatSaveTxtCodepage)
oAdditionalData["codepage"] = documentFormatSaveTxtCodepage;
oAdditionalData["innersave"] = true;
var data = oBinaryFileWriter.Write();
oAdditionalData["savetype"] = "completeall";
////uncoment to save changes only instead send file complete
//var data = JSON.stringify( CollaborativeEditing.Get_SelfChanges() );
//oAdditionalData["savetype"] = "changes";
oAdditionalData["data"] = data;
sendCommand(editor, function(incomeObject){
if(null != incomeObject && "save" == incomeObject["type"])
editor.processSavedFile(incomeObject["data"], true);
}, oAdditionalData);*/
}
// Пересылаем свои изменения
CollaborativeEditing.Send_Changes();
//Обратно выставляем, что документ не модифицирован
editor.SetUnchangedDocument();
// Заканчиваем сохранение, т.к. мы хотим дать пользователю продолжать набирать документ
// Но сохранять до прихода ответа от сервера не сможет
editor.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
// Если не автосохранение, то продолжаем показывать Block-сообщение
if (!editor.isAutoSave)
editor.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Save);
editor.asc_OnSaveEnd(true);
} else {
nState = editor.CoAuthoringApi.get_state();
if (3 === nState) {
// Отключаемся от сохранения, соединение потеряно
if (!editor.isAutoSave) {
editor.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
editor.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
}
editor.isAutoSave = false;
editor.canSave = true;
} else {
// Если автосохранение, то не будем ждать ответа, а просто перезапустим таймер на немного
if (editor.isAutoSave) {
editor.isAutoSave = false;
editor.canSave = true;
return;
}
setTimeout( function(){ editor.CoAuthoringApi.askSaveChanges( OnSave_Callback ); }, 1000 );
}
}
}
//function OnSave_Callback(e)
//{
// var nState;
// if ( false == e["saveLock"] ) {
// if (editor.isAutoSave) {
// editor.sync_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
// editor.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
// }
//
// if ( c_oAscCollaborativeMarksShowType.LastChanges === editor.CollaborativeMarksShowType )
// CollaborativeEditing.Clear_CollaborativeMarks();
//
// // Принимаем чужие изменения
// safe_Apply_Changes();
//
// // Сохраняем файл на сервер
// var oBinaryFileWriter = new BinaryFileWriter(editor.WordControl.m_oLogicDocument);
//
// if (undefined != window['qtDocBridge']) {
// var data = oBinaryFileWriter.Write();
// // push data to native QT code
// window['qtDocBridge']['savedDocument'] (data);
//
// } else {
// /*var oAdditionalData = {};
// oAdditionalData["c"] = "save";
// oAdditionalData["id"] = documentId;
// oAdditionalData["userid"] = documentUserId;
// oAdditionalData["vkey"] = documentVKey;
// oAdditionalData["outputformat"] = documentFormatSave;
// if(c_oAscFileType.TXT == documentFormatSaveTxtCodepage)
// oAdditionalData["codepage"] = documentFormatSaveTxtCodepage;
// oAdditionalData["innersave"] = true;
// var data = oBinaryFileWriter.Write();
// oAdditionalData["savetype"] = "completeall";
// ////uncoment to save changes only instead send file complete
// //var data = JSON.stringify( CollaborativeEditing.Get_SelfChanges() );
// //oAdditionalData["savetype"] = "changes";
// oAdditionalData["data"] = data;
// sendCommand(editor, function(incomeObject){
// if(null != incomeObject && "save" == incomeObject["type"])
// editor.processSavedFile(incomeObject["data"], true);
// }, oAdditionalData);*/
// }
//
// // Пересылаем свои изменения
// CollaborativeEditing.Send_Changes();
// //Обратно выставляем, что документ не модифицирован
// editor.SetUnchangedDocument();
//
// // Заканчиваем сохранение, т.к. мы хотим дать пользователю продолжать набирать документ
// // Но сохранять до прихода ответа от сервера не сможет
// editor.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
// // Если не автосохранение, то продолжаем показывать Block-сообщение
// if (!editor.isAutoSave)
// editor.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Save);
// editor.asc_OnSaveEnd(true);
// } else {
// nState = editor.CoAuthoringApi.get_state();
// if (3 === nState) {
// // Отключаемся от сохранения, соединение потеряно
// if (!editor.isAutoSave) {
// editor.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.PrepareToSave);
// editor.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.Save);
// }
// editor.isAutoSave = false;
// editor.canSave = true;
// } else {
// // Если автосохранение, то не будем ждать ответа, а просто перезапустим таймер на немного
// if (editor.isAutoSave) {
// editor.isAutoSave = false;
// editor.canSave = true;
// return;
// }
//
// setTimeout( function(){ editor.CoAuthoringApi.askSaveChanges( OnSave_Callback ); }, 1000 );
// }
// }
//}
asc_docs_api.prototype.asc_DownloadAs = function(typeFile){//передаем число соответствующее своему формату.
this.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.DownloadAs);
......
......@@ -21,8 +21,7 @@ var c_oAscAsyncAction = {
DownloadAs : 6,
Print : 7, // конвертация в PDF и сохранение у пользователя
UploadImage : 8,
ApplyChanges : 9, // применение изменений от другого пользователя.
PrepareToSave : 10 // Подготовка к сохранению
ApplyChanges : 9 // применение изменений от другого пользователя.
};
//files type for Saving & DownloadAs
var c_oAscFileType = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment