import { OnPagingCb } from "../typing/paging"; import { WaterfallData, WaterfallDocs } from "../typing/waterfall"; /** Class to keep track of run of a multi-run har is beeing shown */ export default class Paging { private doc; private selectedPageIndex; private onPageUpdateCbs; constructor(doc: WaterfallDocs, selectedPageIndex?: number); /** * Returns number of pages * @returns number - number of pages in current doc */ getPageCount(): number; /** * Returns selected pages * @returns WaterfallData - currently selected page */ getSelectedPage(): WaterfallData; /** * Returns index of currently selected page * @returns number - index of current page (0 based) */ getSelectedPageIndex(): number; /** * Update which pageIndex is currently update. * Published `onPageUpdate` * @param {number} pageIndex */ setSelectedPageIndex(pageIndex: number): void; /** * Register subscriber callbacks to be called when the pageindex updates * @param {OnPagingCb} cb * @returns number - index of the callback */ onPageUpdate(cb: OnPagingCb): number | undefined; /** * hooks up select box with paging options * @param {HTMLSelectElement} selectbox */ initPagingSelectBox(selectbox: HTMLSelectElement): void; }