@syncfusion/ej2-pdf-export 22.1.34 → 22.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/ej2-pdf-export.min.js +2 -2
- package/dist/ej2-pdf-export.umd.min.js +2 -2
- package/dist/ej2-pdf-export.umd.min.js.map +1 -1
- package/dist/es6/ej2-pdf-export.es2015.js +748 -93
- package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
- package/dist/es6/ej2-pdf-export.es5.js +933 -225
- package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
- package/dist/global/ej2-pdf-export.min.js +2 -2
- package/dist/global/ej2-pdf-export.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +5 -5
- package/src/implementation/document/pdf-catalog.d.ts +7 -0
- package/src/implementation/document/pdf-catalog.js +16 -0
- package/src/implementation/document/pdf-document-base.d.ts +13 -0
- package/src/implementation/document/pdf-document-base.js +18 -0
- package/src/implementation/document/pdf-viewer-preferences.d.ts +467 -0
- package/src/implementation/document/pdf-viewer-preferences.js +624 -0
- package/src/implementation/input-output/pdf-dictionary-properties.d.ts +55 -0
- package/src/implementation/input-output/pdf-dictionary-properties.js +55 -0
- package/dist/ts/implementation/actions/action.ts +0 -76
- package/dist/ts/implementation/actions/uri-action.ts +0 -52
- package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
- package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
- package/dist/ts/implementation/annotations/annotation.ts +0 -241
- package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
- package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
- package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
- package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
- package/dist/ts/implementation/collections/dictionary.ts +0 -150
- package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
- package/dist/ts/implementation/collections/utils.ts +0 -38
- package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
- package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
- package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
- package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
- package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
- package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
- package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
- package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
- package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
- package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
- package/dist/ts/implementation/document/pdf-catalog.ts +0 -52
- package/dist/ts/implementation/document/pdf-document-base.ts +0 -166
- package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
- package/dist/ts/implementation/document/pdf-document.ts +0 -342
- package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
- package/dist/ts/implementation/general/enum.ts +0 -21
- package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
- package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -62
- package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
- package/dist/ts/implementation/general/pdf-collection.ts +0 -41
- package/dist/ts/implementation/general/pdf-destination.ts +0 -170
- package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
- package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
- package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
- package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
- package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
- package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
- package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
- package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
- package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
- package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
- package/dist/ts/implementation/graphics/constants.ts +0 -31
- package/dist/ts/implementation/graphics/enum.ts +0 -413
- package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
- package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
- package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
- package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
- package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
- package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
- package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
- package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
- package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
- package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
- package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
- package/dist/ts/implementation/graphics/figures/path.ts +0 -646
- package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
- package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
- package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
- package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
- package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
- package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
- package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
- package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
- package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
- package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
- package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
- package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
- package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
- package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
- package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
- package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
- package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
- package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
- package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
- package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
- package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
- package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
- package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
- package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
- package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
- package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
- package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
- package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
- package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
- package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
- package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
- package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
- package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
- package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
- package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
- package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -439
- package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
- package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
- package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
- package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2424
- package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
- package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
- package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
- package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
- package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
- package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
- package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
- package/dist/ts/implementation/input-output/cross-table.ts +0 -21
- package/dist/ts/implementation/input-output/enum.ts +0 -16
- package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
- package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -515
- package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
- package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
- package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
- package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
- package/dist/ts/implementation/pages/enum.ts +0 -201
- package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
- package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
- package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
- package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
- package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
- package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
- package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
- package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -659
- package/dist/ts/implementation/pages/pdf-page.ts +0 -235
- package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
- package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
- package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
- package/dist/ts/implementation/pages/pdf-section.ts +0 -644
- package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
- package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
- package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
- package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
- package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
- package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
- package/dist/ts/implementation/primitives/pdf-stream.ts +0 -336
- package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
- package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -2027
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1193
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
- package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -470
- package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -853
- package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
- package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
- package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
- package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
- package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
- package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
- package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
- package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
- package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
- package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `PdfGridColumn.ts` class for EJ2-PDF
|
|
3
|
-
*/
|
|
4
|
-
import { PdfGrid } from './pdf-grid';
|
|
5
|
-
import { PdfGridRow } from './pdf-grid-row';
|
|
6
|
-
import { PdfGridCell } from './pdf-grid-cell';
|
|
7
|
-
import { PdfStringFormat } from './../../graphics/fonts/pdf-string-format';
|
|
8
|
-
/**
|
|
9
|
-
* `PdfGridColumn` class represents the schema of a column in a 'PdfGrid'.
|
|
10
|
-
*/
|
|
11
|
-
export class PdfGridColumn {
|
|
12
|
-
//Fields
|
|
13
|
-
/**
|
|
14
|
-
* The current `grid`.
|
|
15
|
-
* @private
|
|
16
|
-
*/
|
|
17
|
-
private grid : PdfGrid;
|
|
18
|
-
/**
|
|
19
|
-
* The `width` of the column.
|
|
20
|
-
* @default 0
|
|
21
|
-
* @private
|
|
22
|
-
*/
|
|
23
|
-
public columnWidth : number = 0;
|
|
24
|
-
/**
|
|
25
|
-
* Represent the `custom width` of the column.
|
|
26
|
-
* @private
|
|
27
|
-
*/
|
|
28
|
-
public isCustomWidth : boolean;
|
|
29
|
-
/**
|
|
30
|
-
* The `string format` of the column.
|
|
31
|
-
* @private
|
|
32
|
-
*/
|
|
33
|
-
private stringFormat : PdfStringFormat;
|
|
34
|
-
//Constructors
|
|
35
|
-
/**
|
|
36
|
-
* Initializes a new instance of the `PdfGridColumn` class with the parent grid.
|
|
37
|
-
* @private
|
|
38
|
-
*/
|
|
39
|
-
public constructor(grid : PdfGrid) {
|
|
40
|
-
this.grid = grid;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Gets or sets the `width` of the 'PdfGridColumn'.
|
|
44
|
-
* @private
|
|
45
|
-
*/
|
|
46
|
-
public get width() : number {
|
|
47
|
-
return this.columnWidth;
|
|
48
|
-
}
|
|
49
|
-
public set width(value : number) {
|
|
50
|
-
this.isCustomWidth = true;
|
|
51
|
-
this.columnWidth = value;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Gets or sets the information about the text `formatting`.
|
|
55
|
-
* @private
|
|
56
|
-
*/
|
|
57
|
-
public get format() : PdfStringFormat {
|
|
58
|
-
if (this.stringFormat == null) {
|
|
59
|
-
this.stringFormat = new PdfStringFormat(); //GetDefaultFormat();
|
|
60
|
-
}
|
|
61
|
-
return this.stringFormat;
|
|
62
|
-
}
|
|
63
|
-
public set format(value : PdfStringFormat) {
|
|
64
|
-
this.stringFormat = value;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* `PdfGridColumnCollection` class provides access to an ordered,
|
|
69
|
-
* strongly typed collection of 'PdfGridColumn' objects.
|
|
70
|
-
* @private
|
|
71
|
-
*/
|
|
72
|
-
export class PdfGridColumnCollection {
|
|
73
|
-
//Fields
|
|
74
|
-
/**
|
|
75
|
-
* @hidden
|
|
76
|
-
* @private
|
|
77
|
-
*/
|
|
78
|
-
private grid : PdfGrid;
|
|
79
|
-
/**
|
|
80
|
-
* @hidden
|
|
81
|
-
* @private
|
|
82
|
-
*/
|
|
83
|
-
private internalColumns : PdfGridColumn[] = [];
|
|
84
|
-
/**
|
|
85
|
-
* @hidden
|
|
86
|
-
* @private
|
|
87
|
-
*/
|
|
88
|
-
private columnWidth : number = 0;
|
|
89
|
-
//properties
|
|
90
|
-
|
|
91
|
-
//Constructors
|
|
92
|
-
/**
|
|
93
|
-
* Initializes a new instance of the `PdfGridColumnCollection` class with the parent grid.
|
|
94
|
-
* @private
|
|
95
|
-
*/
|
|
96
|
-
public constructor(grid : PdfGrid) {
|
|
97
|
-
this.grid = grid;
|
|
98
|
-
this.internalColumns = [];
|
|
99
|
-
}
|
|
100
|
-
//Iplementation
|
|
101
|
-
/**
|
|
102
|
-
* `Add` a new column to the 'PdfGrid'.
|
|
103
|
-
* @private
|
|
104
|
-
*/
|
|
105
|
-
public add(count : number) : void {
|
|
106
|
-
// public add(column : PdfGridColumn) : void
|
|
107
|
-
// public add(arg : number|PdfGridColumn) : void {
|
|
108
|
-
// if (typeof arg === 'number') {
|
|
109
|
-
for (let i : number = 0; i < count; i++) {
|
|
110
|
-
this.internalColumns.push(new PdfGridColumn(this.grid));
|
|
111
|
-
for (let index : number = 0; index < this.grid.rows.count; index++) {
|
|
112
|
-
let row : PdfGridRow = this.grid.rows.getRow(index);
|
|
113
|
-
let cell : PdfGridCell = new PdfGridCell();
|
|
114
|
-
cell.value = '';
|
|
115
|
-
row.cells.add(cell);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// } else {
|
|
119
|
-
// let column : PdfGridColumn = new PdfGridColumn(this.grid);
|
|
120
|
-
// this.columns.push(column);
|
|
121
|
-
// return column;
|
|
122
|
-
// }
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Gets the `number of columns` in the 'PdfGrid'.[Read-Only].
|
|
126
|
-
* @private
|
|
127
|
-
*/
|
|
128
|
-
public get count() : number {
|
|
129
|
-
return this.internalColumns.length;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Gets the `widths`.
|
|
133
|
-
* @private
|
|
134
|
-
*/
|
|
135
|
-
public get width() : number {
|
|
136
|
-
if (this.columnWidth === 0 ) {
|
|
137
|
-
this.columnWidth = this.measureColumnsWidth();
|
|
138
|
-
}
|
|
139
|
-
if (this.grid.initialWidth !== 0 && this.columnWidth !== this.grid.initialWidth && !this.grid.style.allowHorizontalOverflow) {
|
|
140
|
-
this.columnWidth = this.grid.initialWidth;
|
|
141
|
-
this.grid.isPageWidth = true;
|
|
142
|
-
}
|
|
143
|
-
return this.columnWidth;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Gets the `array of PdfGridColumn`.[Read-Only]
|
|
147
|
-
* @private
|
|
148
|
-
*/
|
|
149
|
-
public get columns() : PdfGridColumn[] {
|
|
150
|
-
return this.internalColumns;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Gets the `PdfGridColumn` from the specified index.[Read-Only]
|
|
154
|
-
* @private
|
|
155
|
-
*/
|
|
156
|
-
public getColumn(index : number) : PdfGridColumn {
|
|
157
|
-
if (index >= 0 && index <= this.columns.length) {
|
|
158
|
-
return this.columns[index];
|
|
159
|
-
} else {
|
|
160
|
-
throw Error('can not get the column from the index: ' + index);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
//Implementation
|
|
165
|
-
/**
|
|
166
|
-
* `Calculates the column widths`.
|
|
167
|
-
* @private
|
|
168
|
-
*/
|
|
169
|
-
public measureColumnsWidth() : number {
|
|
170
|
-
let totalWidth : number = 0;
|
|
171
|
-
this.grid.measureColumnsWidth();
|
|
172
|
-
for (let i : number = 0, count : number = this.internalColumns.length; i < count; i++) {
|
|
173
|
-
totalWidth += this.internalColumns[i].width;
|
|
174
|
-
}
|
|
175
|
-
return totalWidth;
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Gets the `widths of the columns`.
|
|
179
|
-
* @private
|
|
180
|
-
*/
|
|
181
|
-
public getDefaultWidths(totalWidth : number) : number[] {
|
|
182
|
-
let widths : number[] = [];
|
|
183
|
-
let summ : number = 0.0;
|
|
184
|
-
let subFactor : number = this.count;
|
|
185
|
-
for (let i : number = 0; i < this.count; i++) {
|
|
186
|
-
if (this.grid.isPageWidth && totalWidth >= 0 && !this.internalColumns[i].isCustomWidth) {
|
|
187
|
-
this.internalColumns[i].width = 0;
|
|
188
|
-
} else {
|
|
189
|
-
widths[i] = this.internalColumns[i].width;
|
|
190
|
-
if (this.internalColumns[i].width > 0 && this. internalColumns[i].isCustomWidth) {
|
|
191
|
-
totalWidth -= this.internalColumns[i].width;
|
|
192
|
-
subFactor--;
|
|
193
|
-
} else {
|
|
194
|
-
widths[i] = 0;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
for (let i : number = 0; i < this.count; i++) {
|
|
199
|
-
let width : number = totalWidth / subFactor;
|
|
200
|
-
if (widths[i] <= 0) {
|
|
201
|
-
widths[i] = width;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return widths;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
@@ -1,470 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PdfGridRow.ts class for EJ2-PDF
|
|
3
|
-
*/
|
|
4
|
-
import { PdfGrid } from './pdf-grid';
|
|
5
|
-
import { PdfGridCell, PdfGridCellCollection } from './pdf-grid-cell';
|
|
6
|
-
import { PdfGridRowStyle } from './styles/style';
|
|
7
|
-
import { PdfLayoutResult } from '../../graphics/figures/base/element-layouter';
|
|
8
|
-
import { PdfGridColumn } from './../../structured-elements/grid/pdf-grid-column';
|
|
9
|
-
/**
|
|
10
|
-
* `PdfGridRow` class provides customization of the settings for the particular row.
|
|
11
|
-
*/
|
|
12
|
-
export class PdfGridRow {
|
|
13
|
-
//Fields
|
|
14
|
-
/**
|
|
15
|
-
* `Cell collecton` of the current row..
|
|
16
|
-
* @private
|
|
17
|
-
*/
|
|
18
|
-
private gridCells : PdfGridCellCollection;
|
|
19
|
-
/**
|
|
20
|
-
* Stores the current `grid`.
|
|
21
|
-
* @private
|
|
22
|
-
*/
|
|
23
|
-
private pdfGrid : PdfGrid;
|
|
24
|
-
/**
|
|
25
|
-
* The grid row `style`.
|
|
26
|
-
* @private
|
|
27
|
-
*/
|
|
28
|
-
private rowStyle : PdfGridRowStyle;
|
|
29
|
-
/**
|
|
30
|
-
* Stores the row `break height`.
|
|
31
|
-
* @private
|
|
32
|
-
*/
|
|
33
|
-
private gridRowBreakHeight : number;
|
|
34
|
-
/**
|
|
35
|
-
* Stores the index of the overflowing row.
|
|
36
|
-
* @private
|
|
37
|
-
*/
|
|
38
|
-
private gridRowOverflowIndex : number = 0;
|
|
39
|
-
/**
|
|
40
|
-
* The `height` of the row.
|
|
41
|
-
* @private
|
|
42
|
-
*/
|
|
43
|
-
private rowHeight : number = 0;
|
|
44
|
-
/**
|
|
45
|
-
* The `width` of the row.
|
|
46
|
-
* @private
|
|
47
|
-
*/
|
|
48
|
-
private rowWidth : number = 0;
|
|
49
|
-
/**
|
|
50
|
-
* The `isFinish` of the row.
|
|
51
|
-
* @private
|
|
52
|
-
*/
|
|
53
|
-
public isrowFinish : boolean = false;
|
|
54
|
-
/**
|
|
55
|
-
* Check whether the Row span row height `is set explicitly`.
|
|
56
|
-
* @default false
|
|
57
|
-
* @public
|
|
58
|
-
*/
|
|
59
|
-
public isRowSpanRowHeightSet : boolean = false;
|
|
60
|
-
/**
|
|
61
|
-
* The grid row `Layout Result`.
|
|
62
|
-
* @private
|
|
63
|
-
*/
|
|
64
|
-
private gridResult : PdfLayoutResult ;
|
|
65
|
-
/**
|
|
66
|
-
* The `Maximum span` of the row.
|
|
67
|
-
* @public
|
|
68
|
-
*/
|
|
69
|
-
public maximumRowSpan : number;
|
|
70
|
-
/**
|
|
71
|
-
* The `page count` of the row.
|
|
72
|
-
* @public
|
|
73
|
-
*/
|
|
74
|
-
public noOfPageCount : number = 0 ;
|
|
75
|
-
/**
|
|
76
|
-
* Check whether the row height `is set explicitly`.
|
|
77
|
-
* @default false
|
|
78
|
-
* @private
|
|
79
|
-
*/
|
|
80
|
-
public isRowHeightSet : boolean = false;
|
|
81
|
-
public isRowBreaksNextPage : boolean ;
|
|
82
|
-
public rowBreakHeightValue : number;
|
|
83
|
-
public isPageBreakRowSpanApplied : boolean = false;
|
|
84
|
-
/**
|
|
85
|
-
* Checks whether the `columns span is exist or not`.
|
|
86
|
-
* @private
|
|
87
|
-
*/
|
|
88
|
-
private bColumnSpanExists : boolean;
|
|
89
|
-
/**
|
|
90
|
-
* Check weather the row merge `is completed` or not.
|
|
91
|
-
* @default true
|
|
92
|
-
* @private
|
|
93
|
-
*/
|
|
94
|
-
private isRowMergeComplete : boolean = true;
|
|
95
|
-
/**
|
|
96
|
-
* Checks whether the `row span is exist or not`.
|
|
97
|
-
* @private
|
|
98
|
-
*/
|
|
99
|
-
private bRowSpanExists : boolean;
|
|
100
|
-
public repeatFlag : boolean = false;
|
|
101
|
-
public repeatRowNumber : number;
|
|
102
|
-
public rowFontSplit : boolean = false;
|
|
103
|
-
public isHeaderRow: boolean = false;
|
|
104
|
-
//Constructor
|
|
105
|
-
/**
|
|
106
|
-
* Initializes a new instance of the `PdfGridRow` class with the parent grid.
|
|
107
|
-
* @private
|
|
108
|
-
*/
|
|
109
|
-
public constructor(grid : PdfGrid) {
|
|
110
|
-
this.pdfGrid = grid;
|
|
111
|
-
}
|
|
112
|
-
//Properties
|
|
113
|
-
/**
|
|
114
|
-
* Gets or sets a value indicating [`row span exists`].
|
|
115
|
-
* @private
|
|
116
|
-
*/
|
|
117
|
-
public get rowSpanExists() : boolean {
|
|
118
|
-
return this.bRowSpanExists;
|
|
119
|
-
}
|
|
120
|
-
public set rowSpanExists(value : boolean) {
|
|
121
|
-
this.bRowSpanExists = value;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Gets the `cells` from the selected row.[Read-Only].
|
|
125
|
-
* @private
|
|
126
|
-
*/
|
|
127
|
-
public get cells() : PdfGridCellCollection {
|
|
128
|
-
if (this.gridCells == null) {
|
|
129
|
-
this.gridCells = new PdfGridCellCollection(this);
|
|
130
|
-
}
|
|
131
|
-
return this.gridCells;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Gets or sets the parent `grid`.
|
|
135
|
-
* @private
|
|
136
|
-
*/
|
|
137
|
-
public get grid() : PdfGrid {
|
|
138
|
-
return this.pdfGrid;
|
|
139
|
-
}
|
|
140
|
-
public set grid(value : PdfGrid) {
|
|
141
|
-
this.pdfGrid = value;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Gets or sets the row `style`.
|
|
145
|
-
* @private
|
|
146
|
-
*/
|
|
147
|
-
public get style() : PdfGridRowStyle {
|
|
148
|
-
if (typeof this.rowStyle === 'undefined') {
|
|
149
|
-
this.rowStyle = new PdfGridRowStyle();
|
|
150
|
-
this.rowStyle.setParent(this);
|
|
151
|
-
}
|
|
152
|
-
return this.rowStyle;
|
|
153
|
-
}
|
|
154
|
-
public set style(value : PdfGridRowStyle) {
|
|
155
|
-
this.rowStyle = value;
|
|
156
|
-
for (let i : number = 0; i < this.cells.count; i++) {
|
|
157
|
-
this.cells.getCell(i).style.borders = value.border;
|
|
158
|
-
if (typeof value.font !== 'undefined') {
|
|
159
|
-
this.cells.getCell(i).style.font = value.font;
|
|
160
|
-
}
|
|
161
|
-
if (typeof value.backgroundBrush !== 'undefined') {
|
|
162
|
-
this.cells.getCell(i).style.backgroundBrush = value.backgroundBrush;
|
|
163
|
-
}
|
|
164
|
-
if (typeof value.backgroundImage !== 'undefined') {
|
|
165
|
-
this.cells.getCell(i).style.backgroundImage = value.backgroundImage;
|
|
166
|
-
}
|
|
167
|
-
if (typeof value.textBrush !== 'undefined') {
|
|
168
|
-
this.cells.getCell(i).style.textBrush = value.textBrush;
|
|
169
|
-
}
|
|
170
|
-
if (typeof value.textPen !== 'undefined') {
|
|
171
|
-
this.cells.getCell(i).style.textPen = value.textPen;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* `Height` of the row yet to be drawn after split.
|
|
177
|
-
* @private
|
|
178
|
-
*/
|
|
179
|
-
public get rowBreakHeight() : number {
|
|
180
|
-
if (typeof this.gridRowBreakHeight === 'undefined') {
|
|
181
|
-
this.gridRowBreakHeight = 0;
|
|
182
|
-
}
|
|
183
|
-
return this.gridRowBreakHeight;
|
|
184
|
-
}
|
|
185
|
-
public set rowBreakHeight(value : number) {
|
|
186
|
-
this.gridRowBreakHeight = value;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* `over flow index` of the row.
|
|
190
|
-
* @private
|
|
191
|
-
*/
|
|
192
|
-
public get rowOverflowIndex() : number {
|
|
193
|
-
return this.gridRowOverflowIndex;
|
|
194
|
-
}
|
|
195
|
-
public set rowOverflowIndex(value : number) {
|
|
196
|
-
this.gridRowOverflowIndex = value;
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Gets or sets the `height` of the row.
|
|
200
|
-
* @private
|
|
201
|
-
*/
|
|
202
|
-
public get height() : number {
|
|
203
|
-
if (!this.isRowHeightSet) {
|
|
204
|
-
this.rowHeight = this.measureHeight();
|
|
205
|
-
}
|
|
206
|
-
return this.rowHeight;
|
|
207
|
-
}
|
|
208
|
-
public set height(value : number) {
|
|
209
|
-
this.rowHeight = value;
|
|
210
|
-
this.isRowHeightSet = true;
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Gets or sets the `width` of the row.
|
|
214
|
-
* @private
|
|
215
|
-
*/
|
|
216
|
-
public get width() : number {
|
|
217
|
-
if (this.rowWidth === 0 || typeof this.rowWidth === 'undefined') {
|
|
218
|
-
this.rowWidth = this.measureWidth();
|
|
219
|
-
}
|
|
220
|
-
return this.rowWidth;
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Gets or sets the row `Nested grid Layout Result`.
|
|
224
|
-
* @private
|
|
225
|
-
*/
|
|
226
|
-
public get NestedGridLayoutResult() : PdfLayoutResult{
|
|
227
|
-
return this.gridResult;
|
|
228
|
-
}
|
|
229
|
-
public set NestedGridLayoutResult(value : PdfLayoutResult ) {
|
|
230
|
-
this.gridResult = value;
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Gets or sets a value indicating [`column span exists`].
|
|
234
|
-
* @private
|
|
235
|
-
*/
|
|
236
|
-
public get columnSpanExists() : boolean {
|
|
237
|
-
return this.bColumnSpanExists;
|
|
238
|
-
}
|
|
239
|
-
public set columnSpanExists(value : boolean) {
|
|
240
|
-
this.bColumnSpanExists = value;
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Check whether the Row `has row span or row merge continue`.
|
|
244
|
-
* @private
|
|
245
|
-
*/
|
|
246
|
-
public get rowMergeComplete() : boolean {
|
|
247
|
-
return this.isRowMergeComplete;
|
|
248
|
-
}
|
|
249
|
-
public set rowMergeComplete(value : boolean) {
|
|
250
|
-
this.isRowMergeComplete = value;
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Returns `index` of the row.
|
|
254
|
-
* @private
|
|
255
|
-
*/
|
|
256
|
-
public get rowIndex() : number {
|
|
257
|
-
return this.grid.rows.rowCollection.indexOf(this);
|
|
258
|
-
}
|
|
259
|
-
//Implementation
|
|
260
|
-
/**
|
|
261
|
-
* `Calculates the height`.
|
|
262
|
-
* @private
|
|
263
|
-
*/
|
|
264
|
-
private measureHeight() : number {
|
|
265
|
-
let rowSpanRemainingHeight : number = 0;
|
|
266
|
-
let rowHeight : number;
|
|
267
|
-
let maxHeight : number = 0;
|
|
268
|
-
if (this.cells.getCell(0).rowSpan > 1) {
|
|
269
|
-
rowHeight = 0;
|
|
270
|
-
} else {
|
|
271
|
-
rowHeight = this.cells.getCell(0).height;
|
|
272
|
-
}
|
|
273
|
-
for (let i : number = 0; i < this.cells.count; i++) {
|
|
274
|
-
let cell : PdfGridCell = this.cells.getCell(i);
|
|
275
|
-
//get the maximum rowspan remaining height.
|
|
276
|
-
if (cell.rowSpanRemainingHeight > rowSpanRemainingHeight) {
|
|
277
|
-
rowSpanRemainingHeight = cell.rowSpanRemainingHeight;
|
|
278
|
-
}
|
|
279
|
-
//skip the cell if row spanned.
|
|
280
|
-
// if (cell.isRowMergeContinue) {
|
|
281
|
-
// continue;
|
|
282
|
-
// }
|
|
283
|
-
// if (!cell.isRowMergeContinue) {
|
|
284
|
-
// this.rowMergeComplete = false;
|
|
285
|
-
// }
|
|
286
|
-
this.rowMergeComplete = false;
|
|
287
|
-
if (cell.rowSpan > 1) {
|
|
288
|
-
let cellIn : number = i;
|
|
289
|
-
let rowin : number = this.isHeaderRow ? this.grid.headers.indexOf(this) : this.grid.rows.rowCollection.indexOf(this);
|
|
290
|
-
for (let j : number = 0; j < cell.rowSpan; j++ ) {
|
|
291
|
-
if ( (j + 1) < cell.rowSpan) {
|
|
292
|
-
(this.isHeaderRow ? this.grid.headers.getHeader(rowin + j + 1) : this.grid.rows.getRow(rowin + j + 1)).cells.getCell(cellIn).hasRowSpan = true;
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
if (maxHeight < cell.height) {
|
|
296
|
-
maxHeight = cell.height;
|
|
297
|
-
}
|
|
298
|
-
continue;
|
|
299
|
-
}
|
|
300
|
-
rowHeight = Math.max(rowHeight, cell.height);
|
|
301
|
-
}
|
|
302
|
-
if (maxHeight > rowHeight) {
|
|
303
|
-
rowHeight = maxHeight;
|
|
304
|
-
}
|
|
305
|
-
if (rowHeight === 0) {
|
|
306
|
-
rowHeight = maxHeight;
|
|
307
|
-
} else if (rowSpanRemainingHeight > 0) {
|
|
308
|
-
rowHeight += rowSpanRemainingHeight;
|
|
309
|
-
}
|
|
310
|
-
return rowHeight;
|
|
311
|
-
}
|
|
312
|
-
private measureWidth() : number {
|
|
313
|
-
let rowWid : number = 0;
|
|
314
|
-
for (let i : number = 0; i < this.grid.columns.count; i++) {
|
|
315
|
-
let column : PdfGridColumn = this.grid.columns.getColumn(i);
|
|
316
|
-
rowWid += column.width;
|
|
317
|
-
}
|
|
318
|
-
return rowWid;
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
/**
|
|
322
|
-
* `PdfGridRowCollection` class provides access to an ordered, strongly typed collection of 'PdfGridRow' objects.
|
|
323
|
-
* @private
|
|
324
|
-
*/
|
|
325
|
-
export class PdfGridRowCollection {
|
|
326
|
-
// Fields
|
|
327
|
-
/**
|
|
328
|
-
* @hidden
|
|
329
|
-
* @private
|
|
330
|
-
*/
|
|
331
|
-
private grid : PdfGrid;
|
|
332
|
-
/**
|
|
333
|
-
* The row collection of the `grid`.
|
|
334
|
-
* @private
|
|
335
|
-
*/
|
|
336
|
-
private rows : PdfGridRow[];
|
|
337
|
-
// Constructor
|
|
338
|
-
/**
|
|
339
|
-
* Initializes a new instance of the `PdfGridRowCollection` class with the parent grid.
|
|
340
|
-
* @private
|
|
341
|
-
*/
|
|
342
|
-
public constructor(grid : PdfGrid) {
|
|
343
|
-
this.rows = [];
|
|
344
|
-
this.grid = grid;
|
|
345
|
-
}
|
|
346
|
-
//Properties
|
|
347
|
-
/**
|
|
348
|
-
* Gets the number of header in the `PdfGrid`.[Read-Only].
|
|
349
|
-
* @private
|
|
350
|
-
*/
|
|
351
|
-
public get count() : number {
|
|
352
|
-
return this.rows.length;
|
|
353
|
-
}
|
|
354
|
-
//Implementation
|
|
355
|
-
/**
|
|
356
|
-
* Return the row collection of the `grid`.
|
|
357
|
-
* @private
|
|
358
|
-
*/
|
|
359
|
-
public get rowCollection() : PdfGridRow[] {
|
|
360
|
-
return this.rows;
|
|
361
|
-
}
|
|
362
|
-
/**
|
|
363
|
-
* `Adds` the specified row.
|
|
364
|
-
* @private
|
|
365
|
-
*/
|
|
366
|
-
public addRow() : PdfGridRow
|
|
367
|
-
/**
|
|
368
|
-
* `Adds` the specified row.
|
|
369
|
-
* @private
|
|
370
|
-
*/
|
|
371
|
-
public addRow(row : PdfGridRow) : void
|
|
372
|
-
public addRow(arg ?: PdfGridRow) : void | PdfGridRow {
|
|
373
|
-
if (typeof arg === 'undefined') {
|
|
374
|
-
let temprow : PdfGridRow = new PdfGridRow(this.grid);
|
|
375
|
-
this.addRow(temprow);
|
|
376
|
-
return temprow;
|
|
377
|
-
} else {
|
|
378
|
-
arg.style.setBackgroundBrush(this.grid.style.backgroundBrush);
|
|
379
|
-
arg.style.setFont(this.grid.style.font);
|
|
380
|
-
arg.style.setTextBrush(this.grid.style.textBrush);
|
|
381
|
-
arg.style.setTextPen(this.grid.style.textPen);
|
|
382
|
-
if (arg.cells.count === 0) {
|
|
383
|
-
for (let i : number = 0; i < this.grid.columns.count; i++) {
|
|
384
|
-
arg.cells.add(new PdfGridCell());
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
this.rows.push(arg);
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
/**
|
|
391
|
-
* Return the row by index.
|
|
392
|
-
* @private
|
|
393
|
-
*/
|
|
394
|
-
public getRow(index : number) : PdfGridRow {
|
|
395
|
-
return this.rows[index];
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
/**
|
|
399
|
-
* `PdfGridHeaderCollection` class provides customization of the settings for the header.
|
|
400
|
-
* @private
|
|
401
|
-
*/
|
|
402
|
-
export class PdfGridHeaderCollection {
|
|
403
|
-
/**
|
|
404
|
-
* The `grid`.
|
|
405
|
-
* @private
|
|
406
|
-
*/
|
|
407
|
-
private grid : PdfGrid;
|
|
408
|
-
/**
|
|
409
|
-
* The array to store the `rows` of the grid header.
|
|
410
|
-
* @private
|
|
411
|
-
*/
|
|
412
|
-
private rows : PdfGridRow[] = [];
|
|
413
|
-
//constructor
|
|
414
|
-
/**
|
|
415
|
-
* Initializes a new instance of the `PdfGridHeaderCollection` class with the parent grid.
|
|
416
|
-
* @private
|
|
417
|
-
*/
|
|
418
|
-
public constructor(grid : PdfGrid) {
|
|
419
|
-
this.grid = grid;
|
|
420
|
-
this.rows = [];
|
|
421
|
-
}
|
|
422
|
-
//Properties
|
|
423
|
-
/**
|
|
424
|
-
* Gets a 'PdfGridRow' object that represents the `header` row in a 'PdfGridHeaderCollection' control.[Read-Only].
|
|
425
|
-
* @private
|
|
426
|
-
*/
|
|
427
|
-
public getHeader(index : number) : PdfGridRow {
|
|
428
|
-
// if (index < 0 || index >= Count) {
|
|
429
|
-
// throw new IndexOutOfRangeException();
|
|
430
|
-
// }
|
|
431
|
-
return (this.rows[index]);
|
|
432
|
-
}
|
|
433
|
-
/**
|
|
434
|
-
* Gets the `number of header` in the 'PdfGrid'.[Read-Only]
|
|
435
|
-
* @private
|
|
436
|
-
*/
|
|
437
|
-
public get count() : number {
|
|
438
|
-
return this.rows.length;
|
|
439
|
-
}
|
|
440
|
-
//Implementation
|
|
441
|
-
/**
|
|
442
|
-
* `Adds` the specified row.
|
|
443
|
-
* @private
|
|
444
|
-
*/
|
|
445
|
-
public add(row : PdfGridRow) : void
|
|
446
|
-
/**
|
|
447
|
-
* `Adds` the specified row.
|
|
448
|
-
* @private
|
|
449
|
-
*/
|
|
450
|
-
public add(count : number) : PdfGridRow[]
|
|
451
|
-
public add(arg : number|PdfGridRow) : void|PdfGridRow[] {
|
|
452
|
-
if (typeof arg === 'number') {
|
|
453
|
-
let row : PdfGridRow;
|
|
454
|
-
for (let i : number = 0; i < arg; i++) {
|
|
455
|
-
row = new PdfGridRow(this.grid);
|
|
456
|
-
row.isHeaderRow = true;
|
|
457
|
-
for (let j : number = 0; j < this.grid.columns.count; j++) {
|
|
458
|
-
row.cells.add(new PdfGridCell());
|
|
459
|
-
}
|
|
460
|
-
this.rows.push(row);
|
|
461
|
-
}
|
|
462
|
-
return this.rows;
|
|
463
|
-
} else {
|
|
464
|
-
this.rows.push(arg);
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
public indexOf(row : PdfGridRow) : number {
|
|
468
|
-
return this.rows.indexOf(row);
|
|
469
|
-
}
|
|
470
|
-
}
|