UNPKG

devexpress-richedit

Version:

DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.

27 lines (26 loc) 1.23 kB
import { NumberingListCountersCalculator } from './numbering-list-counters-calculator'; export class SubDocumentNumberingListCountersManager { constructor(subDocument) { this.calculators = {}; this.currentParagraphIndex = -1; this.subDocument = subDocument; } calculateCounters(paragraphIndex) { if (paragraphIndex < this.currentParagraphIndex) this.reset(); this.currentParagraphIndex = paragraphIndex; var paragraph = this.subDocument.paragraphs[paragraphIndex]; var abstractNumberingListIndex = paragraph.getAbstractNumberingListIndex(); var calculator = this.getCalculator(abstractNumberingListIndex); return calculator.calculateNextCounters(paragraph); } getCalculator(abstractNumberingListIndex) { if (!this.calculators[abstractNumberingListIndex]) this.calculators[abstractNumberingListIndex] = new NumberingListCountersCalculator(this.subDocument.documentModel.abstractNumberingLists[abstractNumberingListIndex]); return this.calculators[abstractNumberingListIndex]; } reset() { this.calculators = {}; this.currentParagraphIndex = -1; } }