{"version":3,"file":"abm-lib.mjs","sources":["../../../projects/abm-lib/src/lib/views/heatmap/heatmap.component.styles.const.ts","../../../projects/abm-lib/src/lib/shared/factory/style-factory.ts","../../../projects/abm-lib/src/lib/charts/legend/legend.component.ts","../../../projects/abm-lib/src/lib/charts/legend/legend.component.html","../../../projects/abm-lib/src/lib/components/loader/loader.component.ts","../../../projects/abm-lib/src/lib/components/loader/loader.component.html","../../../projects/abm-lib/src/lib/components/map/map.component.ts","../../../projects/abm-lib/src/lib/components/map/map.component.html","../../../projects/abm-lib/src/lib/panels/header/header.component.styles.const.ts","../../../projects/abm-lib/src/lib/panels/header/header.component.ts","../../../projects/abm-lib/src/lib/panels/header/header.component.html","../../../projects/abm-lib/src/lib/navigation/nav-bar/nav-bar.component.styles.const.ts","../../../projects/abm-lib/src/lib/components/button/button.component.styles.const.ts","../../../projects/abm-lib/src/lib/components/button/button.component.ts","../../../projects/abm-lib/src/lib/components/button/button.component.html","../../../projects/abm-lib/src/lib/navigation/nav-bar/nav-bar.component.ts","../../../projects/abm-lib/src/lib/navigation/nav-bar/nav-bar.component.html","../../../projects/abm-lib/src/lib/shared/factory/color-factory.ts","../../../projects/abm-lib/src/lib/components/box/box.component.ts","../../../projects/abm-lib/src/lib/components/box/box.component.html","../../../projects/abm-lib/src/lib/charts/barchart/barchart.component.ts","../../../projects/abm-lib/src/lib/charts/barchart/barchart.component.html","../../../projects/abm-lib/src/lib/views/heatmap/heatmap.component.ts","../../../projects/abm-lib/src/lib/views/heatmap/heatmap.component.html","../../../projects/abm-lib/src/lib/components/loader/loader.module.ts","../../../projects/abm-lib/src/lib/charts/barchart/barchart.module.ts","../../../projects/abm-lib/src/lib/charts/legend/legend.module.ts","../../../projects/abm-lib/src/lib/components/box/box.module.ts","../../../projects/abm-lib/src/lib/components/map/map.module.ts","../../../projects/abm-lib/src/lib/components/button/button.module.ts","../../../projects/abm-lib/src/lib/navigation/nav-bar/nav-bar.module.ts","../../../projects/abm-lib/src/lib/panels/header/header.module.ts","../../../projects/abm-lib/src/lib/views/heatmap/heatmap.module.ts","../../../projects/abm-lib/src/lib/panels/panel/panel.component.styles.const.ts","../../../projects/abm-lib/src/lib/panels/panel/panel.component.ts","../../../projects/abm-lib/src/lib/panels/panel/panel.component.html","../../../projects/abm-lib/src/lib/panels/panel-rooms/panel-rooms.component.styles.const.ts","../../../projects/abm-lib/src/lib/panels/panel-rooms/panel-rooms.component.ts","../../../projects/abm-lib/src/lib/panels/panel-rooms/panel-rooms.component.html","../../../projects/abm-lib/src/lib/panels/panel-rooms-grouping/panel-rooms-grouping.component.ts","../../../projects/abm-lib/src/lib/panels/panel-rooms-grouping/panel-rooms-grouping.component.html","../../../projects/abm-lib/src/lib/panels/panel-rooms-breakout-day/panel-rooms-breakout-day.component.ts","../../../projects/abm-lib/src/lib/panels/panel-rooms-breakout-day/panel-rooms-breakout-day.component.html","../../../projects/abm-lib/src/lib/panels/panel-recommendations/panel-recommendations.component.ts","../../../projects/abm-lib/src/lib/panels/panel-recommendations/panel-recommendations.component.html","../../../projects/abm-lib/src/lib/charts/multiline-chart/multiline-chart.component.styles.const.ts","../../../projects/abm-lib/src/lib/shared/chart-configs/line-no-axis-chart-config.ts","../../../projects/abm-lib/src/lib/shared/chart-configs/line-chart-config.ts","../../../projects/abm-lib/src/lib/charts/column-line-chart/column-line-chart.component.ts","../../../projects/abm-lib/src/lib/charts/column-line-chart/column-line-chart.component.html","../../../projects/abm-lib/src/lib/charts/multiline-chart/multiline-chart.component.ts","../../../projects/abm-lib/src/lib/charts/multiline-chart/multiline-chart.component.html","../../../projects/abm-lib/src/lib/panels/panel-indicator-trend/panel-indicator-trend.component.ts","../../../projects/abm-lib/src/lib/panels/panel-indicator-trend/panel-indicator-trend.component.html","../../../projects/abm-lib/src/lib/views/iaq-alerts/iaq-alerts.component.ts","../../../projects/abm-lib/src/lib/views/iaq-alerts/iaq-alerts.component.html","../../../projects/abm-lib/src/lib/panels/panel-rooms/panel-rooms.module.ts","../../../projects/abm-lib/src/lib/panels/panel-rooms-grouping/panel-rooms-grouping.module.ts","../../../projects/abm-lib/src/lib/panels/panel/panel.module.ts","../../../projects/abm-lib/src/lib/panels/panel-rooms-breakout-day/panel-rooms-breakout-day.module.ts","../../../projects/abm-lib/src/lib/panels/panel-recommendations/panel-recommendations.module.ts","../../../projects/abm-lib/src/lib/charts/column-line-chart/column-line-chart.module.ts","../../../projects/abm-lib/src/lib/charts/multiline-chart/multiline-chart.module.ts","../../../projects/abm-lib/src/lib/charts/legend-detailed/legend-detailed.component.ts","../../../projects/abm-lib/src/lib/charts/legend-detailed/legend-detailed.component.html","../../../projects/abm-lib/src/lib/charts/legend-detailed/legend-detailed.module.ts","../../../projects/abm-lib/src/lib/shared/chart-configs/iaq-faults-config.ts","../../../projects/abm-lib/src/lib/charts/faults-chart/panel-fault.component.ts","../../../projects/abm-lib/src/lib/charts/faults-chart/panel-fault.component.html","../../../projects/abm-lib/src/lib/charts/faults-chart/panel-fault.component.module.ts","../../../projects/abm-lib/src/lib/panels/panel-indicator-trend/panel-indicator-trend.module.ts","../../../projects/abm-lib/src/lib/views/iaq-alerts/iaq-alerts.module.ts","../../../projects/abm-lib/src/lib/panels/panel-heatmap/toggle-config.const.ts","../../../projects/abm-lib/src/lib/shared/model/map-legend-detailed.ts","../../../projects/abm-lib/src/lib/components/toggle-button-bar/toggle-button-bar.component.ts","../../../projects/abm-lib/src/lib/components/toggle-button-bar/toggle-button-bar.component.html","../../../projects/abm-lib/src/lib/panels/panel-heatmap/panel-heatmap.component.ts","../../../projects/abm-lib/src/lib/panels/panel-heatmap/panel-heatmap.component.html","../../../projects/abm-lib/src/lib/components/text-box/text-box.component.styles.const.ts","../../../projects/abm-lib/src/lib/shared/const/arrows.const.ts","../../../projects/abm-lib/src/lib/shared/directive/no-orphan.directive.ts","../../../projects/abm-lib/src/lib/components/text-box/text-box.component.ts","../../../projects/abm-lib/src/lib/components/text-box/text-box.component.html","../../../projects/abm-lib/src/lib/panels/panel-impact-areas/panel-impact-areas.component.ts","../../../projects/abm-lib/src/lib/panels/panel-impact-areas/panel-impact-areas.component.html","../../../projects/abm-lib/src/lib/panels/panel-score-utilization-trend/iaq-score-utilization.const.ts","../../../projects/abm-lib/src/lib/panels/panel-score-utilization-trend/iaq-score-utilization-legend.const.ts","../../../projects/abm-lib/src/lib/shared/chart-configs/score-utilization-trend-chart-config.ts","../../../projects/abm-lib/src/lib/panels/panel-line-chart/panel-line-chart.component.ts","../../../projects/abm-lib/src/lib/panels/panel-line-chart/panel-line-chart.component.html","../../../projects/abm-lib/src/lib/panels/panel-score-utilization-trend/panel-score-utilization-trend.component.ts","../../../projects/abm-lib/src/lib/panels/panel-score-utilization-trend/panel-score-utilization-trend.component.html","../../../projects/abm-lib/src/lib/views/iaq-comfort-index/iaq-comfort-index.component.ts","../../../projects/abm-lib/src/lib/views/iaq-comfort-index/iaq-comfort-index.component.html","../../../projects/abm-lib/src/lib/components/toggle-button-bar/toggle-button-bar.module.ts","../../../projects/abm-lib/src/lib/panels/panel-heatmap/panel-heatmap.module.ts","../../../projects/abm-lib/src/lib/components/text-box/text-box.module.ts","../../../projects/abm-lib/src/lib/panels/panel-impact-areas/panel-impact-areas.module.ts","../../../projects/abm-lib/src/lib/panels/panel-line-chart/panel-line-chart.module.ts","../../../projects/abm-lib/src/lib/panels/panel-score-utilization-trend/panel-score-utilization-trend.module.ts","../../../projects/abm-lib/src/lib/views/iaq-comfort-index/iaq-comfort-index.module.ts","../../../projects/abm-lib/src/lib/views/iaq-indicators/legend-data.ts","../../../projects/abm-lib/src/lib/charts/gauge-chart/gauge-chart.component.ts","../../../projects/abm-lib/src/lib/charts/gauge-chart/gauge-chart.component.html","../../../projects/abm-lib/src/lib/views/iaq-indicators/iaq-indicators.component.ts","../../../projects/abm-lib/src/lib/views/iaq-indicators/iaq-indicators.component.html","../../../projects/abm-lib/src/lib/charts/gauge-chart/gauge-chart.module.ts","../../../projects/abm-lib/src/lib/views/iaq-indicators/iaq-indicators.module.ts","../../../projects/abm-lib/src/lib/components/page-stepper/page-stepper.component.ts","../../../projects/abm-lib/src/lib/components/page-stepper/page-stepper.component.html","../../../projects/abm-lib/src/lib/components/building-info/building-info.component.ts","../../../projects/abm-lib/src/lib/components/building-info/building-info.component.html","../../../projects/abm-lib/src/lib/panels/panel-iaq-building/panel-iaq-building.component.ts","../../../projects/abm-lib/src/lib/panels/panel-iaq-building/panel-iaq-building.component.html","../../../projects/abm-lib/src/lib/panels/panel-air-quality/panel-air-quality.component.ts","../../../projects/abm-lib/src/lib/panels/panel-air-quality/panel-air-quality.component.html","../../../projects/abm-lib/src/lib/views/iaq-insights/iaq-insights.component.ts","../../../projects/abm-lib/src/lib/views/iaq-insights/iaq-insights.component.html","../../../projects/abm-lib/src/lib/components/building-info/building-info.module.ts","../../../projects/abm-lib/src/lib/components/page-stepper/page-stepper.module.ts","../../../projects/abm-lib/src/lib/panels/panel-iaq-building/panel-iaq-building.module.ts","../../../projects/abm-lib/src/lib/panels/panel-air-quality/panel-air-quality.module.ts","../../../projects/abm-lib/src/lib/views/iaq-insights/iaq-insights.module.ts","../../../projects/abm-lib/src/lib/shared/chart-configs/column-chart-config.ts","../../../projects/abm-lib/src/lib/shared/chart-configs/smooth-line-chart-config.ts","../../../projects/abm-lib/src/lib/views/prod-financial-impacts/prod-financial-impacts.component.ts","../../../projects/abm-lib/src/lib/views/prod-financial-impacts/prod-financial-impacts.component.html","../../../projects/abm-lib/src/lib/views/prod-financial-impacts/prod-financial-impacts.module.ts","../../../projects/abm-lib/src/lib/shared/chart-configs/bar-chart-config.ts","../../../projects/abm-lib/src/lib/panels/panel-summary-status/panel-summary-status.component.ts","../../../projects/abm-lib/src/lib/panels/panel-summary-status/panel-summary-status.component.html","../../../projects/abm-lib/src/lib/charts/line-chart/line-chart.component.ts","../../../projects/abm-lib/src/lib/charts/line-chart/line-chart.component.html","../../../projects/abm-lib/src/lib/panels/panel-services-frequency-day-by-day/panel-services-frequency-day-by-day.component.ts","../../../projects/abm-lib/src/lib/panels/panel-services-frequency-day-by-day/panel-services-frequency-day-by-day.component.html","../../../projects/abm-lib/src/lib/components/table/table.component.ts","../../../projects/abm-lib/src/lib/components/table/table.component.html","../../../projects/abm-lib/src/lib/views/servicing/servicing.component.ts","../../../projects/abm-lib/src/lib/views/servicing/servicing.component.html","../../../projects/abm-lib/src/lib/panels/panel-summary-status/panel-summary-status.module.ts","../../../projects/abm-lib/src/lib/components/table/table.module.ts","../../../projects/abm-lib/src/lib/charts/line-chart/line-chart.module.ts","../../../projects/abm-lib/src/lib/panels/panel-services-frequency-day-by-day/panel-services-frequency-day-by-day.module.ts","../../../projects/abm-lib/src/lib/views/servicing/servicing.module.ts","../../../projects/abm-lib/src/lib/charts/barchart-horizontal/barchart-horizontal.component.ts","../../../projects/abm-lib/src/lib/charts/barchart-horizontal/barchart-horizontal.component.html","../../../projects/abm-lib/src/lib/panels/panel-usage-analytics-left/panel-usage-analytics-left.component.ts","../../../projects/abm-lib/src/lib/panels/panel-usage-analytics-left/panel-usage-analytics-left.component.html","../../../projects/abm-lib/src/lib/panels/panel-usage-analytics-right/panel-usage-analytics-right.component.ts","../../../projects/abm-lib/src/lib/panels/panel-usage-analytics-right/panel-usage-analytics-right.component.html","../../../projects/abm-lib/src/lib/views/usage-analytics/usage-analytics.component.ts","../../../projects/abm-lib/src/lib/views/usage-analytics/usage-analytics.component.html","../../../projects/abm-lib/src/lib/charts/barchart-horizontal/barchart-horizontal.module.ts","../../../projects/abm-lib/src/lib/panels/panel-usage-analytics-left/panel-usage-analytics-left.module.ts","../../../projects/abm-lib/src/lib/panels/panel-usage-analytics-right/panel-usage-analytics-right.module.ts","../../../projects/abm-lib/src/lib/views/usage-analytics/usage-analytics.module.ts","../../../projects/abm-lib/src/public-api.ts","../../../projects/abm-lib/src/abm-lib.ts"],"sourcesContent":["export const HeatmapComponentStylesConst = {\r\n  DEFAULT: '',\r\n  SMART_ROUTING: 'smart-routing'\r\n}\r\n","import 'leaflet-polygon-gradient';\r\n\r\nexport class StyleFactory {\r\n\r\n  static getStyle(layer: any, usageAnalyticsJson:any, min: number, max: number): any {\r\n    let style: any;\r\n    let layers: number = 9;\r\n\r\n    usageAnalyticsJson.forEach((usage: any) => {\r\n     if(usage && usage.SpaceId && usage.SpaceId.toLowerCase() ==\r\n        layer.feature.properties.SpaceId && layer.feature.properties.SpaceId.toLowerCase()) {\r\n\r\n        switch (true) {\r\n          case usage.Count <= (max / layers):\r\n            style = {\r\n              stroke: true,\r\n              color: '#81DDFB',\r\n              weight: .3,\r\n              fill: true,\r\n              fillColor: '#81DDFB',\r\n              fillOpacity: .3,\r\n              dashArray: '0'\r\n            };\r\n            break;\r\n\r\n          case usage.Count > (max / layers) && usage.Count <= (max / layers) * 2:\r\n            style = {\r\n              stroke: true,\r\n              color: '#81DDFB',\r\n              weight: .75,\r\n              fill: true,\r\n              fillColor: 'linearGradient(90deg, #81DDFB 60%, #AAFBC7)',\r\n              fillOpacity: .3,\r\n              dashArray: '0'\r\n            };\r\n            break;\r\n\r\n          case usage.Count > (max / layers ) * 2 && usage.Count <= ( max / layers) * 3:\r\n            style = {\r\n              stroke: true,\r\n              color: '#AAFBC7',\r\n              weight: 1,\r\n              fill: true,\r\n              fillColor: '#AAFBC7',\r\n              fillOpacity: .3,\r\n              dashArray: '0'\r\n            };\r\n            break;\r\n\r\n          case usage.Count > (max / layers) * 3 && usage.Count <= ( max / layers) * 4:\r\n            style = {\r\n              stroke: true,\r\n              color: '#AAFBC7',\r\n              weight: 1.35,\r\n              fill: true,\r\n              fillColor: 'linearGradient(90deg, #AAFBC7 60%, #F2EA74)',\r\n              fillOpacity: .3,\r\n              dashArray: '0'\r\n            };\r\n            break;\r\n\r\n          case usage.Count > (max / layers ) * 4 && usage.Count <= ( max / layers) * 5:\r\n            style = {\r\n              stroke: true,\r\n              color: '#F2EA74',\r\n              weight: 1.3,\r\n              fill: true,\r\n              fillColor: '#F2EA74',\r\n              fillOpacity: .3,\r\n              dashArray: '0'\r\n            };\r\n            break;\r\n\r\n          case usage.Count > (max / layers ) * 5 && usage.Count <= ( max / layers) * 6:\r\n            style = {\r\n              stroke: true,\r\n              color: '#F2EA74',\r\n              weight: 1.75,\r\n              fill: true,\r\n              fillColor: 'linearGradient(90deg, #F2EA74 60%, #F3AE8F)',\r\n              fillOpacity: .3,\r\n              dashArray: '0'\r\n            };\r\n            break;\r\n\r\n          case usage.Count > (max / layers ) * 6 && usage.Count <= ( max / layers) * 7:\r\n            style = {\r\n              stroke: true,\r\n              color: '#F3AE8F',\r\n              weight: 2,\r\n              fill: true,\r\n              fillColor: '#F3AE8F',\r\n              fillOpacity: .3,\r\n              dashArray: '0'\r\n            };\r\n            break;\r\n\r\n          case usage.Count > (max / layers ) * 7 && usage.Count <= ( max / layers) * 8:\r\n            style = {\r\n              stroke: true,\r\n              color: '#F3AE8F',\r\n              weight: 2.35,\r\n              fill: true,\r\n              fillColor: 'linearGradient(90deg, #F3AE8F 60%, #ED6E94)',\r\n              fillOpacity: .3,\r\n              dashArray: '0'\r\n            };\r\n            break;\r\n\r\n          case usage.Count > (max / layers ) * 8 && usage.Count <= max:\r\n            style = {\r\n              stroke: true,\r\n              color: '#ED6E94',\r\n              weight: 2.3,\r\n              fill: true,\r\n              fillColor: '#ED6E94',\r\n              fillOpacity: .3,\r\n              dashArray: '0'\r\n            };\r\n            break;\r\n        }\r\n      }\r\n    });\r\n\r\n    return style;\r\n  }\r\n}\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'abm-legend',\r\n  templateUrl: './legend.component.html',\r\n  styleUrls: ['./legend.component.scss']\r\n})\r\nexport class LegendComponent {\r\n\r\n  /**\r\n   * Switch between large and small layouts\r\n   */\r\n  @Input()\r\n  @HostBinding('class.small')\r\n  small: boolean = false;\r\n}\r\n","<div class=\"legend-border\">\r\n  <div class=\"legend-inner\"></div>\r\n</div>\r\n\r\n<div class=\"labels\">\r\n  <div class=\"label-left\">Poor</div>\r\n  <div>Moderate</div>\r\n  <div class=\"label-right\">Good</div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'abm-loader',\r\n  templateUrl: './loader.component.html',\r\n  styleUrls: ['./loader.component.scss']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n\r\n  error: boolean = false;\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n    this.error = false;\r\n\r\n    setTimeout( () => {\r\n      this.error = true;\r\n    }, 5000)\r\n  }\r\n\r\n}\r\n","<div class=\"loader\" *ngIf=\"!error\"></div>\r\n<div class=\"no-data\" *ngIf=\"error\">No Data to Display</div>\r\n","import {Component, HostListener, Input, OnChanges, SimpleChanges} from '@angular/core';\r\nimport * as L from \"leaflet\";\r\nimport {GeoJsonObject} from \"geojson\";\r\nimport {Layer} from \"leaflet\";\r\nimport {StyleFactory} from \"../../shared/factory/style-factory\";\r\n\r\n@Component({\r\n  selector: 'abm-map',\r\n  templateUrl: './map.component.html',\r\n  styleUrls: ['./map.component.scss']\r\n})\r\nexport class MapComponent implements OnChanges {\r\n\r\n  /**\r\n   * Leaflet instance\r\n   */\r\n  private leaflet: any;\r\n\r\n  /**\r\n   * Leaflet layer to show map data\r\n   */\r\n  private mapLayer: any;\r\n\r\n  /**\r\n   * Leaflet layer to show floor plan data\r\n   */\r\n  private buildingLayer: any;\r\n\r\n  // colorFactory: ColorFactory = ColorFactory;\r\n\r\n  /**\r\n   * Show / hide leaflet map layer\r\n   * @type {boolean}\r\n   */\r\n  @Input()\r\n  showMap: boolean = true;\r\n\r\n  /**\r\n   * Show/hide map legend\r\n   * @type {boolean}\r\n   */\r\n  @Input()\r\n  showLegend: boolean = false;\r\n\r\n  /**\r\n   * Show/hide map controls\r\n   * @type {boolean}\r\n   */\r\n  @Input()\r\n  showControls: boolean = true;\r\n\r\n  /**\r\n   * GeoJson data used to render building floor plan\r\n   */\r\n  @Input()\r\n  buildingGeoJson: GeoJsonObject | null = null;\r\n\r\n  @Input()\r\n  loading: boolean = false;\r\n\r\n  /**\r\n   * Building usage analytics used to render heatmap on floor plan features\r\n   */\r\n  @Input()\r\n  usageAnalyticsJson: any;\r\n\r\n  /**\r\n   * Angular on change handler. Updates component based on property changes\r\n   * @param {SimpleChanges} changes\r\n   */\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    console.log(\"::: INSIDE MAP COMPONENT :::\", this.showMap, this.buildingGeoJson);\r\n    // Make sure leaflet is initialized before handling any changes\r\n    if (!this.leaflet) {\r\n      this.initLeaflet();\r\n    }\r\n\r\n    if(!this.mapLayer) {\r\n      this.renderMapLayer(this.showMap);\r\n    }\r\n\r\n    const buildingGeoJson = changes['buildingGeoJson'];\r\n    if (buildingGeoJson && buildingGeoJson.currentValue != buildingGeoJson.previousValue) {\r\n      this.renderFloor();\r\n    }\r\n\r\n    const usageAnalyticsJson = changes['usageAnalyticsJson'];\r\n    if (usageAnalyticsJson && usageAnalyticsJson.currentValue != usageAnalyticsJson.previousValue) {\r\n      this.renderAnalyticsData();\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Initialize leaflet map\r\n   */\r\n  private initLeaflet(): void {\r\n    this.leaflet = L.map('map', {\r\n      center: [39.8282, -98.5795],\r\n      zoom: 3,\r\n      zoomSnap: 0.01,\r\n      zoomControl: false\r\n    });\r\n\r\n    L.control.zoom({\r\n      position: 'bottomright'\r\n    }).addTo(this.leaflet);\r\n\r\n    this.leaflet.getRenderer(this.leaflet).options.padding = 100;\r\n  }\r\n\r\n  /**\r\n   * Create / destroy the leaflet map layer\r\n   * @param {boolean} show\r\n   */\r\n  private renderMapLayer(show: boolean) {\r\n    if (show) {\r\n      this.mapLayer = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\r\n        maxNativeZoom: 19,\r\n        maxZoom: 22,\r\n        minZoom: 3,\r\n        attribution: ''\r\n      });\r\n\r\n      this.mapLayer.addTo(this.leaflet);\r\n    } else if (this.mapLayer) {\r\n      this.mapLayer.remove(this.leaflet)\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Create the leaflet building layer using the geoJson provided.\r\n   */\r\n  private renderFloor() {\r\n    if (!this.leaflet) {\r\n      this.initLeaflet();\r\n    }\r\n\r\n    if (!this.buildingGeoJson) {\r\n      return;\r\n    }\r\n\r\n    if(this.buildingLayer) {\r\n      this.buildingLayer.removeFrom(this.leaflet);\r\n    }\r\n\r\n    this.buildingLayer = L.geoJSON(this.buildingGeoJson, {\r\n      style: {\r\n        stroke: true,\r\n        color: '#FFFFFF',\r\n        weight: .6,\r\n        fill: false,\r\n        dashArray: '1 1'\r\n      }\r\n    }).addTo(this.leaflet);\r\n\r\n    this.zoomToBuilding();\r\n  }\r\n\r\n  /**\r\n   * Render/display floor analytics data\r\n   */\r\n  private renderAnalyticsData() {\r\n    if (!this.buildingLayer || !this.usageAnalyticsJson) {\r\n      return;\r\n    }\r\n\r\n    // determine scale\r\n    const values = this.calculateScale();\r\n\r\n    this.buildingLayer.eachLayer((layer: Layer) => {\r\n      (layer as any).setStyle(StyleFactory.getStyle(layer, this.usageAnalyticsJson, values.min, values.max))\r\n    });\r\n  }\r\n\r\n  /**\r\n   * Find the highest value to use for the max values\r\n   * @returns {{min: number; max: number}}\r\n   */\r\n  private calculateScale() {\r\n    let values = {min: 50000, max: 0};\r\n\r\n    this.usageAnalyticsJson.forEach((item: any) => {\r\n      values.min = 0;\r\n      values.max = item.Count > values.max ? item.Count : values.max;\r\n    });\r\n\r\n    // console.log('values: ', values);\r\n\r\n    return values;\r\n  }\r\n\r\n  /**\r\n   * Zoom & Pan leaflet to display the building geojson within component bounds\r\n   */\r\n  @HostListener('window:resize')\r\n  zoomToBuilding() {\r\n    if (this.leaflet && this.buildingLayer) {\r\n      this.leaflet.fitBounds(this.buildingLayer.getBounds(), {padding: [2, 2]});\r\n    }\r\n  }\r\n}\r\n","<button class=\"btn-zoom\" (click)=\"zoomToBuilding()\" *ngIf=\"showControls\">Fit</button>\r\n\r\n<div class=\"map-container\">\r\n  <div class=\"map-frame\">\r\n    <div id=\"map\"></div>\r\n  </div>\r\n</div>\r\n\r\n<abm-legend class=\"legend\" *ngIf=\"showLegend\"></abm-legend>\r\n\r\n<abm-loader class=\"loader\" *ngIf=\"loading\"></abm-loader>\r\n\r\n<!-- || !usageAnalyticsJson.length -->\r\n","export const HeaderComponentStylesConst = {\r\n  DEFAULT: '',\r\n  SMART_ROUTING: 'smart-routing'\r\n}\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\nimport {HeaderComponentStylesConst} from \"./header.component.styles.const\";\r\n\r\n@Component({\r\n  selector: 'abm-header',\r\n  templateUrl: './header.component.html',\r\n  styleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent {\r\n\r\n  @Input()\r\n  section: string;\r\n\r\n @Input()\r\n  xtitle: string;\r\n\r\n  @HostBinding('class')\r\n\r\n  @Input()\r\n  style: string = HeaderComponentStylesConst.DEFAULT;\r\n}\r\n","<div class=\"header\">\r\n  <div class=\"section\">{{section}}</div>\r\n  <div class=\"xtitle\">{{xtitle}}</div>\r\n</div>\r\n","export const NavbarComponentStylesConst = {\r\n  DEFAULT: 'default',\r\n  SMART_ROUTING: 'smart-routing',\r\n}\r\n","export const ButtonComponentStylesConst = {\r\n  DEFAULT: '',\r\n  TEST: 'test'\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output} from '@angular/core';\r\nimport {ButtonComponentStylesConst} from \"./button.component.styles.const\";\r\n\r\n@Component({\r\n  selector: 'abm-button',\r\n  templateUrl: './button.component.html',\r\n  styleUrls: ['./button.component.scss']\r\n})\r\nexport class ButtonComponent {\r\n\r\n  /**\r\n   * Button style const\r\n   */\r\n  @Input()\r\n  @HostBinding('class')\r\n  style: string = ButtonComponentStylesConst.DEFAULT;\r\n\r\n  /**\r\n   * Label to display on button\r\n   */\r\n  @Input()\r\n  label: string = '';\r\n\r\n  /**\r\n   * Button click event\r\n   */\r\n  @Output()\r\n  clickEvent: EventEmitter<any> = new EventEmitter<any>();\r\n}\r\n","<button mat-flat-button class=\"button\"\r\n        [attr.aria-label]=\"label\"\r\n        (click)=\"clickEvent.emit($event)\">{{label}}</button>\r\n","import {\r\n  ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output,\r\n  SimpleChanges\r\n} from '@angular/core';\r\nimport {FormControl, Validators} from \"@angular/forms\";\r\nimport {map, startWith} from \"rxjs/operators\";\r\nimport {Observable} from \"rxjs\";\r\nimport {SelectItem} from \"../../shared/model/select-item\";\r\nimport {NavbarComponentStylesConst} from \"./nav-bar.component.styles.const\";\r\nimport {ApplyEvent} from \"./apply-event\";\r\nimport moment from 'moment';\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport { DateRange } from '../../shared/model/daterange';\r\nimport { filter } from \"rxjs/operators\";\r\n\r\n\r\n@Component({\r\n  selector: 'abm-nav-bar',\r\n  templateUrl: './nav-bar.component.html',\r\n  styleUrls: ['./nav-bar.component.scss']\r\n})\r\nexport class NavBarComponent {\r\n\r\n  /**\r\n   * Render as IAQ vs Smart Routing\r\n   */\r\n  @Input()\r\n  @HostBinding('class')\r\n  style: string = NavbarComponentStylesConst.DEFAULT;\r\n\r\n  /**\r\n   * Dispatch autocomplete events in real time or when the user clicks apply\r\n   * @type {boolean}\r\n   */\r\n  @Input()\r\n  realTime: boolean = true;\r\n\r\n  /**\r\n   * Site autocomplete from control\r\n   * @type {FormControl}\r\n   */\r\n  siteControl: FormControl = new FormControl('', Validators.required);\r\n\r\n  /**\r\n   * Facility autocomplete form control\r\n   * @type {FormControl}\r\n   */\r\n  facilityControl: FormControl = new FormControl('', Validators.required);\r\n\r\n  /**\r\n   * Level autocomplete form control\r\n   * @type {FormControl}\r\n   */\r\n  levelControl: FormControl = new FormControl('', Validators.required);\r\n\r\n\r\n  /**\r\n  * Vendor autocomplete form control\r\n  * @type {FormControl}\r\n  */\r\n  vendorControl: FormControl = new FormControl('', Validators.required);\r\n\r\n  /**\r\n   * Level autocomplete form control\r\n   * @type {FormControl}\r\n   */\r\n  roomTypeControl: FormControl = new FormControl('', Validators.required);\r\n\r\n  /**\r\n   * Level autocomplete form control\r\n   * @type {FormControl}\r\n   */\r\n  roomControl: FormControl = new FormControl('', Validators.required);\r\n\r\n  /**\r\n   * Options to show in the site autocomplete\r\n   */\r\n  @Input()\r\n  siteOptions: SelectItem[];\r\n\r\n  @Input()\r\n  // selectedTab: selectedTab;\r\n\r\n  /**\r\n   * Filtered site autocomplete dropdown options\r\n   */\r\n  siteFilteredOptions: Observable<SelectItem[]>;\r\n\r\n  /**\r\n   * Options to display in the facility autocomplete\r\n   */\r\n  @Input()\r\n  facilityOptions: SelectItem[];\r\n\r\n  /**\r\n   * Filtered facility autocomplete dropdown options\r\n   */\r\n  facilityFilteredOptions: Observable<SelectItem[]>;\r\n\r\n  /**\r\n   * Options to display in teh level autocomplete\r\n   */\r\n  @Input()\r\n  levelOptions: SelectItem[];\r\n\r\n  /**\r\n   * Filtered level autocomplete dropdown options\r\n   */\r\n  levelFilteredOptions: Observable<SelectItem[]>;\r\n\r\n  /**\r\n* Options to display in teh vendor autocomplete\r\n*/\r\n  @Input()\r\n  vendorOptions: SelectItem[];\r\n\r\n  /**\r\n   * Filtered level autocomplete dropdown options\r\n   */\r\n  vendorFilteredOptions: Observable<SelectItem[]>;\r\n\r\n  /**\r\n   * Filtered room type autocomplete dropdown options\r\n   */\r\n  roomTypeFilteredOptions: Observable<SelectItem[]>;\r\n\r\n  /**\r\n   * Options to display in the room type autocomplete\r\n   */\r\n  @Input()\r\n  roomTypeOptions: SelectItem[];\r\n\r\n  /**\r\n   * Filtered room autocomplete dropdown options\r\n   */\r\n  roomFilteredOptions: Observable<SelectItem[]>;\r\n\r\n  /**\r\n   * Options to display in the room autocomplete\r\n   */\r\n  @Input()\r\n  roomOptions: SelectItem[];\r\n\r\n  /**\r\n   * Site typeahead chang event\r\n   * @type {EventEmitter<SelectItem>}\r\n   */\r\n  @Output()\r\n  siteChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Facility typeahead chang event\r\n   * @type {EventEmitter<SelectItem>}\r\n   */\r\n  @Output()\r\n  facilityChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Level typeahead chang event\r\n   * @type {EventEmitter<SelectItem>}\r\n   */\r\n  @Output()\r\n  levelChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n * Vendor typeahead chang event\r\n * @type {EventEmitter<SelectItem>}\r\n */\r\n  @Output()\r\n  vendorChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Room type dropdown change event\r\n   */\r\n  @Output()\r\n  roomTypeChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Room autocomplete change event\r\n   * @type {EventEmitter<SelectItem>}\r\n   */\r\n  @Output()\r\n  roomChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Apply button click event\r\n   * @type {EventEmitter<ApplyEvent>}\r\n   */\r\n  @Output()\r\n  applyEvent: EventEmitter<ApplyEvent> = new EventEmitter<ApplyEvent>();\r\n\r\n  /**\r\n   * Currently selected site\r\n   */\r\n  selectedSite: SelectItem;\r\n  // showDatePicker : boolean = false\r\n\r\n  /**\r\n   * Currently selected facility\r\n   */\r\n  selectedFacility: SelectItem;\r\n\r\n  /**\r\n   * Currently selected level\r\n   */\r\n  selectedLevel: SelectItem;\r\n\r\n  /**\r\n   * Currently selected vendor\r\n   */\r\n  selectedVendor: SelectItem;\r\n\r\n  /**\r\n   * Currently selected level\r\n   */\r\n  selectedRoomType: SelectItem;\r\n\r\n  /**\r\n   * Currently selected level\r\n   */\r\n  \r\n  selectedRoom: SelectItem;\r\n\r\n  @Output() dateRangeSelected: EventEmitter<DateRange> = new EventEmitter<DateRange>();\r\n  dataForbuttons: any = [];\r\n  startDate: any;\r\n  endDate: any;\r\n  selectedTrendType: any = 'Day';\r\n  todaysDate: any;\r\n  showDatePicker: boolean \r\n\r\n   /**\r\n   * constructor\r\n   * @param cdr Angular ChangeDetectorRef\r\n   */\r\n  constructor(private cdr: ChangeDetectorRef , private router : Router ) {\r\n    this.todaysDate = moment(new Date()).format(\"YYYY-MM-DD\");// formatting todays date\r\n    this.startDate = moment(new Date()).subtract(2, 'day').format('YYYY-MM-DD');\r\n    this.endDate = moment(this.todaysDate).format('YYYY-MM-DD');\r\n    this.dataForbuttons = [{ name: \"Day\", value: \"Day\", key: 1 }, { name: \"PreviousWeek\", value: \"PreviousWeek\", key: 2 }, { name: \"CurrentWeek\", value: \"CurrentWeek\", key: 3 }, { name: \"PreviousMonth\", value: \"PreviousMonth\", key: 4 }, { name: \"CurrentMonth\", value: \"CurrentMonth\", key: 5 }, { name: \"Range\", value: \"Range\", key: 6 }]\r\n    this.router.events\r\n    .pipe(filter((event: any) => event instanceof NavigationEnd))\r\n    .subscribe((event: { url: any }) => {\r\n      if (\r\n        event.url === \"/alerts\"   \r\n      ) {\r\n       this.showDatePicker = false\r\n      }else{\r\n       this.showDatePicker = false\r\n\r\n      }\r\n     \r\n    });\r\n  }\r\n\r\n  /**\r\n   * Angular onInit handler\r\n   */\r\n  ngOnInit() {\r\n    this.siteFilteredOptions = this.siteControl.valueChanges.pipe(\r\n      startWith('' as any),\r\n      map(value => this.filter(value as SelectItem | string, this.siteOptions))\r\n    );\r\n\r\n    this.facilityFilteredOptions = this.facilityControl.valueChanges.pipe(\r\n      startWith('' as any),\r\n      map(value => this.filter(value as SelectItem | string, this.facilityOptions))\r\n    );\r\n\r\n    this.levelFilteredOptions = this.levelControl.valueChanges.pipe(\r\n      startWith('' as any),\r\n      map(value => this.filter(value as SelectItem | string, this.levelOptions))\r\n    );\r\n\r\n    this.vendorFilteredOptions = this.vendorControl.valueChanges.pipe(\r\n      startWith('' as any),\r\n      map(value => this.filter(value as SelectItem | string, this.vendorOptions))\r\n    );\r\n\r\n    this.roomTypeFilteredOptions = this.roomTypeControl.valueChanges.pipe(\r\n      startWith('' as any),\r\n      map(value => this.filter(value as SelectItem | string, this.roomTypeOptions))\r\n    );\r\n\r\n    this.roomFilteredOptions = this.roomControl.valueChanges.pipe(\r\n      startWith('' as any),\r\n      map(value => this.filter(value as SelectItem | string, this.roomOptions))\r\n    );\r\n  }\r\n\r\n  /**\r\n   * Angular change handler\r\n   * @param {SimpleChanges} changes\r\n   */\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    const siteOptions = changes['siteOptions'];\r\n    if (siteOptions && siteOptions.currentValue != siteOptions.previousValue) {\r\n      console.log(\"::: SITE OPTIONS ARE :\",this.siteOptions);\r\n      this.selectedSite = this.siteOptions[0];\r\n      this.siteControl.setValue(this.siteOptions[0]);\r\n    }\r\n\r\n    const facilityOptions = changes['facilityOptions'];\r\n    if (facilityOptions && facilityOptions.currentValue != facilityOptions.previousValue) {\r\n      this.selectedFacility = this.facilityOptions[0];\r\n      this.facilityControl.setValue(this.facilityOptions[0]);\r\n    }\r\n\r\n    const levelOptions = changes['levelOptions'];\r\n    if (levelOptions && levelOptions.currentValue != levelOptions.previousValue) {\r\n      this.selectedLevel = this.levelOptions[0];\r\n      this.levelControl.setValue(this.levelOptions[0]);\r\n    }\r\n\r\n    const vendorOptions = changes['vendorOptions'];\r\n    if (vendorOptions && vendorOptions.currentValue != vendorOptions.previousValue) {\r\n      this.selectedVendor = this.vendorOptions[0];\r\n      this.vendorControl.setValue(this.vendorOptions[0]);\r\n    }\r\n\r\n    const roomTypeOptions = changes['roomTypeOptions'];\r\n    if (roomTypeOptions && roomTypeOptions.currentValue != roomTypeOptions.previousValue) {\r\n      this.selectedRoomType = this.roomTypeOptions[0];\r\n      this.roomTypeControl.setValue(this.roomTypeOptions[0]);\r\n    }\r\n\r\n    const roomOptions = changes['roomOptions'];\r\n    if (roomOptions && roomOptions.currentValue != roomOptions.previousValue) {\r\n      this.selectedRoom = this.roomOptions[0];\r\n      this.roomControl.setValue(this.roomOptions[0]);\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Filter options based on user input\r\n   * @param {string} value\r\n   * @param {string[]} origOptions\r\n   * @returns {string[]}\r\n   * @private\r\n   */\r\n  private filter(value: string | SelectItem, origOptions: SelectItem[]): SelectItem[] {\r\n    if (!value) {\r\n      return origOptions;\r\n    }\r\n\r\n    let val = typeof (value) === 'string' ? (value as string).toLowerCase() : (value as SelectItem).name.toLowerCase();\r\n\r\n    return origOptions.filter(option => {\r\n      return option.name.toLowerCase().includes(val);\r\n    });\r\n  }\r\n\r\n  /**\r\n   * Autocomplete display label function\r\n   * @param {SelectItem} value\r\n   * @returns {string}\r\n   */\r\n  displayFn(value: SelectItem): string {\r\n    return value ? value.name : '';\r\n  }\r\n\r\n  /**\r\n   * AutoComplete change handler. Sets selected* and dispatches event\r\n   * @param event\r\n   * @param category\r\n   * @param item\r\n   * @param target\r\n   */\r\n  autocompleteChange(event: EventEmitter<any>, category: string, item: SelectItem, target: any) {\r\n\r\n    switch (category) {\r\n      case 'site':\r\n        this.selectedSite = item;\r\n        break;\r\n\r\n      case 'facility':\r\n        this.selectedFacility = item;\r\n        break;\r\n\r\n      case 'level':\r\n        this.selectedLevel = item;\r\n        break\r\n\r\n      case 'vendor':\r\n        this.selectedVendor = item;\r\n        break;\r\n\r\n      case 'roomType':\r\n        this.selectedRoomType = item;\r\n        break;\r\n\r\n      case 'room':\r\n        this.selectedRoom = item;\r\n        break;\r\n    }\r\n\r\n    event.emit(item);\r\n    target.blur();\r\n  }\r\n\r\n  autocompleteOpened(target: any) {\r\n    target.value = null;\r\n    this.ngOnInit();\r\n  }\r\n\r\n  autocompleteClosed( target: any, resetValue: string) {\r\n    // console.log('autocompleteClosed: ', target.value)\r\n    if(target.value == '') {\r\n      target.value = resetValue;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Apply button click handler. Emit's applyEvent\r\n   */\r\n  apply() {\r\n    this.applyEvent.emit({\r\n      site: this.selectedSite,\r\n      facility: this.selectedFacility,\r\n      level: this.selectedLevel,\r\n      vendor: this.selectedVendor\r\n    })\r\n  }\r\n\r\n  emitDateRange() {\r\n    if (this.startDate && this.endDate) {\r\n      this.startDate = moment(this.startDate).format('YYYY-MM-DD');\r\n      this.endDate = moment(this.endDate).format('YYYY-MM-DD');\r\n      this.dateRangeSelected.emit({ startDate: this.startDate, endDate: this.endDate });\r\n    }\r\n  }\r\n}\r\n","<div class=\"col-dropdown\" *ngIf=\"siteOptions?.length\">\r\n  <div class=\"lbl-dropdown\">SITES</div>\r\n  <input #siteValue class=\"input-dropdown\"\r\n         matInput\r\n         type=\"text\"\r\n         placeholder=\"Select\"\r\n         aria-label=\"String\"\r\n         autocomplete=\"off\"\r\n         [formControl]=\"siteControl\"\r\n         [matAutocomplete]=\"auto\">\r\n  <mat-autocomplete [class]=\"style\" #auto=\"matAutocomplete\"\r\n                    [autoActiveFirstOption]=\"true\"\r\n                    (optionSelected)=\"autocompleteChange(siteChangeEvent, 'site', $event.option.value, siteValue)\"\r\n                    (opened)=\"autocompleteOpened(siteValue)\"\r\n                    (closed)=\"autocompleteClosed(siteValue, selectedSite.name)\"\r\n                    [displayWith]=\"displayFn\"\r\n                    [classList]=\"style\">\r\n    <mat-option *ngFor=\"let option of siteFilteredOptions | async\" [value]=\"option\">\r\n      {{option.name}}\r\n    </mat-option>\r\n  </mat-autocomplete>\r\n  <div class=\"caret\"></div>\r\n</div>\r\n\r\n<div class=\"col-dropdown\" *ngIf=\"facilityOptions?.length\">\r\n  <div class=\"lbl-dropdown\">FACILITY</div>\r\n  <input #facilityValue class=\"input-dropdown\"\r\n         id=\"xyz123\"\r\n         name=\"xyz123\"\r\n         type=\"text\"\r\n         placeholder=\"Select\"\r\n         aria-label=\"String\"\r\n         matInput\r\n         autocomplete=\"off\"\r\n         [formControl]=\"facilityControl\"\r\n         [matAutocomplete]=\"auto\">\r\n  <mat-autocomplete #auto=\"matAutocomplete\"\r\n                    [class]=\"style\"\r\n                    [classList]=\"style\"\r\n                    [autoActiveFirstOption]=\"true\"\r\n                    (optionSelected)=\"autocompleteChange(facilityChangeEvent, 'facility', $event.option.value, facilityValue)\"\r\n                    (opened)=\"autocompleteOpened(facilityValue)\"\r\n                    (closed)=\"autocompleteClosed(facilityValue, selectedFacility.name)\"\r\n                    [displayWith]=\"displayFn\">\r\n    <mat-option *ngFor=\"let option of facilityFilteredOptions | async\" [value]=\"option\">\r\n      {{option.name}}\r\n    </mat-option>\r\n  </mat-autocomplete>\r\n  <div class=\"caret\"></div>\r\n</div>\r\n\r\n<div class=\"col-dropdown\" *ngIf=\"levelOptions?.length\">\r\n  <div class=\"lbl-dropdown\">LEVEL</div>\r\n  <input #levelValue class=\"input-dropdown\"\r\n         type=\"text\"\r\n         placeholder=\"Select\"\r\n         aria-label=\"String\"\r\n         matInput\r\n         autocomplete=\"off\"\r\n         [formControl]=\"levelControl\"\r\n         [matAutocomplete]=\"auto\">\r\n  <mat-autocomplete #auto=\"matAutocomplete\"\r\n                    [class]=\"style\"\r\n                    [classList]=\"style\"\r\n                    [autoActiveFirstOption]=\"true\"\r\n                    (optionSelected)=\"autocompleteChange(levelChangeEvent, 'level', $event.option.value, levelValue)\"\r\n                    (opened)=\"autocompleteOpened(levelValue)\"\r\n                    (closed)=\"autocompleteClosed(levelValue, selectedLevel.name)\"\r\n                    [displayWith]=\"displayFn\">\r\n    <mat-option *ngFor=\"let option of levelFilteredOptions | async\" [value]=\"option\">\r\n      {{option.name}}\r\n    </mat-option>\r\n  </mat-autocomplete>\r\n  <div class=\"caret\"></div>\r\n</div>\r\n\r\n<div class=\"col-dropdown\" *ngIf=\"vendorOptions?.length\">\r\n  <div class=\"lbl-dropdown\">VENDOR</div>\r\n  <input #vendorValue class=\"input-dropdown\" type=\"text\" placeholder=\"Select\" aria-label=\"String\" matInput\r\n    autocomplete=\"off\" [formControl]=\"vendorControl\" [matAutocomplete]=\"auto\">\r\n  <mat-autocomplete #auto=\"matAutocomplete\" [class]=\"style\" [classList]=\"style\" [autoActiveFirstOption]=\"true\"\r\n    (optionSelected)=\"autocompleteChange(vendorChangeEvent, 'vendor', $event.option.value, vendorValue)\"\r\n    (opened)=\"autocompleteOpened(vendorValue)\" (closed)=\"autocompleteClosed(vendorValue, selectedVendor.name)\"\r\n    [displayWith]=\"displayFn\">\r\n    <mat-option *ngFor=\"let option of vendorFilteredOptions | async\" [value]=\"option\">\r\n      {{option.name}}\r\n    </mat-option>\r\n  </mat-autocomplete>\r\n  <div class=\"caret\"></div>\r\n</div>\r\n\r\n<div class=\"col-dropdown\" *ngIf=\"roomTypeOptions?.length\">\r\n  <div class=\"lbl-dropdown\">ROOM TYPE</div>\r\n  <input #roomTypeValue class=\"input-dropdown\"\r\n         type=\"text\"\r\n         placeholder=\"Select\"\r\n         aria-label=\"String\"\r\n         matInput\r\n         autocomplete=\"off\"\r\n         [formControl]=\"roomTypeControl\"\r\n         [matAutocomplete]=\"auto\">\r\n  <mat-autocomplete #auto=\"matAutocomplete\"\r\n                    [class]=\"style\"\r\n                    [classList]=\"style\"\r\n                    [autoActiveFirstOption]=\"true\"\r\n                    (optionSelected)=\"autocompleteChange(roomTypeChangeEvent, 'roomType', $event.option.value, roomTypeValue)\"\r\n                    (opened)=\"autocompleteOpened(roomTypeValue)\"\r\n                    (closed)=\"autocompleteClosed(roomTypeValue, selectedRoomType.name)\"\r\n                    [displayWith]=\"displayFn\">\r\n    <mat-option *ngFor=\"let option of roomTypeFilteredOptions | async\" [value]=\"option\">\r\n      {{option.name}}\r\n    </mat-option>\r\n  </mat-autocomplete>\r\n  <div class=\"caret\"></div>\r\n</div>\r\n\r\n<div class=\"col-dropdown\" *ngIf=\"roomOptions?.length\">\r\n  <div class=\"lbl-dropdown\">ROOM</div>\r\n  <input #roomValue class=\"input-dropdown\"\r\n         type=\"text\"\r\n         placeholder=\"Select\"\r\n         aria-label=\"String\"\r\n         matInput\r\n         autocomplete=\"off\"\r\n         [formControl]=\"roomControl\"\r\n         [matAutocomplete]=\"auto\">\r\n  <mat-autocomplete #auto=\"matAutocomplete\"\r\n                    [class]=\"style\"\r\n                    [classList]=\"style\"\r\n                    [autoActiveFirstOption]=\"true\"\r\n                    (optionSelected)=\"autocompleteChange(roomChangeEvent, 'room', $event.option.value, roomValue)\"\r\n                    (opened)=\"autocompleteOpened(roomValue)\"\r\n                    (closed)=\"autocompleteClosed(roomValue, selectedRoom.name)\"\r\n                    [displayWith]=\"displayFn\">\r\n    <mat-option *ngFor=\"let option of roomFilteredOptions | async\" [value]=\"option\">\r\n      {{option.name}}\r\n    </mat-option>\r\n  </mat-autocomplete>\r\n  <div class=\"caret\"></div>\r\n</div>\r\n\r\n<div  class=\"col-dropdown\" *ngIf = \"showDatePicker\">\r\n  <div class=\"labelDate\">Date Range</div>\r\n  <div  class=\"date-picker-container\">\r\n    <div style=\"margin: 0 15px;display: flex;\" >\r\n      <mat-date-range-input [rangePicker]=\"picker\" [max]=\"todaysDate\">\r\n        <input matStartDate [(ngModel)]=\"startDate\">  \r\n        <input matEndDate [(ngModel)]=\"endDate\" (dateChange)=\"emitDateRange()\">>\r\n      </mat-date-range-input>\r\n      <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n      <mat-date-range-picker #picker></mat-date-range-picker>\r\n  </div>\r\n  </div>\r\n</div>\r\n\r\n<abm-button label=\"Apply\" class=\"btn-apply\" (clickEvent)=\"apply()\"></abm-button>\r\n","export class ColorFactory {\r\n  static layers: number = 9;\r\n\r\n  static max: number = 100;\r\n\r\n  static getColor(value: any, gradient: boolean = true) {\r\n    switch (true) {\r\n      case value <= (this.max / this.layers):\r\n        return '#81DDFB';\r\n\r\n      case value > (this.max / this.layers) && value <= (this.max / this.layers) * 2:\r\n        return gradient ? 'linear-gradient(45deg, #81DDFB 60%, #AAFBC7)' : '#81DDFB';\r\n\r\n      case value > (this.max / this.layers ) * 2 && value <= ( this.max / this.layers) * 3:\r\n        return '#AAFBC7';\r\n\r\n      case value > (this.max / this.layers ) * 3 && value <= ( this.max / this.layers) * 4:\r\n        return gradient ? 'linear-gradient(45deg, #AAFBC7 60%, #F2EA74)' : '#AAFBC7';\r\n\r\n      case value > (this.max / this.layers ) * 4 && value <= ( this.max / this.layers) * 5:\r\n        return '#F2EA74';\r\n\r\n      case value > (this.max / this.layers ) * 5 && value <= ( this.max / this.layers) * 6:\r\n        return gradient ? 'linear-gradient(45deg, #F2EA74 60%, #F3AE8F)' : '#F2EA74';\r\n\r\n      case value > (this.max / this.layers ) * 6 && value <= ( this.max / this.layers) * 7:\r\n        return '#F3AE8F';\r\n\r\n      case value > (this.max / this.layers ) * 7 && value <= ( this.max / this.layers) * 8:\r\n        return gradient ? 'linear-gradient(45deg, #F3AE8F 60%, #ED6E94)' : '#F3AE8F';\r\n\r\n      case value > (this.max / this.layers ) * 8 && value <= this.max:\r\n        return '#ED6E94';\r\n\r\n      default:\r\n        return 'green'\r\n    }\r\n  }\r\n\r\n  static getColorInverse(value: any, gradient: boolean = true) {\r\n    switch (true) {\r\n      case value <= (this.max / this.layers):\r\n        return '#ED6E94';\r\n\r\n      case value > (this.max / this.layers) && value <= (this.max / this.layers) * 2:\r\n        return gradient ? 'linear-gradient(45deg, #F3AE8F 60%, #ED6E94)' : '#F3AE8F';\r\n\r\n      case value > (this.max / this.layers ) * 2 && value <= ( this.max / this.layers) * 3:\r\n        return '#F3AE8F';\r\n\r\n      case value > (this.max / this.layers ) * 3 && value <= ( this.max / this.layers) * 4:\r\n        return gradient ? 'linear-gradient(45deg, #F2EA74 60%, #F3AE8F)' : '#F2EA74';\r\n\r\n      case value > (this.max / this.layers ) * 4 && value <= ( this.max / this.layers) * 5:\r\n        return '#F2EA74';\r\n\r\n      case value > (this.max / this.layers ) * 5 && value <= ( this.max / this.layers) * 6:\r\n        return gradient ? 'linear-gradient(45deg, #AAFBC7 60%, #F2EA74)' : '#AAFBC7';\r\n\r\n      case value > (this.max / this.layers ) * 6 && value <= ( this.max / this.layers) * 7:\r\n        return '#AAFBC7';\r\n\r\n      case value > (this.max / this.layers ) * 7 && value <= ( this.max / this.layers) * 8:\r\n        return gradient ? 'linear-gradient(45deg, #81DDFB 60%, #AAFBC7)' : '#81DDFB';\r\n\r\n      case value > (this.max / this.layers ) * 8 && value <= this.max:\r\n        return '#81DDFB';\r\n\r\n      default:\r\n        return 'green'\r\n    }\r\n  }\r\n}\r\n","import {Component, Input, OnChanges, SimpleChanges} from '@angular/core';\r\nimport {ColorFactory} from \"../../shared/factory/color-factory\";\r\nimport {UsageArea} from \"../../shared/model/usage-area\";\r\n\r\n@Component({\r\n  selector: 'abm-box',\r\n  templateUrl: './box.component.html',\r\n  styleUrls: ['./box.component.scss']\r\n})\r\nexport class BoxComponent {\r\n\r\n  /**\r\n   * Usage value to display to user\r\n   */\r\n  @Input()\r\n  usage: UsageArea;\r\n\r\n  /**\r\n   * Factory used to determine color based on bar value\r\n   * @type {ColorFactory}\r\n   */\r\n  colorFactory = ColorFactory;\r\n\r\n  // ngOnChanges(simpleChange: SimpleChanges) {\r\n  //   console.log('simpleChange: ', simpleChange);\r\n  // }\r\n}\r\n","<div class=\"usage\">\r\n  <div class=\"usage-inner\">\r\n    <div class=\"lbl\">{{usage.name.replace('_', ' ')}}</div>\r\n    <div class=\"percent\" [style.color]=\"colorFactory.getColor(usage.percentage, false)\">{{usage.percentage}}%</div>\r\n  </div>\r\n</div>\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\nimport {ColorFactory} from \"../../shared/factory/color-factory\";\r\nimport {UsageRange} from \"../../shared/model/usage-range\";\r\n\r\n@Component({\r\n  selector: 'abm-barchart',\r\n  templateUrl: './barchart.component.html',\r\n  styleUrls: ['./barchart.component.scss']\r\n})\r\nexport class BarchartComponent {\r\n\r\n  /**\r\n   * Display in small/large mode\r\n   * @type {boolean}\r\n   */\r\n  @Input()\r\n  @HostBinding('class.small')\r\n  small: boolean = false;\r\n\r\n  /**\r\n   * Data used to render the barchart\r\n   */\r\n  @Input()\r\n  data: UsageRange[];\r\n\r\n  /**\r\n   * Show bar as gradient or solid color\r\n   * @type {boolean}\r\n   */\r\n  @Input()\r\n  gradientBar: boolean = true;\r\n\r\n  /**\r\n   * Factory used to determine color based on bar value\r\n   * @type {ColorFactory}\r\n   */\r\n  colorFactory = ColorFactory;\r\n\r\n  /**\r\n   * Display as date 'M/d' (false) or as time 'h:mm a' (true)\r\n   * @type {boolean}\r\n   */\r\n  @Input()\r\n  @HostBinding('class.time')\r\n  showTime: boolean = false;\r\n\r\n  @Input()\r\n  dateAsString: boolean = false;\r\n\r\n  @Input()\r\n  loading: boolean = false;\r\n}\r\n","<ng-container *ngIf=\"!loading && data.length\">\r\n  <div class=\"top\">\r\n    <div class=\"rowz\">\r\n      <div class=\"lbl\"></div>\r\n    </div>\r\n\r\n    <div class=\"rowz\" *ngFor=\"let value of data\">\r\n      <div class=\"lbl\">{{value.Hour_12}}</div>\r\n      <!-- <div class=\"lbl\" *ngIf=\"dateAsString\">12:00 PM</div> -->\r\n      <div class=\"bar-container\">\r\n        <div class=\"bar\" [style.width.%]=\"value.UsagePercentage\"\r\n          [style.background]=\"colorFactory.getColor(value.UsagePercentage, gradientBar)\"></div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"rowz\">\r\n      <div class=\"lbl\"></div>\r\n      <div class=\"line\"></div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"scale\">\r\n    <div class=\"scale-lbl\">0%</div>\r\n    <div class=\"scale-line\"></div>\r\n    <div class=\"scale-lbl\">100%</div>\r\n  </div>\r\n\r\n</ng-container>\r\n\r\n<abm-loader *ngIf=\"loading || !data.length\" class=\"loader\"></abm-loader>\r\n","import {Component, HostBinding, EventEmitter, Input, Output} from '@angular/core';\r\nimport {HeatmapComponentStylesConst} from \"./heatmap.component.styles.const\";\r\nimport {SelectItem} from \"../../shared/model/select-item\";\r\nimport {UsageArea} from \"../../shared/model/usage-area\";\r\nimport {UsageRange} from \"../../shared/model/usage-range\";\r\nimport {ApplyEvent} from \"./apply-event\";\r\n\r\n@Component({\r\n  selector: 'abm-heatmap',\r\n  templateUrl: './heatmap.component.html',\r\n  styleUrls: ['./heatmap.component.scss']\r\n})\r\nexport class HeatmapComponent {\r\n\r\n  /**\r\n   * Which style to display, IAQ or SmartRouting\r\n   */\r\n  @HostBinding('class')\r\n  @Input()\r\n  style: string = HeatmapComponentStylesConst.SMART_ROUTING;\r\n\r\n  /**\r\n   * Usage data to display\r\n   */\r\n  @Input()\r\n  usageData: UsageArea[];\r\n\r\n  /**\r\n   * Weekly data to display\r\n   */\r\n  @Input()\r\n  weeklyData: UsageRange[];\r\n\r\n  /**\r\n   * Geojson used to render facility level\r\n   */\r\n  @Input()\r\n  facilityGeoJson: any;\r\n\r\n  /**\r\n   * Facility usage/sensor data\r\n   */\r\n  @Input()\r\n  usageAnalyticsJson: any;\r\n\r\n  /**\r\n   * Options to display in facility autocomplete\r\n   */\r\n  @Input()\r\n  facilityOptions: SelectItem[];\r\n\r\n  /**\r\n   * Options to display in site autocomplete\r\n   */\r\n  @Input()\r\n  siteOptions: SelectItem[];\r\n\r\n  /**\r\n   * Options to display in level autocomplete\r\n   */\r\n  @Input()\r\n  levelOptions: SelectItem[];\r\n\r\n  @Input()\r\n  loading: boolean = false;\r\n\r\n  /**\r\n   * Site autocomplete chang event\r\n   * @type {EventEmitter<SelectItem>}\r\n   */\r\n  @Output()\r\n  siteChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Facility autocomplete chang event\r\n   * @type {EventEmitter<SelectItem>}\r\n   */\r\n  @Output()\r\n  facilityChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Level autocomplete chang event\r\n   * @type {EventEmitter<SelectItem>}\r\n   */\r\n  @Output()\r\n  levelChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Apply button click event\r\n   */\r\n  @Output()\r\n  applyEvent: EventEmitter<ApplyEvent> = new EventEmitter<ApplyEvent>();\r\n}\r\n","<div class=\"map-container\">\r\n  <abm-map class=\"map\" [loading]=\"loading\" [buildingGeoJson]=\"facilityGeoJson\" [usageAnalyticsJson]=\"usageAnalyticsJson\"></abm-map>\r\n  <div class=\"radial-gradient\"></div>\r\n</div>\r\n\r\n<div class=\"content\">\r\n  <abm-header class=\"smart-routing page-header\" section=\"SMART ROUTING DASHBOARD\" xtitle=\"Floor Heatmap\"></abm-header>\r\n\r\n  <div class=\"nav-bar-container\">\r\n    <abm-nav-bar #navBar class=\"nav-bar\"\r\n                 [style]=\"'smart-routing'\"\r\n                 [siteOptions]=\"siteOptions\"\r\n                 [facilityOptions]=\"facilityOptions\"\r\n                 [levelOptions]=\"levelOptions\"\r\n                 (siteChangeEvent)=\"siteChangeEvent.emit($event)\"\r\n                 (facilityChangeEvent)=\"facilityChangeEvent.emit($event)\"\r\n                 (levelChangeEvent)=\"levelChangeEvent.emit($event)\"\r\n                 (applyEvent)=\"applyEvent.emit($event)\"\r\n                 [realTime]=\"true\"\r\n    ></abm-nav-bar>\r\n    <div *ngIf=\"style != 'smart-routing'\" class=\"selected-facility-level\">{{navBar.selectedFacility?.name}} - {{navBar.selectedLevel?.name}}</div>\r\n  </div>\r\n\r\n  <div class=\"usage-container\">\r\n    <ng-container *ngFor=\"let item of usageData\">\r\n      <abm-box class=\"usage\" [usage]=\"item\"></abm-box>\r\n    </ng-container>\r\n  </div>\r\n\r\n  <div class=\"bottomz\">\r\n    <div class=\"barchart-container\">\r\n      <div class=\"barchart-lbl\">USAGE % BY WEEK</div>\r\n      <abm-barchart class=\"barchart\" [data]=\"weeklyData\"></abm-barchart>\r\n    </div>\r\n  </div>\r\n\r\n  <abm-legend class=\"legend\"></abm-legend>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {LoaderComponent} from \"./loader.component\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    LoaderComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    LoaderComponent\r\n  ]\r\n})\r\nexport class AbmLoaderModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {BarchartComponent} from \"./barchart.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmLoaderModule} from \"../../components/loader/loader.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    BarchartComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmLoaderModule\r\n  ],\r\n  exports: [\r\n    BarchartComponent\r\n  ]\r\n})\r\nexport class AbmBarChartModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {LegendComponent} from \"./legend.component\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    LegendComponent\r\n  ],\r\n  imports: [\r\n\r\n  ],\r\n  exports: [\r\n    LegendComponent\r\n  ]\r\n})\r\nexport class AbmLegendModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {BoxComponent} from \"./box.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    BoxComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    BoxComponent\r\n  ]\r\n})\r\nexport class AbmBoxModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {MapComponent} from \"./map.component\";\r\nimport {AbmLegendModule} from \"../../charts/legend/legend.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmLoaderModule} from \"../loader/loader.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    MapComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmLegendModule,\r\n    AbmLoaderModule\r\n  ],\r\n  exports: [\r\n    MapComponent\r\n  ]\r\n})\r\nexport class AbmMapModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {ButtonComponent} from \"./button.component\";\r\nimport {MatButtonModule} from \"@angular/material/button\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    ButtonComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    MatButtonModule\r\n  ],\r\n  exports: [\r\n    ButtonComponent\r\n  ]\r\n})\r\nexport class AbmButtonModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {NavBarComponent} from \"./nav-bar.component\";\r\nimport {MatAutocompleteModule} from \"@angular/material/autocomplete\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {MatButtonModule} from \"@angular/material/button\";\r\nimport {MatInputModule} from \"@angular/material/input\";\r\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {AbmButtonModule} from \"../../components/button/button.module\";\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    NavBarComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n    AbmButtonModule,\r\n    MatButtonModule,\r\n    MatInputModule,\r\n    MatFormFieldModule,\r\n    MatAutocompleteModule,\r\n    MatFormFieldModule,\r\n    MatDatepickerModule,\r\n    MatNativeDateModule,\r\n  ],\r\n  exports: [\r\n    NavBarComponent\r\n  ]\r\n})\r\nexport class AbmNavBarModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {HeaderComponent} from \"./header.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    HeaderComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    HeaderComponent\r\n  ]\r\n})\r\nexport class AbmHeaderModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {HeatmapComponent} from \"./heatmap.component\";\r\nimport {AbmBarChartModule} from \"../../charts/barchart/barchart.module\";\r\nimport {AbmLegendModule} from \"../../charts/legend/legend.module\";\r\nimport {AbmBoxModule} from \"../../components/box/box.module\";\r\nimport {AbmMapModule} from \"../../components/map/map.module\";\r\nimport {AbmNavBarModule} from \"../../navigation/nav-bar/nav-bar.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmHeaderModule} from \"../../panels/header/header.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    HeatmapComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmBarChartModule,\r\n    AbmLegendModule,\r\n    AbmMapModule,\r\n    AbmBoxModule,\r\n    AbmNavBarModule,\r\n    AbmHeaderModule\r\n  ],\r\n  exports: [\r\n    HeatmapComponent\r\n  ]\r\n})\r\nexport class AbmHeatmapModule {\r\n}\r\n","export const PanelComponentStylesConst = {\r\n  DEFAULT: '',\r\n  SMART_ROUTING: 'smart-routing'\r\n}\r\n","import {Component, HostBinding, Input, OnInit, SimpleChanges} from '@angular/core';\r\nimport {PanelComponentStylesConst} from \"./panel.component.styles.const\";\r\n\r\n@Component({\r\n  selector: 'abm-panel',\r\n  templateUrl: './panel.component.html',\r\n  styleUrls: ['./panel.component.scss']\r\n})\r\nexport class PanelComponent {\r\n\r\n  /**\r\n   * xtitle to display in the panel\r\n   */\r\n  @Input()\r\n  xtitle: string;\r\n\r\n  @HostBinding('class')\r\n  @Input()\r\n  style: string = PanelComponentStylesConst.DEFAULT;\r\n\r\n  @Input()\r\n  loading: boolean = false;\r\n}\r\n","<div class=\"header\" *ngIf=\"xtitle\">\r\n  <div class=\"xtitle\">{{xtitle}}</div>\r\n  <ng-content class=\"header-content\" select=\"[headerContent]\"></ng-content>\r\n</div>\r\n<div class=\"body-container\" [style.visibility]=\"loading ? 'hidden' : 'visible'\">\r\n  <ng-content class=\"body-content\" select=\"[bodyContent]\" ></ng-content>\r\n</div>\r\n\r\n<abm-loader class=\"loader\" *ngIf=\"loading\"></abm-loader>\r\n","export const PanelRoomsComponentStylesConst = {\r\n    DEFAULT: 'default',\r\n    SMART_ROUTING: 'smart-routing',\r\n  }","import {Component, Input, HostBinding} from '@angular/core';\r\nimport {PanelRoomsComponentStylesConst} from './panel-rooms.component.styles.const';\r\nimport {RoomBreakout} from \"../../shared/model/room-breakout\";\r\n\r\n@Component({\r\n  selector: 'abm-panel-rooms',\r\n  templateUrl: './panel-rooms.component.html',\r\n  styleUrls: ['./panel-rooms.component.scss']\r\n})\r\nexport class PanelRoomsComponent {\r\n\r\n  /**\r\n   * Render as IAQ vs Smart Routing\r\n   */\r\n  @Input()\r\n  @HostBinding('class')\r\n  style: string = PanelRoomsComponentStylesConst.DEFAULT;\r\n\r\n  /**\r\n   * Room Breakout data used to populate this component\r\n   */\r\n  @Input()\r\n  data: RoomBreakout;\r\n\r\n  /**\r\n   * Color to use when displaying the chart\r\n   */\r\n  @Input()\r\n  chartColor: string = 'white'\r\n\r\n  /**\r\n   * Color to use when displaying the chart\r\n   */\r\n  @Input()\r\n  roomsLabel: string = 'Rooms'\r\n\r\n  /**\r\n   * Color to use when displaying the chart\r\n   */\r\n  @Input()\r\n  trendLabel: string = 'Trend'\r\n\r\n  @Input()\r\n  loading: boolean = false;\r\n}\r\n","<div class=\"left\">\r\n  <div class=\"l-top\">\r\n    <div class=\"trend-value\">\r\n      <div class=\"trend-value-lbl\">{{data?.trend}}</div>\r\n      <div class=\"trend-value-arrow\" [class]=\"data?.arrowDirection\"></div>\r\n    </div>\r\n    <div class=\"trend-lbl\">{{trendLabel}}</div>\r\n  </div>\r\n\r\n  <div class=\"l-bottom\">\r\n    <div *ngFor=\"let bar of data?.chartData\" class=\"bar\"\r\n      [style.height.px]=\"bar\"\r\n      [style.background-color]=\"chartColor\"\r\n      [style.border-color]=\"chartColor\"\r\n      ></div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"right\" >\r\n  <div class=\"r-top\" *ngIf=\"!loading\" [style.color]=\"chartColor\">{{data?.rooms}}</div>\r\n  <div class=\"r-rooms\" *ngIf=\"!loading\">{{roomsLabel}}</div>\r\n  <abm-loader class=\"loader\" *ngIf=\"loading\"></abm-loader>\r\n</div>\r\n\r\n","import {Component, Input} from '@angular/core';\r\nimport {RoomGrouping} from \"../../shared/model/room-grouping\";\r\n\r\n@Component({\r\n  selector: 'abm-panel-rooms-grouping',\r\n  templateUrl: './panel-rooms-grouping.component.html',\r\n  styleUrls: ['./panel-rooms-grouping.component.scss']\r\n})\r\nexport class PanelRoomsGroupingComponent {\r\n\r\n  /**\r\n   * Data to populate table\r\n   */\r\n  @Input()\r\n  data: RoomGrouping[];\r\n}\r\n","<div class=\"header\">\r\n  <div class=\"sides left\"></div>\r\n  <div class=\"bar-column\">Avg IAQ Score</div>\r\n  <div class=\"sides right\">Weeks in Grouping</div>\r\n</div>\r\n\r\n<div class=\"content\">\r\n\r\n  <div *ngFor=\"let row of data\" class=\"row\">\r\n    <div class=\"sides left\">{{row?.room}}</div>\r\n\r\n    <div class=\"bar-container\">\r\n      <div class=\"bar-column bar\" [style.max-width.%]=\"row?.score\"></div>\r\n    </div>\r\n\r\n    <div class=\"sides right\">{{row?.grouping}}</div>\r\n  </div>\r\n\r\n\r\n</div>\r\n","import {Component, Input} from '@angular/core';\r\nimport {RoomBreakout} from \"../../shared/model/room-breakout\";\r\nimport {RoomGrouping} from \"../../shared/model/room-grouping\";\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\n\r\n@Component({\r\n  selector: 'abm-panel-rooms-breakout-day',\r\n  templateUrl: './panel-rooms-breakout-day.component.html',\r\n  styleUrls: ['./panel-rooms-breakout-day.component.scss']\r\n})\r\nexport class PanelRoomsBreakoutDayComponent {\r\n\r\n  /**\r\n   * Good Trend data/left panel data\r\n   */\r\n  @Input()\r\n  goodTrendData: RoomBreakout;\r\n\r\n  /**\r\n   * Moderate Trend data/left panel data\r\n   */\r\n  @Input()\r\n  moderateTrendData: RoomBreakout;\r\n\r\n  /**\r\n   * Pour Trend data/left panel data\r\n   */\r\n  @Input()\r\n  poorTrendData: RoomBreakout;\r\n\r\n  /**\r\n   * Good Iaq data/right panel data\r\n   */\r\n  @Input()\r\n  goodIaqData: RoomGrouping[];\r\n\r\n  /**\r\n   * Moderate Iaq data/right panel data\r\n   */\r\n  @Input()\r\n  moderateIaqData: RoomGrouping[];\r\n\r\n  /**\r\n   * Pour Iaq data/right panel data\r\n   */\r\n  @Input()\r\n  poorIaqData: RoomGrouping[];\r\n\r\n  /**\r\n   * Internal layout property\r\n   */\r\n  contentDirection: string = 'row';\r\n\r\n  /**\r\n   * Internal layout property\r\n   */\r\n  middleMarginRight: number;\r\n\r\n  /**\r\n   * Internal layout property\r\n   */\r\n  rightMarginTop: number;\r\n\r\n  /**\r\n   * Internal layout property\r\n   */\r\n  lblRotation: string = 'rotate(0)';\r\n\r\n  /**\r\n   * Internal layout property\r\n   */\r\n  leftWidth: string;\r\n\r\n  /**\r\n   * Internal layout property\r\n   */\r\n  leftPaddingBottom: number;\r\n\r\n  /**\r\n   * Internal layout property\r\n   */\r\n  rightMaxHeight: string;\r\n\r\n  /**\r\n   * Panel bodyContent resie handler\r\n   * @param event ResizedEvent\r\n   */\r\n  contentResize(event: ResizedEvent) {\r\n    const w = event.newRect.width;\r\n    const m = 550;\r\n    this.contentDirection = w < m ? 'column' : 'row';\r\n    this.middleMarginRight = w < m ? 0 : 10;\r\n    this.rightMarginTop = w < m ? 20 : 0;\r\n    this.lblRotation = w < m ? 'rotate(0)' : 'rotate(-90deg)';\r\n    this.leftWidth = w < m ? 'auto' : '23px'\r\n    this.leftPaddingBottom = w < m ? 20 : 0;\r\n    this.rightMaxHeight = w < m ? 'none' : '200px';\r\n  }\r\n}\r\n","<abm-panel xtitle=\"Room Breakout for the Day\">\r\n  <div bodyContent class=\"body-content\" (resized)=\"contentResize($event)\" [style.flex-direction]=\"contentDirection\">\r\n    <div class=\"left\" [style.width]=\"leftWidth\" [style.padding-bottom.px]=\"leftPaddingBottom\">\r\n      <div class=\"left-lbl\" [style.transform]=\"lblRotation\">Good</div>\r\n    </div>\r\n\r\n    <abm-panel-rooms class=\"middle\" [data]=\"goodTrendData\" [style.margin-right.px]=\"middleMarginRight\"></abm-panel-rooms>\r\n\r\n    <abm-panel-rooms-grouping class=\"right\" [data]=\"goodIaqData\" [style.margin-top.px]=\"rightMarginTop\"\r\n                              [style.max-height]=\"rightMaxHeight\"></abm-panel-rooms-grouping>\r\n  </div>\r\n\r\n  <div bodyContent class=\"body-content\" [style.flex-direction]=\"contentDirection\">\r\n    <div class=\"left\" [style.width]=\"leftWidth\" [style.padding-bottom.px]=\"leftPaddingBottom\">\r\n      <div class=\"left-lbl moderate\" [style.transform]=\"lblRotation\">Moderate</div>\r\n    </div>\r\n\r\n    <abm-panel-rooms class=\"middle\" [data]=\"moderateTrendData\" [style.margin-right.px]=\"middleMarginRight\"></abm-panel-rooms>\r\n\r\n    <abm-panel-rooms-grouping class=\"right\" [data]=\"moderateIaqData\" [style.margin-top.px]=\"rightMarginTop\"\r\n                              [style.max-height]=\"rightMaxHeight\"></abm-panel-rooms-grouping>\r\n  </div>\r\n\r\n  <div bodyContent class=\"body-content\" [style.flex-direction]=\"contentDirection\">\r\n    <div class=\"left\" [style.width]=\"leftWidth\" [style.padding-bottom.px]=\"leftPaddingBottom\">\r\n      <div class=\"left-lbl pour\" [style.transform]=\"lblRotation\">Poor</div>\r\n    </div>\r\n\r\n    <abm-panel-rooms class=\"middle\" [data]=\"poorTrendData\" [style.margin-right.px]=\"middleMarginRight\"></abm-panel-rooms>\r\n\r\n    <abm-panel-rooms-grouping class=\"right\" [data]=\"poorIaqData\" [style.margin-top.px]=\"rightMarginTop\"\r\n                              [style.max-height]=\"rightMaxHeight\"></abm-panel-rooms-grouping>\r\n  </div>\r\n</abm-panel>\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'abm-panel-recommendations',\r\n  templateUrl: './panel-recommendations.component.html',\r\n  styleUrls: ['./panel-recommendations.component.scss']\r\n})\r\nexport class PanelRecommendationsComponent {\r\n\r\n  /**\r\n   * Good Rec to display to user\r\n   */\r\n  @Input()\r\n  goodRecommendation: string;\r\n\r\n  /**\r\n   * Moderate rec to display to user\r\n   */\r\n  @Input()\r\n  moderateRecommendation: string;\r\n\r\n  /**\r\n   * Pout Rec to display to user\r\n   */\r\n  @Input()\r\n  poorRecommendation: string;\r\n}\r\n","<abm-panel xtitle=\"Recommendations\">\r\n  <div class=\"row\" bodyContent>\r\n    <div class=\"col-md-4\">\r\n    <div class=\"arrow up-arrow\"></div>\r\n    <div class=\"lbl\">Good</div>\r\n  </div>\r\n  <div class=\"col-md-8\">\r\n    <div class=\"description-container\">\r\n      <div class=\"description-lbl\">Good Indicator</div>\r\n      <div class=\"description\">No need to take action, continue consistent monitoring</div>\r\n    </div>\r\n  </div>\r\n  </div>\r\n\r\n  <div class=\"row\" bodyContent>\r\n    <div class=\"col-md-4\">\r\n    <div class=\"arrow mid-arrow\"></div>\r\n    <div class=\"lbl moderate\">Moderate</div>\r\n    </div>\r\n    <div class=\"col-md-8\">\r\n    <div class=\"description-container\">\r\n      <div class=\"description-lbl moderate\">Moderate Indicator</div>\r\n      <div class=\"description\">Caution, check, ensure that the current level...</div>\r\n    </div>\r\n  </div>\r\n  </div>\r\n\r\n  <div class=\"row\" bodyContent>\r\n    <div class=\"col-md-4\">\r\n    <div class=\"arrow down-arrow\"></div>\r\n    <div class=\"lbl poor\">Poor</div>\r\n  </div>\r\n  <div class=\"col-md-8\">\r\n    <div class=\"description-container\">\r\n      <div class=\"description-lbl poor\">Poor Indicator</div>\r\n      <div class=\"description\">Possible causes, recommend action to stabilize </div>\r\n    </div>\r\n    </div>\r\n  </div>\r\n</abm-panel>\r\n","export const MultilineChartComponentStylesConst = {\r\n  DEFAULT: 'default',\r\n  SMART_ROUTING: 'smart-routing',\r\n}\r\n","import moment from 'moment';\r\n\r\n// export const LineNoAxisChartConfig = {\r\n//   chart: {\r\n//     height: '48px',\r\n//     toolbar: {\r\n//       show: false\r\n//     },\r\n//     type: 'line',\r\n//     redrawOnParentResize: true\r\n//   },\r\n//   colors: ['rgba(255, 15, 0, 1)', 'rgba(98,161,255, 1)'],\r\n//   stroke: {\r\n//     width: 2,\r\n//     curve: 'smooth'\r\n//   },\r\n//   series: [],\r\n//   xaxis: {\r\n//     labels: {\r\n//       style: {\r\n//         colors: '#ffffff'\r\n//       },\r\n//       formatter: (val: any, timestamp: any, opts: any) => {\r\n//         console.log(\"Value of date\",val)\r\n//         let finalval=Math.round(val);\r\n//         console.log(\"val math round\",finalval)\r\n//         let hours: any \r\n//         // = val > 12 ? ((val - 12) + ':00 PM') : val + ':00 AM';\r\n//         if(finalval < 12){\r\n//           console.log(\"less than 12\", finalval)\r\n//           hours= finalval + ':00AMG'\r\n//         }\r\n//         else if (finalval === 12) {\r\n//           console.log(\"equal 12\", finalval)\r\n//           hours = finalval + ':00PMG';\r\n//         }else if (finalval >  12){\r\n//           console.log(\"greater 12\", finalval)\r\n//           hours= (finalval - 12) + ':00 PM'\r\n//         }\r\n//         console.log(\"Value of date inside no axis chart\",hours)\r\n//         return hours;\r\n//       },\r\n//     },\r\n//     axisBorder: {\r\n//       show: false\r\n//     },\r\n//     axisTicks: false\r\n//   },\r\n//   yaxis: {\r\n//     color: '#FFFFFF',\r\n//     opposite: false,\r\n//     labels: {\r\n//       style: {\r\n//         colors: '#ffffff'\r\n//       },\r\n//       formatter: (val: any, timestamp: any, opts: any) => {\r\n//         return ''; // typeof(val) !== 'number' ? moment(val).format('H:mm A') : '';\r\n//       },\r\n//       offsetY: 3\r\n//     },\r\n//     axisBorder: {\r\n//       show: false\r\n//     },\r\n//     axisTicks: {\r\n//       show: false,\r\n//       color: '#1f223d'\r\n//     }\r\n//   },\r\n//   legend: {\r\n//     show: false,\r\n//     height: 0\r\n//   },\r\n//   dataLabels: {\r\n//     enabled: false\r\n//   },\r\n//   markers: {\r\n//     size: 0,\r\n//     colors: '#ffffff'\r\n//   },\r\n//   tooltip: {\r\n//     shared: false,\r\n//     marker: false,\r\n//     followCursor: false,\r\n//     x: {\r\n//       show: false\r\n//     },\r\n//   },\r\n//   grid: {\r\n//     borderColor: '' //'#1f223d'\r\n//   },\r\n//   noData: {\r\n//     text: 'Loading...'\r\n//   }\r\n// };\r\n\r\nexport const LineNoAxisChartConfig = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: '80%',\r\n    type: 'line',\r\n    redrawOnParentResize: true,\r\n    // colors: ['red', '#00E396']\r\n  },\r\n  colors: [ '#ee2424','rgba(98,161,255, 1)'],\r\n  stroke: {\r\n    width: 2,\r\n    curve: 'straight'\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    labels: {\r\n      show:false,\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n              //  console.log(\"Value of date\",val)\r\n                let finalval=Math.round(val);\r\n              //  console.log(\"val math round\",finalval)\r\n                let hours: any \r\n                // = val > 12 ? ((val - 12) + ':00 PM') : val + ':00 AM';\r\n                if(finalval < 12){\r\n               //   console.log(\"less than 12\", finalval)\r\n                  hours= finalval + ':00AMG'\r\n                }\r\n                else if (finalval === 12) {\r\n                //  console.log(\"equal 12\", finalval)\r\n                  hours = finalval + ':00PMG';\r\n                }else if (finalval >  12){\r\n                //  console.log(\"greater 12\", finalval)\r\n                  hours= (finalval - 12) + ':00 PM'\r\n                }\r\n               // console.log(\"Value of date inside no axis chart\",hours)\r\n                return hours;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#FFFFFF',\r\n    opposite: false,\r\n    labels: {\r\n      show:false,\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      offsetY: 3\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n      color: '#1f223d'\r\n    }\r\n  },\r\n  legend: {\r\n    show: false,\r\n    height: 0\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    show:false,\r\n    size: 0,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false\r\n    },\r\n    y: {\r\n      title: {\r\n        formatter: (series: any) => {\r\n          console.log(\"::: INSIDE LINE CHARTCONFIG SERIES :::\", series)\r\n          return series == 'series-1' ? 'Score: ' : '';\r\n        }\r\n      }\r\n    }\r\n  },\r\n  grid: {\r\n    show:false,\r\n    borderColor: '#1f223d'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  }\r\n};\r\nexport const LineNoAxisChartConfigSmartRouting = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: '100%',\r\n    type: 'line',\r\n    redrawOnParentResize: true\r\n  },\r\n  colors: ['rgba(127, 127, 127, 1)'],\r\n  stroke: {\r\n    width: 2,\r\n    // curve: 'smooth'\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return ''; // typeof(val) !== 'number' ? moment(val).format('H:mm A') : '';\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#FFFFFF',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return ''; //typeof(val) !== 'number' ? moment(val).format('H:mm A') : '';\r\n      },\r\n      offsetY: 3\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n      color: '#1f223d'\r\n    }\r\n  },\r\n  legend: {\r\n    show: false,\r\n    height: 0\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 0,\r\n    colors: '#ffffff'\r\n  },\r\n  grid: {\r\n    borderColor: ''\r\n  },\r\n  noData: {\r\n    text: 'No data to display...'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false,\r\n      formatter: (value: any) => {\r\n        return '';\r\n      }\r\n    },\r\n    y: {\r\n      title: {\r\n        formatter: (series:any) => {\r\n          return 'Frequency: ';\r\n        }\r\n      }\r\n    }\r\n  },\r\n};\r\n","import moment, { min } from 'moment';\r\n\r\nexport const LineChartConfig = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: '100%',\r\n    type: 'area',\r\n    redrawOnParentResize: true\r\n  },\r\n  colors: ['rgb(60, 60, 60)', 'blue', 'orange','white','rgb(69, 145, 69)'],\r\n  stroke: {\r\n    width: 2,\r\n    curve: 'straight'\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        // return typeof (val) !== 'number' ? moment(val).format('H:mm A') : '';\r\n        let hours: any = val > 12 ? ((val - 12) + ':00 PM') : val + ':00 AM';\r\n        if (val === 12) {\r\n          hours = val + ':00 PM';\r\n        }\r\n        return hours;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#FFFFFF',\r\n    opposite: false,\r\n    min: 0,\r\n    max: 200,\r\n    tickAmount: 5,\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      offsetY: 3\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n      color: '#1f223d'\r\n\r\n    }\r\n  },\r\n  legend: {\r\n    show: false,\r\n    height: 0\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false\r\n    },\r\n    y: {\r\n      title: {\r\n        formatter: (series: any) => {\r\n          console.log(\"::: INSIDE LINE CHARTCONFIG SERIES :::\", series)\r\n          return series == 'series-1' ? 'Score: ' : '';\r\n        }\r\n      }\r\n    }\r\n  },\r\n  grid: {\r\n    borderColor: '#1f223d'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  }\r\n};\r\n","import {AfterViewInit, Component, ElementRef, Input, SimpleChanges, ViewChild} from '@angular/core';\r\nimport ApexCharts from 'apexcharts'\r\nimport {LineChartConfig} from \"../../shared/chart-configs/line-chart-config\";\r\nimport {TimeData} from \"../../shared/model/time-data\";\r\n\r\n@Component({\r\n  selector: 'abm-column-line-chart',\r\n  templateUrl: './column-line-chart.component.html',\r\n  styleUrls: ['./column-line-chart.component.scss']\r\n})\r\nexport class ColumnLineChartComponent implements AfterViewInit {\r\n\r\n  /**\r\n   * Chart container element ref\r\n   */\r\n  @ViewChild('chartContainer')\r\n  chartContainer: ElementRef;\r\n\r\n  /**\r\n   * Apex Chart reference\r\n   */\r\n  @Input()\r\n  chart: ApexCharts;\r\n\r\n  /**\r\n   * X axis chart label\r\n   */\r\n  @Input()\r\n  xAxisLabel: string;\r\n\r\n  /**\r\n   * Y axis chart label\r\n   */\r\n  @Input()\r\n  yAxisLabel: string;\r\n\r\n  /**\r\n   * Data used to populate the chart\r\n   */\r\n  @Input()\r\n  data?: TimeData[][] | number[][];\r\n\r\n  /**\r\n   * Data used to populate the Usage High chart\r\n   */\r\n  @Input()\r\n  roomUsageDataHigh: number[][];\r\n\r\n  /**\r\n   * Data used to populate the Usage Medium chart\r\n   */\r\n  @Input()\r\n  roomUsageDataMed: number[][];\r\n\r\n  /**\r\n   * Data used to populate the Usage Low chart\r\n   */\r\n  @Input()\r\n  roomUsageDataLow: number[][];\r\n\r\n  /**\r\n   * Apex charts configuration\r\n   */\r\n  @Input()\r\n  chartConfig: any = LineChartConfig;\r\n\r\n  /**\r\n   * Angular after view init handler, initialized apex chart after dom is ready\r\n   */\r\n  ngAfterViewInit() {\r\n    // Needed due to resize logic firing order -psmithiv\r\n    setTimeout(() => {\r\n      this.initChart();\r\n    }, 0);\r\n  }\r\n\r\n  /**\r\n   * Angular on change handler, allows for changing data and chart config in real time\r\n   * @param simpleChanges\r\n   */\r\n  ngOnChanges(simpleChanges: SimpleChanges) {\r\n    if (!this.chart) {\r\n      return;\r\n    }\r\n\r\n    simpleChanges['data'] &&\r\n    simpleChanges['data'].currentValue != simpleChanges['data'].previousValue ?\r\n      this.plotChartData((this.data as any), true) : null;\r\n\r\n    simpleChanges['chartConfig'] &&\r\n    simpleChanges['chartConfig'].currentValue != simpleChanges['chartConfig'].previousValue ?\r\n      this.initChart() : null;\r\n  }\r\n\r\n  /**\r\n   * Initialize and render chart\r\n   * @private\r\n   */\r\n  private initChart() {\r\n    if (this.chart) {\r\n      this.chart.destroy();\r\n    }\r\n\r\n    this.chart = new ApexCharts(this.chartContainer.nativeElement, this.chartConfig);\r\n    this.chart.render();\r\n\r\n    if (this.data) {\r\n      this.plotChartData(this.data, false, true);\r\n    }\r\n  }\r\n\r\n  hasData: boolean;\r\n  /**\r\n   * Plot initial/update chart data and render\r\n   * @param data Data used to populate the chart\r\n   * @param update Initial vs updating data\r\n   * @param refreshing Refresh or plot new data\r\n   * @private\r\n   */\r\n  private plotChartData(data: any[][], update: boolean = false, refreshing:boolean = false) {\r\n    let updateData = [];\r\n\r\n    this.hasData = data && data.length && data[0].length ? true : false;\r\n\r\n    for (let i = 0; i < data.length; i++) {\r\n      if (update) {\r\n        updateData.push({data: data[i]})\r\n      } else {\r\n        this.chart.appendSeries({name: i.toString(), data: data[i]} as any, !refreshing);\r\n      }\r\n    }\r\n\r\n    if (update) {\r\n      this.chart.updateSeries(updateData)\r\n    }\r\n  }\r\n}\r\n","<div class=\"top\" [style.visibility]=\"hasData ? 'visible' : 'hidden'\">\r\n  <div class=\"y-lbl\" *ngIf=\"yAxisLabel\">{{yAxisLabel}}</div>\r\n  <div #chartContainer class=\"chart\"></div>\r\n</div>\r\n<div class=\"x-lbl\" *ngIf=\"xAxisLabel && hasData\">{{xAxisLabel}}</div>\r\n<div class=\"x-lbl\" *ngIf=\"!xAxisLabel || !hasData\"></div>\r\n\r\n<abm-loader class=\"no-data\" *ngIf=\"!hasData\"></abm-loader>\r\n\r\n","import { Component, Input, HostBinding, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\nimport {MultilineChartComponentStylesConst} from \"./multiline-chart.component.styles.const\";\r\nimport {ColorFactory} from \"../../shared/factory/color-factory\";\r\nimport {LineNoAxisChartConfig} from \"../../shared/chart-configs/line-no-axis-chart-config\";\r\nimport {TimeData} from \"../../shared/model/time-data\";\r\n\r\n@Component({\r\n  selector: 'abm-multiline-chart',\r\n  templateUrl: './multiline-chart.component.html',\r\n  styleUrls: ['./multiline-chart.component.scss']\r\n})\r\nexport class MultilineChartComponent implements OnInit, OnChanges {\r\n\r\n  /**\r\n   * Render as IAQ vs Smart Routing\r\n   */\r\n  @Input()\r\n  @HostBinding('class')\r\n  style: string = MultilineChartComponentStylesConst.DEFAULT;\r\n\r\n  /**\r\n   * Label to display to the left of the chart\r\n   */\r\n  @Input()\r\n  label: string;\r\n\r\n  /**\r\n   * Time Data used to render chart\r\n   */\r\n  @Input()\r\n  data?: TimeData[][];\r\n\r\n  /**\r\n   * Apex charts configuration\r\n   */\r\n  @Input()\r\n  chartConfig: any = LineNoAxisChartConfig;\r\n\r\n  /**\r\n   * Factory used to determine color based on bar value\r\n   * @type {ColorFactory}\r\n   */\r\n  colorFactory = ColorFactory;\r\n\r\n  constructor() {\r\n    console.log(\"CONSTRUCTOR MULTILINE INDICATORS\", this.data);\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    console.log(\"ON INIT MULTILINE INDICATORS\", this.data);\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    console.log(\"ON CHANGES MULTILINE INDICATORS\", this.data);\r\n    console.log(\"ON INIT LINE CHART CONFIG MULTILINE INDICATORS\", this.chartConfig.series);\r\n\r\n    // this.data = [\r\n    //   {\r\n    //     // Hour_12: \"07:00AM\",\r\n    //     // Hour_24: 7,\r\n    //     // IndTrend: 7,\r\n    //     // IndicatorType: 'TEMP',\r\n    //     // RoomType:'Conference Room',\r\n    //     x: \"07:00AM\",\r\n    //     y: 35\r\n    //   },\r\n    //   {\r\n    //     x: \"08:00AM\",\r\n    //     y: 35\r\n    //   },\r\n    // ]\r\n  }\r\n}\r\n","<div class=\"chart-label\">{{label}}</div>\r\n<div class=\"chart-container\">\r\n    <!-- <hr style=\"\r\n    position: absolute;\r\n    z-index: 100;\r\n    height: 0.5px;\r\n    width:calc(100% - 300px);\r\n    opacity: 1.5;\r\n    color: red;\r\n    /* background-color: red !important; */\r\n    border-color: white;\r\n\"> -->\r\n    <abm-column-line-chart class=\"small-chart\" [data]=\"data\" [chartConfig]=\"chartConfig\">\r\n    </abm-column-line-chart>\r\n</div>","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { LineNoAxisChartConfig } from '../../shared/chart-configs/line-no-axis-chart-config';\r\nimport { IndicatorTrend } from \"../../shared/model/indicator-trend\";\r\nimport { FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport moment from 'moment';\r\nimport { DateRange } from '../../shared/model/daterange';\r\nimport { range } from 'd3';\r\n\r\n\r\nconst today = new Date();\r\nconst month = today.getMonth();\r\nconst year = today.getFullYear();\r\n\r\n@Component({\r\n  selector: 'abm-panel-indicator-trend',\r\n  templateUrl: './panel-indicator-trend.component.html',\r\n  styleUrls: ['./panel-indicator-trend.component.scss'],\r\n\r\n\r\n})\r\n\r\n\r\nexport class PanelIndicatorTrendComponent implements OnInit, OnChanges {\r\n  @Output()\r\n  trendType: EventEmitter<any> = new EventEmitter<any>();\r\n  @Output() dateRangeSelected: EventEmitter<DateRange> = new EventEmitter<DateRange>();\r\n\r\n\r\n  /**\r\n   * Co2 indicator trend data\r\n   */\r\n  @Input()\r\n  data: IndicatorTrend[];\r\n  dataForbuttons: any = [];\r\n  standalone: true;\r\n  startDate: any;\r\n  endDate: any;\r\n  selectedTrendType: any = 'Day';\r\n  todaysDate: any;\r\n  imports: [\r\n    MatFormFieldModule,\r\n    MatDatepickerModule,\r\n    MatNativeDateModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n  ]\r\n\r\n\r\n  constructor() {\r\n    console.log(\"CONSTRUCTOR PANEL INDICATORS\", this.data);\r\n    this.todaysDate = moment(new Date()).format(\"YYYY-MM-DD\");// formatting todays date\r\n    this.startDate = moment(new Date()).subtract(2, 'day').format('YYYY-MM-DD');\r\n    this.endDate = moment(this.todaysDate).format('YYYY-MM-DD');\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    console.log(\"ON INIT PANEL INDICATORS\", this.data);\r\n    this.dataForbuttons = [{ name: \"Day\", value: \"Day\", key: 1 }, { name: \"PreviousWeek\", value: \"PreviousWeek\", key: 2 }, { name: \"CurrentWeek\", value: \"CurrentWeek\", key: 3 }, { name: \"PreviousMonth\", value: \"PreviousMonth\", key: 4 }, { name: \"CurrentMonth\", value: \"CurrentMonth\", key: 5 }, { name: \"Range\", value: \"Range\", key: 6 }]\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    console.log(\"ON CHANGES PANEL INDICATORS\", this.data);\r\n  }\r\n\r\n  changeTrendType(type: any) {\r\n    this.selectedTrendType = type;\r\n    this.trendType.emit(type)\r\n  }\r\n\r\n\r\n  emitDateRange() {\r\n    if (this.startDate && this.endDate) {\r\n      this.startDate = moment(this.startDate).format('YYYY-MM-DD');\r\n      this.endDate = moment(this.endDate).format('YYYY-MM-DD');\r\n      this.dateRangeSelected.emit({ startDate: this.startDate, endDate: this.endDate });\r\n    }\r\n  }\r\n}\r\n","<abm-panel xtitle=\"Indicator Trend\" class=\"it-panel\">\r\n  <div headerContent class=\"header-content\" style=\"display: flex;flex-wrap:wrap; gap:1rem;\"  >\r\n    <div class=\"customButtonsDiv\">\r\n       <button class=\"custom-buttons\" *ngFor=\"let item of dataForbuttons\"\r\n         (click)=\"changeTrendType(item.value)\"\r\n         [ngClass]=\"{'active-buttons': item.value === selectedTrendType}\">{{item.name}}</button>\r\n       </div>\r\n       <div *ngIf=\"selectedTrendType === 'Range'\" style=\"margin-top: -5px\">\r\n       <label style=\"margin: 0px 15px;\">Date Range</label>\r\n       <div style=\"margin: 0 15px;display: flex;\" >\r\n          <mat-date-range-input [rangePicker]=\"picker\" [max]=\"todaysDate\">\r\n            <input matStartDate [(ngModel)]=\"startDate\">  \r\n            <input matEndDate [(ngModel)]=\"endDate\" (dateChange)=\"emitDateRange()\">>\r\n          </mat-date-range-input>\r\n          <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n          <mat-date-range-picker #picker></mat-date-range-picker>\r\n      </div>\r\n    </div>\r\n    </div>\r\n  <div bodyContent class=\"indicator-trend\">\r\n    <div class=\"chart-row\" *ngFor=\"let item of data\">\r\n        <abm-multiline-chart [data]=\"item.chartData\" [label]=\"item.label\">\r\n        </abm-multiline-chart>\r\n      <div class=\"chart-right\">\r\n        <div class=\"chart-right-lbl\">Best Room: {{item.best}}</div>\r\n        <div class=\"chart-right-lbl\">Worst Room: {{item.worst}}</div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</abm-panel>\r\n","import {Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport {SelectItem} from \"../../shared/model/select-item\";\r\nimport {RoomBreakout} from \"../../shared/model/room-breakout\";\r\nimport {RoomGrouping} from \"../../shared/model/room-grouping\";\r\nimport {IndicatorTrend} from \"../../shared/model/indicator-trend\";\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\nimport { ApplyEvent } from '../heatmap/apply-event';\r\nimport { DateRange } from '../../shared/model/daterange';\r\n\r\n@Component({\r\n  selector: 'abm-iaq-alerts',\r\n  templateUrl: './iaq-alerts.component.html',\r\n  styleUrls: ['./iaq-alerts.component.scss']\r\n})\r\nexport class IaqAlertsComponent {\r\n\r\n  // Navigation\r\n  /**\r\n   * Site dropdown option\r\n   */\r\n  @Input()\r\n  siteOptions: SelectItem[];\r\n\r\n  /**\r\n   * Facility dropdown options\r\n   */\r\n  @Input()\r\n  facilityOptions: SelectItem[];\r\n\r\n  /**\r\n   * Level dropdown options\r\n   */\r\n  @Input()\r\n  levelOptions: SelectItem[];\r\n\r\n  /**\r\n  * Level dropdown options\r\n  */\r\n  @Input()\r\n  vendorOptions: SelectItem[];\r\n\r\n  /**\r\n   * Site dropdown change event emitter\r\n   */\r\n  @Output()\r\n  siteChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Facility dropdown change event emitter\r\n   */\r\n  @Output()\r\n  facilityChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Level dropdown change event emitter\r\n   */\r\n  @Output()\r\n  levelChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n * Vendor dropdown change event emitter\r\n */\r\n  @Output()\r\n  vendorChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Navigation apply button click event\r\n   */\r\n  @Output()\r\n  applyEvent: EventEmitter<ApplyEvent> = new EventEmitter<ApplyEvent>();\r\n\r\n  @Output()\r\n  trendTypeChangeEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n  @Output()\r\n  dateRangeChangeEvent: EventEmitter<DateRange> = new EventEmitter<DateRange>();\r\n\r\n\r\n  // Room Breakout for the day\r\n  /**\r\n   * Good Trend data/left panel data\r\n   */\r\n  @Input()\r\n  goodTrendData: RoomBreakout;\r\n\r\n  /**\r\n   * Moderate Trend data/left panel data\r\n   */\r\n  @Input()\r\n  moderateTrendData: RoomBreakout;\r\n\r\n  /**\r\n   * Pour Trend data/left panel data\r\n   */\r\n  @Input()\r\n  pourTrendData: RoomBreakout;\r\n\r\n  /**\r\n   * Good Iaq data/right panel data\r\n   */\r\n  @Input()\r\n  goodIaqData: RoomGrouping[];\r\n\r\n  /**\r\n   * Moderate Iaq data/right panel data\r\n   */\r\n  @Input()\r\n  moderateIaqData: RoomGrouping[];\r\n\r\n  /**\r\n   * Pour Iaq data/right panel data\r\n   */\r\n  @Input()\r\n  pourIaqData: RoomGrouping[];\r\n\r\n\r\n  // Recommendations\r\n  /**\r\n   * Good Rec to display to user\r\n   */\r\n  @Input()\r\n  goodRecommendation: string;\r\n\r\n  /**\r\n   * Moderate rec to display to user\r\n   */\r\n  @Input()\r\n  moderateRecommendation: string;\r\n\r\n  /**\r\n   * Pout Rec to display to user\r\n   */\r\n  @Input()\r\n  poorRecommendation: string;\r\n\r\n\r\n  // Indicator Trend Panel\r\n  /**\r\n   * Co2 indicator trend data\r\n   */\r\n  @Input()\r\n  trendData: IndicatorTrend[];\r\n\r\n  // /**\r\n  //  * VOC indicator trend data\r\n  //  */\r\n  // @Input()\r\n  // vocTrendData: IndicatorTrend;\r\n  //\r\n  // /**\r\n  //  * Temperature indicator trend data\r\n  //  */\r\n  // @Input()\r\n  // temperatureTrendData: IndicatorTrend;\r\n  //\r\n  // /**\r\n  //  * Humidity indicator trend data\r\n  //  */\r\n  // @Input()\r\n  // humidityTrendData: IndicatorTrend;\r\n  //\r\n  // /**\r\n  //  * Pressure indicator trend data\r\n  //  */\r\n  // @Input()\r\n  // pressureTrendData: IndicatorTrend;\r\n  //\r\n  // /**\r\n  //  * Participate indicator trend data\r\n  //  */\r\n  // @Input()\r\n  // participateTrendData: IndicatorTrend;\r\n  //\r\n  /**\r\n   * Internal layout property\r\n   */\r\n  contentFlexDirection: string = 'row';\r\n\r\n\r\n  /**\r\n   * Internal layout property\r\n   */\r\n  leftMarginRight: number;\r\n  infoShow: boolean = false;\r\n\r\n\r\n  /**\r\n   * Content resize handler\r\n   * @param event ResizedEvent\r\n   */\r\n  contentResized(event: ResizedEvent) {\r\n    const w = event.newRect.width;\r\n    const m = 1000;\r\n    this.contentFlexDirection = w < m ? 'column' : 'row';\r\n    this.leftMarginRight = w < m ? 0 : 20;\r\n  }\r\n\r\n\r\n\r\n\r\n  openInfoTab(): void {\r\n    this.infoShow = true\r\n    console.log('infoShow', 'true')\r\n  }\r\n\r\n  exitInfo(): void{\r\n    this.infoShow = false\r\n    console.log('infoShow', 'false')\r\n\r\n  }\r\n\r\n\r\n}\r\n","<div class=\"page-xtitle\">\r\n  Alerts<img src=\"/iaq/assets/images/info.png\" class=\"info_icon\" mat-raised-button\r\n    matTooltip=\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. \"\r\n    aria-label=\"Button that displays a tooltip when focused or hovered over\" \r\n    matTooltipTitle=\"Tool Tips\"\r\n    matTooltipClass=\" below\"\r\n    class=\"info\"\r\n    matTooltipPosition = \"below\"\r\n    />\r\n</div>\r\n\r\n<abm-nav-bar\r\n  class=\"nav-bar\"\r\n  [siteOptions]=\"siteOptions\"\r\n  [facilityOptions]=\"facilityOptions\"\r\n  [levelOptions]=\"levelOptions\"\r\n  [vendorOptions]=\"vendorOptions\"\r\n  (siteChangeEvent)=\"siteChangeEvent.emit($event)\"\r\n  (facilityChangeEvent)=\"facilityChangeEvent.emit($event)\"\r\n  (levelChangeEvent)=\"levelChangeEvent.emit($event)\"\r\n  (vendorChangeEvent)=\"vendorChangeEvent.emit($event)\"\r\n  (applyEvent)=\"applyEvent.emit($event)\"\r\n></abm-nav-bar>\r\n\r\n<div\r\n  class=\"content\"\r\n  (resized)=\"contentResized($event)\"\r\n  [style.flex-direction]=\"contentFlexDirection\"\r\n>\r\n  <div class=\"left\" [style.margin-right.px]=\"leftMarginRight\">\r\n    <abm-panel-rooms-breakout-day\r\n      [goodTrendData]=\"goodTrendData\"\r\n      [goodIaqData]=\"goodIaqData\"\r\n      [moderateTrendData]=\"moderateTrendData\"\r\n      [moderateIaqData]=\"moderateIaqData\"\r\n      [poorTrendData]=\"pourTrendData\"\r\n      [poorIaqData]=\"pourIaqData\"\r\n    ></abm-panel-rooms-breakout-day>\r\n  </div>\r\n  <div class=\"right\">\r\n    <abm-panel-recommendations\r\n      class=\"recommendations\"\r\n      [goodRecommendation]=\"goodRecommendation\"\r\n      [moderateRecommendation]=\"moderateRecommendation\"\r\n      [poorRecommendation]=\"poorRecommendation\"\r\n    >\r\n    </abm-panel-recommendations>\r\n\r\n    <abm-panel-indicator-trend\r\n      (trendType)=\"trendTypeChangeEvent.emit($event)\"\r\n      (dateRangeSelected)=\"dateRangeChangeEvent.emit($event)\"\r\n      [data]=\"trendData\"\r\n    ></abm-panel-indicator-trend>\r\n  </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {PanelRoomsComponent} from \"./panel-rooms.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmLoaderModule} from \"../../components/loader/loader.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelRoomsComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmLoaderModule\r\n  ],\r\n  exports: [\r\n    PanelRoomsComponent\r\n  ]\r\n})\r\nexport class AbmPanelRoomsModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PanelRoomsGroupingComponent} from \"./panel-rooms-grouping.component\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelRoomsGroupingComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    PanelRoomsGroupingComponent\r\n  ]\r\n})\r\nexport class AbmPanelRoomsGroupingModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PanelComponent} from \"./panel.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmLoaderModule} from \"../../components/loader/loader.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmLoaderModule\r\n  ],\r\n  exports: [\r\n    PanelComponent\r\n  ]\r\n})\r\nexport class AbmPanelModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PanelRoomsBreakoutDayComponent} from \"./panel-rooms-breakout-day.component\";\r\nimport {AbmPanelRoomsModule} from \"../panel-rooms/panel-rooms.module\";\r\nimport {AbmPanelRoomsGroupingModule} from \"../panel-rooms-grouping/panel-rooms-grouping.module\";\r\nimport {AbmPanelModule} from \"../panel/panel.module\";\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelRoomsBreakoutDayComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmPanelModule,\r\n    AbmPanelRoomsModule,\r\n    AbmPanelRoomsGroupingModule\r\n  ],\r\n  exports: [\r\n    PanelRoomsBreakoutDayComponent\r\n  ]\r\n})\r\nexport class AbmPanelRoomsBreakoutDayModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PanelRecommendationsComponent} from \"./panel-recommendations.component\";\r\nimport {AbmPanelModule} from \"../panel/panel.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelRecommendationsComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmPanelModule\r\n  ],\r\n  exports: [\r\n    PanelRecommendationsComponent\r\n  ]\r\n})\r\nexport class AbmPanelRecommendationsModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {ColumnLineChartComponent} from \"./column-line-chart.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmLoaderModule} from \"../../components/loader/loader.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    ColumnLineChartComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmLoaderModule\r\n  ],\r\n  exports: [\r\n    ColumnLineChartComponent\r\n  ]\r\n})\r\nexport class AbmColumnLineChartModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {MultilineChartComponent} from \"./multiline-chart.component\";\r\nimport {AbmColumnLineChartModule} from \"../column-line-chart/column-line-chart.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    MultilineChartComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmColumnLineChartModule\r\n  ],\r\n  exports: [\r\n    MultilineChartComponent\r\n  ]\r\n})\r\nexport class AbmMultilineChartModule {\r\n}\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\nimport {LegendDetailed} from \"../../shared/model/legend-detailed\";\r\n\r\n@Component({\r\n  selector: 'abm-legend-detailed',\r\n  templateUrl: './legend-detailed.component.html',\r\n  styleUrls: ['./legend-detailed.component.scss']\r\n})\r\nexport class LegendDetailedComponent {\r\n\r\n  /**\r\n   * Data used to render the legend\r\n   */\r\n  @Input()\r\n  data: LegendDetailed[];\r\n  \r\n  @Input()\r\n  rangeData: LegendDetailed[];\r\n\r\n  /**\r\n   * Align legend left vs rtight\r\n   */\r\n  @Input()\r\n  @HostBinding('class.right')\r\n  alignRight: boolean = false;\r\n\r\n  /**\r\n   * Change to circle layout?\r\n   */\r\n  @Input()\r\n  @HostBinding('class.circles')\r\n  showAsCircles: boolean = false;\r\n}\r\n","<div class=\"item\" *ngFor=\"let item of data\">\r\n  <div class=\"color-lbl\">\r\n    <div class=\"item-line\" [style.backgroundColor]=\"item?.color\"></div>\r\n    <div class=\"item-lbl\">{{item?.label}}</div>\r\n  </div>\r\n  <div class=\"sub-lbl\" *ngIf=\"item?.subLabel\" [style.color]=\"item?.subLabelColor\">{{item?.subLabel}}</div>\r\n</div>\r\n\r\n\r\n<div class=\"item\" *ngFor=\"let item of rangeData\">\r\n  <div class=\"color-lbl\">\r\n    <div class=\"item-line\" [style.backgroundColor]=\"item?.color\"></div>\r\n    <div class=\"item-lbl\">{{item?.label}}</div>\r\n  </div>\r\n  <div class=\"sub-lbl\" *ngIf=\"item?.subLabel\" [style.color]=\"item?.subLabelColor\">{{item?.subLabel}}</div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {LegendDetailedComponent} from \"./legend-detailed.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    LegendDetailedComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    LegendDetailedComponent\r\n  ]\r\n})\r\nexport class AbmLegendDetailedModule {\r\n}\r\n","import moment from 'moment';\r\n\r\nexport const IaqFaultsConfig = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    zoom: {\r\n      enabled: false,\r\n    },\r\n    height: '100%',\r\n    // width: 10000,\r\n    // type: 'area',\r\n  },                                         \r\n  //p colors                                 \r\n\r\n                                              // voilet \r\n  // colors: ['#62A1FF', '#f60039', '#92e50d', '#9517de', '#f67c00' ,\"#3f3f3f\",\"blue\" ,\"orange\",\"white\"],\r\n                                          //  white\r\n  colors: ['#62A1FF', '#f60039', '#92e50d', '#ffffff', '#f67c00' ,\"#3f3f3f\",\"blue\" ,\"orange\",\"white\"],\r\n  stroke: {\r\n    width: 2,\r\n    curve: 'straight'\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        // return typeof (val) !== 'number' ? moment(val).format('H:mm A') : '';\r\n        let hours: any = val > 12 ? ((val - 12) + ':00 PM') : val + ':00 AM';\r\n        if (val === 12) {\r\n          hours = val + ':00 PM';\r\n        }\r\n        return hours;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#FFFFFF',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      offsetY: 3\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n      color: '#1f223d'\r\n    }\r\n  },\r\n  legend: {\r\n    show: false,\r\n    height: 0\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false\r\n    },\r\n    y: {\r\n      title: {\r\n        formatter: (series: any) => {\r\n          console.log(\"::: INSIDE LINE CHARTCONFIG SERIES :::\", series)\r\n          if (series == 'series-1') return 'Mech. Wear & Tear:'\r\n          if (series == 'series-2') return 'Maintenance:'\r\n          if (series == 'series-3') return 'Filters:'\r\n          if (series == 'series-4') return 'Thermostat Malfunction:'\r\n          if (series == 'series-5') return 'Others:'\r\n          else return\r\n        }\r\n      }\r\n    }\r\n  },\r\n  grid: {\r\n    borderColor: '#1f223d'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  }\r\n};\r\n","import { AfterViewInit, Component, ElementRef, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { IaqFaultsConfig } from '../../shared/chart-configs/iaq-faults-config';\r\nimport { IndicatorTrend } from \"../../shared/model/indicator-trend\";\r\nimport { TimeData } from '../../shared/model/time-data';\r\nimport ApexCharts from 'apexcharts'\r\n\r\n@Component({\r\n  selector: 'abm-panel-fault',\r\n  templateUrl: './panel-fault.component.html',\r\n  styleUrls: ['./panel-fault.component.scss']\r\n})\r\n\r\nexport class PanelFaultComponent implements OnInit, OnChanges, AfterViewInit {\r\n  hasData: boolean;\r\n  /**\r\n    * Chart container element ref\r\n    */\r\n  @ViewChild('chartContainer')\r\n  chartContainer: ElementRef;\r\n\r\n  /**\r\n   * Apex Chart reference\r\n   */\r\n  @Input()\r\n  chart: ApexCharts;\r\n\r\n  /**\r\n   * X axis chart label\r\n   */\r\n  @Input()\r\n  xAxisLabel: string;\r\n\r\n  /**\r\n   * Y axis chart label\r\n   */\r\n  @Input()\r\n  yAxisLabel: string;\r\n\r\n  /**\r\n    * Data used to populate the chart\r\n    */\r\n  @Input()\r\n  data?: TimeData[][] | number[][];\r\n\r\n  @Input()\r\n  chartConfig: any = IaqFaultsConfig;\r\n\r\n\r\n  constructor() {\r\n    console.log(\"CONSTRUCTOR PANEL Faults\", this.data);\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    console.log(\"ON INIT PANEL Faults\", this.data);\r\n\r\n  }\r\n\r\n  /**\r\n  * Angular after view init handler, initialized apex chart after dom is ready\r\n  */\r\n  ngAfterViewInit() {\r\n    // Needed due to resize logic firing order -psmithiv\r\n    setTimeout(() => {\r\n      this.initChart();\r\n    }, 0);\r\n  }\r\n\r\n  /**\r\n   * Angular on change handler, allows for changing data and chart config in real time\r\n   * @param simpleChanges\r\n   */\r\n  ngOnChanges(simpleChanges: SimpleChanges) {\r\n    if (!this.chart) {\r\n      return;\r\n    }\r\n\r\n    simpleChanges['data'] &&\r\n      simpleChanges['data'].currentValue != simpleChanges['data'].previousValue ?\r\n      this.plotChartData((this.data as any), true) : null;\r\n\r\n    simpleChanges['chartConfig'] &&\r\n      simpleChanges['chartConfig'].currentValue != simpleChanges['chartConfig'].previousValue ?\r\n      this.initChart() : null;\r\n  }\r\n\r\n  /**\r\n   * Initialize and render chart\r\n   * @private\r\n   */\r\n  private initChart() {\r\n    if (this.chart) {\r\n      this.chart.destroy();\r\n    }\r\n\r\n    this.chart = new ApexCharts(this.chartContainer.nativeElement, this.chartConfig);\r\n    this.chart.render();\r\n\r\n    if (this.data) {\r\n      this.plotChartData(this.data, false, true);\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Plot initial/update chart data and render\r\n   * @param data Data used to populate the chart\r\n   * @param update Initial vs updating data\r\n   * @param refreshing Refresh or plot new data\r\n   * @private\r\n   */\r\n  private plotChartData(data: any[][], update: boolean = false, refreshing: boolean = false) {\r\n    let updateData = [];\r\n\r\n    this.hasData = data && data.length && data[0].length ? true : false;\r\n\r\n    for (let i = 0; i < data.length; i++) {\r\n      if (update) {\r\n        updateData.push({ data: data[i] })\r\n      } else {\r\n        this.chart.appendSeries({ name: i.toString(), data: data[i] } as any, !refreshing);\r\n      }\r\n    }\r\n\r\n    if (update) {\r\n      this.chart.updateSeries(updateData)\r\n    }\r\n  }\r\n\r\n\r\n}\r\n","<div class=\"top\" [style.visibility]=\"hasData ? 'visible' : 'hidden'\">\r\n  <div class=\"y-lbl\" *ngIf=\"yAxisLabel\">{{yAxisLabel}}</div>\r\n  <div #chartContainer class=\"chart\"></div>\r\n</div>\r\n<div class=\"x-lbl\" *ngIf=\"xAxisLabel && hasData\">{{xAxisLabel}}</div>\r\n<div class=\"x-lbl\" *ngIf=\"!xAxisLabel || !hasData\"></div>\r\n\r\n<abm-loader class=\"no-data\" *ngIf=\"!hasData\"></abm-loader>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { AbmLoaderModule } from \"../../components/loader/loader.module\";\r\nimport { PanelFaultComponent } from './panel-fault.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelFaultComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmLoaderModule\r\n  ],\r\n  exports: [\r\n    PanelFaultComponent\r\n  ]\r\n})\r\nexport class AbmFaultsChartModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PanelIndicatorTrendComponent} from \"./panel-indicator-trend.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmPanelModule} from \"../panel/panel.module\";\r\nimport {AbmMultilineChartModule} from \"../../charts/multiline-chart/multiline-chart.module\";\r\nimport {AbmLegendDetailedModule} from \"../../charts/legend-detailed/legend-detailed.module\";\r\nimport {AbmColumnLineChartModule} from \"../../charts/column-line-chart/column-line-chart.module\";\r\nimport { AbmFaultsChartModule } from '../../charts/faults-chart/panel-fault.component.module';\r\nimport {FormGroup, FormControl, FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {MatNativeDateModule} from '@angular/material/core';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelIndicatorTrendComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmPanelModule,\r\n    AbmMultilineChartModule,\r\n    AbmLegendDetailedModule,\r\n    AbmColumnLineChartModule,\r\n    AbmFaultsChartModule,\r\n    MatFormFieldModule,\r\n    MatDatepickerModule,\r\n    MatNativeDateModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n  ],\r\n  exports: [\r\n    PanelIndicatorTrendComponent\r\n  ]\r\n})\r\nexport class ABMPanelIndicatorTrendModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {IaqAlertsComponent} from \"./iaq-alerts.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmNavBarModule} from \"../../navigation/nav-bar/nav-bar.module\";\r\nimport {AbmPanelRoomsBreakoutDayModule} from \"../../panels/panel-rooms-breakout-day/panel-rooms-breakout-day.module\";\r\nimport {AbmPanelRecommendationsModule} from \"../../panels/panel-recommendations/panel-recommendations.module\";\r\nimport {ABMPanelIndicatorTrendModule} from \"../../panels/panel-indicator-trend/panel-indicator-trend.module\";\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatButtonModule} from '@angular/material/button';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    IaqAlertsComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmNavBarModule,\r\n    AbmPanelRoomsBreakoutDayModule,\r\n    AbmPanelRecommendationsModule,\r\n    ABMPanelIndicatorTrendModule,\r\n    MatButtonModule, MatTooltipModule,\r\n\r\n\r\n  ],\r\n  exports: [\r\n    IaqAlertsComponent\r\n  ]\r\n})\r\nexport class AbmIaqAlertsModule {\r\n}\r\n","import {ToggleSelectItem} from \"../../shared/model/toggle-select-item\";\r\n\r\nexport const ToggleConfig = [{\r\n  \r\n  label: 'IAQ View',\r\n  value: '2'\r\n}] as ToggleSelectItem[];","import {LegendDetailed} from \"./legend-detailed\";\r\n\r\nexport const MapLegendDetailed = [{\r\n  label: 'Crowded',\r\n  color: '#9D0E0E',\r\n  subLabel: 'Poor IAQ',\r\n  subLabelColor: '#9D0E0E'\r\n}, {\r\n  label: 'Crowded',\r\n  color: '#0083BE',\r\n  subLabel: 'Moderate IAQ',\r\n  subLabelColor: '#0083BE'\r\n}, {\r\n  label: 'Crowded',\r\n  color: '#b21fb2',\r\n  subLabel: 'Good IAQ',\r\n  subLabelColor: '#00841F'\r\n}, {\r\n  label: 'Well-Used',\r\n  color: '#E98300',\r\n  subLabel: 'Poor IAQ',\r\n  subLabelColor: '#9D0E0E'\r\n}, {\r\n  label: 'Well-Used',\r\n  color: '#1348FF',\r\n  subLabel: 'Moderate IAQ',\r\n  subLabelColor: '#0083BE'\r\n}, {\r\n  label: 'Well-Used',\r\n  color: '#6C6C6C',\r\n  subLabel: 'Good IAQ',\r\n  subLabelColor: '#00841F'\r\n}, {\r\n  label: 'Underutilized',\r\n  color: '#FFBA00',\r\n  subLabel: 'Poor IAQ',\r\n  subLabelColor: '#9D0E0E'\r\n}, {\r\n  label: 'Underutilized',\r\n  color: '#00841F',\r\n  subLabel: 'Moderate IAQ',\r\n  subLabelColor: '#0083BE'\r\n}, {\r\n  label: 'Underutilized',\r\n  color: '#292828',\r\n  subLabel: 'Good IAQ',\r\n  subLabelColor: '#00841F'\r\n}] as LegendDetailed[]\r\n","import {Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\r\nimport {ToggleSelectItem} from \"../../shared/model/toggle-select-item\";\r\nimport {ToggleBarSelectEvent} from \"./toggle-bar-select-event\";\r\n\r\n@Component({\r\n  selector: 'abm-toggle-button-bar',\r\n  templateUrl: './toggle-button-bar.component.html',\r\n  styleUrls: ['./toggle-button-bar.component.scss']\r\n})\r\nexport class ToggleButtonBarComponent implements OnChanges{\r\n\r\n  /**\r\n   * Array of toggle buttons in group\r\n   */\r\n  @Input()\r\n  data: ToggleSelectItem[];\r\n\r\n  /**\r\n   * Currently selected toggle button\r\n   */\r\n  @Input()\r\n  selectedItem: ToggleSelectItem;\r\n\r\n  /**\r\n   * Toggle button click event\r\n   */\r\n  @Output()\r\n  selectEvent: EventEmitter<ToggleBarSelectEvent> = new EventEmitter<ToggleBarSelectEvent>();\r\n\r\n  /**\r\n   * Angular change handler. Sets selected item to index 0 of data\r\n   * @param simpleChange\r\n   */\r\n  ngOnChanges(simpleChange: SimpleChanges) {\r\n    const d = simpleChange['data']\r\n    if(d && d.currentValue !== d.previousValue) {\r\n      this.selectedItem = d.currentValue[0];\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Internal click handler, dispatches select e\r\n   * @param item\r\n   */\r\n  clickHandler(item: ToggleSelectItem) {\r\n    this.selectEvent.emit({\r\n      currentSelection: item,\r\n      previousSelection: this.selectedItem\r\n    })\r\n\r\n    this.selectedItem = item;\r\n  }\r\n}\r\n","<mat-button-toggle-group #group=\"matButtonToggleGroup\" [value]=\"selectedItem\">\r\n  <mat-button-toggle class=\"btn-toggle\" *ngFor=\"let item of data\" [value]=\"item\"\r\n                     (click)=\"clickHandler(item)\">{{item.label}}</mat-button-toggle>\r\n</mat-button-toggle-group>\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {ToggleSelectItem} from \"../../shared/model/toggle-select-item\";\r\nimport {ToggleConfig} from \"./toggle-config.const\";\r\nimport {LegendDetailed} from \"../../shared/model/legend-detailed\";\r\nimport { MapLegendDetailed } from \"../../shared/model/map-legend-detailed\";\r\nimport {UsageRange} from \"../../shared/model/usage-range\";\r\nimport {ToggleBarSelectEvent} from \"../../components/toggle-button-bar/toggle-bar-select-event\";\r\nimport moment from 'moment';\r\nimport { DateRange } from '../../shared/model/daterange';\r\n\r\n@Component({\r\n  selector: 'abm-panel-heatmap',\r\n  templateUrl: './panel-heatmap.component.html',\r\n  styleUrls: ['./panel-heatmap.component.scss']\r\n})\r\nexport class PanelHeatmapComponent {\r\n\r\n  /**\r\n   * GeoJson (json) to render the building floor\r\n   */\r\n  @Input()\r\n  buildingGeoJson: any;\r\n\r\n  /**\r\n   * Floor map overlay/highlight data\r\n   */\r\n  @Input()\r\n  usageAnalyticsJson: any;\r\n\r\n  /**\r\n   * Data to populate the barchart\r\n   */\r\n  @Input()\r\n  barChartData: UsageRange[];\r\n\r\n  /**\r\n   * Building overlay button bar change event emitter\r\n   */\r\n  @Output()\r\n  overlayChangeEvent: EventEmitter<ToggleBarSelectEvent> = new EventEmitter<ToggleBarSelectEvent>();\r\n\r\n  /**\r\n   * Static button bar config\r\n   */\r\n  toggleButtonConfig: ToggleSelectItem[] = ToggleConfig;\r\n\r\n  /**\r\n   * Static legend-detailed config\r\n   */\r\n  legendDetailedData: LegendDetailed[] = MapLegendDetailed;\r\n\r\n  @Output()\r\n  trendType: EventEmitter<any> = new EventEmitter<any>();\r\n  @Output() dateRangeSelected: EventEmitter<DateRange> = new EventEmitter<DateRange>();\r\n\r\n  dataForbuttons: any = [];\r\n  startDate: any;\r\n  endDate: any;\r\n  selectedTrendType: any = 'Day';\r\n  todaysDate: any;\r\n\r\n  constructor() {\r\n    this.todaysDate = moment(new Date()).format(\"YYYY-MM-DD\");// formatting todays date\r\n    this.startDate = moment(new Date()).subtract(2, 'day').format('YYYY-MM-DD');\r\n    this.endDate = moment(this.todaysDate).format('YYYY-MM-DD');\r\n    this.dataForbuttons = [{ name: \"Day\", value: \"Day\", key: 1 }, { name: \"PreviousWeek\", value: \"PreviousWeek\", key: 2 }, { name: \"CurrentWeek\", value: \"CurrentWeek\", key: 3 }, { name: \"PreviousMonth\", value: \"PreviousMonth\", key: 4 }, { name: \"CurrentMonth\", value: \"CurrentMonth\", key: 5 }, { name: \"Range\", value: \"Range\", key: 6 }]\r\n  }\r\n\r\n  changeTrendType(type: any) {\r\n    this.selectedTrendType = type;\r\n    this.trendType.emit(type);\r\n  }\r\n\r\n  emitDateRange() {\r\n    if (this.startDate && this.endDate) {\r\n      this.startDate = moment(this.startDate).format('YYYY-MM-DD');\r\n      this.endDate = moment(this.endDate).format('YYYY-MM-DD');\r\n      this.dateRangeSelected.emit({ startDate: this.startDate, endDate: this.endDate });\r\n    }\r\n  }\r\n}\r\n","<abm-panel class=\"panel-heatmap\">\r\n  <div bodyContent>\r\n    <abm-toggle-button-bar #toggleBar [data]=\"toggleButtonConfig\" (selectEvent)=\"overlayChangeEvent.emit($event)\"></abm-toggle-button-bar>\r\n    <div class=\"customButtonsDiv\">\r\n      <button class=\"custom-buttons\" *ngFor=\"let item of dataForbuttons\"\r\n      [ngClass]=\"{'active-buttons': item.value === selectedTrendType}\"\r\n      (click)=\"changeTrendType(item.value)\">{{item.name}}</button>\r\n    </div>\r\n    <!-- <div style=\"margin: 0 15px;\" *ngIf=\"selectedTrendType === 'Range'\">\r\n      <mat-form-field class=\"example-form-field\">\r\n        <mat-label>Date Range</mat-label>\r\n        <mat-date-range-input [rangePicker]=\"picker\" [max]=\"todaysDate\">\r\n          <input matStartDate [(ngModel)]=\"startDate\">\r\n          <input matEndDate [(ngModel)]=\"endDate\" (dateChange)=\"emitDateRange()\">\r\n        </mat-date-range-input>\r\n        <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n        <mat-date-range-picker #picker></mat-date-range-picker>\r\n      </mat-form-field>\r\n    </div> -->\r\n\r\n    <div *ngIf=\"selectedTrendType === 'Range'\" style=\"margin-top: -5px;\">\r\n      <label style=\"margin: 5 15px;\" >Date Range</label>\r\n      <div style=\"margin: 0 15px;display: flex;\" >\r\n         <mat-date-range-input [rangePicker]=\"picker\" [max]=\"todaysDate\">\r\n           <input matStartDate [(ngModel)]=\"startDate\">  \r\n           <input matEndDate [(ngModel)]=\"endDate\" (dateChange)=\"emitDateRange()\">>\r\n         </mat-date-range-input>\r\n         <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n         <mat-date-range-picker #picker></mat-date-range-picker>\r\n     </div>\r\n   </div>\r\n    <div class=\"map-container\">\r\n      <abm-map\r\n        [showMap]=\"true\"\r\n        [showLegend]=\"false\"\r\n        [showControls]=\"true\"\r\n        [buildingGeoJson]=\"buildingGeoJson\"\r\n        [usageAnalyticsJson]=\"usageAnalyticsJson\"></abm-map>\r\n    </div>\r\n\r\n    <div style=\"display: flex;\">\r\n  \r\n\r\n    <div class=\"bars-hourly\">\r\n      <abm-barchart [small]=\"true\" [data]=\"barChartData\" [gradientBar]=\"false\" [showTime]=\"true\" [dateAsString]=\"true\"></abm-barchart>\r\n    </div>\r\n    <div class=\"legends-container\">\r\n      <abm-legend *ngIf=\"toggleBar.selectedItem === toggleButtonConfig[0]\"\r\n                  class=\"legend-basic\" [small]=\"true\"></abm-legend>\r\n      <abm-legend-detailed *ngIf=\"toggleBar.selectedItem === toggleButtonConfig[1]\"\r\n                           class=\"legend-detailed\"\r\n                           [data]=\"legendDetailedData\"\r\n                           [alignRight]=\"false\"\r\n                           [showAsCircles]=\"true\"></abm-legend-detailed>\r\n      <br/>\r\n      <abm-legend *ngIf=\"toggleBar.selectedItem === toggleButtonConfig[1]\" class=\"legend-bar\" [small]=\"true\" style=\"margin: 0.25rem 4rem;\"></abm-legend>\r\n    </div>\r\n  </div>\r\n\r\n  </div>\r\n</abm-panel>\r\n","export const TextBoxComponentStylesConst = {\r\n  DEFAULT: '',\r\n  SMART_ROUTING: 'smart-routing'\r\n}\r\n","export const ArrowsConst = {\r\n  NONE: 'none',\r\n  UP: 'up',\r\n  DOWN: 'down'\r\n}\r\n","import {Directive, ElementRef} from '@angular/core';\r\n\r\n@Directive({\r\n  selector: '[abmNoOrphan]'\r\n})\r\nexport class NoOrphanDirective {\r\n\r\n  /**\r\n   * constructor\r\n   * @param el Directive element reference\r\n   */\r\n  constructor(private el: ElementRef) {\r\n  }\r\n\r\n  /**\r\n   * Angular AfterViewInit handler. Finds the last index of \" \" in a string and replaces it with \"&nbsp;\"\r\n   * so that when the test wraps. We avoid having an orphan word.\r\n   */\r\n  ngAfterViewInit() {\r\n    const txt = this.el.nativeElement.innerText;\r\n    if (txt) {\r\n      const index = txt.lastIndexOf(' ') ;\r\n      const replace = txt.substring(0, index) + '&nbsp;' + txt.substring(index + 1);\r\n      this.el.nativeElement.innerHTML = replace;\r\n    }\r\n  }\r\n}\r\n","import {Component, HostBinding, Input, OnInit} from '@angular/core';\r\nimport {TextBoxComponentStylesConst} from \"./text-box.component.styles.const\";\r\nimport {ArrowsConst} from \"../../shared/const/arrows.const\";\r\n\r\n@Component({\r\n  selector: 'abm-text-box',\r\n  templateUrl: './text-box.component.html',\r\n  styleUrls: ['./text-box.component.scss']\r\n})\r\nexport class TextBoxComponent {\r\n\r\n  /**\r\n   * Display small or large style\r\n   * @type {boolean}\r\n   */\r\n  @Input()\r\n  @HostBinding('class.small')\r\n  small: boolean = false;\r\n\r\n  /**\r\n   * Set the style of the component (ex smart routing\r\n   */\r\n  @Input()\r\n  @HostBinding('class')\r\n  style: string = TextBoxComponentStylesConst.DEFAULT;\r\n\r\n  /**\r\n   * Arrow to display. Up/Down/None\r\n   */\r\n  @Input()\r\n  arrow: string = ArrowsConst.NONE;\r\n\r\n  /**\r\n   * xtitle text to display\r\n   */\r\n  @Input()\r\n  xtitle: string;\r\n\r\n  /**\r\n   * Light vs dark mode.\r\n   */\r\n  @HostBinding('class.light')\r\n  @Input()\r\n  light: boolean = false;\r\n\r\n  /**\r\n   * Content text to display\r\n   */\r\n  @Input()\r\n  content: any;\r\n\r\n  /**\r\n   * Footer text to display\r\n   */\r\n  @Input()\r\n  footer: string;\r\n\r\n  @Input()\r\n  loading: boolean = false;\r\n}\r\n","<div class=\"top\">\r\n  <abm-loader class=\"loading\" *ngIf=\"loading\"></abm-loader>\r\n  <div class=\"xtitle\" [style.visibility]=\"loading ? 'hidden' : 'visible'\" abmNoOrphan>{{xtitle}}</div>\r\n\r\n  <div class=\"content-container\">\r\n    <div [style.visibility]=\"loading ? 'hidden' : 'visible'\" class=\"content\" >{{content}}</div>\r\n<!--    <div [style.visibility]=\"loading ? 'hidden' : 'visible'\" class=\"arrow\" [class]=\"arrow\"></div>-->\r\n    <div [style.visibility]=\"loading || content == undefined  ? 'hidden' : 'visible'\" class=\"lbl-seconds\"></div>\r\n  </div>\r\n</div>\r\n<!-- <div class=\"footer\"   hidden = \"footer === null || footer === 0 ? True : False\">{{ footer }}</div> -->\r\n<div class=\"footer\"  *ngIf=\"footer\">{{ footer }}</div>\r\n\r\n\r\n<!-- *ngIf=\"footer?.length\" abmNoOrphan -->\r\n\r\n","import {Component, Input} from '@angular/core';\r\nimport {ImpactArea} from \"./impact-area\";\r\n\r\n@Component({\r\n  selector: 'abm-panel-impact-areas',\r\n  templateUrl: './panel-impact-areas.component.html',\r\n  styleUrls: ['./panel-impact-areas.component.scss']\r\n})\r\nexport class PanelImpactAreasComponent {\r\n\r\n  /**\r\n   * Array of Impact Area data used to create/populate text-box components\r\n   */\r\n  @Input()\r\n  data: ImpactArea[];\r\n}\r\n","<abm-panel xtitle=\"Largest Impact Areas\">\r\n  <div class=\"panel-content\" bodyContent>\r\n    <abm-text-box class=\"txt-box\" *ngFor=\"let item of data\"\r\n                  [xtitle]=\"item.xtitle\" [content]=\"item.content\" [arrow]=\"item.arrow\"\r\n                  [footer]=\"item.footer\" [light]=\"true\"></abm-text-box>\r\n  </div>\r\n</abm-panel>\r\n","import {ToggleSelectItem} from \"../../shared/model/toggle-select-item\";\r\n\r\nexport const IaqScoreUtilizationConst = [{\r\n  label: 'IAQ Score',\r\n  value: 0\r\n}] as ToggleSelectItem[];\r\n","import {LegendDetailed} from \"../../shared/model/legend-detailed\";\r\n\r\nexport const IaqScoreUtilizationLegendConst = [{\r\n  label: 'Planned Time',\r\n  color: '#0000ff '\r\n}, {\r\n  label: 'Actual Time',\r\n  color: '#ffa500'\r\n}] as LegendDetailed[];\r\n","import moment from 'moment';\r\n\r\nexport const ScoreUtilizationTrendChartConfig = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    // height: '100%',\r\n    type: 'area',\r\n    redrawOnParentResize: true\r\n  },\r\n  colors: ['rgba(98,161,255, 1)', 'rgba(253, 194, 99, 1)'],\r\n  stroke: {\r\n    width: 2,\r\n    curve: 'straight'\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        // return val; // typeof(val) !== 'number' ? moment(val).format('H:mm A') : '';\r\n        let hours: any = val > 12 ? ((val - 12) + ':00 PM') : val + ':00 AM';\r\n        if (val === 12) {\r\n          hours = val + ':00 PM';\r\n        }\r\n        return hours;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#FFFFFF',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      offsetY: 3\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n      color: '#1f223d'\r\n    }\r\n  },\r\n  legend: {\r\n    show: false,\r\n    height: 0\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false\r\n    },\r\n    y: {\r\n      title: {\r\n        formatter: (series: any) => {\r\n          return series == 'series-1' ? 'IAQScore: ' : '';\r\n        }\r\n      }\r\n    }\r\n  },\r\n  grid: {\r\n    borderColor: '#1f223d'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  }\r\n};\r\n","import {Component, Input} from '@angular/core';\r\nimport {PanelComponentStylesConst} from \"../panel/panel.component.styles.const\";\r\nimport {LineChartConfig} from \"../../shared/chart-configs/line-chart-config\";\r\n\r\n@Component({\r\n  selector: 'abm-panel-line-chart',\r\n  templateUrl: './panel-line-chart.component.html',\r\n  styleUrls: ['./panel-line-chart.component.scss']\r\n})\r\nexport class PanelLineChartComponent {\r\n\r\n  @Input()\r\n  data: any[][];\r\n\r\n  @Input()\r\n  chartConfig: any = LineChartConfig;\r\n\r\n  @Input()\r\n  style: string = PanelComponentStylesConst.DEFAULT;\r\n\r\n  @Input()\r\n  xtitle: string = 'Bi-Monthly Trend in Avg. IAQ Score'\r\n}\r\n","<abm-panel class=\"panel-chart\" [xtitle]=\"xtitle\" [style]=\"style\">\r\n  <ng-content #headerContent headerContent class=\"header-content\"></ng-content>\r\n  <abm-column-line-chart bodyContent [data]=\"data\" [chartConfig]=\"chartConfig\" class=\"chart\"></abm-column-line-chart>\r\n</abm-panel>\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport {TimeData} from \"../../shared/model/time-data\";\r\nimport {LineChartConfig} from \"../../shared/chart-configs/line-chart-config\";\r\nimport {IaqScoreUtilizationConst} from \"./iaq-score-utilization.const\";\r\nimport {ToggleSelectItem} from \"../../shared/model/toggle-select-item\";\r\nimport {LegendDetailed} from \"../../shared/model/legend-detailed\";\r\nimport {IaqScoreUtilizationLegendConst} from \"./iaq-score-utilization-legend.const\";\r\nimport {ToggleBarSelectEvent} from \"../../components/toggle-button-bar/toggle-bar-select-event\";\r\nimport {ScoreUtilizationTrendChartConfig} from \"../../shared/chart-configs/score-utilization-trend-chart-config\";\r\n\r\n@Component({\r\n  selector: 'abm-panel-score-utilization-trend',\r\n  templateUrl: './panel-score-utilization-trend.component.html',\r\n  styleUrls: ['./panel-score-utilization-trend.component.scss']\r\n})\r\nexport class PanelScoreUtilizationTrendComponent implements OnInit, OnChanges {\r\n\r\n  /**\r\n   * TimeData used to populate the series of the chart\r\n   */\r\n  @Input()\r\n  data: TimeData[][];\r\n\r\n  /**\r\n   * Toggle button bar selection/change event\r\n   */\r\n  @Output()\r\n  toggleBarSelectEvent: EventEmitter<ToggleBarSelectEvent> = new EventEmitter<ToggleBarSelectEvent>()\r\n\r\n  /**\r\n   * Apex charts configuration object\r\n   */\r\n  chartConfig: any = ScoreUtilizationTrendChartConfig;\r\n\r\n  /**\r\n   * Toggle button bar configuration object\r\n   */\r\n  toggleButtonsConfig: ToggleSelectItem[] = IaqScoreUtilizationConst;\r\n\r\n  /**\r\n   * Legend details button bar configuration object\r\n   */\r\n  legendConfig: LegendDetailed[] = IaqScoreUtilizationLegendConst;\r\n\r\n  constructor() {\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    console.log(\"::: INSIDE ON INIT PANEL SCORE UTILIZATION :::\", this.data);\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    console.log(\"::: INSIDE ON CHANGES PANEL SCORE UTILIZATION :::\", this.data);\r\n  }\r\n}\r\n","<abm-panel-line-chart class=\"chart\" xtitle=\"IAQ Score & Utilization Trend\"\r\n                      [data]=\"data\" [chartConfig]=\"chartConfig\">\r\n  <div headerContent class=\"header-content\">\r\n    <abm-toggle-button-bar class=\"toggle-buttons\" [data]=\"toggleButtonsConfig\"\r\n                           (selectEvent)=\"toggleBarSelectEvent.emit($event)\"></abm-toggle-button-bar>\r\n    <div class=\"divider\"></div>\r\n    <abm-legend-detailed class=\"legend-detailed\" [data]=\"legendConfig\" [alignRight]=\"true\"></abm-legend-detailed>\r\n  </div>\r\n</abm-panel-line-chart>\r\n\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {SelectItem} from \"../../shared/model/select-item\";\r\nimport {ImpactArea} from \"../../panels/panel-impact-areas/impact-area\";\r\nimport {TimeData} from \"../../shared/model/time-data\";\r\nimport {UsageRange} from \"../../shared/model/usage-range\";\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\nimport {ApplyEvent} from \"../../navigation/nav-bar/apply-event\";\r\nimport { DateRange } from '../../shared/model/daterange';\r\n\r\n@Component({\r\n  selector: 'abm-iaq-comfort-index',\r\n  templateUrl: './iaq-comfort-index.component.html',\r\n  styleUrls: ['./iaq-comfort-index.component.scss']\r\n})\r\nexport class IaqComfortIndexComponent {\r\n  /**\r\n   * Site dropdown option\r\n   */\r\n  @Input()\r\n  siteOptions: SelectItem[];\r\n\r\n  /**\r\n   * Facility dropdown options\r\n   */\r\n  @Input()\r\n  facilityOptions: SelectItem[];\r\n\r\n  /**\r\n   * Level dropdown options\r\n   */\r\n  @Input()\r\n  levelOptions: SelectItem[];\r\n\r\n  /**\r\n* Vendor dropdown options\r\n*/\r\n  @Input()\r\n  vendorOptions: SelectItem[];\r\n\r\n  /**\r\n   * Impact Areas pane data\r\n   */\r\n  @Input()\r\n  impactAreaData: ImpactArea[];\r\n\r\n  /**\r\n   * Geojson data to render floor\r\n   */\r\n  @Input()\r\n  buildingGeoJson: any;\r\n\r\n  /**\r\n   * Map overlay data\r\n   */\r\n  @Input()\r\n  usageAnalyticsJson: any;\r\n\r\n  /**\r\n   * Hourly bar chart data\r\n   */\r\n  @Input()\r\n  barChartData: UsageRange[];\r\n\r\n  /**\r\n   * Utilization trend chart data\r\n   */\r\n  @Input()\r\n  scoreUtilizationTrendData: TimeData[][];\r\n\r\n  /**\r\n   * Site dropdown change event emitter\r\n   */\r\n  @Output()\r\n  siteChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Facility dropdown change event emitter\r\n   */\r\n  @Output()\r\n  facilityChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Level dropdown change event emitter\r\n   */\r\n  @Output()\r\n  levelChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n  * Vendor dropdown change event emitter\r\n  */\r\n  @Output()\r\n  vendorChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Apply Button Click handler\r\n   */\r\n  @Output()\r\n  applyEvent: EventEmitter<ApplyEvent> = new EventEmitter<ApplyEvent>();\r\n\r\n  @Output()\r\n  trendTypeChangeEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n\r\n  @Output()\r\n  dateRangeEvent: EventEmitter<DateRange> = new EventEmitter<DateRange>();\r\n\r\n  /**\r\n   * Internal layout property. content flex direction\r\n   */\r\n  contentDirection: string = 'row';\r\n\r\n  /**\r\n   * Internal layout property. Impact Areas panel margin top\r\n   */\r\n  impactMarginTop: number;\r\n\r\n  /**\r\n   * Content resize handler, adjusts layout\r\n   * @param event ResizedEvent\r\n   */\r\n  contentResized(event: ResizedEvent) {\r\n    const width = event.newRect.width;\r\n    this.contentDirection = width < 1200 ? 'column' : 'row';\r\n    this.impactMarginTop = width < 1200 ? 20 : 0\r\n  }\r\n}\r\n","<div class=\"page-xtitle\">Comfort Index</div>\r\n\r\n<abm-nav-bar class=\"nav-bar\" [siteOptions]=\"siteOptions\" [facilityOptions]=\"facilityOptions\"\r\n  [levelOptions]=\"levelOptions\" [vendorOptions]=\"vendorOptions\" (siteChangeEvent)=\"siteChangeEvent.emit($event)\"\r\n  (facilityChangeEvent)=\"facilityChangeEvent.emit($event)\" (levelChangeEvent)=\"levelChangeEvent.emit($event)\"\r\n  (vendorChangeEvent)=\"vendorChangeEvent.emit($event)\" (applyEvent)=\"applyEvent.emit($event)\">\r\n</abm-nav-bar>\r\n\r\n<div class=\"content\" (resized)=\"contentResized($event)\" [style.flex-direction]=\"contentDirection\">\r\n  <abm-panel-heatmap class=\"panel-heatmap\" [buildingGeoJson]=\"buildingGeoJson\" [usageAnalyticsJson]=\"usageAnalyticsJson\"\r\n    [barChartData]=\"barChartData\" (trendType)=\"trendTypeChangeEvent.emit($event)\"\r\n    (dateRangeSelected)=\"dateRangeEvent.emit($event)\">\r\n  </abm-panel-heatmap>\r\n  <div class=\"h-spacer\"></div>\r\n  <div class=\"content-right\">\r\n    <abm-panel-impact-areas class=\"panel-impact\" [data]=\"impactAreaData\"\r\n                            [style.margin-top.px]=\"impactMarginTop\"></abm-panel-impact-areas>\r\n    <abm-panel-score-utilization-trend class=\"panel-score\" [data]=\"scoreUtilizationTrendData\">\r\n    </abm-panel-score-utilization-trend>\r\n  </div>\r\n</div>","import {NgModule} from '@angular/core';\r\nimport {ToggleButtonBarComponent} from \"./toggle-button-bar.component\";\r\nimport {MatButtonToggleModule} from \"@angular/material/button-toggle\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    ToggleButtonBarComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    MatButtonToggleModule\r\n  ],\r\n  exports: [\r\n    ToggleButtonBarComponent\r\n  ]\r\n})\r\nexport class AbmToggleButtonBarModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PanelHeatmapComponent} from \"./panel-heatmap.component\";\r\nimport {AbmToggleButtonBarModule} from \"../../components/toggle-button-bar/toggle-button-bar.module\";\r\nimport {AbmPanelModule} from \"../panel/panel.module\";\r\nimport {AbmMapModule} from \"../../components/map/map.module\";\r\nimport {AbmLegendModule} from \"../../charts/legend/legend.module\";\r\nimport {AbmLegendDetailedModule} from \"../../charts/legend-detailed/legend-detailed.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmBarChartModule} from \"../../charts/barchart/barchart.module\";\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelHeatmapComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmPanelModule,\r\n    AbmToggleButtonBarModule,\r\n    AbmMapModule,\r\n    AbmLegendModule,\r\n    AbmLegendDetailedModule,\r\n    AbmBarChartModule,\r\n    MatFormFieldModule,\r\n    MatDatepickerModule,\r\n    MatNativeDateModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n  ],\r\n  exports: [\r\n    PanelHeatmapComponent\r\n  ]\r\n})\r\nexport class AbmPanelHeatmapModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {TextBoxComponent} from \"./text-box.component\";\r\nimport {NoOrphanDirective} from \"../../shared/directive/no-orphan.directive\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmLoaderModule} from \"../loader/loader.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    TextBoxComponent,\r\n    NoOrphanDirective\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmLoaderModule\r\n  ],\r\n  exports: [\r\n    TextBoxComponent,\r\n    NoOrphanDirective\r\n  ]\r\n})\r\nexport class AbmTextBoxModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PanelImpactAreasComponent} from \"./panel-impact-areas.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmPanelModule} from \"../panel/panel.module\";\r\nimport {AbmTextBoxModule} from \"../../components/text-box/text-box.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelImpactAreasComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmPanelModule,\r\n    AbmTextBoxModule\r\n  ],\r\n  exports: [\r\n    PanelImpactAreasComponent\r\n  ]\r\n})\r\nexport class AbmPanelImpactAreasModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PanelLineChartComponent} from \"./panel-line-chart.component\";\r\nimport {AbmPanelModule} from \"../panel/panel.module\";\r\nimport {AbmColumnLineChartModule} from \"../../charts/column-line-chart/column-line-chart.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelLineChartComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmPanelModule,\r\n    AbmColumnLineChartModule\r\n  ],\r\n  exports: [\r\n    PanelLineChartComponent\r\n  ]\r\n})\r\nexport class AbmPanelLineChartModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PanelScoreUtilizationTrendComponent} from \"./panel-score-utilization-trend.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmPanelLineChartModule} from \"../panel-line-chart/panel-line-chart.module\";\r\nimport {AbmToggleButtonBarModule} from \"../../components/toggle-button-bar/toggle-button-bar.module\";\r\nimport {AbmLegendDetailedModule} from \"../../charts/legend-detailed/legend-detailed.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelScoreUtilizationTrendComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmPanelLineChartModule,\r\n    AbmToggleButtonBarModule,\r\n    AbmLegendDetailedModule\r\n  ],\r\n  exports: [\r\n    PanelScoreUtilizationTrendComponent\r\n  ]\r\n})\r\nexport class AbmPanelScoreUtilizationTrendModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {IaqComfortIndexComponent} from \"./iaq-comfort-index.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmNavBarModule} from \"../../navigation/nav-bar/nav-bar.module\";\r\nimport {AbmPanelHeatmapModule} from \"../../panels/panel-heatmap/panel-heatmap.module\";\r\nimport {AbmPanelImpactAreasModule} from \"../../panels/panel-impact-areas/panel-impact-areas.module\";\r\nimport {\r\n  AbmPanelScoreUtilizationTrendModule\r\n} from \"../../panels/panel-score-utilization-trend/panel-score-utilization-trend.module\";\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    IaqComfortIndexComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmNavBarModule,\r\n    AbmPanelHeatmapModule,\r\n    AbmPanelImpactAreasModule,\r\n    AbmPanelScoreUtilizationTrendModule\r\n  ],\r\n  exports: [\r\n    IaqComfortIndexComponent\r\n  ]\r\n})\r\nexport class AbmIaqComfortIndexModule {\r\n}\r\n","import { IaqFaultsConfig } from \"../../shared/chart-configs/iaq-faults-config\";\r\nimport {LegendDetailed} from \"../../shared/model/legend-detailed\";\r\n\r\n\r\nexport const LegendData = [{\r\n  label: 'Mech. Wear & Tear',\r\n  color: IaqFaultsConfig.colors[5]\r\n}, {\r\n  label: 'Maintenance',\r\n  color: IaqFaultsConfig.colors[6]\r\n}, {\r\n  label: 'Filters',\r\n  color: IaqFaultsConfig.colors[7]\r\n}, {\r\n  label: 'Thermostat Malfunction',\r\n  color: IaqFaultsConfig.colors[8]\r\n}, {\r\n  label: 'Others',\r\n  color: IaqFaultsConfig.colors[2]\r\n}] as LegendDetailed[];\r\n\r\n\r\n\r\n","import {\r\n  AfterViewInit, ChangeDetectorRef, Component, ElementRef, HostBinding, Input, NgZone, Renderer2, SimpleChanges,\r\n  ViewChild\r\n} from '@angular/core';\r\nimport { Gauge } from 'gauge-chart-js';\r\nimport { ResizedEvent } from \"angular-resize-event\";\r\nimport { gsap } from 'gsap';\r\n\r\n@Component({\r\n  selector: 'abm-gauge-chart',\r\n  templateUrl: './gauge-chart.component.html',\r\n  styleUrls: ['./gauge-chart.component.scss']\r\n})\r\nexport class GaugeChartComponent implements AfterViewInit {\r\n\r\n  /**\r\n   * Gauge element ref\r\n   */\r\n  @ViewChild('gaugeElement')\r\n  gaugeElement: ElementRef;\r\n\r\n  /**\r\n   * Needle element ref\r\n   */\r\n  @ViewChild('needleElement')\r\n  needleElement: ElementRef;\r\n\r\n  /**\r\n   * Container element ref\r\n   */\r\n  @ViewChild('outerContainer')\r\n  outerContainer: ElementRef;\r\n\r\n  /**\r\n   * Value to set gauge needle to\r\n   */\r\n  @Input()\r\n  gaugeValue: number = 0;\r\n\r\n   /**\r\n   * indicator key\r\n   */\r\n   @Input()\r\n   key: string;\r\n\r\n  /**\r\n   * indicator value\r\n   */\r\n  @Input()\r\n  value: number;\r\n\r\n  /**\r\n * indicator units\r\n */\r\n  @Input()\r\n  units: string;\r\n\r\n  /**\r\n* indicator status\r\n*/\r\n  @Input()\r\n  status: string;\r\n\r\n  /**\r\n   * Display gague value or High/Medium/Low\r\n   */\r\n  @Input()\r\n  displayValue: boolean = false;\r\n\r\n  gauge: any;\r\n\r\n  labelValue: string = '';\r\n\r\n  /**\r\n   * Internal: scale\r\n   */\r\n  gaugeScale: string = 'scale(1)';\r\n\r\n  /**\r\n   * Internal: height\r\n   */\r\n  gaugeHeight: number;\r\n\r\n  /**\r\n   * Internal: width\r\n   */\r\n  gaugeWidth: number;\r\n\r\n  /**\r\n   * Internal: width\r\n   */\r\n  indMaxValues: any = {\r\n    \"CO2\":40,\r\n    \"RH\":35,\r\n    \"TEMP\":35,\r\n    \"TVOC\":50,\r\n    \"PM25\":35,\r\n    \"AVG\":200\r\n  };\r\n\r\n  /**\r\n   * Constructor\r\n   * @param renderer Angular Renderer2\r\n   * @param cdr Angular ChangeDetectorRef\r\n   * @param ngZone Angular NgZone\r\n   */\r\n  constructor(private renderer: Renderer2,\r\n    private cdr: ChangeDetectorRef,\r\n    private ngZone: NgZone) {\r\n  }\r\n\r\n  /**\r\n   * Angular after view init\r\n   */\r\n  ngAfterViewInit() {\r\n\r\n    this.drawGauge();\r\n\r\n    if (this.gaugeValue) {\r\n      this.setNeedle(this.gaugeValue);\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Angular ng on changes\r\n   * @param simpleChanges SimpleChanges\r\n   */\r\n  ngOnChanges(simpleChanges: SimpleChanges) {\r\n    const gv = simpleChanges['gaugeValue'];\r\n    if (gv.currentValue !== gv.previousValue && !gv.firstChange) {\r\n      this.setNeedle(gv.currentValue);\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Draw gague to dom\r\n   */\r\n  drawGauge() {\r\n    const config = {\r\n      container: this.gaugeElement.nativeElement,\r\n      lineWidth: 3,\r\n      fromAngle: 220,\r\n      toAngle: 500,\r\n      inputFormat: 'hex',\r\n      animationDuration: 0,\r\n      autoResize: false,\r\n      colors: [\"rgb(161, 0, 0)\", \"rgb(161, 1, 0)\", \"rgb(162, 3, 0)\", \"rgb(162, 5, 0)\", \"rgb(163, 6, 0)\", \"rgb(163, 8, 0)\", \"rgb(164, 10, 0)\", \"rgb(165, 11, 0)\", \"rgb(165, 13, 0)\", \"rgb(166, 14, 0)\", \"rgb(166, 16, 0)\", \"rgb(167, 18, 0)\", \"rgb(167, 19, 0)\", \"rgb(168, 21, 0)\", \"rgb(168, 22, 0)\", \"rgb(169, 24, 0)\", \"rgb(169, 26, 0)\", \"rgb(170, 27, 0)\", \"rgb(170, 29, 0)\", \"rgb(171, 30, 0)\", \"rgb(171, 32, 0)\", \"rgb(172, 33, 0)\", \"rgb(172, 35, 0)\", \"rgb(172, 36, 0)\", \"rgb(173, 38, 0)\", \"rgb(173, 39, 0)\", \"rgb(174, 41, 0)\", \"rgb(174, 42, 0)\", \"rgb(175, 44, 0)\", \"rgb(175, 45, 0)\", \"rgb(175, 47, 0)\", \"rgb(176, 48, 0)\", \"rgb(176, 49, 0)\", \"rgb(176, 51, 0)\", \"rgb(177, 52, 0)\", \"rgb(177, 54, 0)\", \"rgb(177, 55, 0)\", \"rgb(178, 56, 0)\", \"rgb(178, 58, 0)\", \"rgb(178, 59, 0)\", \"rgb(179, 60, 0)\", \"rgb(179, 62, 0)\", \"rgb(179, 63, 0)\", \"rgb(180, 64, 0)\", \"rgb(180, 66, 0)\", \"rgb(180, 67, 0)\", \"rgb(180, 68, 0)\", \"rgb(181, 70, 0)\", \"rgb(181, 71, 0)\", \"rgb(181, 72, 0)\", \"rgb(181, 73, 0)\", \"rgb(182, 75, 0)\", \"rgb(182, 76, 0)\", \"rgb(182, 77, 0)\", \"rgb(182, 78, 0)\", \"rgb(182, 80, 0)\", \"rgb(183, 81, 0)\", \"rgb(183, 82, 0)\", \"rgb(183, 83, 0)\", \"rgb(183, 84, 0)\", \"rgb(183, 86, 0)\", \"rgb(183, 87, 0)\", \"rgb(183, 88, 0)\", \"rgb(184, 89, 0)\", \"rgb(184, 90, 0)\", \"rgb(184, 91, 0)\", \"rgb(184, 92, 0)\", \"rgb(184, 93, 0)\", \"rgb(184, 95, 0)\", \"rgb(184, 96, 0)\", \"rgb(184, 97, 0)\", \"rgb(184, 98, 0)\", \"rgb(184, 99, 0)\", \"rgb(184, 100, 0)\", \"rgb(185, 101, 0)\", \"rgb(185, 102, 0)\", \"rgb(185, 103, 0)\", \"rgb(185, 104, 0)\", \"rgb(185, 105, 0)\", \"rgb(185, 106, 0)\", \"rgb(185, 107, 0)\", \"rgb(185, 108, 0)\", \"rgb(185, 109, 0)\", \"rgb(185, 110, 0)\", \"rgb(185, 111, 0)\", \"rgb(185, 112, 0)\", \"rgb(184, 113, 0)\", \"rgb(184, 114, 0)\", \"rgb(184, 115, 0)\", \"rgb(184, 115, 0)\", \"rgb(184, 116, 0)\", \"rgb(184, 117, 0)\", \"rgb(184, 118, 0)\", \"rgb(184, 119, 0)\", \"rgb(184, 120, 0)\", \"rgb(184, 121, 0)\", \"rgb(184, 121, 0)\", \"rgb(183, 122, 0)\", \"rgb(183, 123, 0)\", \"rgb(183, 124, 0)\", \"rgb(183, 125, 0)\", \"rgb(183, 126, 0)\", \"rgb(183, 126, 0)\", \"rgb(182, 127, 0)\", \"rgb(182, 128, 0)\", \"rgb(182, 129, 0)\", \"rgb(182, 129, 0)\", \"rgb(182, 130, 0)\", \"rgb(181, 131, 0)\", \"rgb(181, 132, 0)\", \"rgb(181, 132, 0)\", \"rgb(181, 133, 0)\", \"rgb(181, 134, 0)\", \"rgb(180, 134, 0)\", \"rgb(180, 135, 0)\", \"rgb(180, 136, 0)\", \"rgb(179, 136, 0)\", \"rgb(179, 137, 0)\", \"rgb(179, 138, 0)\", \"rgb(179, 138, 0)\", \"rgb(178, 139, 0)\", \"rgb(178, 140, 0)\", \"rgb(178, 140, 0)\", \"rgb(177, 141, 0)\", \"rgb(177, 141, 0)\", \"rgb(177, 142, 0)\", \"rgb(176, 142, 0)\", \"rgb(176, 143, 0)\", \"rgb(176, 144, 0)\", \"rgb(175, 144, 0)\", \"rgb(175, 145, 0)\", \"rgb(174, 145, 0)\", \"rgb(174, 146, 0)\", \"rgb(174, 146, 0)\", \"rgb(173, 147, 0)\", \"rgb(173, 147, 0)\", \"rgb(172, 148, 0)\", \"rgb(172, 148, 0)\", \"rgb(171, 149, 0)\", \"rgb(171, 149, 0)\", \"rgb(171, 150, 0)\", \"rgb(170, 150, 0)\", \"rgb(170, 150, 0)\", \"rgb(169, 151, 0)\", \"rgb(169, 151, 0)\", \"rgb(168, 152, 0)\", \"rgb(168, 152, 0)\", \"rgb(167, 152, 0)\", \"rgb(167, 153, 0)\", \"rgb(166, 153, 0)\", \"rgb(165, 153, 0)\", \"rgb(165, 154, 0)\", \"rgb(164, 154, 0)\", \"rgb(164, 154, 0)\", \"rgb(163, 155, 0)\", \"rgb(163, 155, 0)\", \"rgb(162, 155, 0)\", \"rgb(161, 156, 0)\", \"rgb(161, 156, 0)\", \"rgb(160, 156, 0)\", \"rgb(160, 156, 0)\", \"rgb(159, 157, 0)\", \"rgb(158, 157, 0)\", \"rgb(158, 157, 0)\", \"rgb(157, 157, 0)\", \"rgb(156, 158, 0)\", \"rgb(156, 158, 0)\", \"rgb(155, 158, 0)\", \"rgb(154, 158, 0)\", \"rgb(154, 158, 0)\", \"rgb(153, 159, 0)\", \"rgb(152, 159, 0)\", \"rgb(152, 159, 0)\", \"rgb(151, 159, 0)\", \"rgb(150, 159, 0)\", \"rgb(150, 159, 0)\", \"rgb(149, 159, 0)\", \"rgb(148, 159, 0)\", \"rgb(147, 160, 0)\", \"rgb(147, 160, 0)\", \"rgb(146, 160, 0)\", \"rgb(145, 160, 0)\", \"rgb(144, 160, 0)\", \"rgb(143, 160, 0)\", \"rgb(143, 160, 0)\", \"rgb(142, 160, 0)\", \"rgb(141, 160, 0)\", \"rgb(140, 160, 0)\", \"rgb(139, 160, 0)\", \"rgb(138, 160, 0)\", \"rgb(138, 160, 0)\", \"rgb(137, 160, 0)\", \"rgb(136, 160, 0)\", \"rgb(135, 160, 0)\", \"rgb(134, 160, 0)\", \"rgb(133, 160, 0)\", \"rgb(132, 160, 0)\", \"rgb(132, 160, 0)\", \"rgb(131, 160, 0)\", \"rgb(130, 160, 0)\", \"rgb(129, 159, 0)\", \"rgb(128, 159, 0)\", \"rgb(127, 159, 0)\", \"rgb(126, 159, 0)\", \"rgb(125, 159, 0)\", \"rgb(124, 159, 0)\", \"rgb(123, 159, 0)\", \"rgb(122, 158, 0)\", \"rgb(121, 158, 0)\", \"rgb(120, 158, 0)\", \"rgb(119, 158, 0)\", \"rgb(118, 158, 0)\", \"rgb(117, 158, 0)\", \"rgb(116, 157, 0)\", \"rgb(115, 157, 0)\", \"rgb(114, 157, 0)\", \"rgb(113, 157, 0)\", \"rgb(112, 156, 0)\", \"rgb(111, 156, 0)\", \"rgb(110, 156, 0)\", \"rgb(109, 155, 0)\", \"rgb(108, 155, 0)\", \"rgb(107, 155, 0)\", \"rgb(105, 155, 0)\", \"rgb(104, 154, 0)\", \"rgb(103, 154, 0)\", \"rgb(102, 154, 0)\", \"rgb(101, 153, 0)\", \"rgb(100, 153, 0)\", \"rgb(99, 153, 0)\", \"rgb(98, 152, 0)\", \"rgb(96, 152, 0)\", \"rgb(95, 151, 0)\", \"rgb(94, 151, 0)\", \"rgb(93, 151, 0)\", \"rgb(92, 150, 0)\", \"rgb(90, 150, 0)\", \"rgb(89, 149, 0)\", \"rgb(88, 149, 0)\", \"rgb(87, 148, 0)\", \"rgb(86, 148, 0)\", \"rgb(84, 147, 0)\", \"rgb(83, 147, 0)\", \"rgb(82, 146, 0)\", \"rgb(81, 146, 0)\", \"rgb(79, 145, 0)\", \"rgb(78, 145, 0)\", \"rgb(77, 144, 0)\", \"rgb(75, 144, 0)\", \"rgb(74, 143, 0)\", \"rgb(73, 143, 0)\", \"rgb(72, 142, 0)\", \"rgb(70, 142, 0)\", \"rgb(69, 141, 0)\", \"rgb(68, 140, 0)\", \"rgb(66, 140, 0)\", \"rgb(65, 139, 0)\", \"rgb(64, 139, 0)\", \"rgb(62, 138, 0)\", \"rgb(61, 137, 0)\", \"rgb(59, 137, 0)\", \"rgb(58, 136, 0)\", \"rgb(57, 135, 0)\", \"rgb(55, 135, 0)\", \"rgb(54, 134, 0)\", \"rgb(52, 133, 0)\", \"rgb(51, 133, 0)\", \"rgb(50, 132, 0)\", \"rgb(48, 131, 0)\", \"rgb(47, 131, 0)\", \"rgb(45, 130, 0)\", \"rgb(44, 129, 0)\", \"rgb(42, 128, 0)\", \"rgb(41, 128, 0)\", \"rgb(39, 127, 0)\", \"rgb(38, 126, 0)\", \"rgb(36, 125, 0)\", \"rgb(35, 124, 0)\", \"rgb(33, 124, 0)\", \"rgb(32, 123, 0)\", \"rgb(30, 122, 0)\", \"rgb(29, 121, 0)\", \"rgb(27, 120, 0)\", \"rgb(25, 119, 0)\", \"rgb(24, 119, 0)\", \"rgb(22, 118, 0)\", \"rgb(21, 117, 0)\", \"rgb(19, 116, 0)\", \"rgb(18, 115, 0)\", \"rgb(16, 114, 0)\", \"rgb(14, 113, 0)\", \"rgb(13, 112, 0)\", \"rgb(11, 111, 0)\", \"rgb(9, 110, 0)\", \"rgb(8, 109, 0)\", \"rgb(6, 108, 0)\", \"rgb(5, 107, 0)\", \"rgb(3, 106, 0)\", \"rgb(1, 105, 0)\", \"rgb(0, 105, 0)\"]\r\n    }\r\n\r\n    this.gauge = new Gauge(config);\r\n    this.gauge.setValue(500);\r\n  }\r\n\r\n  /**\r\n   * Set needle value, 0 - 100\r\n   * @param percent\r\n   */\r\n  setNeedle(percent: number) {\r\n    if (!this.displayValue) {\r\n      switch (true) {\r\n        case percent <= 40:\r\n          this.labelValue = 'POOR';\r\n          break;\r\n\r\n        case percent > 40 && percent <= 80:\r\n          this.labelValue = 'FAIR';\r\n          break;\r\n\r\n        case percent > 80 && percent <= 120:\r\n          this.labelValue = 'GOOD';\r\n          break;\r\n\r\n        case percent > 120 && percent <= 160:\r\n          this.labelValue = 'GREAT';\r\n          break;\r\n\r\n        case percent > 160 && percent <= 200:\r\n          this.labelValue = 'EXCELLLENT';\r\n          break;\r\n      }\r\n    } else {\r\n      this.labelValue = percent.toString() + \" - \" + this.status;\r\n    }\r\n\r\n    this.cdr.detectChanges();\r\n    let percentAsPertheIndMaxValue = (percent/this.indMaxValues[this.key]) * 100;\r\n    \r\n\r\n    // account for gauge 0 being 20deg from rotation 0\r\n    let rotate = (2.7 * percentAsPertheIndMaxValue) - 30;\r\n    // rotate = rotate < -20 ? -20 : rotate > 240 ? 240 : rotate;\r\n    rotate = Math.round(rotate == null || rotate == undefined ? 0 : rotate);\r\n\r\n    this.ngZone.runOutsideAngular(() => {\r\n      (gsap as any).to(this.needleElement.nativeElement, { rotation: rotate });\r\n    })\r\n  }\r\n\r\n  /**\r\n   * Resize handler\r\n   * @param event resize event\r\n   */\r\n  containerResized(event: ResizedEvent) {\r\n    setTimeout(() => {\r\n      // width\r\n      let width = (event.newRect as any).width;\r\n      width = width < (event.newRect as any).height ? width : (event.newRect as any).height;\r\n\r\n      this.gaugeHeight = width;\r\n      this.gaugeWidth = width;\r\n\r\n      let scale = (width / 500 * 100) / 100;\r\n      this.gaugeScale = `scale(${scale})`;\r\n\r\n      setTimeout(() => {\r\n        this.ngZone.runOutsideAngular(() => {\r\n          (gsap as any).to(this.outerContainer.nativeElement, { visibility: 'visible' });\r\n        })\r\n      }, 0)\r\n    })\r\n  }\r\n}\r\n","<div #outerContainer class=\"outer-container\" (resized)=\"containerResized($event)\">\r\n  <div class=\"gauge-container\"\r\n       [style.height.px]=\"gaugeHeight\" [style.width.px]=\"gaugeWidth\">\r\n\r\n    <div #gaugeElement class=\"gaugeElement\"></div>\r\n\r\n    <div class=\"needle-container\" [style.transform]=\"gaugeScale\">\r\n      <div class=\"white-circle\"></div>\r\n\r\n      <div className='line2'>\r\n        <span class=\"headerline\"></span>\r\n      </div>\r\n      <div class='line'>\r\n        <div class=\"linelength\"></div>\r\n        <div class=\"linelength\"></div>\r\n        \r\n    </div>\r\n      <div #needleElement class=\"needle\"></div>\r\n      <div class=\"value-lbl\">{{labelValue}}</div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {SelectItem} from \"../../shared/model/select-item\";\r\nimport {LineNoAxisChartConfig} from \"../../shared/chart-configs/line-no-axis-chart-config\";\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\nimport {LineChartConfig} from \"../../shared/chart-configs/line-chart-config\";\r\nimport {TimeData} from \"../../shared/model/time-data\";\r\nimport {LegendData} from \"./legend-data\";\r\nimport {ApplyEvent} from \"../../navigation/nav-bar/apply-event\";\r\nimport {IndicatorTrend} from \"../../shared/model/indicator-trend\";\r\nimport {IaqIndicator} from \"../../shared/model/iaq-indicator\";\r\nimport {IaqFaultsConfig} from \"../../shared/chart-configs/iaq-faults-config\";\r\nimport {FormGroup, FormControl, FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {MatNativeDateModule} from '@angular/material/core';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\nimport { DateRange } from '../../shared/model/daterange';\r\nimport moment from 'moment';\r\n\r\n@Component({\r\n  selector: 'abm-iaq-indicators',\r\n  templateUrl: './iaq-indicators.component.html',\r\n  styleUrls: ['./iaq-indicators.component.scss'],\r\n  \r\n})\r\nexport class IaqIndicatorsComponent {\r\n  @Output() dateRangeSelected: EventEmitter<DateRange> = new EventEmitter<DateRange>();\r\n\r\n  /**\r\n   * Site dropdown option\r\n   */\r\n  @Input()\r\n  siteOptions: SelectItem[];\r\n  \r\n\r\n  /**\r\n   * Facility dropdown options\r\n   */\r\n  @Input()\r\n  facilityOptions: SelectItem[];\r\n\r\n  /**\r\n   * Level dropdown options\r\n   */\r\n  @Input()\r\n  levelOptions: SelectItem[];\r\n\r\n  /**\r\n  * Vendor dropdown options\r\n  */\r\n  @Input()\r\n  vendorOptions: SelectItem[];\r\n\r\n  /**\r\n   * Co2 indicator trend data\r\n   */\r\n  @Input()\r\n  trendData: IndicatorTrend[];\r\n\r\n  /**\r\n   * VOC indicator trend data\r\n   */\r\n  @Input()\r\n  vocTrendData: IndicatorTrend;\r\n\r\n  /**\r\n   * Temperature indicator trend data\r\n   */\r\n  @Input()\r\n  temperatureTrendData: IndicatorTrend;\r\n\r\n  /**\r\n   * Humidity indicator trend data\r\n   */\r\n  @Input()\r\n  humidityTrendData: IndicatorTrend;\r\n\r\n  /**\r\n   * Pressure indicator trend data\r\n   */\r\n  @Input()\r\n  pressureTrendData: IndicatorTrend;\r\n\r\n  /**\r\n   * Participate indicator trend data\r\n   */\r\n  @Input()\r\n  participateTrendData: IndicatorTrend;\r\n\r\n\r\n  /**\r\n   * Data used to populate the gauge charts\r\n   */\r\n  @Input()\r\n  iaqIndicators: IaqIndicator[];\r\n\r\n  /**\r\n   * IAQ Faults chart data\r\n   */\r\n  @Input()\r\n  iaqFaultsData: TimeData[][];\r\n\r\n  @Input()\r\n  standalone: true;\r\n\r\n\r\n  @Output()\r\n  trendTypeChangeEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n  @Output()\r\n  dateRangeChangeEvent: EventEmitter<DateRange> = new EventEmitter<DateRange>();\r\n\r\n  imports: [\r\n    MatFormFieldModule,\r\n    MatDatepickerModule,\r\n    MatNativeDateModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n  ]\r\n\r\n\r\n  /**\r\n   * Site dropdown change event emitter\r\n   */\r\n  @Output()\r\n  siteChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Facility dropdown change event emitter\r\n   */\r\n  @Output()\r\n  facilityChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Level dropdown change event emitter\r\n   */\r\n  @Output()\r\n  levelChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Vendor dropdown change event emitter\r\n   */\r\n  @Output()\r\n  vendorChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Navigation apply button click event\r\n   */\r\n  @Output()\r\n  applyEvent: EventEmitter<ApplyEvent> = new EventEmitter<ApplyEvent>();\r\n\r\n  /**\r\n   * IAQ Faults Legend data\r\n   */\r\n  legendData = LegendData\r\n\r\n  /**\r\n   * Indicator Trend chart config\r\n   */\r\n  smallChartConfig: any = LineNoAxisChartConfig;\r\n\r\n  /**\r\n   * IAQ Faults chart config\r\n   */\r\n  largeChartConfig: any = IaqFaultsConfig;\r\n\r\n  /**\r\n   * Internal: Styling/layout attribute\r\n   */\r\n  row1Direction: string;\r\n\r\n  /**\r\n   * Internal: Styling/layout attribute\r\n   */\r\n  trendMarginLeft: number;\r\n\r\n  /**\r\n   * Internal: Styling/layout attribute\r\n   */\r\n  trendMaxWidth: string;\r\n  startDate: any;\r\n  endDate: any;\r\n  todaysDate: any;\r\n\r\n  constructor() {\r\n    this.todaysDate = moment(new Date()).format(\"YYYY-MM-DD\");// formatting todays date\r\n    this.startDate = moment(new Date()).subtract(2, 'day').format('YYYY-MM-DD');\r\n    this.endDate = moment(this.todaysDate).format('YYYY-MM-DD');\r\n  }\r\n\r\n  /**\r\n   * Resize event handler\r\n   * @param event ResizedEvent\r\n   */\r\n  row1Resized(event: ResizedEvent) {\r\n    const width = (event.newRect as any).width;\r\n    this.row1Direction = width < 800 ? 'column' : 'row';\r\n    this.trendMarginLeft = width < 800 ? 0 : 20;\r\n    this.trendMaxWidth = width < 800 ? '100%' : 'calc(100% - 300px)';\r\n  }\r\n\r\n  \r\n  emitDateRange() {\r\n    if (this.startDate && this.endDate) {\r\n      this.startDate = moment(this.startDate).format('YYYY-MM-DD');\r\n      this.endDate = moment(this.endDate).format('YYYY-MM-DD');\r\n      this.dateRangeSelected.emit({ startDate: this.startDate, endDate: this.endDate });\r\n    }\r\n  }\r\n\r\n}\r\n","<div class=\"page-xtitle\">IAQ Indicators</div>\r\n\r\n<abm-nav-bar class=\"nav-bar\" [siteOptions]=\"siteOptions\"\r\n             [facilityOptions]=\"facilityOptions\"\r\n             [levelOptions]=\"levelOptions\"\r\n             [vendorOptions]=\"vendorOptions\"\r\n             (siteChangeEvent)=\"siteChangeEvent.emit($event)\"\r\n             (facilityChangeEvent)=\"facilityChangeEvent.emit($event)\"\r\n             (levelChangeEvent)=\"levelChangeEvent.emit($event)\"\r\n             (vendorChangeEvent)=\"vendorChangeEvent.emit($event)\"\r\n             (applyEvent)=\"applyEvent.emit($event)\"></abm-nav-bar>\r\n\r\n<div class=\"row1-container\" (resized)=\"row1Resized($event)\" [style.flexDirection]=\"row1Direction\">\r\n  <abm-panel class=\"iaq-indicators-panel\" xtitle=\"Current IAQ Indicators\">\r\n    <div class=\"iaq-indicators\" bodyContent>\r\n      <div class=\"gauge-container\" *ngFor=\"let indicator of iaqIndicators \">\r\n        <abm-gauge-chart class=\"gauge\" [gaugeValue]=\"indicator.score\" [key]=\"indicator.name\" [value]=\"indicator.value\"\r\n          [units]=\"indicator.units\" [status]=\"indicator.status\" [displayValue]=\"true\"></abm-gauge-chart>\r\n          <div class=\"gauge-label\">\r\n            {{indicator.name === 'PM25' ? 'PM2.5' : indicator.name}} - {{indicator.value.toFixed(2)}} -\r\n            {{indicator.name === 'TEMP' ? '°' : ''}}{{indicator.units === 'µg/?' ? 'µg/m³' : indicator.units}}\r\n          </div>\r\n      </div>\r\n    </div>\r\n  </abm-panel>\r\n\r\n  <div class=\"row1-right\" [style.maxWidth]=\"trendMaxWidth\">\r\n    <abm-panel-indicator-trend class=\"indicator-trend\" [style.marginLeft.px]=\"trendMarginLeft\"\r\n                               [data]=\"trendData\" (trendType)=\"trendTypeChangeEvent.emit($event)\"\r\n                               (dateRangeSelected)=\"dateRangeChangeEvent.emit($event)\"></abm-panel-indicator-trend>\r\n\r\n    <abm-panel class=\"iaq-faults\" xtitle=\"IAQ Faults\" [style.marginLeft.px]=\"trendMarginLeft\">\r\n      <abm-legend-detailed headerContent class=\"legend\" [data]=\"legendData\"></abm-legend-detailed>\r\n      <div headerContent style=\"margin: 0 10px;\">\r\n        <!-- <mat-form-field class=\"example-form-field\">\r\n          <mat-label>Date Range</mat-label>\r\n   \r\n          <mat-date-range-input [rangePicker]=\"picker\" [max]=\"todaysDate\">\r\n            <input matStartDate [(ngModel)]=\"startDate\">\r\n            <input matEndDate [(ngModel)]=\"endDate\" (dateChange)=\"emitDateRange()\">\r\n          </mat-date-range-input>\r\n          <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n          <mat-date-range-picker #picker></mat-date-range-picker>\r\n        </mat-form-field> -->\r\n        <div style=\"margin-top: -5px;\">\r\n          <label style=\"margin: 0px 15px 5px;\">Date Range</label>\r\n          <div style=\"margin: 0 15px;display: flex;\" >\r\n             <mat-date-range-input [rangePicker]=\"picker\" [max]=\"todaysDate\">\r\n               <input matStartDate [(ngModel)]=\"startDate\">  \r\n               <input matEndDate [(ngModel)]=\"endDate\" (dateChange)=\"emitDateRange()\">>\r\n             </mat-date-range-input>\r\n             <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n             <mat-date-range-picker #picker></mat-date-range-picker>\r\n         </div>\r\n       </div>\r\n      </div>\r\n  \r\n  \r\n      <!-- <abm-column-line-chart bodyContent class=\"big-chart\" [data]=\"iaqFaultsData\">\r\n      </abm-column-line-chart> -->\r\n      <abm-panel-fault bodyContent class=\"big-chart\" [data]=\"iaqFaultsData\"></abm-panel-fault>\r\n    </abm-panel>\r\n  </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {GaugeChartComponent} from \"./gauge-chart.component\";\r\nimport {GaugeChartModule} from \"angular-gauge-chart\";\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    GaugeChartComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    GaugeChartModule\r\n  ],\r\n  exports: [\r\n    GaugeChartComponent\r\n  ]\r\n})\r\nexport class AbmGaugeChartModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {IaqIndicatorsComponent} from \"./iaq-indicators.component\";\r\nimport {AbmNavBarModule} from \"../../navigation/nav-bar/nav-bar.module\";\r\nimport {AbmPanelModule} from \"../../panels/panel/panel.module\";\r\nimport {AbmGaugeChartModule} from \"../../charts/gauge-chart/gauge-chart.module\";\r\nimport {AbmColumnLineChartModule} from \"../../charts/column-line-chart/column-line-chart.module\";\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\nimport {MatButtonToggleModule} from \"@angular/material/button-toggle\";\r\nimport {AbmMultilineChartModule} from \"../../charts/multiline-chart/multiline-chart.module\";\r\nimport {AbmLegendDetailedModule} from \"../../charts/legend-detailed/legend-detailed.module\";\r\nimport {ABMPanelIndicatorTrendModule} from \"../../panels/panel-indicator-trend/panel-indicator-trend.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { AbmFaultsChartModule } from '../../charts/faults-chart/panel-fault.component.module';\r\nimport {FormGroup, FormControl, FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {MatNativeDateModule} from '@angular/material/core';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    IaqIndicatorsComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    MatButtonToggleModule,\r\n    AngularResizeEventModule,\r\n    AbmNavBarModule,\r\n    AbmPanelModule,\r\n    AbmGaugeChartModule,\r\n    AbmColumnLineChartModule,\r\n    AbmMultilineChartModule,\r\n    AbmNavBarModule,\r\n    AbmLegendDetailedModule,\r\n    ABMPanelIndicatorTrendModule,\r\n    AbmFaultsChartModule,\r\n    MatFormFieldModule,\r\n    MatDatepickerModule,\r\n    MatNativeDateModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n\r\n  ],\r\n  exports: [\r\n    IaqIndicatorsComponent\r\n  ]\r\n})\r\nexport class AbmIaqIndicatorsModule {\r\n}\r\n","import { Component, OnInit,Input } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'abm-page-stepper',\r\n  templateUrl: './page-stepper.component.html',\r\n  styleUrls: ['./page-stepper.component.scss']\r\n})\r\nexport class PageStepperComponent {\r\n\r\n  @Input()\r\n  page: number = 1;\r\n\r\n  @Input()\r\n  data: any[] = [{}, {}, {}];\r\n}\r\n","<button class=\"buttons\" mat-mini-fab aria-label=\"First\" >\r\n  <mat-icon style=\"margin-left: -4px;opacity: .75;color: #0d0d41;font-weight: bolder; font-size: 28px;margin-top: -7px\">|</mat-icon><mat-icon style=\"margin-left: -15px;margin-top: -1px;opacity: .75;color: #0d0d41;font-weight: bolder; font-size: 28px;\"><</mat-icon>\r\n</button>\r\n\r\n<button class=\"buttons\" mat-mini-fab aria-label=\"Previous\" color=\"primary\">\r\n  <mat-icon style=\"margin-top: -1px;margin-left: -5px;opacity: .75;color: #0d0d41;font-weight: bolder; font-size: 28px;\"><</mat-icon>\r\n</button>\r\n\r\n<div class=\"labels\">Location {{page}} of {{data.length}}</div>\r\n\r\n<button class=\"buttons\" mat-mini-fab aria-label=\"Next\" color=\"primary\">\r\n  <mat-icon style=\"margin-top: -1px;opacity: .75;color: #0d0d41;font-weight: bolder;font-size: 28px;\">&#62;</mat-icon>\r\n</button>\r\n\r\n<button class=\"buttons\" mat-mini-fab aria-label=\"Last\" color=\"primary\">\r\n  <mat-icon style=\"margin-top: -1px;margin-left: -1px;opacity: .75;color: #0d0d41;font-weight: bolder; font-size: 28px;\">&#62;</mat-icon><mat-icon style=\"text-align: left;margin-left: -5px;opacity: .75;color: #0d0d41;font-weight: bolder;font-size: 28px;margin-top: -7px\">|</mat-icon>\r\n</button>\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {FacilityInfo} from \"../../shared/model/facility-info\";\r\nimport {ColorFactory} from \"../../shared/factory/color-factory\";\r\n\r\n@Component({\r\n  selector: 'abm-building-info',\r\n  templateUrl: './building-info.component.html',\r\n  styleUrls: ['./building-info.component.scss']\r\n})\r\nexport class BuildingInfoComponent {\r\n\r\n  /**\r\n   * Data used to populate component\r\n   */\r\n  @Input()\r\n  buildingInfo: FacilityInfo;\r\n\r\n  /**\r\n   * Color factory to colorize usge and comfort level\r\n   */\r\n  colorFactory: any = ColorFactory;\r\n}\r\n","<!-- 320 x 500 -->\r\n<img class=\"image\" [src]=\"buildingInfo?.imageUrl\">\r\n\r\n<div class=\"street\">{{buildingInfo?.street}}</div>\r\n\r\n<div>\r\n  <div class=\"state-region\">{{buildingInfo?.state}} | {{buildingInfo?.region}}</div>\r\n</div>\r\n\r\n<div class=\"usage-comfort\">\r\n  <div class=\"usage-comfort-row\">\r\n    <div>IAQ</div>\r\n    <div class=\"circle\" [style.backgroundColor]=\"colorFactory.getColor(buildingInfo?.usage, false)\"></div>\r\n  </div>\r\n  <div class=\"usage-comfort-row\">\r\n    <div>{{buildingInfo?.comfort | number:'1.2-2'}}% Comfort Level</div>\r\n\r\n    <div class=\"circle\" [style.backgroundColor]=\"colorFactory.getColor(buildingInfo?.comfort, false)\"></div>\r\n  </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, Input, OnInit } from \"@angular/core\";\r\nimport { FacilityInfo } from \"../../shared/model/facility-info\";\r\nimport { UsageRange } from \"../../shared/model/usage-range\";\r\nimport { ResizedEvent } from \"angular-resize-event\";\r\n\r\n@Component({\r\n  selector: \"abm-panel-iaq-building\",\r\n  templateUrl: \"./panel-iaq-building.component.html\",\r\n  styleUrls: [\"./panel-iaq-building.component.scss\"],\r\n})\r\nexport class PanelIaqBuildingComponent implements OnInit {\r\n  /**\r\n   * Building info component data model\r\n   */\r\n  @Input()\r\n  buildingInfo: FacilityInfo;\r\n\r\n  /**\r\n   * Building info component data model\r\n   */\r\n  @Input()\r\n  buildingDetails: FacilityInfo[];\r\n\r\n  /**\r\n   * Floor out of range value\r\n   */\r\n  @Input()\r\n  floorRange: number = 0;\r\n\r\n  @Input()\r\n  floorRangeData: UsageRange[];\r\n\r\n  panelDirection: string = \"row\";\r\n\r\n  floorRangeDirection: string;\r\n\r\n  snapshotMinWidth: number = 422;\r\n\r\n  infoMargin: string;\r\n\r\n  @Input()\r\n  page: number;\r\n\r\n  @Input()\r\n  data: any[];\r\n\r\n  @Input()\r\n  floorData: any = [];\r\n\r\n  constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n  ngOnInit(): void {\r\n    //this.floordata = [{ floor: \"1st\", usage: \"100%\", key: 1 }, { floor: \"2nd\", usage: \"50%\", key: 2 }, { floor: \"3rd\", usage: \"40%\", key: 3 }, { floor: \"4th\", usage: \"30%\", key: 4 }, { floor: \"5th\", usage: \"40%\", key: 5 },{ floor: \"6th\", usage: \"20%\", key: 6 }]\r\n  }\r\n  /**\r\n   * Resize handler that, based on 'divFlourRange''s width, determines if floorRangeDirection should be 'column' or 'row'\r\n   * @param {ResizedEvent} event\r\n   */\r\n  floorRangeResized(event: ResizedEvent) {\r\n    const w = (event.newRect as any).width;\r\n    this.floorRangeDirection = w > 600 ? \"row\" : \"column\";\r\n  }\r\n\r\n  /**\r\n   * Resize handler that, based on 'abm-building-info' height, applys a margin left to the building info component\r\n   * @param {ResizedEvent} event\r\n   */\r\n  buildingIAQResized(event: ResizedEvent) {\r\n    this.snapshotMinWidth = (event.newRect as any).width < 820 ? 0 : 422;\r\n    this.panelDirection =\r\n      (event.newRect as any).width < 820 ? \"column \" : \"row\";\r\n    this.infoMargin = (event.newRect as any).width < 820 ? \"auto\" : \"20px\";\r\n  }\r\n}\r\n","<abm-panel xtitle=\"Building IAQ Snapshot\" (resized)=\"buildingIAQResized($event)\">\r\n  <abm-page-stepper [page]=\"page\" [data]=\"data\" headerContent class=\"header-content\"></abm-page-stepper>\r\n\r\n  <div bodyContent class=\"building-body-content\"\r\n       [style.flex-direction]=\"panelDirection\">\r\n    <!-- left -->\r\n    <abm-building-info class=\"building-info\"\r\n                       [buildingInfo]=\"buildingInfo\"\r\n                       [style.marginRight]=\"infoMargin\"></abm-building-info>\r\n\r\n    <!-- right -->\r\n    <abm-panel xtitle=\"Floor IAQ Snapshot\" class=\"panel-floor-iaq\">\r\n      <div bodyContent class=\"floor-body-content\">\r\n        <!-- <div class=\"floor-image\" [style.minWidth.px]=\"snapshotMinWidth\" ></div> -->\r\n        <div class=\"floor-image\"></div>\r\n        <div class=\"floordata-container\">\r\n          <div class=\"floordata\" *ngFor=\"let data of floorData\">\r\n            <span style=\"padding-left: 10px;\">{{data.floor}}</span>\r\n            <span style=\"padding-left: 10px;\">{{data.comfort}} %</span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </abm-panel>\r\n\r\n\r\n    <div #divFloorRange class=\"floor-range\"\r\n         (resized)=\"floorRangeResized($event)\"\r\n         [style.flex-direction]=\"floorRangeDirection\">\r\n\r\n      <abm-text-box class=\"textbox-range\" xtitle=\"No of Floor out of Range\" [content]=\"floorRange\"\r\n                    [small]=\"true\"></abm-text-box>\r\n\r\n      <div class=\"bar-chart-container\">\r\n        <abm-barchart class=\"barchart-range\" [data]=\"floorRangeData\" [small]=\"true\" [showTime]=\"true\"\r\n                      [gradientBar]=\"false\"></abm-barchart>\r\n\r\n        <abm-legend class=\"legend-bar\" [small]=\"true\"></abm-legend>\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n\r\n</abm-panel>\r\n","import {Component, ElementRef, HostBinding, HostListener, Input, OnChanges, OnInit, SimpleChanges, ViewChild} from '@angular/core';\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\n\r\n@Component({\r\n  selector: 'abm-panel-air-quality',\r\n  templateUrl: './panel-air-quality.component.html',\r\n  styleUrls: ['./panel-air-quality.component.scss']\r\n})\r\nexport class PanelAirQualityComponent implements OnInit,OnChanges {\r\n\r\n  @ViewChild('content')\r\n  content: ElementRef;\r\n\r\n  @Input()\r\n  externalAirQuality: any;\r\n\r\n  @Input()\r\n  pm25: any;\r\n\r\n  @Input()\r\n  temp: any;\r\n\r\n  @Input()\r\n  humidity: any;\r\n\r\n  scale: string;\r\n\r\n  rowHeight: string;\r\n\r\n  constructor(){\r\n    console.log(\":::Inside::PanelAirQualityComponent::Constructor::\");\r\n    console.log(\"PM25::PANEL AIR QUALITY\",this.pm25);\r\n    console.log(\":::TEMP::PANEL AIR QUALITY\",this.temp);\r\n    console.log(\":::HUMIDITY::PANEL AIR QUALITY\",this.humidity);\r\n  }\r\n  ngOnInit(): void{\r\n    console.log(\"::::IAQ::Insights::ngOnInit:::\");\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void{\r\n    console.log(\":::SimpleChanges:PANEL::AIR::QUALITY::\",this.pm25, this.temp, this.humidity, changes);\r\n  }\r\n  panelResized(event: ResizedEvent) {\r\n\r\n    const width = (event.newRect as any).width;\r\n    let scl = Math.round(width / 460 * 100) - 3;\r\n    scl = scl > 100 ? 100 : scl;\r\n\r\n    if (width < 460) {\r\n      this.scale = `scale(${scl}%)`\r\n    } else {\r\n      this.scale = 'scale(75%)';\r\n    }\r\n\r\n    let contentHeight = this.content.nativeElement.clientHeight;\r\n\r\n    // console.log('scl: ', scl);\r\n\r\n    let final = contentHeight * scl / 100;\r\n\r\n    // console.log('final: ', final);\r\n\r\n\r\n    this.rowHeight = scl === 100 ? '320px' : final + 'px';\r\n  }\r\n}\r\n","<abm-panel xtitle=\"External Air Quality\" class=\"aq-panel\" (resized)=\"panelResized($event)\">\r\n  <!--[style.height.px]=\"rowHeight\"-->\r\n  <div class=\"outter-content\" bodyContent [style.height]=\"rowHeight\" >\r\n    <div #content  class=\"content\" [style.transform]=\"scale\" >\r\n      <div class=\"circle\">\r\n        <div class=\"inner-circle\">\r\n          <div class=\"top\">\r\n            <div class=\"top-left\">\r\n              {{pm25}}</div>\r\n            <div class=\"top-right\">\r\n              <div class=\"image-pm25\"></div>\r\n              <div class=\"label-pm25\">PM2.5</div>\r\n            </div>\r\n          </div>\r\n          <div class=\"bottom\">\r\n            <div class=\"image-temp\"></div>\r\n            <div class=\"label-temp\">{{temp}}</div>\r\n            <div class=\"image-humidity\"></div>\r\n            <div class=\"label-humidity\">\r\n              {{humidity}}</div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"air-legend\"></div>\r\n    </div>\r\n  </div>\r\n</abm-panel>\r\n","import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport {SelectItem} from \"../../shared/model/select-item\";\r\nimport {FacilityInfo} from \"../../shared/model/facility-info\";\r\nimport {UsageRange} from \"../../shared/model/usage-range\";\r\nimport {SiteRange} from \"../../shared/model/site-range\";\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\nimport {LineChartConfig} from \"../../shared/chart-configs/line-chart-config\";\r\nimport { ApplyEvent } from \"../../navigation/nav-bar/apply-event\";\r\n\r\n@Component({\r\n  selector: 'abm-iaq-insights',\r\n  templateUrl: './iaq-insights.component.html',\r\n  styleUrls: ['./iaq-insights.component.scss']\r\n})\r\nexport class IaqInsightsComponent implements OnInit,OnChanges {\r\n\r\n  @Input()\r\n  siteOptions: SelectItem[];\r\n\r\n  @Input()\r\n  facilityOptions: SelectItem[];\r\n\r\n  @Input()\r\n  levelOptions: SelectItem[];\r\n\r\n  @Input()\r\n  vendorOptions: SelectItem[];\r\n\r\n  @Input()\r\n  facilityInfo: FacilityInfo;\r\n\r\n  @Input()\r\n  facilityList: FacilityInfo[];\r\n\r\n  @Input()\r\n  floorRange: number = 0;\r\n\r\n  @Input()\r\n  floorData: any = [];\r\n\r\n  @Input()\r\n  floorRangeData: UsageRange[];\r\n\r\n  @Input()\r\n  siteRange: SiteRange;\r\n\r\n  @Input()\r\n  alerts: string;\r\n\r\n  @Input()\r\n  trendData: any[][];\r\n\r\n  @Input()\r\n  pm25: any;\r\n\r\n  @Input()\r\n  temp: any;\r\n\r\n  @Input()\r\n  humidity: any;\r\n\r\n  @Input()\r\n  externalAirQuality:any;\r\n\r\n  @Input()\r\n  iaqPercent: number;\r\n\r\n  @Output()\r\n  siteChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  @Output()\r\n  facilityChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  @Output()\r\n  levelChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  @Output()\r\n  vendorChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  @Output()\r\n  applyEvent: EventEmitter<ApplyEvent> = new EventEmitter<ApplyEvent>();\r\n\r\n  row1Direction: string = 'row';\r\n\r\n  textBoxMaxWidth: string = '300px';\r\n  range: any ;\r\n\r\n  panelsDirection: string = 'column';\r\n\r\n  panelsMarginLeft: number = 20;\r\n\r\n  secondPanelsMarginLeft: number = 20;\r\n\r\n  trendChartConfig: any = LineChartConfig;\r\n\r\n  row2Direction: string = 'row';\r\n\r\n  trendWidth: string;\r\n\r\n  trendHeight: number;\r\n\r\n  airWidth: string;\r\n\r\n  airMarginLeft: number;\r\n\r\n  panelHeight: string;\r\n\r\n  avgIaqScore: string = \"AVG\";\r\n\r\n  constructor(private el: ElementRef) {\r\n    console.log(\":::Inside::IAQ:Insight::Component::Constructor::\",this.externalAirQuality);\r\n  }\r\n\r\n  ngOnInit(): void{\r\n    console.log(\"::::externalAirQuality::::IAQ::INSIGHTS::COMPONENTS:::\",this.externalAirQuality);\r\n    console.log(\"::::PM25::::IAQ::INSIGHTS::COMPONENTS:::\",this.pm25);\r\n    console.log(\"::::TEMP::::IAQ::INSIGHTS::COMPONENTS:::\",this.temp);\r\n    console.log(\"::::HUMIDITY::::IAQ::INSIGHTS::COMPONENTS:::\",this.humidity);    \r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void{\r\n    console.log(\"::: SimpleChanges COMPONENTS::\",this.pm25,this.temp,this.humidity,changes);\r\n    // this.range = this.siteRange.range ? this.siteRange.range + '%' : '0%'\r\n    this.range = this.siteRange.range \r\n    console.log(\"Range :\", this.range) \r\n    \r\n  }\r\n\r\n  row1Resized(event: ResizedEvent) {\r\n    const width = (event.newRect as any).width;\r\n    this.row1Direction = width < 1200 ? 'column' : 'row';\r\n    this.textBoxMaxWidth = width < 1200 ? '100%' : '300px';\r\n    this.panelsDirection = width < 1200 && width > 800 ? \"row\" : \"column\";\r\n    this.panelsMarginLeft = width > 1200 ? 20 : 0;\r\n    this.secondPanelsMarginLeft = width < 800 ? 0 : 20;\r\n    this.panelHeight = width < 1200 && width > 800 ?  'auto' : 'initial';\r\n  }\r\n\r\n  row2Resized(event: ResizedEvent) {\r\n    // console.log('width: ', (event.newRect as any).height);\r\n    const width = (event.newRect as any).width;\r\n    this.trendWidth = width < 1200 ? 'calc(66% + 2px)' : 'calc(100% - 300px)';\r\n    this.trendWidth = width < 800 ? '100%' : this.trendWidth;\r\n\r\n    this.airWidth = width < 1200 ? 'calc(33% - 14px)' : '280px';\r\n    this.airWidth = width < 800 ? '100%' : this.airWidth;\r\n    this.airMarginLeft = width < 800 ? 0 : 20;\r\n  }\r\n}\r\n","<div class=\"page-xtitle\">Insights</div>\r\n<abm-nav-bar class=\"nav-bar\" [siteOptions]=\"siteOptions\" [facilityOptions]=\"facilityOptions\"\r\n             [levelOptions]=\"levelOptions\" [vendorOptions]=\"vendorOptions\"\r\n             (siteChangeEvent)=\"siteChangeEvent.emit($event)\"\r\n             (facilityChangeEvent)=\"facilityChangeEvent.emit($event)\"\r\n             (levelChangeEvent)=\"levelChangeEvent.emit($event)\"\r\n             (vendorChangeEvent)=\"vendorChangeEvent.emit($event)\"\r\n             (applyEvent)=\"applyEvent.emit($event)\"></abm-nav-bar>\r\n\r\n<div class=\"row1\" (resized)=\"row1Resized($event)\" [style.flexDirection]=\"row1Direction\">\r\n  <abm-panel-iaq-building class=\"panel-iaq-building\"\r\n                          [page]=\"1\"\r\n                          [data]=\"facilityList\"\r\n                          [buildingInfo]=\"facilityInfo\"\r\n                          [floorRange]=\"floorRange\"\r\n                          [floorData]=\"floorData\"\r\n                          [floorRangeData]=\"floorRangeData\"></abm-panel-iaq-building>\r\n\r\n  <div class=\"right\" [style.flexDirection]=\"panelsDirection\" [style.width]=\"textBoxMaxWidth\">\r\n    <abm-text-box [style.flex]=\"panelsDirection == 'column' ? 0 : 1\"\r\n                  [style.height]=\"panelHeight\"\r\n                  [style.marginLeft.px]=\"panelsMarginLeft\" class=\"text-box\"\r\n                  xtitle=\"No of Buildings Across Sites out of Range\" [content]=\"range\"\r\n                  footer=\"Previous Week: {{siteRange?.previousRange ? siteRange?.previousRange  : '0'}}\">\r\n                  </abm-text-box>\r\n    <abm-text-box [style.flex]=\"panelsDirection == 'column' ? 0 : 1\" class=\"text-box\" xtitle=\"No of Alerts Across Sites\"\r\n                  [style.marginLeft.px]=\"secondPanelsMarginLeft\"\r\n                  [content]=\"alerts || 0\"></abm-text-box>\r\n\r\n    <abm-panel [style.flex]=\"panelsDirection == 'column' ? 0 : 1\"\r\n               [style.marginLeft.px]=\"secondPanelsMarginLeft\"\r\n               xtitle=\"Avg. IAQ Score\" class=\"iaq-score\">\r\n      <div bodyContent>\r\n        <abm-gauge-chart class=\"chart-iaq-score\" [key]=\"avgIaqScore\" [gaugeValue]=\"iaqPercent\"></abm-gauge-chart>\r\n      </div>\r\n    </abm-panel>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"row2\" (resized)=\"row2Resized($event)\" [style.flexDirection]=\"row2Direction\">\r\n<abm-panel-line-chart class=\"monthly-trend\" xtitle=\"Bi-Monthly Trend in Avg. IAQ Score\" [data]=\"trendData\" [chartConfig]=\"trendChartConfig\"\r\n                        [style.width]=\"trendWidth\">\r\n              <div style=\"display: flex;gap: 20px;margin-bottom: 10px;margin-left: auto;\">\r\n                <div class=\"custom-indicator-div\">\r\n                  <div class=\"custom-line\" style=\"background-color: blue;\"></div>\r\n                  <span class=\"custom-label\">Current Month</span>\r\n                </div>\r\n                <div class=\"custom-indicator-div\">\r\n                  <div class=\"custom-line\" style=\"background-color: orange;\"></div>\r\n                  <span class=\"custom-label\">Previous Month</span>\r\n                </div>\r\n                <div class=\"custom-indicator-div\">\r\n                  <div class=\"custom-line\" style=\"background-color: red;\"></div>\r\n                  <span class=\"custom-label\">Industry Benchmark</span>\r\n                </div>\r\n              </div>\r\n\r\n    </abm-panel-line-chart>\r\n  \r\n\r\n                        \r\n\r\n <abm-panel-air-quality class=\"air-quality\" xtitle=\"Exrernal Air Quality\" [style.width]=\"airWidth\"\r\n                         [style.marginLeft.px]=\"airMarginLeft\"\r\n                         [pm25]=\"pm25\" [temp]=\"temp\" [humidity]=\"humidity\"></abm-panel-air-quality>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {BuildingInfoComponent} from \"./building-info.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    BuildingInfoComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    BuildingInfoComponent\r\n  ]\r\n})\r\nexport class AbmBuildingInfoModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PageStepperComponent} from \"./page-stepper.component\";\r\nimport {MatButtonModule} from \"@angular/material/button\";\r\nimport {MatIconModule} from \"@angular/material/icon\";\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PageStepperComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    MatButtonModule,\r\n    MatIconModule\r\n  ],\r\n  exports: [\r\n    PageStepperComponent\r\n  ]\r\n})\r\nexport class AbmPageStepperModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PanelIaqBuildingComponent} from \"./panel-iaq-building.component\";\r\nimport {AbmPanelModule} from \"../panel/panel.module\";\r\nimport {AbmBuildingInfoModule} from \"../../components/building-info/building-info.module\";\r\nimport {AbmTextBoxModule} from \"../../components/text-box/text-box.module\";\r\nimport {AbmBarChartModule} from \"../../charts/barchart/barchart.module\";\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\nimport {AbmPageStepperModule} from \"../../components/page-stepper/page-stepper.module\";\r\nimport {AbmLegendModule} from \"../../charts/legend/legend.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelIaqBuildingComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmPanelModule,\r\n    AbmBuildingInfoModule,\r\n    AbmTextBoxModule,\r\n    AbmBarChartModule,\r\n    AbmPageStepperModule,\r\n    AbmLegendModule\r\n  ],\r\n  exports: [\r\n    PanelIaqBuildingComponent\r\n  ]\r\n})\r\nexport class AbmPanelIaqBuildingModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PanelAirQualityComponent} from \"./panel-air-quality.component\";\r\nimport {AbmPanelModule} from \"../panel/panel.module\";\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelAirQualityComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmPanelModule\r\n  ],\r\n  exports: [\r\n    PanelAirQualityComponent\r\n  ]\r\n})\r\nexport class AbmPanelAirQualityModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {IaqInsightsComponent} from \"./iaq-insights.component\";\r\nimport {AbmPanelIaqBuildingModule} from \"../../panels/panel-iaq-building/panel-iaq-building.module\";\r\nimport {AbmNavBarModule} from \"../../navigation/nav-bar/nav-bar.module\";\r\nimport {AbmTextBoxModule} from \"../../components/text-box/text-box.module\";\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\nimport {AbmPanelModule} from \"../../panels/panel/panel.module\";\r\nimport {AbmPanelLineChartModule} from \"../../panels/panel-line-chart/panel-line-chart.module\";\r\nimport {AbmPanelAirQualityModule} from \"../../panels/panel-air-quality/panel-air-quality.module\";\r\nimport {AbmGaugeChartModule} from \"../../charts/gauge-chart/gauge-chart.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    IaqInsightsComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmNavBarModule,\r\n    AbmPanelIaqBuildingModule,\r\n    AbmTextBoxModule,\r\n    AbmPanelModule,\r\n    AbmPanelLineChartModule,\r\n    AbmPanelAirQualityModule,\r\n    AbmGaugeChartModule\r\n  ],\r\n  exports: [\r\n    IaqInsightsComponent\r\n  ]\r\n})\r\nexport class AbmIaqInsightsModule {\r\n}\r\n","interface ColorValues {\r\n  value: any,\r\n  seriesIndex: any,\r\n  w: any\r\n}\r\n\r\nexport const ColumnChartConfig = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: '100%',\r\n    type: 'bar',\r\n  },\r\n  colors: [\r\n    function (data: ColorValues) {\r\n      if (data.value < 0) {\r\n        return 'rgba(253, 194, 99, 1)'\r\n      } else {\r\n        return 'rgba(98,161,255, 1)'\r\n      }\r\n    }\r\n  ],\r\n  stroke: {\r\n    width: 2,\r\n    curve: 'straight'\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return typeof(val) === 'number' ? '' : val;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#FFFFFF',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      offsetY: 3\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n      color: '#1f223d'\r\n    }\r\n  },\r\n  legend: {\r\n    show: false,\r\n    height: 0\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false\r\n    },\r\n  },\r\n  grid: {\r\n    borderColor: '#1f223d'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  },\r\n  plotOptions: {bar: {columnWidth: '98%',},}\r\n}\r\n","import moment from 'moment';\r\n\r\nexport const SmoothLineChartConfig = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: '100%',\r\n    type: 'line',\r\n    redrawOnParentResize: true\r\n  },\r\n  colors: ['rgba(98,161,255, 1)', 'rgba(253, 194, 99, 1)'],\r\n  stroke: {\r\n    width: 2,\r\n    curve: 'smooth'\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return typeof (val) !== 'number' ? moment(val).format('H:mm A') : '';\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#FFFFFF',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        colors: '#ffffff'\r\n      },\r\n      offsetY: 3\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n      color: '#1f223d'\r\n    }\r\n  },\r\n  legend: {\r\n    show: false,\r\n    height: 0\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 0,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false\r\n    },\r\n  },\r\n  grid: {\r\n    borderColor: '#1f223d'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  }\r\n};\r\n\r\n// test\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {SelectItem} from \"../../shared/model/select-item\";\r\nimport {ColumnChartConfig} from \"../../shared/chart-configs/column-chart-config\";\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\nimport {SmoothLineChartConfig} from \"../../shared/chart-configs/smooth-line-chart-config\";\r\nimport {ApplyEvent} from \"../../navigation/nav-bar/apply-event\";\r\n\r\n@Component({\r\n  selector: 'abm-prod-financial-impacts',\r\n  templateUrl: './prod-financial-impacts.component.html',\r\n  styleUrls: ['./prod-financial-impacts.component.scss']\r\n})\r\nexport class ProdFinancialImpactsComponent {\r\n\r\n  @Input()\r\n  siteOptions: SelectItem[];\r\n\r\n  @Input()\r\n  tuningPreData: any[][];\r\n\r\n  @Input()\r\n  tuningPostData: any[][];\r\n\r\n  @Input()\r\n  projectedGainData: any[][];\r\n\r\n  @Input()\r\n  utilitiesChangeData: any[][];\r\n\r\n  @Output()\r\n  applyEvent: EventEmitter<ApplyEvent> = new EventEmitter<ApplyEvent>();\r\n\r\n  tuningChartConfig: any = ColumnChartConfig;\r\n\r\n  lineChartConfig: any = SmoothLineChartConfig;\r\n\r\n  bottomDirection: string = 'row';\r\n\r\n  lineChartPanel1Margin: number;\r\n\r\n  bottomResized(event: ResizedEvent) {\r\n    if ((event.newRect as any).width < 670) {\r\n      this.bottomDirection = 'column';\r\n      this.lineChartPanel1Margin = 0;\r\n    } else {\r\n      this.bottomDirection = 'row';\r\n      this.lineChartPanel1Margin = 10;\r\n    }\r\n  }\r\n\r\n}\r\n","<div class=\"page-xtitle\">Productivity and Financial Impacts</div>\r\n\r\n<abm-nav-bar class=\"nav-bar\" [siteOptions]=\"siteOptions\"\r\n             (applyEvent)=\"applyEvent.emit($event)\"></abm-nav-bar>\r\n\r\n<abm-panel class=\"tuning-panel\" xtitle=\"IAQ Pre & Post Fine Tuning\">\r\n  <div bodyContent class=\"tuning-charts\">\r\n    <div class=\"chart-row\">\r\n      <div class=\"chart-lbl-container\">\r\n        <div class=\"chart-lbl\">Before Find-tuning</div>\r\n      </div>\r\n      <abm-column-line-chart class=\"cchart\" [chartConfig]=\"tuningChartConfig\"\r\n                             [data]=\"tuningPreData\"></abm-column-line-chart>\r\n    </div>\r\n\r\n    <div class=\"chart-row\">\r\n      <div class=\"chart-lbl-container\">\r\n        <div class=\"chart-lbl\">After Find-tuning</div>\r\n      </div>\r\n      <abm-column-line-chart class=\"cchart\" [chartConfig]=\"tuningChartConfig\"\r\n                             [data]=\"tuningPostData\"></abm-column-line-chart>\r\n    </div>\r\n  </div>\r\n</abm-panel>\r\n\r\n<div class=\"bottom-panels\" (resized)=\"bottomResized($event)\" [style.flexDirection]=\"bottomDirection\">\r\n  <abm-panel class=\"line-chart-panel line-chart-panel-1\" xtitle=\"Projected Productivity Gain\"\r\n             [style.marginRight.px]=\"lineChartPanel1Margin\">\r\n    <div bodyContent class=\"bottom-chart\" bodyContent>\r\n      <div class=\"chart-lbl-container\">\r\n        <div class=\"chart-lbl\">Output per Hour</div>\r\n      </div>\r\n      <div class=\"vertical\">\r\n        <abm-column-line-chart class=\"cchart\" [chartConfig]=\"lineChartConfig\"\r\n                               [data]=\"projectedGainData\"></abm-column-line-chart>\r\n        <div class=\"year\">Year</div>\r\n      </div>\r\n    </div>\r\n  </abm-panel>\r\n\r\n  <abm-panel class=\"line-chart-panel line-chart-panel-2\" xtitle=\"Projected Utilities Change\"\r\n             [style.marginLeft.px]=\"lineChartPanel1Margin\">\r\n    <div bodyContent class=\"bottom-chart\">\r\n      <div class=\"chart-lbl-container\">\r\n        <div class=\"chart-lbl\">Output per Hour</div>\r\n      </div>\r\n      <div class=\"vertical\">\r\n        <abm-column-line-chart class=\"cchart\" [chartConfig]=\"lineChartConfig\"\r\n                               [data]=\"projectedGainData\"></abm-column-line-chart>\r\n        <div class=\"year\">Year</div>\r\n      </div>\r\n    </div>\r\n  </abm-panel>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {ProdFinancialImpactsComponent} from \"./prod-financial-impacts.component\";\r\nimport {AbmNavBarModule} from \"../../navigation/nav-bar/nav-bar.module\";\r\nimport {AbmPanelModule} from \"../../panels/panel/panel.module\";\r\nimport {AbmColumnLineChartModule} from \"../../charts/column-line-chart/column-line-chart.module\";\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    ProdFinancialImpactsComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmNavBarModule,\r\n    AbmPanelModule,\r\n    AbmColumnLineChartModule\r\n  ],\r\n  exports: [\r\n    ProdFinancialImpactsComponent\r\n  ]\r\n})\r\nexport class AbmProdFinancialImpactsModule {\r\n}\r\n","interface ColorValues {\r\n  value: any,\r\n  seriesIndex: any,\r\n  w: any\r\n}\r\n\r\nexport const BarChartConfigFrequencyForEachCleaningType = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: '100%',\r\n    type: 'bar',\r\n    redrawOnParentResize: true\r\n  },\r\n  colors: [\r\n    function (data: ColorValues) {\r\n      if (data.value < 0) {\r\n        return 'rgba(253, 194, 99, 1)'\r\n      } else {\r\n        return 'rgba(98,161,255, 1)'// 'rgba(98,161,255, 1)'\r\n      }\r\n    }\r\n  ],\r\n  stroke: {\r\n    width: 2,\r\n    curve: 'straight'\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return typeof(val) === 'number' ? '' : val;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#FFFFFF',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      offsetX: 0\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false\r\n    }\r\n  },\r\n  legend: {\r\n    show: false,\r\n    height: 0\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false,\r\n      formatter: (value: any) => {\r\n        return '';\r\n      }\r\n    },\r\n    y: {\r\n      title: {\r\n        formatter: (series:any) => {\r\n          return 'Frequency: ';\r\n        }\r\n      }\r\n    }\r\n  },\r\n  grid: {\r\n    borderColor: '#606060'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  },\r\n  plotOptions: {\r\n    bar: {\r\n      columnWidth: '25%',\r\n    },\r\n    horizontal: false\r\n  },\r\n\r\n\r\n}\r\n\r\nexport const BarChartConfigFrequencyRelativeToUsageEachWeekday = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: '100%',\r\n    type: 'bar'\r\n  },\r\n  colors: ['rgba(98,161,255, 1)', '#00ff00'],\r\n  plotOptions: {\r\n    bar: {\r\n      columnWidth: '60%',\r\n      horizontal: false,\r\n    },\r\n  },\r\n  stroke: {\r\n    width: 1,\r\n    curve: 'straight',\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    categories: [],\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return typeof(val) === 'number' ? '' : val;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#ffffff',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n    }\r\n  },\r\n  legend: {\r\n    show: false\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false,\r\n      formatter: (value: any) => {\r\n        return '';\r\n      }\r\n    },\r\n    y: {\r\n      title: {\r\n        formatter: (series:any) => {\r\n          return series == 'series-1' ? 'Frequency: ' : 'Usage: ';\r\n        }\r\n      }\r\n    }\r\n  },\r\n  grid: {\r\n    borderColor: '#606060'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  },\r\n}\r\n\r\nexport const BarChartConfigFrequencyRelativeToUsageForEachHour = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    width: '100%',\r\n    height: '100%',\r\n    type: 'bar'\r\n  },\r\n  colors: ['rgba(98,161,255, 1)', '#00ff00'],\r\n  plotOptions: {\r\n    bar: {\r\n      horizontal: true\r\n    },\r\n  },\r\n  stroke: {\r\n    width: 1,\r\n    curve: 'straight',\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    type: 'category',\r\n    categories: [],\r\n    tickAmount: 10,\r\n    tickPlacement: 'between',\r\n    min: 0,\r\n    max: 100,\r\n    range: undefined,\r\n    floating: false,\r\n    decimalsInFloat: undefined,\r\n    overwriteCategories: undefined,\r\n    position: 'bottom',\r\n    labels: {\r\n        show: true,\r\n        rotate: -45,\r\n        rotateAlways: false,\r\n        hideOverlappingLabels: true,\r\n        showDuplicates: false,\r\n        trim: false,\r\n        minHeight: undefined,\r\n        maxHeight: 120,\r\n        style: {\r\n            colors: ['#fff'],\r\n            fontSize: '18px',\r\n            fontFamily: 'Titillium Web, Open Sans, sans-serif',\r\n            fontWeight: 700,\r\n            cssClass: 'apexcharts-xaxis-label',\r\n        },\r\n        offsetX: 0,\r\n        offsetY: 0,\r\n        format: undefined,\r\n        formatter: undefined,\r\n        datetimeUTC: true,\r\n        datetimeFormatter: {\r\n            year: 'yyyy',\r\n            month: \"MMM 'yy\",\r\n            day: 'dd MMM',\r\n            hour: 'HH:mm',\r\n        },\r\n    },\r\n    axisBorder: {\r\n        show: false,\r\n        color: '#454545',\r\n        height: 1,\r\n        width: '100%',\r\n        offsetX: 0,\r\n        offsetY: 0\r\n    },\r\n    axisTicks: {\r\n        show: false,\r\n        borderType: 'solid',\r\n        color: '#454545',\r\n        height: 6,\r\n        offsetX: 0,\r\n        offsetY: 0\r\n    },\r\n    xtitle: {\r\n        text: undefined,\r\n        offsetX: 0,\r\n        offsetY: 0,\r\n        style: {\r\n            color: '#fff',\r\n            fontSize: '18px',\r\n            fontFamily: 'Titillium Web, Open Sans, sans-serif',\r\n            fontWeight: 700,\r\n            cssClass: 'apexcharts-xaxis-xtitle',\r\n        },\r\n    },\r\n    crosshairs: {\r\n        show: true,\r\n        width: 1,\r\n        position: 'back',\r\n        opacity: 0.9,\r\n        stroke: {\r\n            color: '#b6b6b6',\r\n            width: 0,\r\n            dashArray: 0,\r\n        },\r\n        fill: {\r\n            type: 'solid',\r\n            color: '#B1B9C4',\r\n            gradient: {\r\n                colorFrom: '#D8E3F0',\r\n                colorTo: '#BED1E6',\r\n                stops: [0, 100],\r\n                opacityFrom: 0.4,\r\n                opacityTo: 0.5,\r\n            },\r\n        },\r\n        dropShadow: {\r\n            enabled: false,\r\n            top: 0,\r\n            left: 0,\r\n            blur: 1,\r\n            opacity: 0.4,\r\n        },\r\n    },\r\n  },\r\n  yaxis: {\r\n    show: true,\r\n    showAlways: true,\r\n    showForNullSeries: true,\r\n    seriesName: undefined,\r\n    opposite: false,\r\n    reversed: false,\r\n    logarithmic: false,\r\n    logBase: 10,\r\n    tickAmount: 6,\r\n    min: undefined,\r\n    max: undefined,\r\n    forceNiceScale: false,\r\n    floating: false,\r\n    decimalsInFloat: undefined,\r\n    labels: {\r\n        show: true,\r\n        align: 'right',\r\n        minWidth: 0,\r\n        maxWidth: 160,\r\n        style: {\r\n            colors: ['#fff'],\r\n            fontSize: '18px',\r\n            fontFamily: 'Titillium Web, Open Sans, sans-serif',\r\n            fontWeight: 700,\r\n            cssClass: 'apexcharts-yaxis-label',\r\n        },\r\n        offsetX: 0,\r\n        offsetY: 0,\r\n        rotate: 0,\r\n        // formatter: (value: any) => { return eval },\r\n    },\r\n    axisBorder: {\r\n        show: false,\r\n        color: '#454545',\r\n        offsetX: 0,\r\n        offsetY: 0\r\n    },\r\n    axisTicks: {\r\n        show: false,\r\n        borderType: 'solid',\r\n        color: '#454545',\r\n        width: 6,\r\n        offsetX: 0,\r\n        offsetY: 0\r\n    },\r\n    xtitle: {\r\n        text: undefined,\r\n        rotate: -90,\r\n        offsetX: 0,\r\n        offsetY: 0,\r\n        style: {\r\n            color: undefined,\r\n            fontSize: '12px',\r\n            fontFamily: 'Titillium Web, Open Sans, sans-serif',\r\n            fontWeight: 700,\r\n            cssClass: 'apexcharts-yaxis-title',\r\n        },\r\n    },\r\n    crosshairs: {\r\n        show: true,\r\n        position: 'back',\r\n        stroke: {\r\n            color: '#b6b6b6',\r\n            width: 1,\r\n            dashArray: 0,\r\n        },\r\n    },\r\n    tooltip: {\r\n        enabled: true,\r\n        offsetX: 0,\r\n    }\r\n  },\r\n  grid: {\r\n    show: true,\r\n    borderColor: '#454545',\r\n    xaxis: {\r\n      lines: {\r\n        show: true\r\n      }\r\n    },\r\n    yaxis: {\r\n      lines: {\r\n        show: false\r\n      }\r\n    }\r\n  },\r\n  legend: {\r\n    show: false\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false,\r\n      formatter: (value: any) => {\r\n        return '';\r\n      }\r\n    },\r\n    y: {\r\n      title: {\r\n        formatter: (series:any) => {\r\n          return series == 'series-1' ? 'Frequency: ' : 'Usage: ';\r\n        }\r\n      }\r\n    }\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  },\r\n}\r\n\r\nexport const BarChartConfigFrequencyTrendingDayByDay = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: '100%',\r\n    type: 'line'\r\n  },\r\n  colors: ['rgba(98,161,255, 1)', '#00ff00'],\r\n  plotOptions: {\r\n    bar: {\r\n      columnWidth: '60%',\r\n      horizontal: true\r\n    },\r\n  },\r\n  stroke: {\r\n    width: 1,\r\n    curve: 'straight',\r\n  },\r\n  series: [{\r\n    data: [10.2, 4.6, 7.5, 10.1, 4.5, 9, 14.8]\r\n    }, {\r\n    data: [11, 18, 10.1, 15, 3, 4.7, 19.5]\r\n  }],\r\n  xaxis: {\r\n    categories: ['8 AM', '9 AM', '10 AM', '11 AM', '12 PM', '1 PM', '2 PM', '3 PM', '4 PM'],\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return typeof(val) === 'number' ? '' : val;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#ffffff',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n    }\r\n  },\r\n  legend: {\r\n    show: false\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false\r\n    },\r\n  },\r\n  grid: {\r\n    borderColor: '#606060'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  },\r\n}\r\n\r\nexport const BarChartConfigRoomUsageHigh = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: 330,\r\n    type: 'bar'\r\n  },\r\n  plotOptions: {\r\n    bar: {\r\n      columnWidth: '40%',\r\n      horizontal: true,\r\n    },\r\n  },\r\n  colors: ['rgba(253, 194, 99, 1)'],\r\n  stroke: {\r\n    width: 0,\r\n    curve: 'straight',\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    categories: [],\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return typeof(val) === 'number' ? '' : val;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#ffffff',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n    }\r\n  },\r\n  legend: {\r\n    show: false\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false\r\n    },\r\n  },\r\n  grid: {\r\n    borderColor: 'transparent'\r\n  },\r\n  noData: {\r\n    text: 'THERE ARE CURRENTLY 0 HIGH USAGE ROOM'\r\n  },\r\n}\r\n\r\nexport const BarChartConfigRoomUsageMed = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: 330,\r\n    type: 'bar'\r\n  },\r\n  colors: ['rgba(98,161,255, 1)'],\r\n  plotOptions: {\r\n    bar: {\r\n      columnWidth: '60%',\r\n      horizontal: true\r\n    },\r\n  },\r\n  stroke: {\r\n    width: 0,\r\n    curve: 'straight',\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    categories: [],\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return typeof(val) === 'number' ? '' : val;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#ffffff',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n    }\r\n  },\r\n  legend: {\r\n    show: false\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false\r\n    },\r\n  },\r\n  grid: {\r\n    borderColor: 'transparent'\r\n  },\r\n  noData: {\r\n    text:  'THERE ARE CURRENTLY 0 MED USAGE ROOM'\r\n  },\r\n}\r\n\r\nexport const BarChartConfigRoomUsageLow = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: 330,\r\n    type: 'bar'\r\n  },\r\n  colors: ['rgba(122, 217, 108, 1)'],\r\n  plotOptions: {\r\n    bar: {\r\n      columnWidth: '60%',\r\n      horizontal: true\r\n    },\r\n  },\r\n  stroke: {\r\n    width: 0,\r\n    curve: 'straight',\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    categories: [],\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return typeof(val) === 'number' ? '' : val;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#ffffff',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false,\r\n    }\r\n  },\r\n  legend: {\r\n    show: false\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false\r\n    },\r\n  },\r\n  grid: {\r\n    borderColor: 'transparent'\r\n  },\r\n  noData: {\r\n    text: 'THERE ARE CURRENTLY 0 LOW USAGE ROOM'\r\n  },\r\n}\r\n\r\nexport const BarChartConfigUsageComparedToPreviousMonthHours = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: '100%',\r\n    type: 'bar'\r\n  },\r\n  colors: [\r\n    function (data: ColorValues) {\r\n      if (data.value < 0) {\r\n        return 'rgba(253, 194, 99, 1)'\r\n      } else {\r\n        return 'rgba(98,161,255, 1)'\r\n      }\r\n    }\r\n  ],\r\n  stroke: {\r\n    width: 1,\r\n    curve: 'straight'\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return typeof(val) === 'number' ? '' : val;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#FFFFFF',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      offsetX: 0\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false\r\n    }\r\n  },\r\n  legend: {\r\n    show: false,\r\n    height: 0\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  grid: {\r\n    borderColor: '#606060'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  },\r\n  plotOptions: {\r\n    bar: {\r\n      columnWidth: 40\r\n    },\r\n    horizontal: false\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false,\r\n      formatter: (value: any) => {\r\n        return '';\r\n      }\r\n    },\r\n    y: {\r\n      formatter: (value:any) => {\r\n        return value + '%';\r\n      },\r\n      title: {\r\n        formatter: (series:any) => {\r\n          return 'Usage: ';\r\n        }\r\n      }\r\n    }\r\n  },\r\n}\r\n\r\nexport const BarChartConfigUsageComparedToPreviousMonthDays = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: '100%',\r\n    type: 'bar'\r\n  },\r\n  colors: [\r\n    function (data: ColorValues) {\r\n      if (data.value < 0) {\r\n        return 'rgba(253, 194, 99, 1)'\r\n      } else {\r\n        return 'rgba(98,161,255, 1)'\r\n      }\r\n    }\r\n  ],\r\n  stroke: {\r\n    width: 1,\r\n    curve: 'straight'\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return typeof(val) === 'number' ? '' : val;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#FFFFFF',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      offsetX: 0\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false\r\n    }\r\n  },\r\n  legend: {\r\n    show: false,\r\n    height: 0\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  grid: {\r\n    borderColor: '#606060'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  },\r\n  plotOptions: {\r\n    bar: {\r\n      columnWidth: 40\r\n    },\r\n    horizontal: false\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false,\r\n      formatter: (value: any) => {\r\n        return '';\r\n      }\r\n    },\r\n    y: {\r\n      formatter: (value: any) => {\r\n        return value + '%';\r\n      },\r\n      title: {\r\n        formatter: (series:any) => {\r\n          return 'Usage: ';\r\n        }\r\n      }\r\n    }\r\n  },\r\n}\r\n\r\nexport const BarChartConfigUsageComparedToPreviousMonthMonths = {\r\n  chart: {\r\n    toolbar: {\r\n      show: false\r\n    },\r\n    height: '100%',\r\n    type: 'line'\r\n  },\r\n  colors: [\r\n    function (data: ColorValues) {\r\n      if (data.value < 0) {\r\n        return 'rgba(253, 194, 99, 1)'\r\n      } else {\r\n        return 'rgba(98,161,255, 1)'\r\n      }\r\n    }\r\n  ],\r\n  stroke: {\r\n    width: 1,\r\n    curve: 'straight'\r\n  },\r\n  series: [],\r\n  xaxis: {\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      formatter: (val: any, timestamp: any, opts: any) => {\r\n        return typeof(val) === 'number' ? '' : val;\r\n      },\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: false\r\n  },\r\n  yaxis: {\r\n    color: '#FFFFFF',\r\n    opposite: false,\r\n    labels: {\r\n      style: {\r\n        fontSize: '18px',\r\n        colors: '#ffffff'\r\n      },\r\n      offsetX: 0\r\n    },\r\n    axisBorder: {\r\n      show: false\r\n    },\r\n    axisTicks: {\r\n      show: false\r\n    }\r\n  },\r\n  legend: {\r\n    show: false,\r\n    height: 0\r\n  },\r\n  dataLabels: {\r\n    enabled: false\r\n  },\r\n  markers: {\r\n    size: 2,\r\n    colors: '#ffffff'\r\n  },\r\n  grid: {\r\n    borderColor: '#606060'\r\n  },\r\n  noData: {\r\n    text: 'Loading...'\r\n  },\r\n  plotOptions: {\r\n    bar: {\r\n      columnWidth: 50\r\n    },\r\n    horizontal: false\r\n  },\r\n  tooltip: {\r\n    shared: false,\r\n    marker: false,\r\n    followCursor: false,\r\n    x: {\r\n      show: false,\r\n      formatter: (value: any) => {\r\n        return '';\r\n      }\r\n    },\r\n    y: {\r\n      formatter: (value: any) => {\r\n        return value + '%';\r\n      },\r\n      title: {\r\n        formatter: (series:any) => {\r\n          return 'Usage %: ';\r\n        }\r\n      }\r\n    }\r\n  },\r\n}\r\n","import {Component, HostBinding, Input, Output, EventEmitter, SimpleChanges} from '@angular/core';\r\nimport {SelectItem} from \"../../shared/model/select-item\";\r\n\r\n@Component({\r\n  selector: 'abm-panel-summary-status',\r\n  templateUrl: './panel-summary-status.component.html',\r\n  styleUrls: ['./panel-summary-status.component.scss']\r\n})\r\nexport class PanelSummaryStatusComponent {\r\n\r\n  /**\r\n   * Data to populate component\r\n   */\r\n  @Input()\r\n  dataServiceSummaryStatus: any[];\r\n\r\n  /**\r\n   * Array of select options\r\n   */\r\n  @Input()\r\n  data: SelectItem[];\r\n\r\n  /**\r\n   * Currently selected option\r\n   */\r\n  @Input()\r\n  selectedItem: SelectItem;\r\n\r\n  /**\r\n   * Show/hide loading component\r\n   */\r\n  @Input()\r\n  loading: boolean = false;\r\n\r\n  /**\r\n   * Angular change handler. Sets selected item to index 0 of data\r\n   * @param simpleChange\r\n   */\r\n  ngOnChanges(simpleChange: SimpleChanges) {\r\n    const d = simpleChange['data']\r\n    if(d && d.currentValue !== d.previousValue) {\r\n      this.selectedItem = d.currentValue[0];\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Internal click handler, dispatches select e\r\n   * @param item\r\n   */\r\n  clickHandler(item: SelectItem) {\r\n    this.selectEvent.emit({\r\n      currentSelection: item,\r\n      previousSelection: this.selectedItem\r\n    })\r\n\r\n    this.selectedItem = item;\r\n  }\r\n\r\n  @Output()\r\n  selectEvent: EventEmitter<any> = new EventEmitter<any>();\r\n}\r\n","<div class=\"box-container\">\r\n  <abm-text-box class=\"text-box smart-routing\" [loading]=\"loading\" [xtitle]=\"dataServiceSummaryStatus[0]?.title\" [content]=\"dataServiceSummaryStatus[0]?.content\"></abm-text-box>\r\n  <abm-text-box class=\"text-box smart-routing\" [loading]=\"loading\" [xtitle]=\"dataServiceSummaryStatus[1]?.title\" [content]=\"dataServiceSummaryStatus[1]?.content\"></abm-text-box>\r\n</div>\r\n<div class=\"box-container\">\r\n  <abm-text-box class=\"text-box smart-routing\" [loading]=\"loading\" [xtitle]=\"dataServiceSummaryStatus[2]?.title\" [content]=\"dataServiceSummaryStatus[2]?.content\"></abm-text-box>\r\n  <abm-text-box class=\"text-box smart-routing\" [loading]=\"loading\" [xtitle]=\"dataServiceSummaryStatus[3]?.title\" [content]=\"dataServiceSummaryStatus[3]?.content\"></abm-text-box>\r\n</div>\r\n","import {Component, Input, HostBinding} from '@angular/core';\r\nimport {ColorFactory} from \"../../shared/factory/color-factory\";\r\n\r\nimport {LineNoAxisChartConfig} from \"../../shared/chart-configs/line-no-axis-chart-config\";\r\n\r\n@Component({\r\n  selector: 'abm-line-chart',\r\n  templateUrl: './line-chart.component.html',\r\n  styleUrls: ['./line-chart.component.scss']\r\n})\r\nexport class LineChartComponent {\r\n\r\n  /**\r\n   * Label to display to the left of the chart\r\n   */\r\n  @Input()\r\n  label: string;\r\n\r\n  /**\r\n   * Time Data used to render chart\r\n   */\r\n  @Input()\r\n  data: any[][];\r\n\r\n  /**\r\n   * Apex charts configuration\r\n   */\r\n  @Input()\r\n  chartConfig: any = LineNoAxisChartConfig;\r\n\r\n  /**\r\n   * Factory used to determine color based on bar value\r\n   * @type {ColorFactory}\r\n   */\r\n  colorFactory = ColorFactory;\r\n}\r\n","<div class=\"background\">\r\n    <div class=\"chart-label\">{{label}}</div>\r\n    <abm-column-line-chart\r\n            class=\"small-chart\"\r\n            [chartConfig]=\"chartConfig\"\r\n            [data]=\"data\"\r\n    ></abm-column-line-chart>\r\n</div>\r\n","import {Component, Input} from '@angular/core';\r\nimport {ColorFactory} from \"../../shared/factory/color-factory\";\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\n\r\nimport {\r\n  LineNoAxisChartConfig,\r\n  LineNoAxisChartConfigSmartRouting\r\n} from \"../../shared/chart-configs/line-no-axis-chart-config\";\r\nimport {TimeData} from \"../../shared/model/time-data\";\r\nimport moment from 'moment';\r\n\r\n@Component({\r\n  selector: 'abm-panel-services-frequency-day-by-day',\r\n  templateUrl: './panel-services-frequency-day-by-day.component.html',\r\n  styleUrls: ['./panel-services-frequency-day-by-day.component.scss']\r\n})\r\nexport class PanelServicesFrequencyDayByDayComponent {\r\n\r\n  /**\r\n   * Color factory to determine colors to display\r\n   */\r\n  colorFactory: any = ColorFactory;\r\n\r\n  /**\r\n   * Data for Frequency Trending bar charts (TimeData[][][])\r\n   */\r\n  @Input()\r\n  frequencyTrendingDayByDay: TimeData[][][];\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n  chartConfig: any = LineNoAxisChartConfigSmartRouting;\r\n\r\n  /**\r\n   * xtitle for frequency trending panel\r\n   */\r\n  @Input()\r\n  xtitle: string = 'Frequency Trending Day by Day';\r\n\r\n  /**\r\n   * Label for frequency trending panel\r\n   */\r\n  @Input()\r\n  label: string;\r\n\r\n  @Input()\r\n  loading: boolean;\r\n\r\n  /**\r\n   * Flex direction property\r\n   */\r\n  bottomDirection: string = 'row';\r\n\r\n  /**\r\n   * Chart Panel margin property\r\n   */\r\n  chartPanelMargin: number;\r\n\r\n  /**\r\n   * Resize event logic for panels\r\n   */\r\n  bottomResized(event: ResizedEvent) {\r\n    if ((event.newRect as any).width < 1000) {\r\n      this.bottomDirection = 'column';\r\n      this.chartPanelMargin = 0;\r\n    } else {\r\n      this.bottomDirection = 'row';\r\n      this.chartPanelMargin = 10;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Transform date to label\r\n   * @param date Date to transform\r\n   */\r\n  getRowTime(item: any): string {\r\n    return item.day; // moment(date).format('h A') ;\r\n  }\r\n}\r\n","<div class=\"smart-routing\">\r\n  <abm-panel class=\"chart-panel smart-routing\" xtitle=\"{{xtitle}}\" [loading]=\"loading\">\r\n    <div bodyContent class=\"body-content\">\r\n      <div class=\"ccontent\" *ngFor=\"let item of frequencyTrendingDayByDay\">\r\n        <abm-line-chart\r\n          class=\"cchart\"\r\n          [chartConfig]=\"chartConfig\"\r\n          [data]=\"item\"></abm-line-chart>\r\n        <div class=\"chart-lbl-container\">\r\n          {{getRowTime(item[0][0])}}\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </abm-panel>\r\n</div>\r\n","import {Component, HostBinding, Input, OnInit} from '@angular/core';\r\nimport {TextBoxComponentStylesConst} from \"../text-box/text-box.component.styles.const\";\r\nimport {ArrowsConst} from \"../../shared/const/arrows.const\";\r\nimport { UseAndServiceCategories } from '../../shared/model/use-and-service-categories';\r\n\r\n@Component({\r\n  selector: 'abm-table',\r\n  templateUrl: './table.component.html',\r\n  styleUrls: ['./table.component.scss']\r\n})\r\nexport class TableComponent {\r\n\r\n  /**\r\n   * Display small or large style\r\n   * @type {boolean}\r\n   */\r\n  @Input()\r\n  @HostBinding('class.small')\r\n  small: boolean = false;\r\n\r\n  /**\r\n   * Set the style of the component (ex smart routing\r\n   */\r\n  @Input()\r\n  @HostBinding('class')\r\n  style: string = TextBoxComponentStylesConst.DEFAULT;\r\n\r\n  @Input()\r\n  arrow: string = ArrowsConst.NONE;\r\n\r\n  /**\r\n   * xtitle text to display\r\n   */\r\n  @Input()\r\n  xtitle: string;\r\n\r\n  /**\r\n   * Footer text to display\r\n   */\r\n  @Input()\r\n  footer: string;\r\n\r\n  /**\r\n  * Categories to display\r\n  */\r\n  @Input()\r\n  usesAndServiceCategories: any[];\r\n\r\n  /**\r\n  * Categories to display\r\n  */\r\n  @Input()\r\n  usesAndServiceData: any[];\r\n\r\n}\r\n","  <div class=\"content-container\">\r\n    <!-- <div class=\"content smart-routing\"> -->\r\n      <table>\r\n        <thead>\r\n          <tr>\r\n            <th *ngFor=\"let category of usesAndServiceCategories\">\r\n              <div *ngIf=\"category.name === 'ROOM TYPE'\" class=\"top-head left-head\">{{category.name}}</div>\r\n              <div *ngIf=\"category.name !== 'ROOM TYPE'\" class=\"top-head\">{{category.name}}</div>\r\n            </th>\r\n          </tr>\r\n        </thead>\r\n        <tbody>\r\n          <tr *ngFor=\"let item of usesAndServiceData\">\r\n            <th class=\"left-head\">\r\n              <div *ngIf=\"item.roomType\" >{{item.roomType}}</div>\r\n            </th>\r\n            <td>\r\n              <div *ngIf=\"item.roomName\" class=\"table-data\">{{item.roomName}}</div>\r\n            </td>\r\n            <td>\r\n              <div *ngIf=\"item.usage\" class=\"table-data\">{{item.usage}}</div>\r\n            </td>\r\n            <td>\r\n              <div *ngIf=\"item.frequency\" class=\"table-data\">{{item.frequency}}</div>\r\n            </td>\r\n            <td>\r\n              <div *ngIf=\"item.responsiveness\" class=\"table-data\">{{item.responsiveness}}</div>\r\n            </td>\r\n            <td>\r\n              <div *ngIf=\"item.timeBetweenCleans\" class=\"table-data\">{{item.timeBetweenCleans}}</div>\r\n            </td>\r\n            <td>\r\n              <div *ngIf=\"item.usageBetweenCleans\" class=\"table-data\">{{item.usageBetweenCleans}}</div>\r\n            </td>\r\n          </tr>\r\n        </tbody>\r\n        <tfoot *ngIf=\"footer\">{{footer}}</tfoot>\r\n      </table>\r\n    <!-- </div> -->\r\n  </div>\r\n<div class=\"no-data\" *ngIf=\"!usesAndServiceData?.length\">No Data to Display</div>\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\nimport {SelectItem} from \"../../shared/model/select-item\";\r\n\r\nimport {\r\n  BarChartConfigFrequencyForEachCleaningType,\r\n  BarChartConfigFrequencyRelativeToUsageEachWeekday,\r\n  BarChartConfigFrequencyRelativeToUsageForEachHour,\r\n  BarChartConfigFrequencyTrendingDayByDay\r\n} from \"../../shared/chart-configs/bar-chart-config\";\r\nimport {TimeData} from \"../../shared/model/time-data\";\r\nimport {ApplyEvent} from \"../../navigation/nav-bar/apply-event\";\r\n\r\n@Component({\r\n  selector: 'abm-servicing',\r\n  templateUrl: './servicing.component.html',\r\n  styleUrls: ['./servicing.component.scss']\r\n})\r\nexport class ServicingComponent {\r\n\r\n  /**\r\n   * site dropdown options\r\n   */\r\n  @Input()\r\n  siteOptions: SelectItem[];\r\n\r\n  /**\r\n   * facility dropdown options\r\n   */\r\n  @Input()\r\n  facilityOptions: SelectItem[];\r\n\r\n  /**\r\n   * Level dropdown options\r\n   */\r\n  @Input()\r\n  levelOptions: SelectItem[];\r\n\r\n  /**\r\n   * Section header for page xtitle\r\n   */\r\n  @Input()\r\n  section: string;\r\n\r\n  /**\r\n   * Page xtitle\r\n   */\r\n  @Input()\r\n  xtitle: string;\r\n\r\n  /**\r\n   * Roomtype select options for pulldown\r\n   */\r\n  @Input()\r\n  roomTypeOptions: SelectItem[];\r\n\r\n  /**\r\n   * Room select options for pulldown\r\n   */\r\n  @Input()\r\n  roomOptions: SelectItem[];\r\n\r\n  /**\r\n   * Data for Summary Status panels\r\n   */\r\n  @Input()\r\n  serviceSummaryStatusData: any[];\r\n\r\n  @Input()\r\n  serviceSummaryStatusLoading: boolean;\r\n\r\n  /**\r\n   * Data for Each Cleaning Type barchart\r\n   */\r\n  @Input()\r\n  frequencyForEachCleaningTypeData: any[][];\r\n\r\n  @Input()\r\n  frequencyForEachCleaningTypeLoading: boolean;\r\n\r\n  /**\r\n   * Data for Usage Each Weekday barchart\r\n   */\r\n  @Input()\r\n  frequencyRelativeToUsageEachWeekdayData: any[];\r\n\r\n  @Input()\r\n  frequencyRelativeToUsageEachWeekdayLoading: boolean;\r\n\r\n  /**\r\n   * Data for Usage Each Hour barchart\r\n   */\r\n  @Input()\r\n  frequencyRelativeToUsageEachHourData: any[][];\r\n\r\n  @Input()\r\n  frequencyRelativeToUsageEachHourLoading: boolean;\r\n\r\n  /**\r\n   * Data for Trending Day By Day barchart\r\n   */\r\n  @Input()\r\n  frequencyTrendingDayByDayData: TimeData[][][];\r\n\r\n  @Input()\r\n  frequencyTrendingDayByDayLoading: boolean;\r\n\r\n  /**\r\n   * Header Data for Uses and Services table header\r\n   */\r\n  @Input()\r\n  usesAndServiceCategories: any[];\r\n\r\n  /**\r\n   * Data for Uses and Services table\r\n   */\r\n  @Input()\r\n  usesAndServiceData: any[];\r\n\r\n  @Input()\r\n  usesAndServiceLoading: boolean;\r\n\r\n  /**\r\n   * xtitle for Uses and Services table panel\r\n   */\r\n  @Input()\r\n  usesAndServicextitle: string = 'USES AND SERVICES PER ROOM';\r\n\r\n  /**\r\n   * Footer for Uses and Services table\r\n   */\r\n  @Input()\r\n  usesAndServiceFooter: string;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n  frequencyBarChartConfig: any = BarChartConfigFrequencyForEachCleaningType;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n  frequencyBarChart2Config: any = BarChartConfigFrequencyRelativeToUsageEachWeekday;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n  frequencyBarChart3Config: any = BarChartConfigFrequencyRelativeToUsageForEachHour;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n   frequencyLineChart4Config: any = BarChartConfigFrequencyTrendingDayByDay;\r\n\r\n  /**\r\n   * Flex direction property\r\n   */\r\n  bottomDirection: string = 'row';\r\n\r\n  /**\r\n   * Chart Panel margin property\r\n   */\r\n  chartPanelMargin: number;\r\n\r\n  /**\r\n   * Internal layout property\r\n   */\r\n  panelsMaxWidth: string;\r\n\r\n  /**\r\n   * Resize event logic for panels\r\n   */\r\n  bottomResized(event: ResizedEvent) {\r\n    if ((event.newRect as any).width < 1000) {\r\n      this.bottomDirection = 'column';\r\n      this.chartPanelMargin = 0;\r\n      this.panelsMaxWidth = '100%';\r\n    } else {\r\n      this.bottomDirection = 'row';\r\n      this.chartPanelMargin = 10;\r\n      this.panelsMaxWidth = 'calc(100% - 20px)';\r\n    }\r\n  }\r\n\r\n  @Output()\r\n  siteChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  @Output()\r\n  facilityChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  @Output()\r\n  levelChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  @Output()\r\n  applyEvent: EventEmitter<ApplyEvent> = new EventEmitter<ApplyEvent>();\r\n\r\n  /**\r\n   * Room type autocomplete change event\r\n   * @type {EventEmitter<SelectItem>}\r\n   */\r\n  @Output()\r\n  roomTypeChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Room autocomplete change event\r\n   * @type {EventEmitter<SelectItem>}\r\n   */\r\n  @Output()\r\n  roomChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n}\r\n","<div class=\"background-image\">\r\n  <div class=\"background-gradient\">\r\n    <div class=\"smart-routing\">\r\n      <div class=\"content\">\r\n        <abm-header class=\"smart-routing\" [section]=\"section\" [xtitle]=\"xtitle\"></abm-header>\r\n\r\n        <div class=\"nav-bar-container\">\r\n          <abm-nav-bar #navBar class=\"nav-bar smart-routing\"\r\n                       [style]=\"'smart-routing'\"\r\n                       [siteOptions]=\"siteOptions\"\r\n                       [facilityOptions]=\"facilityOptions\"\r\n                       [levelOptions]=\"levelOptions\"\r\n                       [roomTypeOptions]=\"roomTypeOptions\"\r\n                       [roomOptions]=\"roomOptions\"\r\n                       (siteChangeEvent)=\"siteChangeEvent.emit($event)\"\r\n                       (facilityChangeEvent)=\"facilityChangeEvent.emit($event)\"\r\n                       (levelChangeEvent)=\"levelChangeEvent.emit($event)\"\r\n                       (roomTypeChangeEvent)=\"roomTypeChangeEvent.emit($event)\"\r\n                       (roomChangeEvent)=\"roomChangeEvent.emit($event)\">\r\n          </abm-nav-bar>\r\n        </div>\r\n        <div class=\"panel-container\">\r\n          <abm-panel-summary-status class=\"smart-routing\" [loading]=\"serviceSummaryStatusLoading\"\r\n                                    [dataServiceSummaryStatus]=\"serviceSummaryStatusData\"></abm-panel-summary-status>\r\n        </div>\r\n\r\n        <div class=\"chart-panels\" [style.max-width]=\"panelsMaxWidth\" (resized)=\"bottomResized($event)\"\r\n             [style.flexDirection]=\"bottomDirection\">\r\n\r\n          <abm-panel class=\"chart-panel-row-1 chart-panel-1 smart-routing\"\r\n                     xtitle=\"FREQUENCY FOR EACH CLEANING TYPE\" [loading]=\"frequencyForEachCleaningTypeLoading\"\r\n                     [style.marginRight.px]=\"chartPanelMargin\">\r\n            <div bodyContent class=\"frequency-chart\">\r\n              <div class=\"vertical\">\r\n                <abm-column-line-chart\r\n                  class=\"cchart\"\r\n                  [chartConfig]=\"frequencyBarChartConfig\"\r\n                  [data]=\"frequencyForEachCleaningTypeData\"\r\n                  yAxisLabel=\"Frequency\"\r\n                  xAxisLabel=\"Service Type\"\r\n                ></abm-column-line-chart>\r\n              </div>\r\n            </div>\r\n          </abm-panel>\r\n\r\n          <abm-panel class=\"chart-panel-row-1 chart-panel-2 smart-routing\"\r\n                     xtitle=\"FREQUENCY RELATIVE TO USAGE % EACH WEEKDAY\"\r\n                     [style.marginLeft.px]=\"chartPanelMargin\" [loading]=\"frequencyRelativeToUsageEachWeekdayLoading\">\r\n            <div bodyContent class=\"frequency-chart\">\r\n              <div class=\"vertical\">\r\n                <abm-column-line-chart\r\n                  class=\"cchart\"\r\n                  [chartConfig]=\"frequencyBarChart2Config\"\r\n                  [data]=\"frequencyRelativeToUsageEachWeekdayData\"\r\n                  yAxisLabel=\"Frequency\"\r\n                  xAxisLabel=\"Day\"\r\n                ></abm-column-line-chart>\r\n\r\n              </div>\r\n            </div>\r\n          </abm-panel>\r\n        </div>\r\n\r\n        <div class=\"chart-panels\" [style.max-width]=\"panelsMaxWidth\" (resized)=\"bottomResized($event)\"\r\n             [style.flexDirection]=\"bottomDirection\">\r\n          <abm-panel class=\"chart-panel-row-2 chart-panel-1 smart-routing\"\r\n                     xtitle=\"FREQUENCY RELATIVE TO USAGE % FOR EACH HOUR\"\r\n                     [style.marginRight.px]=\"chartPanelMargin\" [loading]=\"frequencyRelativeToUsageEachHourLoading\">\r\n\r\n            <div bodyContent class=\"frequency-chart\">\r\n              <div class=\"chart-lbl-container\">\r\n                <div class=\"chart-lbl\"></div>\r\n              </div>\r\n              <div class=\"vertical\">\r\n                <abm-column-line-chart\r\n                  class=\"cchart2\"\r\n                  [chartConfig]=\"frequencyBarChart3Config\"\r\n                  [data]=\"frequencyRelativeToUsageEachHourData\"></abm-column-line-chart>\r\n              </div>\r\n            </div>\r\n          </abm-panel>\r\n\r\n          <abm-panel-services-frequency-day-by-day [loading]=\"frequencyTrendingDayByDayLoading\"\r\n            class=\"chart-panel-row-2 chart-panel-2 smart-routing\"\r\n            [style.marginLeft.px]=\"chartPanelMargin\"\r\n            [frequencyTrendingDayByDay]=\"frequencyTrendingDayByDayData\">\r\n          </abm-panel-services-frequency-day-by-day>\r\n        </div>\r\n\r\n        <div class=\"chart-panels\" [style.max-width]=\"panelsMaxWidth\" (resized)=\"bottomResized($event)\"\r\n             [style.flexDirection]=\"bottomDirection\">\r\n          <abm-panel class=\"table-panel smart-routing \" [loading]=\"usesAndServiceLoading\"\r\n                     [xtitle]=\"usesAndServicextitle\">\r\n\r\n            <div bodyContent class=\"table-container\">\r\n              <div class=\"vertical\">\r\n                <abm-table class=\"table smart-routing \"\r\n                           [footer]=\"usesAndServiceFooter\"\r\n                           [usesAndServiceCategories]=\"usesAndServiceCategories\"\r\n                           [usesAndServiceData]=\"usesAndServiceData\">\r\n                </abm-table>\r\n              </div>\r\n            </div>\r\n          </abm-panel>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\n\r\nimport {AbmTextBoxModule} from \"../../components/text-box/text-box.module\";\r\n\r\nimport {PanelSummaryStatusComponent} from \"./panel-summary-status.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmLoaderModule} from \"../../components/loader/loader.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelSummaryStatusComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmTextBoxModule,\r\n    AbmLoaderModule\r\n  ],\r\n  exports: [\r\n    PanelSummaryStatusComponent\r\n  ]\r\n})\r\nexport class AbmPanelSummaryStatusModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {TableComponent} from \"./table.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    TableComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n  ],\r\n  exports: [\r\n    TableComponent\r\n  ]\r\n})\r\nexport class AbmTableModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {LineChartComponent} from \"./line-chart.component\";\r\nimport {AbmColumnLineChartModule} from \"../column-line-chart/column-line-chart.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    LineChartComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmColumnLineChartModule\r\n  ],\r\n  exports: [\r\n    LineChartComponent\r\n  ]\r\n})\r\nexport class AbmLineChartModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\n\r\nimport {PanelServicesFrequencyDayByDayComponent} from \"./panel-services-frequency-day-by-day.component\";\r\nimport {AbmPanelModule} from \"../panel/panel.module\";\r\nimport {AbmLineChartModule} from \"../../charts/line-chart/line-chart.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelServicesFrequencyDayByDayComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmPanelModule,\r\n    AbmLineChartModule\r\n  ],\r\n  exports: [\r\n    PanelServicesFrequencyDayByDayComponent\r\n  ]\r\n})\r\nexport class AbmPanelServicesFrequencyDayByDayModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\n\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\n\r\nimport {ServicingComponent} from \"./servicing.component\";\r\n\r\nimport {AbmHeaderModule} from \"../../panels/header/header.module\";\r\nimport {AbmNavBarModule} from \"../../navigation/nav-bar/nav-bar.module\";\r\nimport {AbmPanelSummaryStatusModule} from \"../../panels/panel-summary-status/panel-summary-status.module\";\r\nimport {AbmTextBoxModule} from \"../../components/text-box/text-box.module\";\r\nimport {AbmPanelModule} from \"../../panels/panel/panel.module\";\r\nimport {AbmColumnLineChartModule} from \"../../charts/column-line-chart/column-line-chart.module\"\r\nimport {AbmMultilineChartModule} from \"../../charts/multiline-chart/multiline-chart.module\"\r\nimport {AbmTableModule} from \"../../components/table/table.module\"\r\nimport {AbmPanelServicesFrequencyDayByDayModule} from '../../panels/panel-services-frequency-day-by-day/panel-services-frequency-day-by-day.module';\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    ServicingComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmHeaderModule,\r\n    AbmNavBarModule,\r\n    AbmPanelSummaryStatusModule,\r\n    AbmTextBoxModule,\r\n    AbmPanelModule,\r\n    AbmColumnLineChartModule,\r\n    AbmMultilineChartModule,\r\n    AbmPanelServicesFrequencyDayByDayModule,\r\n    AbmTableModule\r\n  ],\r\n  exports: [\r\n    ServicingComponent\r\n  ]\r\n})\r\nexport class AbmServicingModule {\r\n}\r\n","import {Component, Input, OnChanges, SimpleChanges} from '@angular/core';\r\nimport {ColorFactory} from \"../../shared/factory/color-factory\";\r\n\r\n@Component({\r\n  selector: 'abm-barchart-horizontal',\r\n  templateUrl: './barchart-horizontal.component.html',\r\n  styleUrls: ['./barchart-horizontal.component.scss']\r\n})\r\nexport class BarchartHorizontalComponent {\r\n\r\n  /**\r\n   * Border radius on bars\r\n   */\r\n  @Input()\r\n  borderRadius: number = 0;\r\n\r\n  /**\r\n   * Factory used to determine color based on bar value\r\n   * @type {ColorFactory}\r\n   */\r\n  colorFactory = ColorFactory;\r\n\r\n  /**\r\n   * Data used to populate the Usage High chart\r\n   */\r\n  @Input()\r\n  roomUsageDataHigh: any[];\r\n\r\n  /**\r\n   * Text color\r\n   */\r\n  @Input()\r\n  textColor: string;\r\n\r\n  /**\r\n   * Bar color\r\n   */\r\n  @Input()\r\n  barColor: string;\r\n\r\n  @Input()\r\n  loading: boolean = false;\r\n}\r\n","<table *ngIf=\"!loading && roomUsageDataHigh.length\">\r\n  <tr class=\"header\">\r\n    <th>ROOM&nbsp;NAME</th>\r\n    <th>OCCUPIED&nbsp;AVG</th>\r\n    <th>USAGE&nbsp;%</th>\r\n  </tr>\r\n  <tr *ngFor=\"let value of roomUsageDataHigh; let even = even;\" [style.background-color]=\"even ? 'rgba(255, 255, 255, .02)' : 'default'\">\r\n    <td>{{value.x}}</td>\r\n    <td>{{value.y}}</td>\r\n    <td style=\"width: 100%;\">\r\n      <div class=\"bar\" [style.width.%]=\"value.usage ? value.usage : 0\" [style.background-color]=\"barColor\" ></div>\r\n    </td>\r\n  </tr>\r\n</table>\r\n\r\n<abm-loader class=\"no-data\" *ngIf=\"loading || !roomUsageDataHigh.length\">No Data to Display</abm-loader>\r\n","import {Component, Input} from '@angular/core';\r\nimport {ColorFactory} from \"../../shared/factory/color-factory\";\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\n\r\n// import {RoomBreakout} from \"../../shared/model/room-breakout\";\r\n\r\nimport {\r\n  BarChartConfigUsageComparedToPreviousMonthHours,\r\n  BarChartConfigUsageComparedToPreviousMonthDays,\r\n  BarChartConfigUsageComparedToPreviousMonthMonths\r\n} from \"../../shared/chart-configs/bar-chart-config\";\r\n\r\nimport {\r\n  BarChartConfigRoomUsageHigh,\r\n  BarChartConfigRoomUsageMed,\r\n  BarChartConfigRoomUsageLow\r\n} from \"../../shared/chart-configs/bar-chart-config\";\r\n\r\n@Component({\r\n  selector: 'abm-panel-usage-analytics-left',\r\n  templateUrl: './panel-usage-analytics-left.component.html',\r\n  styleUrls: ['./panel-usage-analytics-left.component.scss']\r\n})\r\nexport class PanelUsageAnalyticsLeftComponent {\r\n\r\n  colorFactory: any = ColorFactory;\r\n\r\n  /**\r\n   * Data used to populate the Usage High chart\r\n   */\r\n  @Input()\r\n  data: any[];\r\n\r\n  @Input()\r\n  roomsLabel: string;\r\n\r\n  @Input()\r\n  trendLabelHigh: string;\r\n\r\n  @Input()\r\n  trendLabelMed: string;\r\n\r\n  @Input()\r\n  trendLabelLow: string;\r\n\r\n  @Input()\r\n  chartColorHigh: string;\r\n\r\n  @Input()\r\n  chartColorMed: string;\r\n\r\n  @Input()\r\n  chartColorLow: string;\r\n\r\n  /**\r\n   * Data used to populate the Usage High chart\r\n   */\r\n  @Input()\r\n  roomUsageDataHigh: any;\r\n\r\n  @Input()\r\n  highRoomUsageDataLoading: boolean;\r\n\r\n  @Input()\r\n  medRoomUsageDataLoading: boolean;\r\n\r\n  @Input()\r\n  lowRoomUsageDataLoading: boolean;\r\n\r\n  /**\r\n   * Data used to populate the Usage High chart\r\n   */\r\n  @Input()\r\n  roomUsagePercentDataHigh: any[];\r\n\r\n  /**\r\n   * Label used for Usage High chart\r\n   */\r\n  @Input()\r\n  chartLabelHigh: string;\r\n\r\n  /**\r\n   * Data used to populate the Usage Medium chart\r\n   */\r\n  @Input()\r\n  roomUsageDataMed: any;\r\n\r\n  /**\r\n   * Data used to populate the Usage Medium chart\r\n   */\r\n  @Input()\r\n  roomUsagePercentDataMed: any[];\r\n\r\n  /**\r\n   * Data used to populate the Usage Low chart\r\n   */\r\n  @Input()\r\n  roomUsageDataLow: any;\r\n\r\n  /**\r\n   * Data used to populate the Usage Low chart\r\n   */\r\n  @Input()\r\n  roomUsagePercentDataLow: any[];\r\n\r\n  /**\r\n   * Label used for Usage Med chart\r\n   */\r\n  @Input()\r\n  chartLabelMed: string;\r\n\r\n  /**\r\n   * Label used for Usage Low chart\r\n   */\r\n  @Input()\r\n  chartLabelLow: string;\r\n\r\n  /**\r\n   * Panel xtitle for usage panel left\r\n   */\r\n\r\n  @Input()\r\n  usagePanelLeftxtitle: string;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n\r\n  barChartConfigRoomUsageHigh: any = BarChartConfigRoomUsageHigh;\r\n\r\n  /**\r\n   * Bar color\r\n   */\r\n\r\n  @Input()\r\n  barChartConfigRoomUsageHighBarColor: string;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n\r\n  barChartConfigRoomUsageMed: any = BarChartConfigRoomUsageMed;\r\n\r\n  /**\r\n   * Bar color\r\n   */\r\n\r\n  @Input()\r\n  barChartConfigRoomUsageMedBarColor: string;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n\r\n  barChartConfigRoomUsageLow: any = BarChartConfigRoomUsageLow;\r\n\r\n  /**\r\n   * Bar color\r\n   */\r\n\r\n  @Input()\r\n  barChartConfigRoomUsageLowBarColor: string;\r\n\r\n  /**\r\n   * Room name for Usage % chart\r\n   */\r\n\r\n  @Input()\r\n  room: string;\r\n\r\n  /**\r\n   * Section header for page xtitle\r\n   */\r\n\r\n  @Input()\r\n  chartLabel: string;\r\n\r\n  /**\r\n   * Text color\r\n   */\r\n\r\n  @Input()\r\n  textColor: string;\r\n\r\n  /**\r\n   * Bar color\r\n   */\r\n\r\n  @Input()\r\n  barColor: string;\r\n\r\n  /**\r\n   * Section header for page xtitle\r\n   */\r\n\r\n  @Input()\r\n  chartVLabel: string;\r\n\r\n\r\n  @Input()\r\n  highTableLoading:boolean = false;\r\n\r\n  @Input()\r\n  medTableLoading:boolean = false;\r\n\r\n  @Input()\r\n  lowTableLoading:boolean = false;\r\n\r\n  /**\r\n   * Flex direction property\r\n   */\r\n  rowDirection: string = 'row';\r\n\r\n  /**\r\n   * internal styling property\r\n   */\r\n  chartPanelMargin: number;\r\n\r\n  /**\r\n   * internal styling property\r\n   */\r\n  barChartMarginTop: number;\r\n\r\n  /**\r\n   * internal styling property\r\n   */\r\n  barChartMarginLeft: number;\r\n\r\n  /**\r\n   * Resize event logic for panels\r\n   */\r\n\r\n  resizedHandler(event: ResizedEvent) {\r\n    let w = event.newRect.width;\r\n    // console.log('width: ', w);\r\n    this.rowDirection = w < 700 ? 'column' : 'row';\r\n    this.barChartMarginTop = w < 700 ? 20 : 0;\r\n    this.barChartMarginLeft = w < 700 ? 0 : 20;\r\n  }\r\n}\r\n","<abm-panel class=\"chart-panel chart-panel-l smart-routing\"\r\n           xtitle=\"Usage Level\"\r\n           [style.marginLeft.px]=\"chartPanelMargin\">\r\n\r\n  <div bodyContent class=\"body-content\" (resized)=\"resizedHandler($event)\">\r\n\r\n    <div class=\"rowz\" [style.flex-direction]=\"rowDirection\">\r\n      <div class=\"column\">\r\n\r\n        <abm-panel class=\"room-usage smart-routing\">\r\n          <ng-container bodyContent>\r\n            <div class=\"lbl\">{{chartLabelHigh}}</div>\r\n            <abm-panel-rooms\r\n              class=\"smart-routing room-usage-inner\"\r\n              [data]=\"roomUsageDataHigh\"\r\n              [trendLabel]=\"trendLabelHigh\"\r\n              [roomsLabel]=\"roomsLabel\"\r\n              [chartColor]=\"chartColorHigh\"\r\n            [loading]=\"highRoomUsageDataLoading\">\r\n            </abm-panel-rooms>\r\n          </ng-container>\r\n        </abm-panel>\r\n      </div>\r\n\r\n      <div class=\"bar-chart-container column\"\r\n           [style.margin-top.px]=\"barChartMarginTop\"\r\n           [style.margin-left.px]=\"barChartMarginLeft\">\r\n\r\n        <abm-panel class=\"chart smart-routing\">\r\n          <div bodyContent>\r\n            <abm-barchart-horizontal\r\n              class=\"bar-chart\"\r\n              [roomUsageDataHigh]=\"roomUsagePercentDataHigh\"\r\n              [barColor]=\"chartColorHigh\"\r\n              [textColor]=\"'#fff'\"\r\n              [loading]=\"highTableLoading\">\r\n            </abm-barchart-horizontal>\r\n          </div>\r\n        </abm-panel>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"rowz\" [style.flex-direction]=\"rowDirection\">\r\n      <div class=\"column\">\r\n\r\n        <abm-panel class=\"room-usage smart-routing\">\r\n          <ng-container bodyContent>\r\n            <div class=\"lbl\">{{chartLabelMed}}</div>\r\n            <abm-panel-rooms\r\n              class=\"smart-routing room-usage-inner\"\r\n              [data]=\"roomUsageDataMed\"\r\n              [trendLabel]=\"trendLabelMed\"\r\n              [roomsLabel]=\"roomsLabel\"\r\n              [chartColor]=\"chartColorMed\"\r\n              [loading]=\"medRoomUsageDataLoading\">\r\n            </abm-panel-rooms>\r\n          </ng-container>\r\n        </abm-panel>\r\n      </div>\r\n\r\n      <div class=\"bar-chart-container column\"\r\n           [style.margin-top.px]=\"barChartMarginTop\"\r\n           [style.margin-left.px]=\"barChartMarginLeft\">\r\n\r\n        <abm-panel class=\"chart smart-routing\">\r\n          <div bodyContent>\r\n            <abm-barchart-horizontal\r\n              class=\"bar-chart\"\r\n              [roomUsageDataHigh]=\"roomUsagePercentDataMed\"\r\n              [barColor]=\"chartColorMed\"\r\n              [textColor]=\"'#fff'\"\r\n              [loading]=\"medTableLoading\">\r\n            </abm-barchart-horizontal>\r\n          </div>\r\n        </abm-panel>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"rowz\" [style.flex-direction]=\"rowDirection\">\r\n      <div class=\"column\">\r\n\r\n        <abm-panel class=\"room-usage smart-routing\">\r\n          <ng-container bodyContent>\r\n            <div class=\"lbl\">{{chartLabelLow}}</div>\r\n            <abm-panel-rooms\r\n              class=\"smart-routing room-usage-inner\"\r\n              [data]=\"roomUsageDataLow\"\r\n              [trendLabel]=\"trendLabelLow\"\r\n              [roomsLabel]=\"roomsLabel\"\r\n              [chartColor]=\"chartColorLow\"\r\n              [loading]=\"lowRoomUsageDataLoading\">\r\n            </abm-panel-rooms>\r\n          </ng-container>\r\n        </abm-panel>\r\n      </div>\r\n\r\n      <div class=\"bar-chart-container column\"\r\n           [style.margin-top.px]=\"barChartMarginTop\"\r\n           [style.margin-left.px]=\"barChartMarginLeft\">\r\n\r\n        <abm-panel class=\"chart smart-routing\">\r\n          <div bodyContent>\r\n            <abm-barchart-horizontal\r\n              class=\"bar-chart\"\r\n              [roomUsageDataHigh]=\"roomUsagePercentDataLow\"\r\n              [barColor]=\"chartColorLow\"\r\n              [textColor]=\"'#fff'\"\r\n              [loading]=\"lowTableLoading\">\r\n            </abm-barchart-horizontal>\r\n          </div>\r\n        </abm-panel>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</abm-panel>\r\n","import {Component, Input} from '@angular/core';\r\nimport {ColorFactory} from \"../../shared/factory/color-factory\";\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\n\r\nimport {\r\n  BarChartConfigUsageComparedToPreviousMonthHours,\r\n  BarChartConfigUsageComparedToPreviousMonthDays,\r\n  BarChartConfigUsageComparedToPreviousMonthMonths\r\n} from \"../../shared/chart-configs/bar-chart-config\";\r\n\r\n@Component({\r\n  selector: 'abm-panel-usage-analytics-right',\r\n  templateUrl: './panel-usage-analytics-right.component.html',\r\n  styleUrls: ['./panel-usage-analytics-right.component.scss']\r\n})\r\nexport class PanelUsageAnalyticsRightComponent {\r\n\r\n  colorFactory: any = ColorFactory;\r\n\r\n  /**\r\n   * Data for Each Compare Previous Month/Hours barchart\r\n   */\r\n\r\n  @Input()\r\n  usageComparedToPreviousMonthHoursData: any[];\r\n\r\n  /**\r\n   * Data for Each Compare Previous Month/Days barchart\r\n   */\r\n\r\n  @Input()\r\n  usageComparedToPreviousMonthDaysData: any[];\r\n\r\n  /**\r\n   * Data for Each Compare Previous Month/Months barchart\r\n   */\r\n\r\n  @Input()\r\n  usageComparedToPreviousMonthMonthsData: any[];\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n\r\n  usageBarChart1Config: any = BarChartConfigUsageComparedToPreviousMonthHours;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n\r\n  usageBarChart2Config: any = BarChartConfigUsageComparedToPreviousMonthDays;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n\r\n  usageBarChart3Config: any = BarChartConfigUsageComparedToPreviousMonthMonths;\r\n\r\n  /**\r\n   * Room name for Usage % chart\r\n   */\r\n\r\n  @Input()\r\n  room: string;\r\n\r\n  /**\r\n   * Section header for page xtitle\r\n   */\r\n\r\n  @Input()\r\n  chartLabel: string;\r\n\r\n  /**\r\n    * Text color\r\n    */\r\n\r\n  @Input()\r\n  textColor: string;\r\n\r\n  /**\r\n    * Bar color\r\n    */\r\n\r\n  @Input()\r\n  barColor: string;\r\n\r\n  /**\r\n   * Section header for page xtitle\r\n   */\r\n\r\n  @Input()\r\n  chartVLabel: string;\r\n\r\n  /**\r\n   * Panel xtitle for usage panel right\r\n   */\r\n\r\n  @Input()\r\n  usagePanelRightxtitle: string;\r\n\r\n  /**\r\n   * Flex direction property\r\n   */\r\n\r\n  bottomDirection: string = 'row';\r\n\r\n  /**\r\n   * Chart Panel margin property\r\n   */\r\n\r\n  chartPanelMargin: number;\r\n\r\n  getxtitle(): string {\r\n    return this.room ? `USAGE % FOR ${this.room} COMPARED TO PREVIOUS MONTH` : 'Loading.';\r\n  }\r\n}\r\n","<div class=\"smart-routing\">\r\n\r\n    <abm-panel\r\n      class=\"chart-panel smart-routing\"\r\n      [xtitle]=\"getxtitle()\"\r\n      [style.marginLeft.px]=\"chartPanelMargin\">\r\n\r\n      <div bodyContent class=\"usage-chart\">\r\n\r\n        <abm-column-line-chart\r\n          class=\"cchart\"\r\n          [chartConfig]=\"usageBarChart1Config\"\r\n          [data]=\"usageComparedToPreviousMonthHoursData\"\r\n          xAxisLabel=\"Hours\">\r\n        </abm-column-line-chart>\r\n\r\n          <abm-column-line-chart\r\n            class=\"cchart\"\r\n            [chartConfig]=\"usageBarChart2Config\"\r\n            [data]=\"usageComparedToPreviousMonthDaysData\"\r\n            yAxisLabel=\"Usage %\"\r\n            xAxisLabel=\"Days\">\r\n          </abm-column-line-chart>\r\n\r\n          <abm-column-line-chart\r\n            class=\"cchart margin-0\"\r\n            [chartConfig]=\"usageBarChart3Config\"\r\n            [data]=\"usageComparedToPreviousMonthMonthsData\"\r\n         yAxisLabel=\"Usage %\"\r\n            xAxisLabel=\"Months\">\r\n\r\n          </abm-column-line-chart>\r\n      </div>\r\n    </abm-panel>\r\n\r\n</div>\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {SelectItem} from \"../../shared/model/select-item\";\r\nimport {ColorFactory} from \"../../shared/factory/color-factory\";\r\nimport {ResizedEvent} from \"angular-resize-event\";\r\n\r\nimport {\r\n  BarChartConfigUsageComparedToPreviousMonthHours,\r\n  BarChartConfigUsageComparedToPreviousMonthDays,\r\n  BarChartConfigUsageComparedToPreviousMonthMonths\r\n} from \"../../shared/chart-configs/bar-chart-config\";\r\n\r\nimport {\r\n  BarChartConfigRoomUsageHigh,\r\n  BarChartConfigRoomUsageMed,\r\n  BarChartConfigRoomUsageLow\r\n} from \"../../shared/chart-configs/bar-chart-config\";\r\nimport {ApplyEvent} from \"../../navigation/nav-bar/apply-event\";\r\n\r\n@Component({\r\n  selector: 'abm-usage-analytics',\r\n  templateUrl: './usage-analytics.component.html',\r\n  styleUrls: ['./usage-analytics.component.scss']\r\n})\r\nexport class UsageAnalyticsComponent {\r\n\r\n  colorFactory: any = ColorFactory;\r\n\r\n  /**\r\n   * Section header for page xtitle\r\n   */\r\n\r\n  @Input()\r\n  section: string;\r\n\r\n  /**\r\n   * Page xtitle\r\n   */\r\n  @Input()\r\n  xtitle: string;\r\n\r\n  /**\r\n   * Roomtype select options for pulldown\r\n   */\r\n  @Input()\r\n  roomTypeOptions: SelectItem[];\r\n\r\n  /**\r\n   * Room select options for pulldown\r\n   */\r\n  @Input()\r\n  roomOptions: SelectItem[];\r\n\r\n  /**\r\n   * site dropdown options\r\n   */\r\n  @Input()\r\n  siteOptions: SelectItem[];\r\n\r\n  /**\r\n   * facility dropdown options\r\n   */\r\n  @Input()\r\n  facilityOptions: SelectItem[];\r\n\r\n  /**\r\n   * Level dropdown options\r\n   */\r\n  @Input()\r\n  levelOptions: SelectItem[];\r\n\r\n  /**\r\n   * Label used for Usage High chart\r\n   */\r\n  @Input()\r\n  usagePanelLeftxtitle: string;\r\n\r\n  /**\r\n   * Label used for Usage High chart\r\n   */\r\n  @Input()\r\n  usagePanelRightxtitle: string;\r\n\r\n  @Input()\r\n  trendLabelHigh: string;\r\n\r\n  @Input()\r\n  trendLabelMed: string;\r\n\r\n  @Input()\r\n  trendLabelLow: string;\r\n\r\n  @Input()\r\n  roomsLabel: string;\r\n\r\n  @Input()\r\n  chartColorHigh: string;\r\n\r\n  @Input()\r\n  chartColorMed: string;\r\n\r\n  @Input()\r\n  chartColorLow: string;\r\n\r\n\r\n  /**\r\n   * Label used for Usage High chart\r\n   */\r\n  @Input()\r\n  chartLabelHigh: string = 'HIGH USAGE';\r\n\r\n  /**\r\n   * Label used for Usage Med chart\r\n   */\r\n  @Input()\r\n  chartLabelMed: string = 'MED USAGE';\r\n\r\n  /**\r\n   * Label used for Usage Low chart\r\n   */\r\n  @Input()\r\n  chartLabelLow: string = 'LOW USAGE';\r\n\r\n  /**\r\n   * Data used to populate the Usage High chart\r\n   */\r\n  @Input()\r\n  roomUsageDataHigh: any;\r\n\r\n  @Input()\r\n  roomUsagePercentDataHigh: any[];\r\n\r\n  @Input()\r\n  roomUsagePercentDataMed: any[];\r\n\r\n  @Input()\r\n  roomUsagePercentDataLow: any[];\r\n\r\n  @Input()\r\n  roomUsageDataHighLoading: boolean = true;\r\n\r\n  @Input()\r\n  roomUsageDataMedLoading: boolean = true;\r\n\r\n  @Input()\r\n  roomUsageDataLowLoading: boolean = true;\r\n\r\n  @Input()\r\n  highTableLoading: boolean = false;\r\n\r\n  @Input()\r\n  medTableLoading: boolean = false;\r\n  @Input()\r\n\r\n  lowTableLoading: boolean = false;\r\n\r\n  @Input()\r\n  highRoomUsageDataLoading: boolean = false;\r\n\r\n  @Input()\r\n  medRoomUsageDataLoading: boolean = false;\r\n\r\n  @Input()\r\n  lowRoomUsageDataLoading: boolean = false;\r\n\r\n  /**\r\n   * Data used to populate the Usage Medium chart\r\n   */\r\n  @Input()\r\n  roomUsageDataMed: any;\r\n\r\n  /**\r\n   * Data used to populate the Usage Low chart\r\n   */\r\n  @Input()\r\n  roomUsageDataLow: any;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n  barChartConfigRoomUsageHigh: any = BarChartConfigRoomUsageHigh;\r\n\r\n  /**\r\n   * Bar color\r\n   */\r\n  @Input()\r\n  barChartConfigRoomUsageHighBarColor: string;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n  barChartConfigRoomUsageMed: any = BarChartConfigRoomUsageMed;\r\n\r\n  /**\r\n   * Bar color\r\n   */\r\n  @Input()\r\n  barChartConfigRoomUsageMedBarColor: string;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n  barChartConfigRoomUsageLow: any = BarChartConfigRoomUsageLow;\r\n\r\n  /**\r\n   * Bar color\r\n   */\r\n  @Input()\r\n  barChartConfigRoomUsageLowBarColor: string;\r\n\r\n  /**\r\n   * Data for xtitle on Compare Panel right\r\n   */\r\n  @Input()\r\n  room: string;\r\n\r\n  /**\r\n   * Data for Each Compare Previous Month/Hours barchart\r\n   */\r\n  @Input()\r\n  usageComparedToPreviousMonthHoursData: any[];\r\n\r\n  /**\r\n   * Data for Each Compare Previous Month/Days barchart\r\n   */\r\n  @Input()\r\n  usageComparedToPreviousMonthDaysData: any[];\r\n\r\n  /**\r\n   * Data for Each Compare Previous Month/Months barchart\r\n   */\r\n\r\n  @Input()\r\n  usageComparedToPreviousMonthMonthsData: any[];\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n\r\n  usageBarChart1Config: any = BarChartConfigUsageComparedToPreviousMonthHours;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n  usageBarChart2Config: any = BarChartConfigUsageComparedToPreviousMonthDays;\r\n\r\n  /**\r\n   * Barchart config from file\r\n   */\r\n\r\n  usageBarChart3Config: any = BarChartConfigUsageComparedToPreviousMonthMonths;\r\n\r\n  /**\r\n   * Section header for page xtitle\r\n   */\r\n  @Input()\r\n  chartLabel: string;\r\n\r\n  /**\r\n   * Text color\r\n   */\r\n  @Input()\r\n  textColor: string;\r\n\r\n  /**\r\n   * Bar color\r\n   */\r\n  @Input()\r\n  barColor: string;\r\n\r\n  /**\r\n   * Section header for page xtitle\r\n   */\r\n  @Input()\r\n  chartVLabel: string;\r\n\r\n  /**\r\n   * Room type autocomplete change event\r\n   * @type {EventEmitter<SelectItem>}\r\n   */\r\n  @Output()\r\n  roomTypeChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  /**\r\n   * Room autocomplete change event\r\n   * @type {EventEmitter<SelectItem>}\r\n   */\r\n  @Output()\r\n  roomChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  @Output()\r\n  siteChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  @Output()\r\n  facilityChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  @Output()\r\n  levelChangeEvent: EventEmitter<SelectItem> = new EventEmitter<SelectItem>();\r\n\r\n  @Output()\r\n  applyEvent: EventEmitter<ApplyEvent> = new EventEmitter<ApplyEvent>();\r\n\r\n  /**\r\n   * Internal styling property\r\n   */\r\n  flexDirection: string = 'row';\r\n\r\n  /**\r\n   * Internal styling property\r\n   */\r\n  columnMargin: number = 10;\r\n\r\n  /**\r\n   * Internal styling property\r\n   */\r\n  columnMarginBottom: number = 20;\r\n\r\n  /**\r\n   * Resize event logic for panels\r\n   */\r\n  resized(event: ResizedEvent) {\r\n    const w = event.newRect.width;\r\n    this.flexDirection = w < 1000 ? 'column' : 'row';\r\n    this.columnMargin = w < 1000 ? 0 : 10;\r\n    this.columnMarginBottom = w < 1000 ? 20 : 0;\r\n  }\r\n}\r\n","<div class=\"background-image\">\r\n  <div class=\"background-gradient\">\r\n    <div class=\"smart-routing\">\r\n      <div class=\"content\">\r\n        <abm-header class=\"smart-routing\" [section]=\"section\" [xtitle]=\"xtitle\"></abm-header>\r\n\r\n        <div class=\"nav-bar-container\">\r\n          <abm-nav-bar #navBar class=\"nav-bar smart-routing\"\r\n                      [style]=\"'smart-routing'\"\r\n                      [siteOptions]=\"siteOptions\"\r\n                      [facilityOptions]=\"facilityOptions\"\r\n                      [levelOptions]=\"levelOptions\"\r\n                      [roomTypeOptions]=\"roomTypeOptions\"\r\n                      [roomOptions]=\"roomOptions\"\r\n                      (siteChangeEvent)=\"siteChangeEvent.emit($event)\"\r\n                      (facilityChangeEvent)=\"facilityChangeEvent.emit($event)\"\r\n                      (levelChangeEvent)=\"levelChangeEvent.emit($event)\"\r\n                      (roomChangeEvent)=\"roomChangeEvent.emit($event)\"\r\n                      (roomTypeChangeEvent)=\"roomTypeChangeEvent.emit($event)\">\r\n          </abm-nav-bar>\r\n        </div>\r\n\r\n        <div class=\"inner-content\" (resized)=\"resized($event)\" [style.flex-direction]=\"flexDirection\">\r\n          <div class=\"column left\" [style.margin-right.px]=\"columnMargin\" [style.margin-bottom.px]=\"columnMarginBottom\">\r\n            <abm-panel-usage-analytics-left\r\n              [chartLabelHigh]=\"chartLabelHigh\"\r\n              [chartColorHigh]=\"chartColorHigh\"\r\n              [chartLabelMed]=\"chartLabelMed\"\r\n              [chartColorMed]=\"chartColorMed\"\r\n              [chartLabelLow]=\"chartLabelLow\"\r\n              [chartColorLow]=\"chartColorLow\"\r\n              [roomsLabel]=\"'# of rooms'\"\r\n              [roomUsageDataHigh]=\"roomUsageDataHigh\"\r\n              [roomUsageDataMed]=\"roomUsageDataMed\"\r\n              [roomUsageDataLow]=\"roomUsageDataLow\"\r\n\r\n              [highTableLoading]=\"highTableLoading\"\r\n              [medTableLoading]=\"medTableLoading\"\r\n              [lowTableLoading]=\"lowTableLoading\"\r\n\r\n              [highRoomUsageDataLoading]=\"highRoomUsageDataLoading\"\r\n              [medRoomUsageDataLoading]=\"medRoomUsageDataLoading\"\r\n              [lowRoomUsageDataLoading]=\"lowRoomUsageDataLoading\"\r\n\r\n              [roomUsagePercentDataHigh]=\"roomUsagePercentDataHigh\"\r\n              [roomUsagePercentDataMed]=\"roomUsagePercentDataMed\"\r\n              [roomUsagePercentDataLow]=\"roomUsagePercentDataLow\">\r\n            </abm-panel-usage-analytics-left>\r\n          </div>\r\n\r\n          <div class=\"column right\" [style.margin-left.px]=\"columnMargin\">\r\n            <abm-panel-usage-analytics-right usagePanelRightxtitle=\"USAGE % FOR 12W.052 COMPARED TO PREVIOUS MONTH\"\r\n                                            [room]=\"room\" [chartLabel]=\"chartLabel\" [chartVLabel]=\"chartVLabel\"\r\n                                            [usageComparedToPreviousMonthHoursData]=\"usageComparedToPreviousMonthHoursData\"\r\n                                            [usageComparedToPreviousMonthDaysData]=\"usageComparedToPreviousMonthDaysData\"\r\n                                            [usageComparedToPreviousMonthMonthsData]=\"usageComparedToPreviousMonthMonthsData\"></abm-panel-usage-analytics-right>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {BarchartHorizontalComponent} from \"./barchart-horizontal.component\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AbmLoaderModule} from \"../../components/loader/loader.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    BarchartHorizontalComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AbmLoaderModule\r\n  ],\r\n  exports: [\r\n    BarchartHorizontalComponent\r\n  ]\r\n})\r\nexport class AbmBarChartHorizontalModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\n\r\nimport {PanelUsageAnalyticsLeftComponent} from \"./panel-usage-analytics-left.component\";\r\n\r\nimport {AbmHeaderModule} from \"../header/header.module\";\r\nimport {AbmNavBarModule} from \"../../navigation/nav-bar/nav-bar.module\";\r\nimport {AbmPanelModule} from \"../panel/panel.module\";\r\nimport {AbmBarChartModule} from \"../../charts/barchart/barchart.module\";\r\nimport {AbmColumnLineChartModule} from \"../../charts/column-line-chart/column-line-chart.module\";\r\nimport {AbmBarChartHorizontalModule} from '../../charts/barchart-horizontal/barchart-horizontal.module';\r\n\r\nimport {AbmPanelRoomsModule} from '../panel-rooms/panel-rooms.module';\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelUsageAnalyticsLeftComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmHeaderModule,\r\n    AbmNavBarModule,\r\n    AbmPanelModule,\r\n    AbmBarChartModule,\r\n    AbmColumnLineChartModule,\r\n    AbmBarChartHorizontalModule,\r\n    AbmPanelRoomsModule\r\n  ],\r\n  exports: [\r\n    PanelUsageAnalyticsLeftComponent\r\n  ]\r\n})\r\nexport class AbmPanelUsageAnalyticsLeftModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\n\r\nimport {PanelUsageAnalyticsRightComponent} from \"./panel-usage-analytics-right.component\";\r\n\r\nimport {AbmHeaderModule} from \"../header/header.module\";\r\nimport {AbmNavBarModule} from \"../../navigation/nav-bar/nav-bar.module\";\r\nimport {AbmPanelModule} from \"../panel/panel.module\";\r\nimport {AbmBarChartModule} from \"../../charts/barchart/barchart.module\";\r\nimport {AbmColumnLineChartModule} from \"../../charts/column-line-chart/column-line-chart.module\";\r\nimport {AbmBarChartHorizontalModule} from '../../charts/barchart-horizontal/barchart-horizontal.module';\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PanelUsageAnalyticsRightComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmHeaderModule,\r\n    AbmNavBarModule,\r\n    AbmPanelModule,\r\n    AbmBarChartModule,\r\n    AbmColumnLineChartModule,\r\n    AbmBarChartHorizontalModule\r\n  ],\r\n  exports: [\r\n    PanelUsageAnalyticsRightComponent\r\n  ]\r\n})\r\nexport class AbmPanelUsageAnalyticsRightModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {AngularResizeEventModule} from \"angular-resize-event\";\r\n\r\nimport {UsageAnalyticsComponent} from \"./usage-analytics.component\";\r\n\r\nimport {AbmHeaderModule} from \"../../panels/header/header.module\";\r\nimport {AbmNavBarModule} from \"../../navigation/nav-bar/nav-bar.module\";\r\nimport {AbmPanelModule} from \"../../panels/panel/panel.module\";\r\n\r\nimport {AbmBarChartModule} from \"../../charts/barchart/barchart.module\";\r\nimport {AbmColumnLineChartModule} from \"../../charts/column-line-chart/column-line-chart.module\";\r\nimport {AbmBarChartHorizontalModule} from '../../charts/barchart-horizontal/barchart-horizontal.module';\r\nimport {AbmPanelRoomsModule} from '../../panels/panel-rooms/panel-rooms.module';\r\n\r\nimport { AbmPanelUsageAnalyticsLeftModule } from '../../panels/panel-usage-analytics-left/panel-usage-analytics-left.module';\r\nimport { AbmPanelUsageAnalyticsRightModule } from '../../panels/panel-usage-analytics-right/panel-usage-analytics-right.module';\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    UsageAnalyticsComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AngularResizeEventModule,\r\n    AbmHeaderModule,\r\n    AbmNavBarModule,\r\n    AbmPanelModule,\r\n    AbmBarChartModule,\r\n    AbmColumnLineChartModule,\r\n    AbmBarChartHorizontalModule,\r\n    AbmPanelRoomsModule,\r\n    AbmPanelUsageAnalyticsLeftModule,\r\n    AbmPanelUsageAnalyticsRightModule\r\n  ],\r\n  exports: [\r\n    UsageAnalyticsComponent\r\n  ]\r\n})\r\nexport class AbmUsageAnalyticsModule {\r\n}\r\n","/*\r\n * Public API Surface of abm-lib\r\n */\r\n\r\n/* Components */\r\nexport * from './lib/views/heatmap/heatmap.module';\r\nexport * from './lib/views/heatmap/heatmap.component';\r\n\r\nexport * from './lib/views/iaq-alerts/iaq-alerts.module';\r\nexport * from './lib/views/iaq-alerts/iaq-alerts.component';\r\n\r\nexport * from './lib/views/iaq-comfort-index/iaq-comfort-index.module';\r\nexport * from './lib/views/iaq-comfort-index/iaq-comfort-index.component';\r\n\r\nexport * from './lib/views/iaq-indicators/iaq-indicators.module';\r\nexport * from './lib/views/iaq-indicators/iaq-indicators.component';\r\n\r\nexport * from './lib/views/iaq-insights/iaq-insights.module';\r\nexport * from './lib/views/iaq-insights/iaq-insights.component';\r\n\r\nexport * from './lib/views/prod-financial-impacts/prod-financial-impacts.module';\r\nexport * from './lib/views/prod-financial-impacts/prod-financial-impacts.component';\r\n\r\nexport * from './lib/views/servicing/servicing.module';\r\nexport * from './lib/views/servicing/servicing.component';\r\n\r\nexport * from './lib/views/usage-analytics/usage-analytics.module';\r\nexport * from './lib/views/usage-analytics/usage-analytics.component';\r\n\r\n/* Services */\r\n\r\n/* Directives */\r\nexport * from './lib/shared/directive/no-orphan.directive';\r\n\r\n/* Models */\r\nexport * from './lib/shared/model/facility-info';\r\nexport * from './lib/shared/model/legend-detailed';\r\nexport * from './lib/shared/model/indicator-trend';\r\nexport * from './lib/shared/model/room-info';\r\nexport * from './lib/shared/model/map-legend-detailed';\r\nexport * from './lib/shared/model/room-type-info';\r\nexport * from './lib/shared/model/select-item';\r\nexport * from './lib/shared/model/site-range';\r\nexport * from './lib/shared/model/time-data';\r\nexport * from './lib/shared/model/toggle-select-item';\r\nexport * from './lib/shared/model/usage-area';\r\nexport * from './lib/shared/model/usage-range';\r\nexport * from './lib/shared/model/iaq-indicator';\r\nexport * from './lib/shared/model/indicator-trend';\r\n\r\n/* Events */\r\nexport * from './lib/navigation/nav-bar/apply-event';\r\nexport * from './lib/components/toggle-button-bar/toggle-bar-select-event';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.LegendComponent","i2.LoaderComponent","i3","i2","i5.ButtonComponent","i6","i1.LoaderComponent","i1.MapComponent","i2.HeaderComponent","i3.NavBarComponent","i4.BoxComponent","i5.BarchartComponent","i6.LegendComponent","i7","i1.PanelComponent","i2.PanelRoomsComponent","i3.PanelRoomsGroupingComponent","i4","i1.ColumnLineChartComponent","i3.MultilineChartComponent","i5","i1.NavBarComponent","i2.PanelRoomsBreakoutDayComponent","i3.PanelRecommendationsComponent","i4.PanelIndicatorTrendComponent","i2.ToggleButtonBarComponent","i4.MapComponent","i7.LegendDetailedComponent","i8","i9","i3.NoOrphanDirective","i2.TextBoxComponent","i2.ColumnLineChartComponent","i1.PanelLineChartComponent","i3.LegendDetailedComponent","i2.PanelHeatmapComponent","i3.PanelImpactAreasComponent","i4.PanelScoreUtilizationTrendComponent","i2.PanelComponent","i3.GaugeChartComponent","i5.LegendDetailedComponent","i7.PanelFaultComponent","i10","i2.PageStepperComponent","i3.BuildingInfoComponent","i4.TextBoxComponent","i2.PanelIaqBuildingComponent","i3.TextBoxComponent","i4.PanelComponent","i5.GaugeChartComponent","i6.PanelLineChartComponent","i7.PanelAirQualityComponent","i3.ColumnLineChartComponent","i1.TextBoxComponent","i2.LineChartComponent","i1.HeaderComponent","i2.NavBarComponent","i3.PanelSummaryStatusComponent","i5.ColumnLineChartComponent","i6.PanelServicesFrequencyDayByDayComponent","i7.TableComponent","i3.BarchartHorizontalComponent","i3.PanelUsageAnalyticsLeftComponent","i4.PanelUsageAnalyticsRightComponent"],"mappings":"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iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,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"}