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

Исправлен баг с выставлением списка (баг 22078).

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@51698 954022d7-b5bf-4e40-9824-e11837661b57
parent 54d2c1ec
......@@ -4493,13 +4493,45 @@ CDocument.prototype =
{
if ( 0 === NumInfo.SubType )
{
var NumPr = Item.Numbering_Get();
if ( undefined != ( NumPr = Item.Numbering_Get() ) )
{
var AbstractNum = this.Numbering.Get_AbstractNum( NumPr.NumId );
if ( false === this.Numbering.Check_Format( NumPr.NumId, NumPr.Lvl, numbering_numfmt_Bullet ) )
{
AbstractNum.Create_Default_Bullet();
// Добавлять нумерацию к параграфу не надо, т.к. она уже в
// нем записана
// Нам нужно пересчитать все изменения, начиная с первого
// элемента, использующего данную нумерацию
FirstChange = 0;
var bFirstChange = false;
for ( var Index = 0; Index < this.Content.length; Index++ )
{
if ( true === this.Content[Index].Numbering_IsUse( NumPr.NumId, NumPr.Lvl ) )
{
if ( false === bFirstChange )
{
FirstChange = Index;
bFirstChange = true;
}
this.Content[Index].Recalc_CompileParaPr();
}
}
}
}
else
{
// Если мы просто нажимаем добавить маркированный список, тогда мы пытаемся
// присоединить его к списку предыдушего параграфа (если у предыдущего параграфа
// есть список, и этот список маркированный)
// Проверяем предыдущий элемент
var Prev = this.Content[this.CurPos.ContentPos - 1];
var NumId = null;
var NumId = undefined;
var NumLvl = 0;
if ( "undefined" != typeof(Prev) && null != Prev && type_Paragraph === Prev.GetType() )
......@@ -4514,7 +4546,7 @@ CDocument.prototype =
// Предыдущий параграф не содержит списка, либо список не того формата
// создаем новую нумерацию (стандартную маркированный список)
if ( null === NumId )
if ( undefined === NumId )
{
NumId = this.Numbering.Create_AbstractNum();
NumLvl = 0;
......@@ -4537,6 +4569,7 @@ CDocument.prototype =
// Нам нужно пересчитать все изменения, начиная с предыдущего элемента
FirstChange = this.CurPos.ContentPos - 1;
}
}
else
{
// 1. Если данный параграф не содержит списка, тогда мы создаем новый
......@@ -4641,6 +4674,37 @@ CDocument.prototype =
case 1: // Numbered
{
if ( 0 === NumInfo.SubType )
{
var NumPr = Item.Numbering_Get();
if ( undefined != ( NumPr = Item.Numbering_Get() ) )
{
var AbstractNum = this.Numbering.Get_AbstractNum( NumPr.NumId );
if ( false === this.Numbering.Check_Format( NumPr.NumId, NumPr.Lvl, numbering_numfmt_Decimal ) )
{
AbstractNum.Create_Default_Numbered();
// Добавлять нумерацию к параграфу не надо, т.к. она уже в
// нем записана
// Нам нужно пересчитать все изменения, начиная с первого
// элемента, использующего данную нумерацию
FirstChange = 0;
var bFirstChange = false;
for ( var Index = 0; Index < this.Content.length; Index++ )
{
if ( true === this.Content[Index].Numbering_IsUse( NumPr.NumId, NumPr.Lvl ) )
{
if ( false === bFirstChange )
{
FirstChange = Index;
bFirstChange = true;
}
this.Content[Index].Recalc_CompileParaPr();
}
}
}
}
else
{
// Если мы просто нажимаем добавить нумерованный список, тогда мы пытаемся
// присоединить его к списку предыдушего параграфа (если у предыдущего параграфа
......@@ -4648,7 +4712,7 @@ CDocument.prototype =
// Проверяем предыдущий элемент
var Prev = this.Content[this.CurPos.ContentPos - 1];
var NumId = null;
var NumId = undefined;
var NumLvl = 0;
if ( "undefined" != typeof(Prev) && null != Prev && type_Paragraph === Prev.GetType() )
......@@ -4663,7 +4727,7 @@ CDocument.prototype =
// Предыдущий параграф не содержит списка, либо список не того формата
// создаем новую нумерацию (стандартную маркированный список)
if ( null === NumId )
if ( undefined === NumId )
{
NumId = this.Numbering.Create_AbstractNum();
NumLvl = 0;
......@@ -4686,6 +4750,7 @@ CDocument.prototype =
// Нам нужно пересчитать все изменения, начиная с предыдущего элемента
FirstChange = this.CurPos.ContentPos - 1;
}
}
else
{
// 1. Если данный параграф не содержит списка, тогда мы создаем новый
......
......@@ -4170,6 +4170,37 @@ CDocumentContent.prototype =
case 0: // Bullet
{
if ( 0 === NumInfo.SubType )
{
var NumPr = Item.Numbering_Get();
if ( undefined != ( NumPr = Item.Numbering_Get() ) )
{
var AbstractNum = this.Numbering.Get_AbstractNum( NumPr.NumId );
if ( false === this.Numbering.Check_Format( NumPr.NumId, NumPr.Lvl, numbering_numfmt_Bullet ) )
{
AbstractNum.Create_Default_Bullet();
// Добавлять нумерацию к параграфу не надо, т.к. она уже в
// нем записана
// Нам нужно пересчитать все изменения, начиная с первого
// элемента, использующего данную нумерацию
FirstChange = 0;
var bFirstChange = false;
for ( var Index = 0; Index < this.Content.length; Index++ )
{
if ( true === this.Content[Index].Numbering_IsUse( NumPr.NumId, NumPr.Lvl ) )
{
if ( false === bFirstChange )
{
FirstChange = Index;
bFirstChange = true;
}
this.Content[Index].Recalc_CompileParaPr();
}
}
}
}
else
{
// Если мы просто нажимаем добавить маркированный список, тогда мы пытаемся
// присоединить его к списку предыдушего параграфа (если у предыдущего параграфа
......@@ -4214,6 +4245,7 @@ CDocumentContent.prototype =
// Нам нужно пересчитать все изменения, начиная с предыдущего элемента
FirstChange = this.CurPos.ContentPos - 1;
}
}
else
{
// 1. Если данный параграф не содержит списка, тогда мы создаем новый
......@@ -4318,6 +4350,37 @@ CDocumentContent.prototype =
case 1: // Numbered
{
if ( 0 === NumInfo.SubType )
{
var NumPr = Item.Numbering_Get();
if ( undefined != ( NumPr = Item.Numbering_Get() ) )
{
var AbstractNum = this.Numbering.Get_AbstractNum( NumPr.NumId );
if ( false === this.Numbering.Check_Format( NumPr.NumId, NumPr.Lvl, numbering_numfmt_Decimal ) )
{
AbstractNum.Create_Default_Numbered();
// Добавлять нумерацию к параграфу не надо, т.к. она уже в
// нем записана
// Нам нужно пересчитать все изменения, начиная с первого
// элемента, использующего данную нумерацию
FirstChange = 0;
var bFirstChange = false;
for ( var Index = 0; Index < this.Content.length; Index++ )
{
if ( true === this.Content[Index].Numbering_IsUse( NumPr.NumId, NumPr.Lvl ) )
{
if ( false === bFirstChange )
{
FirstChange = Index;
bFirstChange = true;
}
this.Content[Index].Recalc_CompileParaPr();
}
}
}
}
else
{
// Если мы просто нажимаем добавить нумерованный список, тогда мы пытаемся
// присоединить его к списку предыдушего параграфа (если у предыдущего параграфа
......@@ -4362,6 +4425,7 @@ CDocumentContent.prototype =
// Нам нужно пересчитать все изменения, начиная с предыдущего элемента
FirstChange = this.CurPos.ContentPos - 1;
}
}
else
{
// 1. Если данный параграф не содержит списка, тогда мы создаем новый
......
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