devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
76 lines (75 loc) • 2.91 kB
TypeScript
import { FixedInterval } from '@devexpress/utils/lib/intervals/fixed';
import { ConstBookmark } from '../../bookmarks';
import { HistoryRun } from '../../character/history-runs';
import { SubDocument } from '../../sub-document';
import { TableCell } from '../../tables/main-structures/table-cell';
import { ModelManipulator } from '../model-manipulator';
import { ConstRangePermission } from '../../range-permissions';
export declare class RemoveIntervalOperation {
modelManipulator: ModelManipulator;
currentSectionIndex: number;
currentChunkIndex: number;
currentParagraphIndex: number;
currentCellIndex: number;
position: number;
subDocument: SubDocument;
fieldIndexThatNeedDelete: number;
shouldMergeParagraphs: boolean;
cellsIterator: SelectedCellsIterator;
constructor(manipulator: ModelManipulator, subDocument: SubDocument);
execute(interval: FixedInterval, applyPropertiesToLeft: boolean, needHistory: boolean): RemoveIntervalOperationResult;
private correctTablesStart;
private initializeStartPositions;
private executeCore;
private modifySectionLength;
private getStrategy;
private removeTextRun;
private skipParagraphRunAndMergeParagraphsAtTheEnd;
private skipRunAndMoveToNextParagraph;
private mergePreviousParagraph;
private removeWholeSection;
private removeWholeParagraph;
private tryMergeStartEndParagraphs;
private removeField;
private tryPackSelectionInOneRun;
private canRemoveRun;
private fillResult;
private removeAccumulatedInterval;
private mergeParagraphsInternal;
private removeRunInternal;
}
export declare class RemoveIntervalOperationResult {
historyRuns: HistoryRun[];
private nestingLevels;
private cellsIterator;
bookmarkItems: ConstBookmark[];
rangePermssionsItems: ConstRangePermission[];
constructor(cellsIterator: SelectedCellsIterator);
registerItem(historyRun: HistoryRun): void;
private registerItemCore;
removeLastParagraphRun(): void;
getIterator(): RemoveIntervalOperationResultIterator;
}
export declare class SelectedCellsIterator {
cells: TableCell[];
private current;
private position;
constructor(subDocument: SubDocument, interval: FixedInterval);
moveTo(position: number): boolean;
getCurrent(): TableCell;
getPrev(): TableCell;
getNext(): TableCell;
reset(): void;
private static getCellsByInterval;
private static collectCellsByIntervalCore;
private static correctCurrent;
}
export declare class RemoveIntervalOperationResultIterator {
private historyRuns;
private nestingLevels;
private position;
constructor(historyRuns: HistoryRun[], nestingLevels: number[]);
currentHistoryRun: HistoryRun;
currentNestingLevel: number;
moveNext(): boolean;
}