import { AfterViewInit, EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { Building } from './data/building'; import { ColorService } from './service/color.service'; import { RisingSkylineService } from './rising-skyline.service'; import { BuildingSelected } from './data/building-selected'; export declare class SkylineComponent implements OnInit, OnDestroy, AfterViewInit { private colorService; skylineService: RisingSkylineService; /** * The width of the container, with its units of mesure (px, %, em...). */ width: string; /** * The height of the container with the unit of mesure such as ('px', 'em', '%') */ height: string; /** * The margin of the container with the unit of mesure such as ('px', 'em', '%') */ margin: string; /** * This observable emits the complete story of the rising skyline. * * This reveived array will be completed and passed to the __SkylineService__. */ risingSkylineHistory$: any; /** * Animation speed in milliseconds */ speed: any; /** * The starting color * * The building is drawn between 2 colors : This color is the starting one. */ startingColor: string; /** * The ending color * The building is drawn between 2 colors : This color is the ending one. */ endingColor: string; /** * The font to use for the vertical title */ font: string; /** * Always display the vertical title on top of each building. * * Default value is **false**. */ displayVerticalTitle: boolean; /** * Display the vertical title when the building height reaches this value. * * Default value is **10**. */ buildingMinimumHeightVerticalTitle: number; /** * This messenger wil inform the parent container that the user has clicked a building. */ onClickBuilding: EventEmitter; /** * This messenger will inform the parent container that the user is entering on a building. */ onEnterBuilding: EventEmitter; /** * This messenger wil inform the parent container that the user is entering on a building. */ onLeaveBuilding: EventEmitter; /** * Component is setup in DEBUG mode */ private DEBUG; /** * Computed heighted in __px__. * This number is used to locate verticaly the buildings inside the container. * If the given unit of measure for height is not 'px', but '%' for example, then we need to compute this height. */ private computedHeightInPx; /** * Building hightlighted by the mouse */ private buildingSelected; /** * The subscription reading the flow of episodes in the animation. */ private subscription; constructor(colorService: ColorService, skylineService: RisingSkylineService); ngOnInit(): void; /** * After viw processing. */ ngAfterViewInit(): void; /** * Mouse is entering the building. */ mouseEnterBuilding(event: MouseEvent, building: Building): void; /** * Mouse is leaving the building. */ mouseLeaveBuilding(event: MouseEvent, building: Building): void; /** * Mouse is clicking the building. */ mouseClickBuilding(event: MouseEvent, building: Building): void; /** * Return the style of the bulding, based on this floor. * @param building the given building */ styleBuilding(building: Building): string; /** * Return the style of the title located on the roof top of the building. * @param building the given building */ styleTitle(building: Building): string; /** * Each DIV is drawn in a color corresponding to a level in a range of colors. * @param level the level of the measure */ color(level: number): string; ngOnDestroy(): void; }