Commit b99f7b10 authored by Ilya.Kirillov's avatar Ilya.Kirillov Committed by Alexander.Trofimov

Исправления для сохранения с помощью совместного редактирования.


git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@56541 954022d7-b5bf-4e40-9824-e11837661b57
parent 8b3bd2d8
......@@ -628,6 +628,11 @@ function CCollaborativeEditing()
this.m_bUse = true;
};
this.End_CollaborationEditing = function()
{
this.m_bUse = false;
};
this.Add_User = function(UserId)
{
if ( -1 === this.Find_User(UserId) )
......@@ -811,7 +816,7 @@ function CCollaborativeEditing()
this.Refresh_DCChanges();
// Генерируем свои изменения
var StartPoint = History.SavedIndex + 1;
var StartPoint = ( null === History.SavedIndex ? 0 : History.SavedIndex + 1 );
var LastPoint = -1;
if ( true === this.m_bUse )
{
......@@ -863,14 +868,18 @@ function CCollaborativeEditing()
this.m_aNeedUnlock.length = 0;
this.m_aNeedUnlock2.length = 0;
editor.CoAuthoringApi.saveChanges(aChanges, SumIndex);
editor.CoAuthoringApi.saveChanges(aChanges, ( null === History.SavedIndex ? null : SumIndex ) );
// Чистим Undo/Redo только во время совместного редактирования
if ( true === this.m_bUse )
{
// Чистим Undo/Redo только во время совместного редактирования
History.Clear();
}
else
{
// Обновляем точку последнего сохранения в истории
History.Reset_SavedIndex();
}
// Обновляем интерфейс
editor.WordControl.m_oLogicDocument.Document_UpdateInterfaceState();
......
......@@ -9,7 +9,7 @@
function CHistory(Document)
{
this.Index = -1;
this.SavedIndex = -1; // Номер точки отката, на которой произошло последнее сохранение
this.SavedIndex = null; // Номер точки отката, на которой произошло последнее сохранение
this.RecIndex = -1; // Номер точки, на которой произошел последний пересчет
this.Points = new Array(); // Точки истории, в каждой хранится массив с изменениями после текущей точки
this.Document = Document;
......
......@@ -1463,9 +1463,15 @@ asc_docs_api.prototype._coAuthoringInit = function()
t.asc_fireCallback("asc_onParticipantsChanged", e, CountEditUsers);
if ( 1 >= CountEditUsers )
{
CollaborativeEditing.Start_CollaborationEditing();
editor.asc_setDrawCollaborationMarks(false);
}
else
{
CollaborativeEditing.End_CollaborationEditing();
editor.asc_setDrawCollaborationMarks(true);
}
};
this.CoAuthoringApi.onAuthParticipantsChanged = function (e, count) { t.asc_fireCallback("asc_onAuthParticipantsChanged", e, count); };
this.CoAuthoringApi.onMessage = function (e, count) { t.asc_fireCallback("asc_onCoAuthoringChatReceiveMessage", e); };
......
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