UNPKG

@ux-aspects/ux-aspects

Version:

Open source user interface framework for building modern, responsive, mobile big data applications

38 lines (37 loc) 1.64 kB
import { OnDestroy, QueryList } from '@angular/core'; import { BehaviorSubject, Subject } from 'rxjs'; import { ResizableTableColumnComponent } from './resizable-table-column.component'; import * as i0 from "@angular/core"; export declare abstract class BaseResizableTableService implements OnDestroy { abstract type: ResizableTableType; /** Emit an event whenever a column is resized */ onResize$: Subject<void>; /** Store the current width of the table */ tableWidth: number; /** Determine if we are currently resizing */ isResizing$: BehaviorSubject<boolean>; /** Indicate when the columns are ready */ isInitialised$: BehaviorSubject<boolean>; /** Store the percentage widths of each column */ columns: ReadonlyArray<number>; abstract resizeColumn(index: number, delta: number, isDragging?: boolean): void; abstract setColumns(columns: QueryList<ResizableTableColumnComponent>): void; abstract setUniformWidths(): void; abstract getColumnDisabled(index: number): boolean; /** Cleanup when service is disposed */ ngOnDestroy(): void; /** Update the resizing state */ setResizing(isResizing: boolean): void; /** Get the width of a column in a specific unit */ getColumnWidth(index: number, unit: ColumnUnit, columns?: ReadonlyArray<number>): number; static ɵfac: i0.ɵɵFactoryDeclaration<BaseResizableTableService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<BaseResizableTableService>; } export declare enum ColumnUnit { Pixel = 0, Percentage = 1 } export declare enum ResizableTableType { Standard = 0, Expand = 1 }