@vivliostyle/core
    Preparing search index...

    Class CounterStore

    Index

    Constructors

    Properties

    countersById: { [key: string]: CounterValues } = ...
    currentPage: Page = null
    currentPageCounters: CounterValues = ...
    currentPageCountersStack: CounterValues[] = []
    currentPageDocCounterChanges: { [key: string]: boolean } = ...
    currentPageDocCounterChangeTypes: {
        [key: string]: "set" | "reset" | "increment";
    } = ...
    currentPageDocCounters: CounterValues = null
    documentURLTransformer: DocumentURLTransformer
    hasDeferredNamedStrings: boolean = false
    namedStringPageCounterExprMap: {
        [exprKey: string]: {
            counterName: string;
            expr: Val;
            format: (p1: number[]) => string;
            offset: number;
        };
    } = ...
    namedStringPageSnapshots: {
        [startOffset: number]: {
            counters: CounterValues;
            lastOffset: number;
            spineIndex: number;
        };
    } = ...
    newReferencesOfCurrentPage: TargetCounterReference[] = []
    pageControlledCounterNames: { [key: string]: boolean } = ...
    pageCountersBeforeOverride: CounterValues = ...
    pageCountersById: { [key: string]: CounterValues } = ...
    pageDocCountersById: { [key: string]: CounterValues } = ...
    pageIndicesById: { [key: string]: { pageIndex: number; spineIndex: number } } = ...
    pageTextById: { [key: string]: { [pseudoElement: string]: string } } = ...
    previousPageCounters: CounterValues = ...
    previousPageDocCounters: CounterValues = null
    referencesToSolve: TargetCounterReference[] = []
    referencesToSolveStack: TargetCounterReference[][] = []
    resolvedReferences: { [key: string]: TargetCounterReference[] } = ...
    unresolvedReferences: { [key: string]: TargetCounterReference[] } = ...

    Methods

    • Adjust page counter snapshots for elements in spines after the specified spine. Called when a preceding spine's page count changes (e.g. TOC expands after target-text resolution), shifting all subsequent pages.

      Parameters

      • expandedSpineIndex: number
      • pageDelta: number

      Returns void

    • Parameters

      • spineIndex: number
      • pageIndex: number

      Returns void

    • Drop references whose source page belongs to spine items that are about to be rebuilt, and invalidate target snapshots owned by that suffix. Retain pageIndicesById so unresolved forward references can still locate and render their targets while the suffix is reconstructed.

      Parameters

      • firstSpineIndex: number

      Returns void

    • Finish the current page; elements with ID are collected and saved with current page-based counter values internally.

      Parameters

      • spineIndex: number

        Index of the currently laid out spine item

      • pageIndex: number

        Index of the currently laid out page in its spine item

      Returns void

    • Forcefully set the page page-based counter to the specified value.

      Parameters

      • pageNumber: number

      Returns void

    • Get (or lazily create) a patchable expression for a counter(page) used inside a named string assigned at the given element offset. The expression reads its value from the assignment-page snapshot so it stays correct after cross-spine repagination shifts page numbers (Issue #1997). The same (offset, counterName) pair always reuses the same expression to avoid unbounded growth across margin-box re-renders.

      Parameters

      • pageScope: LexicalScope
      • offset: number
      • counterName: string
      • format: (p1: number[]) => string

      Returns Val

    • Return the format function registered for a page-counter expression, or null if it is not a registered page counter (Issue #1997).

      Parameters

      Returns (p1: number[]) => string

    • Return the page counters captured for the finished page whose element offset range contains the given offset, or null when no such page has been finished yet (Issue #1997).

      Parameters

      • offset: number

      Returns CounterValues

    • Parameters

      • id: string
      • pageIndex: number

      Returns boolean

    • Parameters

      • name: string
      • format: (p1: number[]) => string
      • expr: Val

      Returns void

    • Parameters

      • name: string
      • format: (p1: number) => string
      • expr: Val
      • transformedId: string

      Returns void

    • Parameters

      • pseudoElement: string
      • expr: Val
      • transformedId: string

      Returns void

    • Save a reference appeared in the current page.

      Parameters

      • id: string
      • resolved: boolean

        If the reference is already resolved or not.

      Returns void

    • Parameters

      • counters: CounterValues
      • changes: string[]
      • OptionalchangeTypes: { [key: string]: "set" | "reset" | "increment" }

      Returns void

    • Walk through page-counter DOM nodes in the given page containers and update their text content from the adjusted pageCountersById snapshots. Called after adjustPageCountersOfLaterSpines has shifted the counters.

      When available, pass explicit per-page counter snapshots aligned with the given pages so pages without tracked element IDs are also updated.

      Parameters

      Returns void

    • Walk through target-counter DOM nodes in the given page containers and update their text content from the current pageCountersById snapshots.

      Parameters

      • pages: Page[]
      • OptionalchangedTargetIds: Set<string>

      Returns Set<Page>

    • Update target-text() nodes retained outside a rebuilt spine suffix.

      Parameters

      • pages: Page[]
      • OptionalchangedTargetIds: Set<string>

      Returns Set<Page>