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

Реализовано, чтобы при выделении 1 параграфа, и при добавлении нумерации к...

Реализовано, чтобы при выделении 1 параграфа, и при добавлении нумерации к нему, просматривалась нумерация не только предыдущего параграфа, но и следующего (баг 27618). Исправлен баг в совместном редактировании при выделении нумерации (баг 27617). Исправлен баг с копированием параграфа, настройки последнего рана не заполнялись (баг 27637). Исправлен баг с выставлением межсимвольного интервала (баг 27615).

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@59860 954022d7-b5bf-4e40-9824-e11837661b57
parent 2a9cff0b
......@@ -5229,10 +5229,25 @@ CDocument.prototype =
// создаем новую нумерацию (стандартную маркированный список)
if ( null === NumId )
{
NumId = this.Numbering.Create_AbstractNum();
NumLvl = 0;
// Если у нас выделен только 1 параграф, тогда посмотрим на следующий параграф, возможно у него есть нумерованный список.
var Next = this.Content[StartPos + 1];
if (StartPos === EndPos && undefined !== Next && null !== Next && type_Paragraph === Next.GetType())
{
var NextNumPr = Next.Numbering_Get();
if (undefined !== NextNumPr && true === this.Numbering.Check_Format(NextNumPr.NumId, NextNumPr.Lvl, numbering_numfmt_Decimal))
{
NumId = NextNumPr.NumId;
NumLvl = NextNumPr.Lvl;
}
}
this.Numbering.Get_AbstractNum( NumId ).Create_Default_Numbered();
if (null === NumId)
{
NumId = this.Numbering.Create_AbstractNum();
NumLvl = 0;
this.Numbering.Get_AbstractNum(NumId).Create_Default_Numbered();
}
}
// Параграфы, которые не содержали списка у них уровень выставляем NumLvl,
......@@ -5699,8 +5714,8 @@ CDocument.prototype =
// есть список, и этот список нумерованный)
// Проверяем предыдущий элемент
var Prev = this.Content[this.CurPos.ContentPos - 1];
var NumId = undefined;
var Prev = this.Content[this.CurPos.ContentPos - 1];
var NumId = null;
var NumLvl = 0;
if ( "undefined" != typeof(Prev) && null != Prev && type_Paragraph === Prev.GetType() )
......@@ -5715,12 +5730,27 @@ CDocument.prototype =
// Предыдущий параграф не содержит списка, либо список не того формата
// создаем новую нумерацию (стандартную маркированный список)
if ( undefined === NumId )
if (null === NumId)
{
NumId = this.Numbering.Create_AbstractNum();
NumLvl = 0;
// Посмотрим на следующий параграф, возможно у него есть нумерованный список.
var Next = this.Content[this.CurPos.ContentPos + 1];
if (undefined !== Next && null !== Next && type_Paragraph === Next.GetType())
{
var NextNumPr = Next.Numbering_Get();
if (undefined !== NextNumPr && true === this.Numbering.Check_Format(NextNumPr.NumId, NextNumPr.Lvl, numbering_numfmt_Decimal))
{
NumId = NextNumPr.NumId;
NumLvl = NextNumPr.Lvl;
}
}
if (null === NumId)
{
NumId = this.Numbering.Create_AbstractNum();
NumLvl = 0;
this.Numbering.Get_AbstractNum( NumId ).Create_Default_Numbered();
this.Numbering.Get_AbstractNum(NumId).Create_Default_Numbered();
}
}
......@@ -12662,6 +12692,9 @@ CDocument.prototype =
var AbstrNum = this.Numbering.Get_AbstractNum( NumPr.NumId );
AbstrNum.Document_Is_SelectionLocked(CheckType);
}
this.Content[this.CurPos.ContentPos].Document_Is_SelectionLocked(CheckType);
break;
}
}
......
......@@ -4710,12 +4710,27 @@ CDocumentContent.prototype =
// Предыдущий параграф не содержит списка, либо список не того формата
// создаем новую нумерацию (стандартную маркированный список)
if ( null === NumId )
if (null === NumId)
{
NumId = this.Numbering.Create_AbstractNum();
NumLvl = 0;
// Посмотрим на следующий параграф, возможно у него есть нумерованный список.
var Next = this.Content[StartPos + 1];
if (StartPos === EndPos && undefined !== Next && null !== Next && type_Paragraph === Next.GetType())
{
var NextNumPr = Next.Numbering_Get();
if (undefined !== NextNumPr && true === this.Numbering.Check_Format(NextNumPr.NumId, NextNumPr.Lvl, numbering_numfmt_Decimal))
{
NumId = NextNumPr.NumId;
NumLvl = NextNumPr.Lvl;
}
}
if (null === NumId)
{
NumId = this.Numbering.Create_AbstractNum();
NumLvl = 0;
this.Numbering.Get_AbstractNum( NumId ).Create_Default_Numbered();
this.Numbering.Get_AbstractNum(NumId).Create_Default_Numbered();
}
}
// Параграфы, которые не содержали списка у них уровень выставляем NumLvl,
......@@ -5173,7 +5188,7 @@ CDocumentContent.prototype =
// есть список, и этот список нумерованный)
// Проверяем предыдущий элемент
var Prev = this.Content[StartPos - 1];
var Prev = this.Content[StartPos - 1];
var NumId = null;
var NumLvl = 0;
......@@ -5189,12 +5204,27 @@ CDocumentContent.prototype =
// Предыдущий параграф не содержит списка, либо список не того формата
// создаем новую нумерацию (стандартную маркированный список)
if ( null === NumId )
if (null === NumId)
{
NumId = this.Numbering.Create_AbstractNum();
NumLvl = 0;
// Посмотрим на следующий параграф, возможно у него есть нумерованный список.
var Next = this.Content[this.CurPos.ContentPos + 1];
if (undefined !== Next && null !== Next && type_Paragraph === Next.GetType())
{
var NextNumPr = Next.Numbering_Get();
if (undefined !== NextNumPr && true === this.Numbering.Check_Format(NextNumPr.NumId, NextNumPr.Lvl, numbering_numfmt_Decimal))
{
NumId = NextNumPr.NumId;
NumLvl = NextNumPr.Lvl;
}
}
if (null === NumId)
{
NumId = this.Numbering.Create_AbstractNum();
NumLvl = 0;
this.Numbering.Get_AbstractNum( NumId ).Create_Default_Numbered();
this.Numbering.Get_AbstractNum(NumId).Create_Default_Numbered();
}
}
if ( type_Paragraph === Item.GetType() )
......@@ -8619,6 +8649,9 @@ CDocumentContent.prototype =
var AbstrNum = this.Numbering.Get_AbstractNum( NumPr.NumId );
AbstrNum.Document_Is_SelectionLocked(CheckType);
}
this.Content[this.CurPos.ContentPos].Document_Is_SelectionLocked(CheckType);
break;
}
}
......
......@@ -248,11 +248,12 @@ Paragraph.prototype =
}
// TODO: Как только переделаем para_End, переделать тут
// Поскольку в ране не купируется элемент para_End добавим его здесь отдельно
// Поскольку в ране не копируется элемент para_End добавим его здесь отдельно
var EndRun = new ParaRun(Para);
EndRun.Add_ToContent( 0, new ParaEnd() );
Para.Internal_Content_Add( Para.Content.length, EndRun, false );
EndRun.Set_Pr(this.TextPr.Value.Copy());
// Добавляем секцию в конце
if ( undefined !== this.SectPr )
......
......@@ -5374,7 +5374,7 @@ ParaRun.prototype.Set_RStyle = function(Value)
ParaRun.prototype.Set_Spacing = function(Value)
{
if ( Value !== this.Pr.Value )
if (Value !== this.Pr.Spacing)
{
var OldValue = this.Pr.Spacing;
this.Pr.Spacing = Value;
......
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