@eclipse-scout/core
Version:
Eclipse Scout runtime
161 lines • 8.06 kB
TypeScript
import { Accordion, Comparator, Event, EventDelegator, EventHandler, Filter, FilterOrFunction, FilterResult, FilterSupport, Group, InitModelOf, KeyStrokeContext, ObjectOrChildModel, ObjectOrModel, PropertyChangeEvent, TextFilter, Tile, TileAccordionEventMap, TileAccordionLayout, TileAccordionModel, TileAccordionSelectionHandler, TileGrid, TileGridLayoutConfig } from '../../index';
export declare class TileAccordion<TTile extends Tile = Tile> extends Accordion implements TileAccordionModel {
model: TileAccordionModel;
eventMap: TileAccordionEventMap;
self: TileAccordion<TTile>;
groups: Group<TileGrid<TTile>>[];
gridColumnCount: number;
multiSelect: boolean;
selectable: boolean;
takeTileFiltersFromGroup: boolean;
tileComparator: Comparator<TTile>;
filters: Filter<TTile>[];
tileGridLayoutConfig: TileGridLayoutConfig;
tileGridSelectionHandler: TileAccordionSelectionHandler;
withPlaceholders: boolean;
virtual: boolean;
textFilterEnabled: boolean;
filterSupport: FilterSupport<TTile>;
createTextFilter: () => TextFilter<TTile>;
updateTextFilterText: string;
$filterFieldContainer: JQuery;
protected _selectionUpdateLocked: boolean;
protected _tileGridPropertyChangeHandler: EventHandler<PropertyChangeEvent>;
protected _groupBodyHeightChangeHandler: EventHandler<Event<Group<TileGrid<TTile>>>>;
constructor();
protected _render(): void;
protected _createLayout(): TileAccordionLayout;
protected _renderProperties(): void;
protected _remove(): void;
protected _init(model: InitModelOf<this>): void;
protected _createKeyStrokeContext(): KeyStrokeContext;
protected _initGroup(group: Group<TileGrid<TTile>> & {
body: TileGrid<TTile> & {
__tileAccordionEventDelegator?: EventDelegator;
};
}): void;
protected _deleteGroup(group: Group<TileGrid<TTile>> & {
body: TileGrid<TTile> & {
__tileAccordionEventDelegator?: EventDelegator;
};
}): void;
setGroups(groups: Group<TileGrid<TTile>>[]): void;
/** @see TileAccordionModel.gridColumnCount */
setGridColumnCount(gridColumnCount: number): void;
/** @see TileAccordionModel.tileGridLayoutConfig */
setTileGridLayoutConfig(layoutConfig: ObjectOrModel<TileGridLayoutConfig>): void;
protected _setTileGridLayoutConfig(layoutConfig: ObjectOrModel<TileGridLayoutConfig>): void;
/** @see TileAccordionModel.withPlaceholders */
setWithPlaceholders(withPlaceholders: boolean): void;
/** @see TileAccordionModel.virtual */
setVirtual(virtual: boolean): void;
/** @see TileAccordionModel.selectable */
setSelectable(selectable: boolean): void;
/** @see TileAccordionModel.multiSelect */
setMultiSelect(multiSelect: boolean): void;
getGroupById(id: string): Group<TileGrid<TTile>>;
getGroupByTile(tile: TTile): Group<TileGrid<TTile>>;
/**
* Distribute the tiles to the corresponding groups and returns an object with group id as key and array of tiles as value.
* Always returns all current groups even if the given tiles may not be distributed to all groups.
*/
protected _groupTiles(tiles: TTile[]): Record<string, TTile[]>;
deleteTile(tile: TTile): void;
deleteTiles(tilesToDelete: TTile[] | TTile): void;
deleteAllTiles(): void;
/**
* Distributes the given tiles to their corresponding groups.
*
* If the list contains new tiles not assigned to a group yet, an exception will be thrown.
*/
setTiles(tilesOrModels: ObjectOrChildModel<TTile> | ObjectOrChildModel<TTile>[]): void;
getTiles(): TTile[];
getTileCount(): number;
/**
* @param filter The filters to add.
* @param applyFilter Whether to apply the filters after modifying the filter list or not. Default is true.
*/
addFilter(filter: FilterOrFunction<TTile> | FilterOrFunction<TTile>[], applyFilter?: boolean): void;
/**
* @param filter The filters to remove.
* @param applyFilter Whether to apply the filters after modifying the filter list or not. Default is true.
*/
removeFilter(filter: FilterOrFunction<TTile> | FilterOrFunction<TTile>[], applyFilter?: boolean): void;
/**
* @param filter The new filters.
* @param applyFilter Whether to apply the filters after modifying the filter list or not. Default is true.
*/
setFilters(filters: FilterOrFunction<TTile> | FilterOrFunction<TTile>[], applyFilter?: boolean): void;
protected _setFilters(filter: FilterOrFunction<TTile> | FilterOrFunction<TTile>[]): void;
filter(): void;
protected _filter(): FilterResult<TTile>;
protected _createFilterSupport(): FilterSupport<TTile>;
protected _createTextFilter(): TextFilter<TTile>;
protected _updateTextFilterText(filter: Filter<TTile>, text: string): boolean;
/** @see TileAccordionModel.textFilterEnabled */
setTextFilterEnabled(textFilterEnabled: boolean): void;
isTextFilterFieldVisible(): boolean;
protected _renderTextFilterEnabled(): void;
getFilteredTiles(): TTile[];
getFilteredTileCount(): number;
/**
* Compared to {@link getFilteredTiles()}, this function considers the collapsed state of the group as well, meaning only filtered tiles of expanded groups are returned.
*/
getVisibleTiles(): TTile[];
/**
* Compared to {@link getFilteredTiles()}, this function considers the collapsed state of the group as well, meaning only filtered tiles of expanded groups are counted.
*/
getVisibleTileCount(): number;
findVisibleTileIndexAt(x: number, y: number, startIndex?: number, reverse?: boolean): number;
/**
* Selects the given tiles and deselects the previously selected ones.
*
* Tiles, that are currently invisible due to an active filter, are excluded and won't be selected.
*/
selectTiles(tiles: TTile[]): void;
/** @see selectTiles */
selectTile(tile: TTile): void;
/**
* Selects all tiles. As for every selection operation: only considers filtered tiles and tiles of expanded groups
*/
selectAllTiles(): void;
deselectTiles(tiles: TTile[]): void;
deselectTile(tile: TTile): void;
deselectAllTiles(): void;
addTilesToSelection(tiles: TTile[]): void;
addTileToSelection(tile: TTile): void;
getSelectedTiles(): TTile[];
getSelectedTile(): TTile;
getSelectedTileCount(): number;
/**
* Deselects every tile if all tiles are selected. Otherwise, selects all tiles.
*/
toggleSelection(): void;
/** @see TileAccordionModel.tileComparator */
setTileComparator(comparator: Comparator<TTile>): void;
sortTiles(): void;
setFocusedTile(tile: TTile): void;
getFocusedTile(): TTile;
getVisibleGridRowCount(): number;
getVisibleGridX(tile: TTile): number;
getVisibleGridY(tile: TTile): number;
getGroupByVisibleRow(rowToFind: number): Group<TileGrid<TTile>>;
/**
* @returns the index of the row where the group is located.<p>
* Example: There are 3 rows and 2 groups. The first group contains 2 rows, the second 1 row.
* The index of the first group is 0, the index of the second group is 2.
*/
getVisibleRowByGroup(groupToFind: Group<TileGrid<TTile>>): number;
expandedGroups(): Group<TileGrid<TTile>>[];
protected _handleSelectionChanged(tileGrid: TileGrid<TTile>): void;
protected _onTileGridPropertyChange(event: PropertyChangeEvent<any, TileGrid<TTile>>): void;
protected _onGroupCollapsedChange(event: PropertyChangeEvent<boolean, Group<TileGrid<TTile>>>): void;
protected _handleCollapsed(group: Group<TileGrid<TTile>>): void;
protected _onGroupBodyHeightChange(event: Event<Group<TileGrid<TTile>>>): void;
protected _onGroupBodyHeightChangeDone(event: Event<Group<TileGrid<TTile>>>): void;
/**
* @returns the first fully visible tile at the scrollTop.
*/
tileAtScrollTop(scrollTop: number): TTile;
}
//# sourceMappingURL=TileAccordion.d.ts.map