UNPKG

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
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}`)); } } } } }