define(["require", "exports", "./pdf-grid-cell", "./../../graphics/fonts/pdf-string-format"], function (require, exports, pdf_grid_cell_1, pdf_string_format_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var PdfGridColumn = (function () {
function PdfGridColumn(grid) {
this.columnWidth = 0;
this.grid = grid;
}
Object.defineProperty(PdfGridColumn.prototype, "width", {
get: function () {
return this.columnWidth;
},
set: function (value) {
this.isCustomWidth = true;
this.columnWidth = value;
},
enumerable: true,
configurable: true
});
Object.defineProperty(PdfGridColumn.prototype, "format", {
get: function () {
if (this.stringFormat == null) {
this.stringFormat = new pdf_string_format_1.PdfStringFormat();
}
return this.stringFormat;
},
set: function (value) {
this.stringFormat = value;
},
enumerable: true,
configurable: true
});
return PdfGridColumn;
}());
exports.PdfGridColumn = PdfGridColumn;
var PdfGridColumnCollection = (function () {
function PdfGridColumnCollection(grid) {
this.internalColumns = [];
this.columnWidth = 0;
this.grid = grid;
this.internalColumns = [];
}
PdfGridColumnCollection.prototype.add = function (count) {
for (var i = 0; i < count; i++) {
this.internalColumns.push(new PdfGridColumn(this.grid));
for (var index = 0; index < this.grid.rows.count; index++) {
var row = this.grid.rows.getRow(index);
var cell = new pdf_grid_cell_1.PdfGridCell();
cell.value = '';
row.cells.add(cell);
}
}
};
Object.defineProperty(PdfGridColumnCollection.prototype, "count", {
get: function () {
return this.internalColumns.length;
},
enumerable: true,
configurable: true
});
Object.defineProperty(PdfGridColumnCollection.prototype, "width", {
get: function () {
if (this.columnWidth === 0) {
this.columnWidth = this.measureColumnsWidth();
}
if (this.grid.initialWidth !== 0 && this.columnWidth !== this.grid.initialWidth && !this.grid.style.allowHorizontalOverflow) {
this.columnWidth = this.grid.initialWidth;
this.grid.isPageWidth = true;
}
return this.columnWidth;
},
enumerable: true,
configurable: true
});
Object.defineProperty(PdfGridColumnCollection.prototype, "columns", {
get: function () {
return this.internalColumns;
},
enumerable: true,
configurable: true
});
PdfGridColumnCollection.prototype.getColumn = function (index) {
Eif (index >= 0 && index <= this.columns.length) {
return this.columns[index];
}
else {
throw Error('can not get the column from the index: ' + index);
}
};
PdfGridColumnCollection.prototype.measureColumnsWidth = function () {
var totalWidth = 0;
this.grid.measureColumnsWidth();
for (var i = 0, count = this.internalColumns.length; i < count; i++) {
totalWidth += this.internalColumns[i].width;
}
return totalWidth;
};
PdfGridColumnCollection.prototype.getDefaultWidths = function (totalWidth) {
var widths = [];
var summ = 0.0;
var subFactor = this.count;
for (var i = 0; i < this.count; i++) {
Iif (this.grid.isPageWidth && totalWidth >= 0 && !this.internalColumns[i].isCustomWidth) {
this.internalColumns[i].width = 0;
}
else {
widths[i] = this.internalColumns[i].width;
Iif (this.internalColumns[i].width > 0 && this.internalColumns[i].isCustomWidth) {
totalWidth -= this.internalColumns[i].width;
subFactor--;
}
else {
widths[i] = 0;
}
}
}
for (var i = 0; i < this.count; i++) {
var width = totalWidth / subFactor;
Eif (widths[i] <= 0) {
widths[i] = width;
}
}
return widths;
};
return PdfGridColumnCollection;
}());
exports.PdfGridColumnCollection = PdfGridColumnCollection;
});
|