import type { DataAccessObject, DomBindings, WalkontableInstance } from '../types'; import type Settings from '../settings'; import BottomOverlayTable from './../table/bottom'; import { Overlay } from './_base'; /** * @class BottomOverlay */ export declare class BottomOverlay extends Overlay { /** * Cached value which holds the previous value of the `fixedRowsBottom` option. * It is used as a comparison value that can be used to detect changes in that value. * * @type {number} */ cachedFixedRowsBottom: number; /** * @param {Walkontable} wotInstance The Walkontable instance. @TODO refactoring: check if can be deleted. * @param {FacadeGetter} facadeGetter Function which return proper facade. * @param {Settings} wtSettings The Walkontable settings. * @param {DomBindings} domBindings Dom elements bound to the current instance. */ constructor(wotInstance: WalkontableInstance, facadeGetter: Function, wtSettings: Settings, domBindings: DomBindings); /** * Factory method to create a subclass of `Table` that is relevant to this overlay. * * @see Table#constructor * @param {...*} args Parameters that will be forwarded to the `Table` constructor. * @returns {BottomOverlayTable} */ createTable(...args: [DataAccessObject, Function, DomBindings, Settings]): BottomOverlayTable; /** * Checks if overlay should be fully rendered. * * @returns {boolean} */ shouldBeRendered(): boolean; /** * Updates the top overlay position. * * @returns {boolean} */ resetFixedPosition(): boolean; /** * Updates the bottom overlay position. */ repositionOverlay(): void; /** * Sets the main overlay's vertical scroll position. * * @param {number} pos The scroll position. * @returns {boolean} */ setScrollPosition(pos: number): boolean; /** * Triggers onScroll hook callback. */ onScroll(): void; /** * Calculates total sum cells height. * * @param {number} from Row index which calculates started from. * @param {number} to Row index where calculation is finished. * @returns {number} Height sum. */ sumCellSizes(from: number, to: number): number; /** * Adjust overlay root element, children and master table element sizes (width, height). */ adjustElementsSize(): void; /** * Adjust overlay root element size (width and height). */ adjustRootElementSize(): void; /** * Adjust overlay root childs size. */ adjustRootChildrenSize(): void; /** * Adjust the overlay dimensions and position. */ applyToDOM(): void; /** * Synchronize calculated left position to an element. */ syncOverlayOffset(): void; /** * Scrolls vertically to a row. * * @param {number} sourceRow Row index which you want to scroll to. * @param {boolean} [bottomEdge=false] If `true`, scrolls according to the bottom edge (top edge is by default). */ scrollTo(sourceRow: number, bottomEdge: boolean): boolean; /** * Gets table parent top position. * * @returns {number} */ getTableParentOffset(): number; /** * Gets the main overlay's vertical scroll position. * * @returns {number} Main table's vertical scroll position. */ getScrollPosition(): number; /** * Gets the main overlay's vertical overlay offset. * * @returns {number} Main table's vertical overlay offset. */ getOverlayOffset(): number; /** * Adds css classes to hide the header border's header (cell-selection border hiding issue). * * @param {number} position Header Y position if trimming container is window or scroll top if not. * @returns {boolean} */ adjustHeaderBordersPosition(position: number): boolean; }