Commit c3e2f37a authored by Sergey.Konovalov's avatar Sergey.Konovalov Committed by Alexander.Trofimov

(2.0.0.145): AVSOfficeDocxFile2

открытие/сохранение расширенных комментариев.
Bug 21279 - Обрезается количество символов после запятой при сохранении документа.
ошибка при сохранении Tx серии chart

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@50714 954022d7-b5bf-4e40-9824-e11837661b57
parent d11d0543
...@@ -2996,22 +2996,6 @@ function BinaryCommentsTableWriter(memory, doc, oMapCommentId) ...@@ -2996,22 +2996,6 @@ function BinaryCommentsTableWriter(memory, doc, oMapCommentId)
} }
if(null != comment.m_sUserName && "" != comment.m_sUserName) if(null != comment.m_sUserName && "" != comment.m_sUserName)
{ {
var sInitials = "";
var aElems = comment.m_sUserName.split(" ");
for(var i = 0, length; i < aElems.length; ++i)
{
var elem = aElems[i];
if(elem && elem.length > 0)
{
sInitials += elem[0];
}
}
if("" != sInitials)
{
sInitials.toUpperCase();
this.memory.WriteByte(c_oSer_CommentsType.Initials);
this.memory.WriteString2(sInitials);
}
this.memory.WriteByte(c_oSer_CommentsType.UserName); this.memory.WriteByte(c_oSer_CommentsType.UserName);
this.memory.WriteString2(comment.m_sUserName); this.memory.WriteString2(comment.m_sUserName);
} }
...@@ -3027,11 +3011,6 @@ function BinaryCommentsTableWriter(memory, doc, oMapCommentId) ...@@ -3027,11 +3011,6 @@ function BinaryCommentsTableWriter(memory, doc, oMapCommentId)
this.memory.WriteByte(c_oSer_CommentsType.Date); this.memory.WriteByte(c_oSer_CommentsType.Date);
this.memory.WriteString2(this.DateToISO8601(oDate)); this.memory.WriteString2(this.DateToISO8601(oDate));
} }
if(null != comment.m_sQuoteText)
{
this.memory.WriteByte(c_oSer_CommentsType.QuoteText);
this.memory.WriteString2(comment.m_sQuoteText);
}
if(null != comment.m_bSolved) if(null != comment.m_bSolved)
{ {
this.bs.WriteItem(c_oSer_CommentsType.Solved, function(){oThis.memory.WriteBool(comment.m_bSolved);}); this.bs.WriteItem(c_oSer_CommentsType.Solved, function(){oThis.memory.WriteBool(comment.m_bSolved);});
...@@ -3590,16 +3569,12 @@ function BinaryFileReader(doc, openParams) ...@@ -3590,16 +3569,12 @@ function BinaryFileReader(doc, openParams)
var oCommentObj = new CCommentData(); var oCommentObj = new CCommentData();
if(null != comment.UserName) if(null != comment.UserName)
oCommentObj.m_sUserName = comment.UserName; oCommentObj.m_sUserName = comment.UserName;
else if(null != comment.Initials)
oCommentObj.m_sUserName = comment.Initials;
if(null != comment.UserId) if(null != comment.UserId)
oCommentObj.m_sUserId = comment.UserId; oCommentObj.m_sUserId = comment.UserId;
if(null != comment.Date) if(null != comment.Date)
oCommentObj.m_sTime = comment.Date; oCommentObj.m_sTime = comment.Date;
if(null != comment.Text) if(null != comment.Text)
oCommentObj.m_sText = comment.Text; oCommentObj.m_sText = comment.Text;
if(null != comment.QuoteText)
oCommentObj.m_sQuoteText = comment.QuoteText;
if(null != comment.Solved) if(null != comment.Solved)
oCommentObj.m_bSolved = comment.Solved; oCommentObj.m_bSolved = comment.Solved;
if(null != comment.Replies) if(null != comment.Replies)
...@@ -3621,7 +3596,7 @@ function BinaryFileReader(doc, openParams) ...@@ -3621,7 +3596,7 @@ function BinaryFileReader(doc, openParams)
for(var i in this.oReadResult.oCommentsPlaces) for(var i in this.oReadResult.oCommentsPlaces)
{ {
var item = this.oReadResult.oCommentsPlaces[i]; var item = this.oReadResult.oCommentsPlaces[i];
if(null != item.Ref || (null != item.Start && null != item.End)) if((null != item.Start && null != item.End) || (null != item.Ref && null == item.Start && null == item.End))
{ {
var oStart = null; var oStart = null;
var oEnd = null; var oEnd = null;
...@@ -3642,6 +3617,8 @@ function BinaryFileReader(doc, openParams) ...@@ -3642,6 +3617,8 @@ function BinaryFileReader(doc, openParams)
var oCommentObj = oCommentsNewId[nId]; var oCommentObj = oCommentsNewId[nId];
if(oCommentObj) if(oCommentObj)
{ {
if(null != item.QuoteText)
oCommentObj.Data.m_sQuoteText = item.QuoteText;
var fInsert = function(bStart, bRef, oCommentPosition) var fInsert = function(bStart, bRef, oCommentPosition)
{ {
var index = 0; var index = 0;
...@@ -5233,6 +5210,8 @@ function Binary_DocumentTableReader(doc, oReadResult, openParams, stream, bAllow ...@@ -5233,6 +5210,8 @@ function Binary_DocumentTableReader(doc, oReadResult, openParams, stream, bAllow
this.bAllowFlow = bAllowFlow; this.bAllowFlow = bAllowFlow;
this.lastPar = null; this.lastPar = null;
this.oComments = oComments; this.oComments = oComments;
this.nCurCommentsCount = 0;
this.oCurComments = [];//вспомогательный массив для заполнения QuotedText
this.Reset = function() this.Reset = function()
{ {
this.lastPar = null; this.lastPar = null;
...@@ -5446,6 +5425,11 @@ function Binary_DocumentTableReader(doc, oReadResult, openParams, stream, bAllow ...@@ -5446,6 +5425,11 @@ function Binary_DocumentTableReader(doc, oReadResult, openParams, stream, bAllow
item.Start = oCommon; item.Start = oCommon;
else else
this.oComments[oCommon.Id] = {Start: oCommon}; this.oComments[oCommon.Id] = {Start: oCommon};
if(null == this.oCurComments[oCommon.Id])
{
this.nCurCommentsCount++;
this.oCurComments[oCommon.Id] = "";
}
} }
} }
else if (c_oSerParType.CommentEnd === type) else if (c_oSerParType.CommentEnd === type)
...@@ -5460,10 +5444,19 @@ function Binary_DocumentTableReader(doc, oReadResult, openParams, stream, bAllow ...@@ -5460,10 +5444,19 @@ function Binary_DocumentTableReader(doc, oReadResult, openParams, stream, bAllow
{ {
oCommon.oParent = paragraph; oCommon.oParent = paragraph;
var item = this.oComments[oCommon.Id]; var item = this.oComments[oCommon.Id];
if(item) if(!item)
item.End = oCommon; {
else item = {};
this.oComments[oCommon.Id] = {End: oCommon}; this.oComments[oCommon.Id] = item;
}
item.End = oCommon;
var sQuoteText = this.oCurComments[oCommon.Id];
if(null != sQuoteText)
{
item.QuoteText = sQuoteText;
this.nCurCommentsCount--;
delete this.oCurComments[oCommon.Id];
}
} }
} }
else if ( c_oSer_OMathContentType.OMathPara == type ) else if ( c_oSer_OMathContentType.OMathPara == type )
...@@ -7240,6 +7233,11 @@ function Binary_DocumentTableReader(doc, oReadResult, openParams, stream, bAllow ...@@ -7240,6 +7233,11 @@ function Binary_DocumentTableReader(doc, oReadResult, openParams, stream, bAllow
if(this.openParams.charCount >= g_nErrorCharCount) if(this.openParams.charCount >= g_nErrorCharCount)
throw new Error(g_sErrorCharCountMessage); throw new Error(g_sErrorCharCountMessage);
} }
if(this.nCurCommentsCount > 0)
{
for(var i in this.oCurComments)
this.oCurComments[i] += text;
}
for (var i = 0, length = text.length; i < length; ++i) for (var i = 0, length = text.length; i < length; ++i)
{ {
if (text[i] != ' ') if (text[i] != ' ')
...@@ -8174,8 +8172,6 @@ function Binary_CommentsTableReader(doc, oReadResult, stream, oComments) ...@@ -8174,8 +8172,6 @@ function Binary_CommentsTableReader(doc, oReadResult, stream, oComments)
var oThis = this; var oThis = this;
if ( c_oSer_CommentsType.Id === type ) if ( c_oSer_CommentsType.Id === type )
oNewImage.Id = this.stream.GetULongLE(); oNewImage.Id = this.stream.GetULongLE();
else if ( c_oSer_CommentsType.Initials === type )
oNewImage.Initials = this.stream.GetString2LE(length);
else if ( c_oSer_CommentsType.UserName === type ) else if ( c_oSer_CommentsType.UserName === type )
oNewImage.UserName = this.stream.GetString2LE(length); oNewImage.UserName = this.stream.GetString2LE(length);
else if ( c_oSer_CommentsType.UserId === type ) else if ( c_oSer_CommentsType.UserId === type )
...@@ -8188,8 +8184,6 @@ function Binary_CommentsTableReader(doc, oReadResult, stream, oComments) ...@@ -8188,8 +8184,6 @@ function Binary_CommentsTableReader(doc, oReadResult, stream, oComments)
} }
else if ( c_oSer_CommentsType.Text === type ) else if ( c_oSer_CommentsType.Text === type )
oNewImage.Text = this.stream.GetString2LE(length); oNewImage.Text = this.stream.GetString2LE(length);
else if ( c_oSer_CommentsType.QuoteText === type )
oNewImage.QuoteText = this.stream.GetString2LE(length);
else if ( c_oSer_CommentsType.Solved === type ) else if ( c_oSer_CommentsType.Solved === type )
oNewImage.Solved = (this.stream.GetUChar() != 0); oNewImage.Solved = (this.stream.GetUChar() != 0);
else if ( c_oSer_CommentsType.Replies === type ) else if ( c_oSer_CommentsType.Replies === type )
......
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