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

Исправлен баг с плохой нумерацией в параграфе. Исправлен баг с расчетом...

Исправлен баг с плохой нумерацией в параграфе. Исправлен баг с расчетом пустого параграфа с секцией и pageBreak перед ним. Исправлен баг с рассчетом таблиц.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@67826 954022d7-b5bf-4e40-9824-e11837661b57
parent 5a3c66d8
......@@ -7781,6 +7781,8 @@ Paragraph.prototype =
if ( -1 != Lvl && undefined != Pr.ParaPr.NumPr )
Pr.ParaPr.NumPr.Lvl = Lvl;
else
Pr.ParaPr.NumPr = undefined;
// Настройки рамки не наследуются
if ( undefined === this.Pr.FramePr )
......
......@@ -682,7 +682,11 @@ Paragraph.prototype.private_RecalculatePageXY = function(CurLine, CurPa
Paragraph.prototype.private_RecalculatePageBreak = function(CurLine, CurPage, PRS, ParaPr)
{
if ( this.Parent instanceof CDocument )
// Для пустых параграфов с разрывом секции не делаем переноса страницы
if (undefined !== this.Get_SectionPr() && true === this.IsEmpty())
return true;
if (this.Parent instanceof CDocument)
{
// Начинаем параграф с новой страницы
var PageRelative = this.private_GetRelativePageIndex(CurPage) - this.Get_StartPage_Relative();
......
......@@ -1523,6 +1523,7 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
var FirstRow = 0;
var LastRow = 0;
var ResetStartElement = false;
if ( 0 === CurPage )
{
// Обнуляем таблицу суммарных высот ячеек
......@@ -1535,9 +1536,20 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
else
{
if (true === this.Is_EmptyPage(CurPage - 1))
{
ResetStartElement = false;
FirstRow = this.Pages[CurPage - 1].FirstRow;
else
}
else if (true === this.Pages[CurPage - 1].LastRowSplit)
{
ResetStartElement = false;
FirstRow = this.Pages[CurPage - 1].LastRow;
}
else
{
ResetStartElement = true;
FirstRow = Math.min(this.Pages[CurPage - 1].LastRow + 1, this.Content.length - 1);
}
LastRow = FirstRow;
}
......@@ -1894,7 +1906,7 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
var bNextPage = false;
for (var CurRow = FirstRow; CurRow < this.Content.length; ++CurRow)
{
if ((0 === CurRow && true === this.Check_EmptyPages(CurPage - 1)) || CurRow != FirstRow)
if ((0 === CurRow && true === this.Check_EmptyPages(CurPage - 1)) || CurRow != FirstRow || (CurRow === FirstRow && true === ResetStartElement))
{
this.RowsInfo[CurRow] = {};
this.RowsInfo[CurRow].Pages = 1;
......@@ -2048,7 +2060,7 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
var ShiftDy = 0;
var ShiftDx = 0;
if ((0 === Cell.Row.Index && true === this.Check_EmptyPages(CurPage - 1)) || Cell.Row.Index > FirstRow)
if ((0 === Cell.Row.Index && true === this.Check_EmptyPages(CurPage - 1)) || Cell.Row.Index > FirstRow || (Cell.Row.Index === FirstRow && true === ResetStartElement))
{
Cell.Content.Set_StartPage( CurPage );
......@@ -2546,6 +2558,8 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
var LastRow = this.Pages[CurPage].LastRow;
if (false === this.RowsInfo[LastRow].FirstPage)
this.Pages[CurPage].LastRow = LastRow - 1;
else
this.Pages[CurPage].LastRowSplit = true;
}
this.TurnOffRecalc = false;
......@@ -2647,6 +2661,7 @@ function CTablePage(X, Y, XLimit, YLimit, FirstRow, MaxTopBorder)
this.FirstRow = FirstRow;
this.LastRow = FirstRow;
this.Height = 0;
this.LastRowSplit = false;
}
CTablePage.prototype.Shift = function(Dx, Dy)
{
......
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