devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
48 lines (47 loc) • 1.48 kB
JavaScript
import { ListUtils } from '@devexpress/utils/lib/utils/list';
export class BoxWrap {
box;
info;
constructor(box, info) {
this.box = box;
this.info = info;
}
splitByPosition(measurer, pos) {
return new BoxWrap(this.box.splitBoxByPosition(measurer, pos), this.info);
}
}
export class BoxWrapInfo {
paragraphIndex;
sectionIndex;
tablePosition;
pageIndexFromWhichTableWasMoved = null;
fieldsInfo;
constructor(paragraphIndex, sectionIndex, tablePosition, fieldsInfo) {
this.paragraphIndex = paragraphIndex;
this.sectionIndex = sectionIndex;
this.tablePosition = tablePosition;
this.fieldsInfo = fieldsInfo;
}
equalsTablePositions(tablePos) {
if (!this.tablePosition)
return !tablePos;
if (!tablePos || this.tablePosition.length != tablePos.length)
return false;
return ListUtils.allOf2(this.tablePosition, tablePos, (a, b) => a.equals(b));
}
getTableNestedLevel() {
return (this.tablePosition ? this.tablePosition.length : 0) - 1;
}
}
export class BoxWrapFieldInfo {
field;
isInCodePart;
fieldType;
constructor(field, isInCodePart) {
this.field = field;
this.isInCodePart = isInCodePart;
}
static make(field, pos) {
return new BoxWrapFieldInfo(field, field.getCodeIntervalWithBorders().contains(pos));
}
}