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 = ...@@ -7781,6 +7781,8 @@ Paragraph.prototype =
if ( -1 != Lvl && undefined != Pr.ParaPr.NumPr ) if ( -1 != Lvl && undefined != Pr.ParaPr.NumPr )
Pr.ParaPr.NumPr.Lvl = Lvl; Pr.ParaPr.NumPr.Lvl = Lvl;
else
Pr.ParaPr.NumPr = undefined;
// Настройки рамки не наследуются // Настройки рамки не наследуются
if ( undefined === this.Pr.FramePr ) if ( undefined === this.Pr.FramePr )
......
...@@ -682,7 +682,11 @@ Paragraph.prototype.private_RecalculatePageXY = function(CurLine, CurPa ...@@ -682,7 +682,11 @@ Paragraph.prototype.private_RecalculatePageXY = function(CurLine, CurPa
Paragraph.prototype.private_RecalculatePageBreak = function(CurLine, CurPage, PRS, ParaPr) 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(); var PageRelative = this.private_GetRelativePageIndex(CurPage) - this.Get_StartPage_Relative();
......
...@@ -1523,6 +1523,7 @@ CTable.prototype.private_RecalculatePage = function(CurPage) ...@@ -1523,6 +1523,7 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
var FirstRow = 0; var FirstRow = 0;
var LastRow = 0; var LastRow = 0;
var ResetStartElement = false;
if ( 0 === CurPage ) if ( 0 === CurPage )
{ {
// Обнуляем таблицу суммарных высот ячеек // Обнуляем таблицу суммарных высот ячеек
...@@ -1535,9 +1536,20 @@ CTable.prototype.private_RecalculatePage = function(CurPage) ...@@ -1535,9 +1536,20 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
else else
{ {
if (true === this.Is_EmptyPage(CurPage - 1)) if (true === this.Is_EmptyPage(CurPage - 1))
{
ResetStartElement = false;
FirstRow = this.Pages[CurPage - 1].FirstRow; FirstRow = this.Pages[CurPage - 1].FirstRow;
else }
else if (true === this.Pages[CurPage - 1].LastRowSplit)
{
ResetStartElement = false;
FirstRow = this.Pages[CurPage - 1].LastRow; FirstRow = this.Pages[CurPage - 1].LastRow;
}
else
{
ResetStartElement = true;
FirstRow = Math.min(this.Pages[CurPage - 1].LastRow + 1, this.Content.length - 1);
}
LastRow = FirstRow; LastRow = FirstRow;
} }
...@@ -1894,7 +1906,7 @@ CTable.prototype.private_RecalculatePage = function(CurPage) ...@@ -1894,7 +1906,7 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
var bNextPage = false; var bNextPage = false;
for (var CurRow = FirstRow; CurRow < this.Content.length; ++CurRow) 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] = {};
this.RowsInfo[CurRow].Pages = 1; this.RowsInfo[CurRow].Pages = 1;
...@@ -2048,7 +2060,7 @@ CTable.prototype.private_RecalculatePage = function(CurPage) ...@@ -2048,7 +2060,7 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
var ShiftDy = 0; var ShiftDy = 0;
var ShiftDx = 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 ); Cell.Content.Set_StartPage( CurPage );
...@@ -2546,6 +2558,8 @@ CTable.prototype.private_RecalculatePage = function(CurPage) ...@@ -2546,6 +2558,8 @@ CTable.prototype.private_RecalculatePage = function(CurPage)
var LastRow = this.Pages[CurPage].LastRow; var LastRow = this.Pages[CurPage].LastRow;
if (false === this.RowsInfo[LastRow].FirstPage) if (false === this.RowsInfo[LastRow].FirstPage)
this.Pages[CurPage].LastRow = LastRow - 1; this.Pages[CurPage].LastRow = LastRow - 1;
else
this.Pages[CurPage].LastRowSplit = true;
} }
this.TurnOffRecalc = false; this.TurnOffRecalc = false;
...@@ -2647,6 +2661,7 @@ function CTablePage(X, Y, XLimit, YLimit, FirstRow, MaxTopBorder) ...@@ -2647,6 +2661,7 @@ function CTablePage(X, Y, XLimit, YLimit, FirstRow, MaxTopBorder)
this.FirstRow = FirstRow; this.FirstRow = FirstRow;
this.LastRow = FirstRow; this.LastRow = FirstRow;
this.Height = 0; this.Height = 0;
this.LastRowSplit = false;
} }
CTablePage.prototype.Shift = function(Dx, Dy) 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