devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
32 lines (31 loc) • 2 kB
JavaScript
import { NumberMapUtils } from '@devexpress/utils/lib/utils/map/number';
import { DebugBaseVisualizer } from './debug-base-visualizer';
import { DebugVisualizerType } from './debug-visualizer-type';
import { Offsets } from '@devexpress/utils/lib/geometry/offsets';
export class TableBoundsVisibleInfoHelper extends DebugBaseVisualizer {
getType() {
return DebugVisualizerType.TableBounds;
}
getContainerClassName() {
return "dxreDebugTableBoundsContainer";
}
fillPageContainer(layout, pageContainer, pageIndex) {
const layoutPage = layout.pages[pageIndex];
for (let pageArea of layoutPage.mainSubDocumentPageAreas)
this.setElementsFromPageArea(pageArea, pageContainer);
NumberMapUtils.forEach(layoutPage.otherPageAreas, (otherPageArea) => this.setElementsFromPageArea(otherPageArea, pageContainer));
}
setElementsFromPageArea(layoutPageArea, container) {
for (let column of layoutPageArea.columns) {
for (let tbl of column.tablesInfo) {
const tblColumnElem = container.appendChild(this.createElement("dxreDebugTableColumnBound", tbl.createRectangle().moveRectangle(layoutPageArea.x + column.x, layoutPageArea.y + column.y)
.applyNormalizedOffsetsInside(new Offsets(0, 2, 0, 2)), `${tbl.logicInfo.grid.table.index}`));
for (let row of tbl.tableRows) {
const rowElem = tblColumnElem.appendChild(this.createElement("dxreDebugTableRowBound", row.createRectangle().moveRectangle(-tbl.x, -tbl.y).applyNormalizedOffsetsInside(new Offsets(0, 2, 0, 2)), `${row.rowIndex}`));
for (let cell of row.rowCells)
rowElem.appendChild(this.createElement("dxreDebugTableCellBound", cell.createRectangle().moveRectangle(-row.x, -row.y).applyNormalizedOffsetsInside(new Offsets(0, 2, 0, 2)), `${cell.cellGridIndex}`));
}
}
}
}
}