@ux-aspects/ux-aspects
Version:
Open source user interface framework for building modern, responsive, mobile big data applications
50 lines (49 loc) • 2.66 kB
TypeScript
import { AfterContentInit, AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, QueryList } from '@angular/core';
import { ResizeDimensions } from '../../directives/resize/resize.service';
import { DashboardLayoutData, DashboardService } from './dashboard.service';
import { DashboardGrabHandleDirective } from './grab-handle/grab-handle.directive';
import { DashboardWidgetComponent } from './widget/dashboard-widget.component';
import * as i0 from "@angular/core";
export declare class DashboardComponent implements AfterViewInit, AfterContentInit, OnDestroy, OnChanges {
readonly dashboardService: DashboardService;
private readonly _changeDetector;
isGrabbing: boolean;
customAriaLabel: (widgets: DashboardWidgetComponent[], options: DashboardOptions) => string | string;
/** If defined or changed this will set the positions of the widgets within the dashboard. This is a two way binding that will be updated with the current layout when it changes. */
set layout(layout: DashboardLayoutData[]);
/** Configures the options for the dashboard, if an option is not specified the default value will be used. */
set options(options: DashboardOptions);
/** Emits when layout has been changed. */
layoutChange: EventEmitter<DashboardLayoutData[]>;
ariaLabel: string;
role: string;
dashboardElement: ElementRef;
/** Find all grab handles used in the dashboard */
handles: QueryList<DashboardGrabHandleDirective>;
/** Ensure we unsubscribe from all observables */
private readonly _onDestroy;
constructor();
/**
* Set the initial dimensions
*/
ngAfterViewInit(): void;
ngAfterContentInit(): void;
ngOnChanges(): void;
ngOnDestroy(): void;
onResize(event: ResizeDimensions): void;
getAriaLabel(): string;
/** Shift widgets up where possible to fill any available space to optimize the dashboard layout */
refreshLayout(): void;
private getDefaultAriaLabel;
private getWidgetAriaLabel;
static ɵfac: i0.ɵɵFactoryDeclaration<DashboardComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DashboardComponent, "ux-dashboard", never, { "customAriaLabel": { "alias": "aria-label"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "options": { "alias": "options"; "required": false; }; "role": { "alias": "role"; "required": false; }; }, { "layoutChange": "layoutChange"; }, ["handles"], ["*"], false, never>;
}
export interface DashboardOptions {
columns?: number;
padding?: number;
minWidth?: number;
minHeight?: number;
rowHeight?: number;
emptyRow?: boolean;
}