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