@eclipse-scout/core
Version:
Eclipse Scout runtime
43 lines • 2.5 kB
TypeScript
/// <reference types="jquery" />
import { Dimension, HtmlComponent, HtmlCompPrefSizeOptions, Insets, LogicalGridLayout, Point, Rectangle, Tile, TileGrid, TileGridLayoutConfig, Widget } from '../index';
export declare class TileGridLayout extends LogicalGridLayout {
widget: TileGrid;
containerPos: Point;
containerScrollTop: number;
maxWidth: number;
tiles: Tile[];
protected _calculatingPrimitivePrefSize: boolean;
constructor(widget: Widget, layoutConfig: TileGridLayoutConfig);
/**
* @param scrollTopDirty If the scroll top position should be considered dirty while updating the view port.
* If true, the view port is not rendered, as the scroll positions are not reliable anyway. Then only the layout of the TileGrid is updated.
*/
updateViewPort(scrollTopDirty?: boolean): void;
layout($container: JQuery): void;
protected _sizeChanged(htmlComp: HtmlComponent): boolean;
protected _storeBounds(tiles: Tile[]): void;
protected _validateGridData(htmlComp: HtmlComponent): boolean;
protected _layoutCellBounds(containerSize: Dimension, containerInsets: Insets): Rectangle[][];
protected _animateTiles(): JQuery.Promise<JQuery>[];
protected _animateTile(tile: Tile): void | JQuery.Promise<JQuery>;
protected _inViewport(bounds: Rectangle): boolean;
protected _onAnimationDone(): void;
protected _animateTileBounds(tile: Tile, fromBounds: Rectangle, bounds: Rectangle): JQuery.Promise<JQuery>;
protected _updateScrollbar(): void;
/**
* When max. width should be enforced, add a padding to the container if necessary
* (to make sure, scrollbar position is not changed)
*/
protected _updateMaxWidth(): void;
protected _resetGridColumnCount(): void;
preferredLayoutSize($container: JQuery, options?: HtmlCompPrefSizeOptions): Dimension;
/**
* Calculates the preferred size only based on the grid column count, row count and layout config. Does not use rendered elements.
* Therefore, it only works if all tiles are of the same size (which is a precondition for the virtual scrolling anyway).
*/
virtualPrefSize($container: JQuery, options: HtmlCompPrefSizeOptions): Dimension;
primitivePrefSize($container: JQuery, options: HtmlCompPrefSizeOptions): Dimension;
protected _primitivePrefSize(options: HtmlCompPrefSizeOptions): Dimension;
protected _updateFilterFieldMaxWidth($container: JQuery): void;
}
//# sourceMappingURL=TileGridLayout.d.ts.map