Commit 0d0e08a0 authored by Alexander.Trofimov's avatar Alexander.Trofimov

Правки для локальной версии. Для сохранения нужно, чтобы автосохранение не считалось сохранением.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@66204 954022d7-b5bf-4e40-9824-e11837661b57
parent cb59b6d6
......@@ -1837,7 +1837,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
// Пересылаем всегда, но чистим только если началось совместное редактирование
// Пересылаем свои изменения
this.collaborativeEditing.sendChanges();
this.collaborativeEditing.sendChanges(this.IsUserSave);
} else {
nState = t.CoAuthoringApi.get_state();
if (ConnectionState.Close === nState) {
......@@ -3470,7 +3470,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
*/
window["AscDesktopEditor_Save"] = function() {
return window["Asc"]["editor"].asc_Save();
return window["Asc"]["editor"].asc_Save(false);
};
asc["spreadsheet_api"] = spreadsheet_api;
......
......@@ -218,7 +218,7 @@
return true;
};
CCollaborativeEditing.prototype.sendChanges = function () {
CCollaborativeEditing.prototype.sendChanges = function (IsUserSave) {
if (!this.isCoAuthoringExcellEnable())
return;
......@@ -312,7 +312,7 @@
this.m_nUseType = 1;
} else {
// Обновляем точку последнего сохранения в истории
History.Reset_SavedIndex();
History.Reset_SavedIndex(IsUserSave);
}
};
......
......@@ -122,7 +122,14 @@ function CHistory(workbook)
this.SavedIndex = null; // Номер точки отката, на которой произошло последнее сохранение
this.ForceSave = false; // Нужно сохранение, случается, когда у нас точка SavedIndex смещается из-за объединения точек, и мы делаем Undo
// Параметры для специального сохранения для локальной версии редактора
this.UserSaveMode = false;
this.UserSavedIndex = null; // Номер точки, на которой произошло последнее сохранение пользователем (не автосохранение)
}
CHistory.prototype.Is_UserSaveMode = function() {
return this.UserSaveMode;
};
CHistory.prototype.Clear = function()
{
this.Index = -1;
......@@ -135,6 +142,7 @@ CHistory.prototype.Clear = function()
this.SavedIndex = null;
this.ForceSave= false;
this.UserSavedIndex = null;
this._sendCanUndoRedo();
};
......@@ -739,15 +747,27 @@ CHistory.prototype.Is_On = function()
{
return (0 === this.TurnOffHistory);
};
CHistory.prototype.Reset_SavedIndex = function()
{
CHistory.prototype.Reset_SavedIndex = function(IsUserSave) {
this.SavedIndex = this.Index;
if (this.Is_UserSaveMode()) {
if (IsUserSave) {
this.UserSavedIndex = this.Index;
this.ForceSave = false;
}
} else {
this.ForceSave = false;
}
};
CHistory.prototype.Set_SavedIndex = function(Index)
{
CHistory.prototype.Set_SavedIndex = function(Index) {
this.SavedIndex = Index;
if (this.Is_UserSaveMode()) {
if (null !== this.UserSavedIndex && this.UserSavedIndex > this.SavedIndex) {
this.UserSavedIndex = Index;
this.ForceSave = true;
}
} else {
this.ForceSave = true;
}
};
/** @returns {number|null} */
CHistory.prototype.Get_DeleteIndex = function () {
......@@ -767,15 +787,13 @@ CHistory.prototype.Get_DeleteIndex = function () {
return DeleteIndex;
};
/** @returns {boolean} */
CHistory.prototype.Is_Modified = function()
{
if (-1 === this.Index && null === this.SavedIndex && false === this.ForceSave)
CHistory.prototype.Is_Modified = function(IsUserSave) {
var checkIndex = (this.Is_UserSaveMode() && IsUserSave) ? this.UserSavedIndex : this.SavedIndex;
if (-1 === this.Index && null === checkIndex && false === this.ForceSave) {
return false;
}
if (this.Index != this.SavedIndex || true === this.ForceSave)
return true;
return false;
return (this.Index != checkIndex || true === this.ForceSave);
};
CHistory.prototype.GetSerializeArray = function()
{
......
......@@ -631,64 +631,41 @@ CHistory.prototype =
},
Reset_SavedIndex : function(IsUserSave)
{
if (true === this.Is_UserSaveMode())
{
this.SavedIndex = this.Index;
if (true === IsUserSave)
{
if (true === this.Is_UserSaveMode()) {
if (true === IsUserSave) {
this.UserSavedIndex = this.Index;
this.ForceSave = false;
}
}
else
{
this.SavedIndex = this.Index;
} else {
this.ForceSave = false;
}
},
Set_SavedIndex : function(Index)
{
if (true === this.Is_UserSaveMode())
{
this.SavedIndex = Index;
if (null !== this.UserSavedIndex && this.UserSavedIndex > this.SavedIndex)
{
if (true === this.Is_UserSaveMode()) {
if (null !== this.UserSavedIndex && this.UserSavedIndex > this.SavedIndex) {
this.UserSavedIndex = Index;
this.ForceSave = true;
}
}
else
{
this.SavedIndex = Index;
} else {
this.ForceSave = true;
}
},
Have_Changes : function(IsUserSave)
{
if (true === this.Is_UserSaveMode() && false !== IsUserSave)
{
if (-1 === this.Index && null === this.UserSavedIndex && false === this.ForceSave)
var checkIndex = (this.Is_UserSaveMode() && IsUserSave) ? this.UserSavedIndex : this.SavedIndex;
if (-1 === this.Index && null === checkIndex && false === this.ForceSave)
return false;
if (this.Index != this.UserSavedIndex || true === this.ForceSave)
if (this.Index != checkIndex || true === this.ForceSave)
return true;
return false;
}
else
{
if (-1 === this.Index && null === this.SavedIndex && false === this.ForceSave)
return false;
if (this.Index != this.SavedIndex || true === this.ForceSave)
return true;
return false;
}
},
Get_RecalcData : function()
......
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