@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

    • 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

      • name: string

      Returns boolean

    • Restore previously saved page-based counter values.

      Returns void

    • Restore previously saved references to solve.

      Returns void

    • Save current page-based counters values and set them to the values passed in. The saved counter values can be restored by popPageCounters method.

      Parameters

      Returns void

    • 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

    • Resolve a reference with the specified ID.

      Parameters

      • id: 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

    • Parameters

      • names: string[]

      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

    • Update the page-based counters with 'counter-reset' and 'counter-increment' properties within the page context. Call before starting layout of the page.

      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

      Returns void