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

Исправлен баг с дублированием коментариев (баг 28256).

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@64924 954022d7-b5bf-4e40-9824-e11837661b57
parent bda102f7
......@@ -2642,7 +2642,7 @@ PasteProcessor.prototype =
//проверка на возможность втавки в формулу
//TODO проверку на excel пеерсмотреть!!!!
oSelectedContent.On_EndCollectElements(this.oLogicDocument);
oSelectedContent.On_EndCollectElements(this.oLogicDocument, true);
if(!this.pasteInExcel && !this.oLogicDocument.Can_InsertContent(oSelectedContent, NearPos))
{
if(!this.pasteInExcel)
......
......@@ -123,7 +123,7 @@ CSelectedContent.prototype =
this.MoveDrawing = Value;
},
On_EndCollectElements : function(LogicDocument)
On_EndCollectElements : function(LogicDocument, bFromCopy)
{
// Теперь пройдемся по всем найденным элементам и выясним есть ли автофигуры и комментарии
var Count = this.Elements.length;
......@@ -194,32 +194,35 @@ CSelectedContent.prototype =
Para.DeleteCommentOnRemove = OldVal;
}
}
// Новые комментарии мы дублируем и добавляем в список комментариев
Count = NewComments.length;
var Count2 = this.Comments.length;
var DocumentComments = LogicDocument.Comments;
for (var Pos = 0; Pos < Count; Pos++)
if (true !== bFromCopy)
{
var Id = NewComments[Pos];
var OldComment = DocumentComments.Get_ById(Id);
if (null !== OldComment)
// Новые комментарии мы дублируем и добавляем в список комментариев
Count = NewComments.length;
var Count2 = this.Comments.length;
var DocumentComments = LogicDocument.Comments;
for (var Pos = 0; Pos < Count; Pos++)
{
var NewComment = OldComment.Copy();
var Id = NewComments[Pos];
var OldComment = DocumentComments.Get_ById(Id);
if (History.Is_On())
if (null !== OldComment)
{
DocumentComments.Add(NewComment);
editor.sync_AddComment(NewComment.Get_Id(), NewComment.Data);
var NewComment = OldComment.Copy();
// поправим Id в самих элементах ParaComment
for (var Pos2 = 0; Pos2 < Count2; Pos2++)
if (History.Is_On())
{
var Element = this.Comments[Pos2].Comment;
if (Id === Element.CommentId)
DocumentComments.Add(NewComment);
editor.sync_AddComment(NewComment.Get_Id(), NewComment.Data);
// поправим Id в самих элементах ParaComment
for (var Pos2 = 0; Pos2 < Count2; Pos2++)
{
Element.Set_CommentId(NewComment.Get_Id());
var Element = this.Comments[Pos2].Comment;
if (Id === Element.CommentId)
{
Element.Set_CommentId(NewComment.Get_Id());
}
}
}
}
......@@ -9003,7 +9006,7 @@ CDocument.prototype =
}
}
SelectedContent.On_EndCollectElements(this);
SelectedContent.On_EndCollectElements(this, false);
if (!bUseHistory)
History.TurnOn();
......
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