@ctodev/cclibrary-typings
Version:
Library typings for use with CLARC INFINITY
162 lines (161 loc) • 5.16 kB
TypeScript
import { AfterViewInit, ElementRef, OnDestroy, QueryList, Type, ViewContainerRef } from '@angular/core';
import { TccET_IAM } from '../../../odata/models/iam.model';
import { TccTestForRoleService } from '../../../shared/services/tcc-test-for-role/tcc-test-for-role.service';
import { TccResizeObserverService } from '../../services/tcc-resize-observer/tcc-resize-observer.service';
import { Observable } from 'rxjs';
export declare namespace TccDashboard {
export abstract class ITile {
dimensions: [number, number];
preventClick: boolean;
static tileConfig: TileConfig;
headerObs$: Observable<string>;
constructor(...args: any[]);
}
export interface ShowTile {
component: string;
position?: tilePosition;
}
export interface GridTile extends tileSize, tilePosition {
component: string;
}
export interface TileConfig extends tileSize {
component: string;
type: Type<ITile>;
requiredRoles: Array<TccET_IAM.UserRoles>;
header: string;
}
export interface internalTileConfig extends TileConfig, tilePosition {
dimensions: [number, number];
componentInstance?: ITile;
headerObs$?: Observable<string>;
}
export interface tilePosition {
top: number;
left: number;
}
export interface tilePositioning {
toppx: number;
leftpx: number;
heightpx: number;
widthpx: number;
innerwidth: number;
innerheight: number;
}
export interface drag {
positionbefore: TccDashboard.tilePosition;
startX: number;
startY: number;
xStep: number;
yStep: number;
dragPreviewEle: HTMLDivElement;
}
interface tileSize {
cols: number;
rows: number;
}
export interface tileCoords extends tileSize, tilePosition {
}
export interface rows {
[rownum: number]: {
[colnum: number]: GridTile;
};
}
export interface cols {
[colnum: number]: {
[rownum: number]: GridTile;
};
}
export {};
}
export declare class TccOccupationGrid {
private grid;
private shapes;
private columncount;
private _keys;
private get gridkeys();
private _rows;
private get rows();
private _cols;
private get cols();
constructor(columns: number);
private refresh;
private extractRowNum;
private extractColNum;
private generateCoordstr;
private _generateRows;
get height(): number;
private moveShape;
private addToGrid;
private writeInGrid;
/**
* returns coords that are in a but not in b
* @param a
* @param b
*/
subtractShapes(a: TccDashboard.tileCoords, b: TccDashboard.tileCoords): string[];
createShape(shape: TccDashboard.GridTile): boolean;
private getShapeCoords;
private isOccupied;
private fitInSpace;
private getLastShape;
private appendShape;
moveAllUp(): void;
moveSingleUp(element: TccDashboard.GridTile, recursive?: boolean): boolean;
private swapLeft;
moveRight(element: TccDashboard.GridTile, swap?: boolean): boolean;
private swapRight;
moveLeft(element: TccDashboard.GridTile, swap?: boolean): boolean;
private swapDown;
moveUp(element: TccDashboard.GridTile, swap?: boolean): boolean;
private swapUp;
moveDown(element: TccDashboard.GridTile, swap?: boolean): boolean;
private checkCoords;
private checkCoord;
}
export declare class TccDashboardComponent implements AfterViewInit, OnDestroy {
private testroles;
private resizeService;
private resizeSubscription;
private columnCount;
private sizeRatio;
private standardWidth;
private columnOffset;
private currentDrag;
private dashboardChanged;
viewStep: number;
maxViewStep: number;
rowHeight: number;
maxRowHeight: number;
zoom: number;
_customize: boolean;
_positions: {
[componentName: string]: TccDashboard.tilePositioning;
};
createComponents: QueryList<ViewContainerRef>;
overviewCard: ElementRef;
/**
* All Tiles
*/
private TileList;
set TileComponents(components: Array<typeof TccDashboard.ITile>);
private occupationGrid;
_tiles: Array<TccDashboard.internalTileConfig>;
private changeSubscription;
constructor(testroles: TccTestForRoleService, resizeService: TccResizeObserverService);
ngOnDestroy(): void;
ngAfterViewInit(): void;
toggleCustomize(on?: boolean): void;
saveTiles(): Array<TccDashboard.ShowTile>;
private get defaultTiles();
private redraw;
showTiles(tiles?: Array<TccDashboard.ShowTile>): void;
private addTile;
private addTiles;
showTile(tile: TccDashboard.ShowTile): void;
dragStart(event: DragEvent, tile: TccDashboard.internalTileConfig): void;
drag(event: DragEvent, tile: TccDashboard.internalTileConfig): void;
dragEnd(event: DragEvent, tile: TccDashboard.internalTileConfig): void;
private generateTile;
private generateAllDimensions;
private generateDimensions;
}