Commit ebb92476 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@62413 954022d7-b5bf-4e40-9824-e11837661b57
parent 9d602752
......@@ -12248,7 +12248,7 @@ CDocument.prototype =
this.History.Create_NewPoint(Description);
},
Document_Undo : function()
Document_Undo : function(Options)
{
if ( true === CollaborativeEditing.Get_GlobalLock() )
return;
......@@ -12256,7 +12256,7 @@ CDocument.prototype =
this.DrawingDocument.EndTrackTable( null, true );
this.DrawingObjects.TurnOffCheckChartSelection();
this.History.Undo();
this.History.Undo(Options);
this.DrawingObjects.TurnOnCheckChartSelection();
this.Recalculate( false, false, this.History.RecalculateData );
......
......@@ -137,7 +137,7 @@ CHistory.prototype =
return false;
},
Undo : function()
Undo : function(Options)
{
this.Check_UninonLastPoints();
......@@ -154,19 +154,39 @@ CHistory.prototype =
this.Document.Selection_Remove();
var Point = this.Points[this.Index--];
this.Internal_RecalcData_Clear();
// Откатываем все действия в обратном порядке (относительно их выполенения)
for ( var Index = Point.Items.length - 1; Index >= 0; Index-- )
var Point = null;
if (undefined !== Options && null !== Options && true === Options.All)
{
var Item = Point.Items[Index];
Item.Class.Undo( Item.Data );
Item.Class.Refresh_RecalcData( Item.Data );
while (this.Index >= 0)
{
Point = this.Points[this.Index--];
// Откатываем все действия в обратном порядке (относительно их выполенения)
for (var Index = Point.Items.length - 1; Index >= 0; Index--)
{
var Item = Point.Items[Index];
Item.Class.Undo(Item.Data);
Item.Class.Refresh_RecalcData(Item.Data);
}
}
}
else
{
Point = this.Points[this.Index--];
// Откатываем все действия в обратном порядке (относительно их выполенения)
for (var Index = Point.Items.length - 1; Index >= 0; Index--)
{
var Item = Point.Items[Index];
Item.Class.Undo(Item.Data);
Item.Class.Refresh_RecalcData(Item.Data);
}
}
this.Document.Set_SelectionState( Point.State );
if (null != Point)
this.Document.Set_SelectionState( Point.State );
return this.RecalculateData;
},
......
......@@ -7587,8 +7587,9 @@ asc_docs_api.prototype.asc_showRevision = function () {
// ToDo Add code load file with changes
}
};
asc_docs_api.prototype.asc_undoAllChanges = function () {
// ToDo Add code here
asc_docs_api.prototype.asc_undoAllChanges = function ()
{
this.WordControl.m_oLogicDocument.Document_Undo({All : true});
};
window["asc_docs_api"] = asc_docs_api;
......
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