@ux-aspects/ux-aspects
Version:
Open source user interface framework for building modern, responsive, mobile big data applications
116 lines (115 loc) • 5.23 kB
TypeScript
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
import { AfterViewInit, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { ActionDirection, DashboardService } from '../dashboard.service';
import { DashboardStackMode } from './dashboard-stack-mode.enum';
import * as i0 from "@angular/core";
export declare class DashboardWidgetComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {
readonly dashboardService: DashboardService;
/** Sets the ID of the widget. Each widget should be given a unique ID. */
id: string;
/** Defines a name for the widget used for accessibility */
name: string;
/** Defines the column the widget is placed in */
set col(col: number);
get col(): number;
/** Defines the row the widget is placed in */
set row(row: number);
get row(): number;
/** Defines the number of columns this widget should occupy. */
get colSpan(): number;
set colSpan(colSpan: number);
/** Defines the number of rows this widget should occupy. */
get rowSpan(): number;
set rowSpan(rowSpan: number);
/** Defines the minimum number of columns this widget should occupy. */
get minColSpan(): number;
set minColSpan(minColumns: number);
/** Defines the minimum number of rows this widget should occupy. */
get minRowSpan(): number;
set minRowSpan(minRows: number);
/** Defines whether or not this widget can be resized. */
resizable: boolean;
/** Defines whether or not this widget will be automatically repositioned */
set autoPositioning(autoPositioning: boolean);
get autoPositioning(): boolean;
/** Defines a function that returns an aria label for the widget */
widgetAriaLabel: (widgets: DashboardWidgetComponent) => string | string;
x: number;
y: number;
width: number;
height: number;
padding: number;
zIndex: number;
ariaLabel: string;
role: string;
isDragging: boolean;
isGrabbing: boolean;
isResizing: boolean;
isDraggable: boolean;
private readonly _column;
private readonly _row;
private readonly _columnSpan;
private readonly _rowSpan;
private _minColSpan;
private _minRowSpan;
private _autoPositioning;
private readonly _onDestroy;
constructor();
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnChanges(changes: SimpleChanges): void;
/**
* If component is removed, then unregister it from the service
*/
ngOnDestroy(): void;
/**
* Apply the current dashboard options
*/
update(): void;
/**
* Set the actual position and size values
*/
render(): void;
getColumn(mode?: DashboardStackMode): number;
getRow(mode?: DashboardStackMode): number;
setColumn(column: number, render?: boolean): void;
setRow(row: number, render?: boolean): void;
getColumnSpan(): number;
getRowSpan(): number;
setColumnSpan(columnSpan: number, render?: boolean): void;
setRowSpan(rowSpan: number, render?: boolean): void;
bringToFront(): void;
sendToBack(): void;
setBounds(x: number, y: number, width: number, height: number): void;
dragstart(handle: HTMLElement, event: MouseEvent, direction: ActionDirection): void;
drag(handle: HTMLElement, event: MouseEvent, direction: ActionDirection): void;
dragend(): void;
getAriaLabel(): string;
private getDefaultAriaLabel;
/**
* Allows automatic setting of stackable value
* @param property The current StackableValue object
* @param value The value to set in the appropriate field
*/
private setStackableValue;
/**
* Return the appropriate value from a stackable value
* @param property The Stackable value object
*/
private getStackableValue;
/** Determine if the layout has been performed yet */
private hasPosition;
static ngAcceptInputType_autoPositioning: BooleanInput;
static ngAcceptInputType_col: NumberInput;
static ngAcceptInputType_row: NumberInput;
static ngAcceptInputType_colSpan: NumberInput;
static ngAcceptInputType_rowSpan: NumberInput;
static ngAcceptInputType_minColSpan: NumberInput;
static ngAcceptInputType_minRowSpan: NumberInput;
static ɵfac: i0.ɵɵFactoryDeclaration<DashboardWidgetComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DashboardWidgetComponent, "ux-dashboard-widget", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "col": { "alias": "col"; "required": false; }; "row": { "alias": "row"; "required": false; }; "colSpan": { "alias": "colSpan"; "required": false; }; "rowSpan": { "alias": "rowSpan"; "required": false; }; "minColSpan": { "alias": "minColSpan"; "required": false; }; "minRowSpan": { "alias": "minRowSpan"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "autoPositioning": { "alias": "autoPositioning"; "required": false; }; "widgetAriaLabel": { "alias": "widgetAriaLabel"; "required": false; }; "role": { "alias": "role"; "required": false; }; }, {}, never, ["*"], false, never>;
}
export interface StackableValue {
regular: number;
stacked: number;
}