@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
32 lines (31 loc) • 1.16 kB
TypeScript
import { HeaderMode } from './models/header-mode';
import { Observable } from 'rxjs';
import { HeaderColumn } from './models/header-column';
export interface HeaderStateInterface {
mode: HeaderMode;
readonly selectedHeaders$: Observable<Array<HeaderColumn>>;
readonly selectedHeaders: Array<HeaderColumn>;
readonly lastSelectedHeaders: Array<HeaderColumn>;
saveState: () => void;
restoreLastState: () => void;
restoreLastMode: () => void;
}
/**
* Keeps the current state of the header
*/
export declare class HeaderState implements HeaderStateInterface {
mode: HeaderMode;
private _lastMode;
private _selectedHeaders$;
private _lastSelectedHeaders;
constructor(initialHeaders: Array<HeaderColumn>);
get selectedHeaders$(): Observable<Array<HeaderColumn>>;
get selectedHeaders(): Array<HeaderColumn>;
get lastSelectedHeaders(): Array<HeaderColumn>;
saveState(): void;
restoreLastMode(): void;
restoreLastState(): void;
restoreLastHeadersToIndex(count: number): void;
updateSelectedHeaders(newSelectedHeaders: Array<HeaderColumn>): void;
asInterface(): HeaderStateInterface;
}