@ctodev/cclibrary-typings
Version:
Library typings for use with CLARC INFINITY
208 lines (207 loc) • 7.18 kB
TypeScript
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;
}