UNPKG

@ctodev/cclibrary-typings

Version:

Library typings for use with CLARC INFINITY

208 lines (207 loc) 7.18 kB
import { AfterViewInit, ElementRef, EventEmitter, 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, Subscription } from 'rxjs'; import { TccTopNavService } from '../../services/tcc-top-nav/tcc-top-nav.service'; import { TccUserPropertyService } from '../../../shared/services/tcc-user-property/tcc-user-property.service'; import { TccSnackBarService } from '../../services/tcc-snackbar/tcc-snackbar.service'; import { MatDialog } from '@angular/material/dialog'; import { TccDialogWindowService } from '../../services/tcc-dialog-window/tcc-dialog-window.service'; import { tccFilterbar } from '../tcc-filterbar/tcc-filterbar.component'; 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; columncount: number; private _keys; get gridkeys(): string[]; private _rows; get rows(): TccDashboard.rows; private _cols; get cols(): TccDashboard.rows; 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; /** * * @param element * @param swap * @param coordStr Position to free up space * @param offset How far down space should be made * @returns */ moveDown(element: TccDashboard.GridTile, swap?: boolean, coordStr?: string, offset?: number): boolean; private checkCoords; private checkCoord; reset(): void; } export declare class TccDashboardComponent implements AfterViewInit, OnDestroy { private testroles; private resizeService; private topnavService; private userPropertyService; private snackBar; private dialog; private dialogService; changed: EventEmitter<boolean>; 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; }; isCustomizeMode: boolean; private iconButtonConfig; _placeHolderpositions: { [componentName: string]: TccDashboard.tilePositioning; }; _placeHolderTiles: Array<TccDashboard.internalTileConfig>; private backupTiles; hoverIndex: number | null; createComponents: QueryList<ViewContainerRef>; overviewCard: ElementRef; /** * All Tiles */ private TileList; set TileComponents(components: Array<typeof TccDashboard.ITile>); private occupationGrid; _tiles: Array<TccDashboard.internalTileConfig>; private changeSubscription; dragItemId: string; uploadConfig: tccFilterbar.noContentSettings; constructor(testroles: TccTestForRoleService, resizeService: TccResizeObserverService, topnavService: TccTopNavService, userPropertyService: TccUserPropertyService, snackBar: TccSnackBarService, dialog: MatDialog, dialogService: TccDialogWindowService); 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; onEditClick(): void; onDeleteClick(tilename: string): void; private deleteTileCallback; private getEmptyGridSpaces; private addPlaceholdersAndShowTiles; private removePlaceHolder; private onLeftIconButtonClick; private saveTileCallback; private onRightIconButtonClick; private cancelEditingTileCallback; private getTilePositions; private saveDashboard; addNewTile(tile: TccDashboard.internalTileConfig): Subscription; private mapTiles; createButtonEvent(event: any): void; }