devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
31 lines (30 loc) • 1.06 kB
JavaScript
import { Rectangle } from '@devexpress/utils/lib/geometry/rectangle';
import { ListUtils } from '@devexpress/utils/lib/utils/list';
export class LayoutPageArea extends Rectangle {
subDocument;
columns = [];
pageOffset;
get grids() {
return this.columns.reduce((res, column) => {
column.tablesInfo.forEach(tableInfo => res.set(tableInfo.logicInfo.grid.table.innerId, tableInfo.logicInfo.grid));
return res;
}, new Map());
}
constructor(subDocument) {
super(0, 0, 0, 0);
this.subDocument = subDocument;
}
getEndPosition() {
return this.pageOffset + ListUtils.last(this.columns).getEndPosition();
}
getLastColumn() {
return this.columns[this.columns.length - 1];
}
deepCopy() {
const obj = new LayoutPageArea(this.subDocument);
obj.pageOffset = this.pageOffset;
obj.columns = ListUtils.map(this.columns, (col) => col.deepCopy());
obj.copyFrom(this);
return obj;
}
}