Commit 2d44ce6b authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

Добавил работу одного пользователя (когда нет совместного редактирования)

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@56825 954022d7-b5bf-4e40-9824-e11837661b57
parent 2cc789f3
...@@ -1674,7 +1674,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS"; ...@@ -1674,7 +1674,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
this.CoAuthoringApi.set_url(url); this.CoAuthoringApi.set_url(url);
}, },
_onSaveChanges: function (recalcIndexColumns, recalcIndexRows) { _onSaveChanges: function (deleteIndex, recalcIndexColumns, recalcIndexRows) {
if (this.IsSendDocumentLoadCompleate) { if (this.IsSendDocumentLoadCompleate) {
var arrChanges = this.wbModel.SerializeHistory(); var arrChanges = this.wbModel.SerializeHistory();
if (this.collaborativeEditing.getCollaborativeEditing()) { if (this.collaborativeEditing.getCollaborativeEditing()) {
...@@ -1685,7 +1685,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS"; ...@@ -1685,7 +1685,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
arrChanges.push({"index" : recalcIndexRows, "type" : "1"}); arrChanges.push({"index" : recalcIndexRows, "type" : "1"});
} }
if (0 < arrChanges.length) if (0 < arrChanges.length)
this.CoAuthoringApi.saveChanges(arrChanges); this.CoAuthoringApi.saveChanges(arrChanges, deleteIndex);
else else
this.CoAuthoringApi.unLockDocument(); this.CoAuthoringApi.unLockDocument();
} }
......
...@@ -32,6 +32,8 @@ ...@@ -32,6 +32,8 @@
return new CCollaborativeEditing (); return new CCollaborativeEditing ();
} }
this.m_nUseType = 1; // 1 - 1 клиент и мы сохраняем историю, -1 - несколько клиентов, 0 - переход из -1 в 1
this.handlers = new asc.asc_CHandlersList(handlers); this.handlers = new asc.asc_CHandlersList(handlers);
this.m_bIsViewerMode = !!isViewerMode; // Режим Viewer-а this.m_bIsViewerMode = !!isViewerMode; // Режим Viewer-а
this.m_bIsCollaborative = false; // Совместное ли редактирование this.m_bIsCollaborative = false; // Совместное ли редактирование
...@@ -73,12 +75,13 @@ ...@@ -73,12 +75,13 @@
// Начало совместного редактирования // Начало совместного редактирования
CCollaborativeEditing.prototype.startCollaborationEditing = function() { CCollaborativeEditing.prototype.startCollaborationEditing = function() {
this.m_bIsCollaborative = true; this.m_nUseType = -1;
}; };
// Временное окончание совместного редактирования // Временное окончание совместного редактирования
CCollaborativeEditing.prototype.endCollaborationEditing = function() { CCollaborativeEditing.prototype.endCollaborationEditing = function() {
this.m_bIsCollaborative = false; if (this.m_nUseType <= 0)
this.m_nUseType = 0;
}; };
// Выставление режима view // Выставление режима view
...@@ -89,7 +92,7 @@ ...@@ -89,7 +92,7 @@
CCollaborativeEditing.prototype.getCollaborativeEditing = function () { CCollaborativeEditing.prototype.getCollaborativeEditing = function () {
if (true !== this.isCoAuthoringExcellEnable() || this.m_bIsViewerMode) if (true !== this.isCoAuthoringExcellEnable() || this.m_bIsViewerMode)
return false; return false;
return this.m_bIsCollaborative; return 1 === this.m_nUseType;
}; };
//----------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------
...@@ -243,7 +246,7 @@ ...@@ -243,7 +246,7 @@
} }
// Отправляем на сервер изменения // Отправляем на сервер изменения
this.handlers.trigger("sendChanges", this.getRecalcIndexSave(this.m_oRecalcIndexColumns), this.getRecalcIndexSave(this.m_oRecalcIndexRows)); this.handlers.trigger("sendChanges", History.SavedIndex, this.getRecalcIndexSave(this.m_oRecalcIndexColumns), this.getRecalcIndexSave(this.m_oRecalcIndexRows));
if (bIsCollaborative) { if (bIsCollaborative) {
// Пересчитываем lock-и от чужих пользователей // Пересчитываем lock-и от чужих пользователей
...@@ -271,6 +274,12 @@ ...@@ -271,6 +274,12 @@
if (bCheckRedraw || bRedrawGraphicObjects) if (bCheckRedraw || bRedrawGraphicObjects)
this.handlers.trigger("showDrawingObjects"); this.handlers.trigger("showDrawingObjects");
if (0 === this.m_nUseType)
this.m_nUseType = 1;
} else {
// Обновляем точку последнего сохранения в истории
History.Reset_SavedIndex();
} }
}; };
......
...@@ -353,6 +353,8 @@ function CHistory(workbook) ...@@ -353,6 +353,8 @@ function CHistory(workbook)
this.Transaction = 0; this.Transaction = 0;
this.RecIndex = -1; this.RecIndex = -1;
this.lastDrawingObjects = null; this.lastDrawingObjects = null;
this.SavedIndex = null; // Номер точки отката, на которой произошло последнее сохранение
} }
CHistory.prototype = CHistory.prototype =
{ {
...@@ -365,6 +367,9 @@ CHistory.prototype = ...@@ -365,6 +367,9 @@ CHistory.prototype =
this.IsModify = false; this.IsModify = false;
this.TurnOffHistory = 0; this.TurnOffHistory = 0;
this.Transaction = 0; this.Transaction = 0;
this.SavedIndex = null;
this._sendCanUndoRedo(); this._sendCanUndoRedo();
}, },
Can_Undo : function() Can_Undo : function()
...@@ -722,6 +727,10 @@ CHistory.prototype = ...@@ -722,6 +727,10 @@ CHistory.prototype =
{ {
if ( 0 !== this.TurnOffHistory || 0 !== this.Transaction ) if ( 0 !== this.TurnOffHistory || 0 !== this.Transaction )
return; return;
if (null !== this.SavedIndex && this.Index < this.SavedIndex)
this.SavedIndex = this.Index;
this._checkCurPoint(); this._checkCurPoint();
var Items = []; var Items = [];
var UpdateRigions = {}; var UpdateRigions = {};
...@@ -891,6 +900,10 @@ CHistory.prototype = ...@@ -891,6 +900,10 @@ CHistory.prototype =
this.workbook.handlers.trigger("setDocumentModified", this.IsModify); this.workbook.handlers.trigger("setDocumentModified", this.IsModify);
} }
}, },
Reset_SavedIndex : function()
{
this.SavedIndex = this.Index;
},
Is_Modified : function() Is_Modified : function()
{ {
if(null != this.CurPoint && this.CurPoint.Items.length > 0) if(null != this.CurPoint && this.CurPoint.Items.length > 0)
......
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