Commit 34241bde authored by Sergey.Luzyanin's avatar Sergey.Luzyanin Committed by Alexander.Trofimov

баг с откатом последнего изменения при работе с презентацией одним пользователем

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@60353 954022d7-b5bf-4e40-9824-e11837661b57
parent a2a5d9b5
...@@ -1120,60 +1120,63 @@ function CCollaborativeEditing() ...@@ -1120,60 +1120,63 @@ function CCollaborativeEditing()
this.OnCallback_AskLock = function(result) this.OnCallback_AskLock = function(result)
{ {
// Снимаем глобальный лок if (true === oThis.m_bGlobalLock)
oThis.m_bGlobalLock = false;
if (result["lock"])
{ {
// Пробегаемся по массиву и проставляем, что залочено нами // Снимаем глобальный лок
oThis.m_bGlobalLock = false;
var Count = oThis.m_aCheckLocks.length; if (result["lock"])
for ( var Index = 0; Index < Count; Index++ )
{ {
var oItem = oThis.m_aCheckLocks[Index]; // Пробегаемся по массиву и проставляем, что залочено нами
var item;
switch(oItem["type"]) var Count = oThis.m_aCheckLocks.length;
for ( var Index = 0; Index < Count; Index++ )
{ {
case c_oAscLockTypeElemPresentation.Object: var oItem = oThis.m_aCheckLocks[Index];
{ var item;
item = oItem["objId"]; switch(oItem["type"])
break;
}
case c_oAscLockTypeElemPresentation.Slide:
{
item = oItem["val"];
break;
}
case c_oAscLockTypeElemPresentation.Presentation:
{ {
break; case c_oAscLockTypeElemPresentation.Object:
{
item = oItem["objId"];
break;
}
case c_oAscLockTypeElemPresentation.Slide:
{
item = oItem["val"];
break;
}
case c_oAscLockTypeElemPresentation.Presentation:
{
break;
}
} }
} if ( true !== oItem && false !== oItem ) // сравниваем по значению и типу обязательно
if ( true !== oItem && false !== oItem ) // сравниваем по значению и типу обязательно
{
var Class = g_oTableId.Get_ById( item );
if ( null != Class )
{ {
Class.Lock.Set_Type( locktype_Mine ); var Class = g_oTableId.Get_ById( item );
if(Class instanceof Slide) if ( null != Class )
editor.WordControl.m_oLogicDocument.DrawingDocument.UnLockSlide(Class.num); {
oThis.Add_Unlock2( Class ); Class.Lock.Set_Type( locktype_Mine );
if(Class instanceof Slide)
editor.WordControl.m_oLogicDocument.DrawingDocument.UnLockSlide(Class.num);
oThis.Add_Unlock2( Class );
}
} }
} }
} }
} else if (result["error"])
else if (result["error"]) {
{ // Если у нас началось редактирование диаграммы, а вернулось, что ее редактировать нельзя,
// Если у нас началось редактирование диаграммы, а вернулось, что ее редактировать нельзя, // посылаем сообщение о закрытии редактора диаграмм.
// посылаем сообщение о закрытии редактора диаграмм. if ( true === editor.isChartEditor )
if ( true === editor.isChartEditor ) editor.sync_closeChartEditor();
editor.sync_closeChartEditor();
// Делаем откат на 1 шаг назад и удаляем из Undo/Redo эту последнюю точку
editor.WordControl.m_oLogicDocument.Document_Undo();
History.Clear_Redo();
}
// Делаем откат на 1 шаг назад и удаляем из Undo/Redo эту последнюю точку
editor.WordControl.m_oLogicDocument.Document_Undo();
History.Clear_Redo();
} }
editor.isChartEditor = false; editor.isChartEditor = false;
}; };
//----------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------
......
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