{ "version": 3, "sources": ["projects/shared-lib/src/lib/components/gs-alarm-status/gs-alarm-status.component.ts", "projects/shared-lib/src/lib/components/gs-alarm-status/gs-alarm-status.component.html"], "sourcesContent": ["import {\r\n\tComponent,\r\n\tAfterViewInit,\r\n\tInput,\r\n\tEventEmitter,\r\n\tViewChild,\r\n\tElementRef,\r\n\tViewChildren,\r\n\tOnInit\r\n} from '@angular/core';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { groupBy, GroupResult } from '@progress/kendo-data-query';\r\nimport { ResizeResult } from 'ngxtension/resize';\r\n\r\nimport _ from \"lodash\";\r\n\r\nimport { TacticalDashboardOverviewGaugeComponent } from '../../components/tactical-dashboard-overview-gauge/tactical-dashboard-overview-gauge.component';\r\n\r\nimport { Global } from '../../_constants/global.variables';\r\n\r\nimport { IGlobal } from '../../_models/global.model';\r\n\r\nimport { DataService } from '../../services/data.service';\r\nimport { DashboardService } from '../../services/dashboard.service';\r\nimport { UtilityService } from '../../services/utility.service';\r\n\r\nimport { DialogModalParentComponent } from '../dialog-modal-parent/dialog-modal-parent.component';\r\nimport {IStepOption, TourAnchorMatMenuDirective, TourMatMenuModule, TourService} from 'ngx-ui-tour-md-menu';\r\nimport { TacticalWidgetSummaryTilePopupComponent } from '../../components/tactical-widget-summary-tile-popup/tactical-widget-summary-tile-popup.component';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Component({\r\n selector: 'lib-gs-alarm-status',\r\n templateUrl: './gs-alarm-status.component.html',\r\n styleUrls: ['./gs-alarm-status.component.scss']\r\n})\r\nexport class GsAlarmStatusComponent implements AfterViewInit, OnInit {\r\n\r\n @ViewChildren('seriesItems')\r\n public series: any;\r\n\r\n public graphTypes: string[] = ['area', 'bar', 'column', 'donut', 'horizontalWaterfall', 'line', 'verticalArea', 'verticalLine', 'waterfall'];\r\n\r\n public graphShow: boolean = true;\r\n\t@Input() private widgetResizedEvent: EventEmitter;\r\n @Input() private dashboardTimeScopeChanged: EventEmitter;\r\n @ViewChild(\"childOverviewGauge\") childOverviewGauge: TacticalDashboardOverviewGaugeComponent;\r\n public chartDataIsReady: boolean = false;\r\n public isCollapsed = false;\r\n public global: IGlobal = Global;\r\n\r\n @Input() widgetObject: any;\r\n h1TitlePercent: number;\r\n componentSubtitle: String = '';\r\n percentCalculated: boolean = false;\r\n h1Number: number = undefined;\r\n h4Percent: number = undefined;\r\n updateControllerInterval: any;\r\n totalAssetLength: any;\r\n lastUpdatedDate: Date;\r\n displayTimeAgoMessage: any;\r\n @Input() private dashboardUpdateIntervalChanged: EventEmitter;\r\n dashboardUpdateIntervalSubscription: any;\r\n secondsAgoInterval: any;\r\n fullDataCacheSubscription: any;\r\n dialogModalData: any;\r\n chartData: any;\r\n noDataForSite: boolean = false;\r\n chartBackgroundColor: string = \"#27304C\"\r\n chartLabelColors: string = \"white\"\r\n gridLineColor: string = \"white\"\r\n axisItemColor: string = \"white\"\r\n colorChangedSubscription: any;\r\n theme: string;\r\n\tfontSize1 = 'medium';\r\n\tfontSize2 = 'small';\r\n\t// cardClass1 = 'card-tile-lg';\r\n\t// cardClass2 = 'card-tile-md';\r\n\t// cardWideClass2 = 'card-wide-tile-lg';\r\n\tcardTileCenterTitleClass = 'grid-card-title-center-sm';\r\n\tcardWideTileCenterTitleClass = 'grid-wide-card-title-center-sm';\r\n\theaderGridTitle = 'grid-title-lg';\r\n\tcontentHeight: any;\r\n\tsummaryArray = [];\r\n\tsummaryArray1 = [];\r\n\tsummaryArray2 = [];\r\n\tsparklineData = [];\r\n\twidgetResizedSubscription: any;\r\n\tpublic label = {\r\n\t\tvisible: false,\r\n\t};\r\n\tpublic progressStyles: { [key: string]: any } = {\r\n\t\tbackground: 'limegreen',\r\n\t};\r\n barChartData: any[] = [{ Status: 10 }, { Status: 20 }, { Status: 200 }, { Status: 200 }]\r\n public userDefinedAlarmObservationIds: any = [56442, 56443, 56444, 56445, 56446, 56447, 56448, 56449, 56450, 56451, 56452, 56453, 56454, 56455, 56456, 56457, 56458, 56459, 56460, 56461]\r\n displayNoUpdateIntervalMessage: boolean;\r\n updateInterval: any;\r\n isLoading: boolean;\r\n\twidgetNavigateToFirstTabSubscription: Subscription;\r\n\twidgetToggleLegendHiddenSubscription: Subscription;\r\n\r\n // AlarmName: \"Alarm Cable 1\"\r\n // AlarmTimeUTC: Tue Feb 22 2022 08:54:29 GMT-0600 (Central Standard Time) {}\r\n // AlarmTimeUTCMS: 1645541669830\r\n // AssetId: 7436\r\n // AssetName: \"GPU\"\r\n // GateName: \"10\"\r\n // ProperAssetName: \"DAL 10 GPU\"\r\n // SiteId: 10\r\n // SiteName: \"DAL\"\r\n\r\n public timeScopeObject: any;\r\n\tpublic tab: any;\r\n\tpublic options: any = [];\r\n\tpublic optionsSettingsOnly: any = [];\r\n\tpublic navigationOpened: any;\r\n\r\n\r\n public widgetTabs: any = [\r\n {\r\n isLoading: false,\r\n tabHasBeenLoaded: false,\r\n\t\t textLabel: \"Summary\",\r\n downloadableData: true,\r\n\t\t tooltip: \"Summary showing within the current scope settings (site, asset type) the GS assets in fault status.Click on the info to navigate to corresponding tab for details.\",\r\n\r\n },\r\n {\r\n isLoading: false,\r\n tabHasBeenLoaded: false,\r\n\t\ttextLabel: \"Current Assets In Fault\",\r\n\t\tgraphType: this.graphTypes[3],\r\n legendVisible: true,\r\n\t\ttooltip: \"Donut chart showing within the current scope settings (site, asset type) the amount of GS assets that are currently in fault status out of the total amount of assets within the selected scope and the list of names on the tooltip.\",\r\n downloadableData: true,\r\n chartDataIsReady: false,\r\n groupable: true,\r\n filterable: true,\r\n filters:\r\n {\r\n \"filters\": [\r\n {\r\n \"field\": \"AlarmName\",\r\n \"operator\": \"doesnotcontain\",\r\n \"value\": \"No Alarm\"\r\n }\r\n ],\r\n \"logic\": \"and\"\r\n }\r\n ,\r\n groupColumns: [{ field: 'ProperAssetName' }],\r\n tableStructure: [\r\n\r\n {\r\n field: \"SiteName\",\r\n title: \"Site\",\r\n _width: 100\r\n },\r\n {\r\n field: \"GateName\",\r\n title: \"Gate Name\",\r\n _width: 300\r\n },\r\n {\r\n field: \"ProperAssetName\",\r\n title: \"Asset Name\",\r\n _width: 300,\r\n },\r\n {\r\n field: \"AlarmName\",\r\n\t\t\ttitle: \"Fault Name\",\r\n _width: 300\r\n },\r\n\r\n\r\n ],\r\n },\r\n {\r\n isLoading: false,\r\n tabHasBeenLoaded: false,\r\n\t\ttextLabel: \"Total Time in Fault For Day\",\r\n\t\tgraphType: this.graphTypes[5],\r\n\t\ttooltip: \"Line chart showing total time each asset has been in fault status over the timescope period.\",\r\n downloadableData: true,\r\n chartDataIsReady: false,\r\n groupable: true,\r\n groupColumns: [{ field: 'ProperAssetName' }],\r\n legendVisible: true,\r\n tableStructure: [\r\n {\r\n field: \"DateOfObservationDateObject\",\r\n title: \"Date\",\r\n filter: 'date',\r\n _width: 300,\r\n formatOption: 'shortDate'\r\n },\r\n {\r\n field: \"SiteName\",\r\n title: \"Site\",\r\n _width: 100\r\n },\r\n {\r\n field: \"GateName\",\r\n title: \"Gate Name\",\r\n _width: 300\r\n },\r\n {\r\n field: \"ProperAssetName\",\r\n title: \"Asset Name\",\r\n _width: 300,\r\n },\r\n {\r\n field: \"AlarmCount\",\r\n\t\t\ttitle: \"Fault Count\",\r\n _width: 300\r\n },\r\n {\r\n field: \"AlarmDurationSeconds\",\r\n title: \"Duration in Seconds\",\r\n _width: 300\r\n },\r\n\r\n\r\n ],\r\n },\r\n {\r\n isLoading: false,\r\n tabHasBeenLoaded: false,\r\n\t\ttextLabel: \"Detailed Fault Report\",\r\n\t\tgraphType: this.graphTypes[3],\r\n\t\ttooltip: \"Donut chart showing total time each asset has been in fault status as a collection of time over the time scope period.\",\r\n downloadableData: true,\r\n chartDataIsReady: false,\r\n groupable: true,\r\n legendVisible: true,\r\n groupColumns: [{ field: 'ProperAssetName' }],\r\n tableStructure: [\r\n {\r\n field: \"DateOfObservationDateObject\",\r\n title: \"Date\",\r\n filter: 'date',\r\n _width: 300,\r\n formatOption: 'shortDate'\r\n },\r\n {\r\n field: \"SiteName\",\r\n title: \"Site\",\r\n _width: 100\r\n },\r\n {\r\n field: \"GateName\",\r\n title: \"Gate Name\",\r\n _width: 300\r\n },\r\n {\r\n field: \"ProperAssetName\",\r\n title: \"Asset Name\",\r\n _width: 300,\r\n },\r\n {\r\n field: \"AlarmName\",\r\n\t\t\ttitle: \"Fault Name\",\r\n _width: 300\r\n },\r\n {\r\n field: \"DurationInSeconds\",\r\n title: \"Duration in Seconds\",\r\n _width: 300\r\n },\r\n {\r\n field: \"DurationInMinutes\",\r\n title: \"Duration in Minutes\",\r\n _width: 300\r\n },\r\n {\r\n field: \"AlarmStartDate\",\r\n\t\t\ttitle: \"Fault Start Date\",\r\n filter: 'date',\r\n _width: 300,\r\n // formatOption: 'shortDate'\r\n },\r\n {\r\n field: \"AlarmEndDate\",\r\n\t\t\ttitle: \"Fault End Date\",\r\n filter: 'date',\r\n _width: 300,\r\n // formatOption: 'shortDate'\r\n }\r\n\r\n\r\n ],\r\n },\r\n\r\n ];\r\n\r\n\r\n\r\n // AlarmCount:0\r\n // AlarmDurationSeconds:null\r\n // AssetId:88195\r\n // AssetName:'GPU'\r\n // DateOfObservation:'02/23/2022'\r\n // GateName:'A6L2'\r\n // SiteName:'JFK'\r\n gaugeDisplayData: any;\r\n parentContainerSize: any;\r\n selectedMatTabLabel: string;\r\n displayNoTimeScopeMessage: boolean = false;\r\n dashboardTimeScopeChangedSubscription: any;\r\n timeoutToExpire: any;\r\n selectedTabIndex: number = 0;\r\n widgetTabsChartConfigurations: any;\r\n widgetTabConfigurationsFinishedMapping: boolean = false;\r\n WidgetTabSettings: any = [];\r\n\r\n\r\n ConditionalShadingRecord: any;\r\n\tpercentTextColor: any = [];\r\n\tconditionalColorPercentAmount: any = [];\r\n\r\n holeSize = 30;\r\n holeCenterTextClass = 'donut-center-text-md';\r\n donutClass = 'donut-md';\r\n public percentAssetsInAlarm = [];\r\n public percentAssetsNotInAlarm = [];\r\n\r\n\r\n\tconstructor(public dataService: DataService, private utilityService: UtilityService, private dashboardService: DashboardService, private dialog: MatDialog, private elem: ElementRef, public tourService: TourService,) { }\r\n\r\n CreateTheme(theme: string) {\r\n if (theme === 'light') {\r\n this.theme = 'light';\r\n this.chartBackgroundColor = \"white\"\r\n this.chartLabelColors = \"grey\"\r\n this.gridLineColor = \"grey\"\r\n this.axisItemColor = \"grey\"\r\n } else {\r\n this.theme = 'dark';\r\n this.chartBackgroundColor = \"#27304C\"\r\n this.chartLabelColors = \"white\"\r\n this.gridLineColor = \"white\"\r\n this.axisItemColor = \"white\"\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n\tthis.tab = this.widgetTabs[0];\r\n\tthis.updateInterval =\r\n\t\tthis.dashboardService.determineProperTacticalDashboardUpdateIntervalForWidget(\r\n\t\t\tthis.widgetObject\r\n\t\t);\r\n\tthis.timeScopeObject =\r\n\t\tthis.dashboardService.determineProperTimeScopeForWidget({\r\n\t\t\twidgetObject: this.widgetObject,\r\n\t\t\tUTCConfiguration: false,\r\n\t\t});\r\n\tthis.buildNavigationOptionsArray();\r\n}\r\n\r\n ngAfterViewInit() {\r\n\r\n\r\n\tvar bounds = this.elem.nativeElement.getBoundingClientRect();\r\n\tthis.cardResize(bounds);\r\n\r\n\tif(Global.isMobile == true) {\r\n\t\tthis.contentHeight = 'calc(100% - 20px)';\r\n\t}\r\n\telse {\r\n\t\tthis.contentHeight = 'calc(100% - 120px)';\r\n\t}\r\n\r\n let statement = \"API.GetWidgetTabSettings @WidgetId = \" + this.widgetObject.WidgetId;\r\n this.dataService.SQLActionAsPromise(statement).then((data: any) => {\r\n this.WidgetTabSettings = data;\r\n this.WidgetTabSettings.forEach(tabSetting => {\r\n this.widgetTabs[tabSetting.TabIndex].legendVisible = !tabSetting.IsLegendHidden;\r\n })\r\n console.log(this);\r\n\r\n })\r\n\r\n\tthis.ConditionalShadingRecord = this.dataService.cache.tacticalDashboardWidgetConditionalShadings.filter((p: any) => {\r\n\t\treturn p.WidgetId == this.widgetObject.WidgetId;\r\n\t});\r\n\r\n\tif (this.ConditionalShadingRecord.length > 0) {\r\n\t\tthis.ConditionalShadingRecord.sort((a, b) => parseFloat(a.Value) - parseFloat(b.Value));\r\n\t}\r\n\r\n\t //Adjust font size on Summary Tab\r\n\t if (this.widgetResizedEvent) {\r\n\t\t this.widgetResizedSubscription = this.widgetResizedEvent.subscribe((data) => {\r\n\t\t\t if (this.widgetObject.WidgetId == data.item.WidgetId) {\r\n\t\t\t\t this.cardResize(data);\r\n\t\t\t\t this.fontResize(data);\r\n\t\t\t }\r\n\t\t });\r\n\t }\r\n\r\n\t this.widgetNavigateToFirstTabSubscription = this.dashboardService._widgetNavigateToFirstTab.subscribe((widgetObject: any) => {\r\n\t\t if (widgetObject && parseInt(this.widgetObject.WidgetId) === parseInt(widgetObject.WidgetId)) {\r\n\t\t\t this.selectedTabIndex = 0\r\n\t\t }\r\n\t });\r\n\r\n\t this.widgetToggleLegendHiddenSubscription = this.dashboardService._widgetToggleLegendHidden.subscribe((widgetObject: any) => {\r\n\t\tif (widgetObject && parseInt(this.widgetObject.WidgetId) === parseInt(widgetObject.WidgetId)) {\r\n\t\t\tthis.toggleLegendHidden(this.tab ,this.selectedTabIndex);\r\n\t\t}\r\n\t});\r\n\r\n this.isLoading = true;\r\n if (!Global.FullDataCacheExists) {\r\n this.fullDataCacheSubscription = this.dataService.fullDataCacheExists$.subscribe((data: any) => {\r\n if (data === true) {\r\n this.initialize();\r\n this.fullDataCacheSubscription.unsubscribe();\r\n }\r\n });\r\n } else {\r\n\r\n this.initialize();\r\n }\r\n\r\n this.colorChangedSubscription = this.dataService.colorChanged$.subscribe((data: any) => {\r\n if (data === \"light\") {\r\n this.CreateTheme('light');\r\n } else {\r\n this.CreateTheme('dark');\r\n }\r\n });\r\n if (Global.Theme === \"light\") {\r\n this.CreateTheme('light');\r\n\r\n } else {\r\n this.CreateTheme('dark');\r\n\r\n }\r\n\r\n if (this.dashboardUpdateIntervalChanged) {\r\n this.dashboardUpdateIntervalSubscription = this.dashboardUpdateIntervalChanged.subscribe((data) => {\r\n console.log(data);\r\n let foundWidgetWithSameWidgetId = data.find(widgetThatWasChanged => {\r\n return widgetThatWasChanged.WidgetId === this.widgetObject.WidgetId\r\n })\r\n\r\n if (!_.isNil(foundWidgetWithSameWidgetId)) {\r\n //if data (which is list of widgets that had the time zone changed as an array of widgets includes a widget with this widget id, we can assume this widget needs to be updated. needs to initialize with new selected time zone in mind. )\r\n this.initialize();\r\n }\r\n\r\n });\r\n }\r\n if (this.dashboardTimeScopeChanged) {\r\n this.dashboardTimeScopeChangedSubscription = this.dashboardTimeScopeChanged.subscribe((data) => {\r\n let foundWidgetWithSameWidgetId = data.find(widgetThatWasChanged => {\r\n return widgetThatWasChanged.WidgetId === this.widgetObject.WidgetId\r\n })\r\n\r\n if (!_.isNil(foundWidgetWithSameWidgetId)) {\r\n console.log(\"Widget Time Zone Changed\")\r\n this.initialize();\r\n\r\n }\r\n });\r\n }\r\n // this.chartDataIsReady = true;\r\n\r\n\tthis.tab = this.widgetTabs[0];\r\n }\r\n\r\n\r\n\r\n\r\n openConditionalShadingSettingsPopup(tileNumber) {\r\n\tlet tileConditionalShadingRecord =\r\n\t\tthis.dataService.cache.tacticalDashboardWidgetConditionalShadings.filter((p: any) => {\r\n\t\t\treturn p.WidgetId == this.widgetObject.WidgetId && p.SummaryTileIndex == tileNumber;\r\n\t\t});\r\n\tif(tileConditionalShadingRecord.length == 0) {\r\n\t\ttileConditionalShadingRecord.WidgetId = this.widgetObject.WidgetId;\r\n\t\ttileConditionalShadingRecord.SummaryTileIndex = tileNumber;\r\n\t}\r\n\r\n\tvar DialogRef = this.dialog.open(TacticalWidgetSummaryTilePopupComponent, {\r\n\t\twidth: '50%',\r\n\t\theight: '40%',\r\n\t\tdata: tileConditionalShadingRecord,\r\n\t});\r\n\r\n\r\n\tDialogRef.afterClosed().subscribe((result) => {\r\n\t\tlet tileConditionalShadingRecordLatest =\r\n\t\t\tthis.dataService.cache.tacticalDashboardWidgetConditionalShadings.filter((p: any) => {\r\n\t\t\t\treturn p.WidgetId == this.widgetObject.WidgetId;\r\n\t\t\t});\r\n\t\tthis.ConditionalShadingRecord = [];\r\n\t\ttileConditionalShadingRecordLatest.forEach((r) => {\r\n\t\t\tthis.ConditionalShadingRecord.push(r);\r\n\t\t});\r\n\r\n\t\tthis.ConditionalShadingRecord.sort((a, b) => parseFloat(a.Value) - parseFloat(b.Value));\r\n\t\tthis.ConditionalColorSummaryTiles();\r\n\r\n\t});\r\n\r\n}\r\n\r\nprivate ConditionalColorSummaryTiles() {\r\n\tthis.percentTextColor[1] = this.percentTextColor[2] = \"lightseagreen\";\r\n\r\n\tthis.conditionalColorPercentAmount[1] = this.summaryArray[2];\r\n\tthis.conditionalColorPercentAmount[2] = this.summaryArray[3];\r\n\r\n\r\n\tif (this.ConditionalShadingRecord.length > 0) {\r\n\t\tthis.ConditionalShadingRecord.forEach((r) => {\r\n\r\n\t\t\tswitch (r.Operator) {\r\n\t\t\t\tcase 'Is greater than' :\r\n\t\t\t\t\tif(this.conditionalColorPercentAmount[r.SummaryTileIndex] > r.Value) {\r\n\t\t\t\t\t\tthis.percentTextColor[r.SummaryTileIndex] = r.HexColor;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Is less than' :\r\n\t\t\t\t\tif(this.conditionalColorPercentAmount[r.SummaryTileIndex] < r.Value) {\r\n\t\t\t\t\t\tthis.percentTextColor[r.SummaryTileIndex] = r.HexColor;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Is equal to' :\r\n\t\t\t\t\tvar conditionalColorPercentAmountRounded = Math.round(this.conditionalColorPercentAmount[r.SummaryTileIndex]);\r\n\t\t\t\t\tif(conditionalColorPercentAmountRounded == r.Value) {\r\n\t\t\t\t\t\tthis.percentTextColor[r.SummaryTileIndex] = r.HexColor;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Is not equal to' :\r\n\t\t\t\t\tvar conditionalColorPercentAmountRounded = Math.round(this.conditionalColorPercentAmount[r.SummaryTileIndex]);\r\n\t\t\t\t\tif(conditionalColorPercentAmountRounded != r.Value) {\r\n\t\t\t\t\t\tthis.percentTextColor[r.SummaryTileIndex] = r.HexColor;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.percentAssetsInAlarm = [\r\n\t\t{\r\n\t\t\tkind: \"assets in use\",\r\n\t\t\tshare: this.summaryArray[2] / 100,\r\n\t\t\tcolor: this.percentTextColor[1],\r\n\t\t},\r\n\t\t{\r\n\t\t\tkind: \"other\",\r\n\t\t\tshare: 1 - this.summaryArray[2] / 100,\r\n\t\t\tcolor: \"grey\",\r\n\t\t},\r\n\t];\r\n\r\n\r\n\tthis.percentAssetsNotInAlarm = [\r\n\t\t{\r\n\t\t\tkind: \"assets in use\",\r\n\t\t\tshare: this.summaryArray[3] / 100,\r\n\t\t\tcolor: this.percentTextColor[2],\r\n\t\t},\r\n\t\t{\r\n\t\t\tkind: \"other\",\r\n\t\t\tshare: 1 - this.summaryArray[3] / 100,\r\n\t\t\tcolor: \"grey\",\r\n\t\t},\r\n\t];\r\n\r\n\r\n}\r\n\r\n\r\n\r\n fontResize(data: any) {\r\n\r\n\tif (data.height < 400 || data.width < 400) {\r\n\t\tthis.fontSize1 = 'small';\r\n\t\tthis.fontSize2 = 'x-small';\r\n\t}\r\n\r\n\telse if ((data.height > 400 && data.height < 500) || (data.width > 400 && data.width < 600)) {\r\n\t\tthis.fontSize1 = 'medium';\r\n\t\tthis.fontSize2 = 'small';\r\n\t}\r\n\r\n\telse if ((data.height > 500 && data.height < 700) || (data.width > 600 && data.width < 800)) {\r\n\t\tthis.fontSize1 = 'large';\r\n\t\tthis.fontSize2 = 'medium';\r\n\t}\r\n\telse if (data.height > 700 || data.width > 800) {\r\n\t\tthis.fontSize1 = 'x-large';\r\n\t\tthis.fontSize2 = 'large';\r\n }\r\n}\r\n\r\n\r\n\tcardResize(data: any) {\r\n\r\n\t\tif (data.height < 400 || data.width < 400) {\r\n\t\t\t// this.cardClass2 = 'card-tile-xs';\r\n\t\t\t// this.cardWideClass2 = 'card-wide-tile-sm';\r\n\r\n\t\t\tthis.cardTileCenterTitleClass = 'grid-card-title-center-sm';\r\n\t\t\tthis.cardWideTileCenterTitleClass = 'grid-wide-card-title-center-sm';\r\n\r\n\t\t\tthis.holeSize = 55;\r\n\t\t\tthis.holeCenterTextClass = 'donut-center-text-xs';\r\n\t\t\tthis.donutClass = 'donut-sm';\r\n\r\n\t\t}\r\n\r\n\t\telse if ((data.height > 400 && data.height < 500) || (data.width > 400 && data.width < 600)) {\r\n\t\t\t// this.cardClass2 = 'card-tile-sm';\r\n\t\t\t// this.cardWideClass2 = 'card-wide-tile-md';\r\n\r\n\t\t\tthis.cardTileCenterTitleClass = 'grid-card-title-center-md';\r\n\t\t\tthis.cardWideTileCenterTitleClass = 'grid-wide-card-title-center-md';\r\n\r\n\t\t\tthis.holeSize = 60;\r\n\t\t\tthis.holeCenterTextClass = 'donut-center-text-sm';\r\n\t\t\tthis.donutClass = 'donut-sm';\r\n\r\n\t\t}\r\n\r\n\t\telse if ((data.height > 500 && data.height < 700) || (data.width > 600 && data.width < 800)) {\r\n\t\t\t// this.cardClass2 = 'card-tile-sm';\r\n\t\t\t// this.cardWideClass2 = 'card-wide-tile-md';\r\n\r\n\t\t\tthis.cardTileCenterTitleClass = 'grid-card-title-center-md';\r\n\t\t\tthis.cardWideTileCenterTitleClass = 'grid-wide-card-title-center-md';\r\n\r\n\t\t\tthis.holeSize = 60;\r\n\t\t\tthis.holeCenterTextClass = 'donut-center-text-sm';\r\n\t\t\tthis.donutClass = 'donut-sm';\r\n\r\n\t\t}\r\n\t\telse if (data.height > 700 || data.width > 800) {\r\n\t\t\t// this.cardClass2 = 'card-tile-md';\r\n\t\t\t// this.cardWideClass2 = 'card-wide-tile-lg';\r\n\r\n\t\t\tthis.cardTileCenterTitleClass = 'grid-card-title-center-md';\r\n\t\t\tthis.cardWideTileCenterTitleClass = 'grid-wide-card-title-center-md';\r\n\r\n\t\t\tthis.holeSize = 60;\r\n\t\t\tthis.holeCenterTextClass = 'donut-center-text-sm';\r\n\t\t\tthis.donutClass = 'donut-sm';\r\n\t\t}\r\n\r\n\t\tif (data.width < 400) {\r\n\t\t\tthis.headerGridTitle = 'grid-title-sm';\r\n\t\t}\r\n\t\telse if (data.width > 400 && data.width < 600) {\r\n\t\t\tthis.headerGridTitle = 'grid-title-sm';\r\n\t\t}\r\n\t\telse if (data.width > 600 && data.width < 800) {\r\n\t\t\tthis.headerGridTitle = 'grid-title-lg';\r\n\t\t}\r\n\t\telse if (data.width > 800) {\r\n\t\t\tthis.headerGridTitle = 'grid-title-lg';\r\n\t\t}\r\n\r\n\t}\r\n\r\n startIntervals() {\r\n this.updateInterval = this.dashboardService.determineProperTacticalDashboardUpdateIntervalForWidget(this.widgetObject);\r\n\r\n if (this.updateInterval === undefined) {\r\n this.isLoading = false;\r\n this.displayNoUpdateIntervalMessage = true;\r\n return;\r\n } else {\r\n this.isLoading = true;\r\n this.displayNoUpdateIntervalMessage = false;\r\n }\r\n let intervalUpdate = this.updateInterval.UpdateInterval * 60000;\r\n if (this.secondsAgoInterval !== undefined) {\r\n clearInterval(this.secondsAgoInterval);\r\n this.secondsAgoInterval = undefined;\r\n }\r\n this.retrieveData();\r\n\r\n this.secondsAgoInterval = setInterval(() => {\r\n if (this.lastUpdatedDate !== undefined) {\r\n this.displayTimeAgoMessage = this.dashboardService.calculateTimeAgo(this.lastUpdatedDate);\r\n this.widgetObject.displayTimeAgoMessage = this.displayTimeAgoMessage;\r\n }\r\n }, 1000);\r\n if (this.updateControllerInterval !== undefined) {\r\n clearInterval(this.updateControllerInterval);\r\n this.updateControllerInterval = undefined;\r\n }\r\n this.updateControllerInterval = setInterval(() => {\r\n this.retrieveData();\r\n }, intervalUpdate);\r\n }\r\n\r\n destroyIntervals() {\r\n if (this.updateControllerInterval) {\r\n clearInterval(this.updateControllerInterval);\r\n this.updateControllerInterval = undefined;\r\n }\r\n if (this.secondsAgoInterval) {\r\n clearInterval(this.secondsAgoInterval);\r\n this.secondsAgoInterval = undefined;\r\n }\r\n }\r\n\r\n\r\n initialize() {\r\n if (_.isNil(this.widgetObject.SiteList)) {\r\n this.isLoading = false;\r\n return;\r\n }\r\n let statement = \"API.TacticalDashboardsRetrieveAllRecordsForWidgetId @widgetId = \" + this.widgetObject.WidgetId + \", @userId = \" + Global.User.currentUser.Id;\r\n this.dataService.SQLActionAsPromise(statement).then((data: any) => {\r\n this.widgetTabsChartConfigurations = data;\r\n this.widgetTabs.forEach((tab, index) => {\r\n if (this.widgetTabsChartConfigurations.length > 0) {\r\n let foundWidgetTabConfiguration = this.widgetTabsChartConfigurations.find((configurationrecord) => {\r\n return configurationrecord.WidgetTabIndex === index;\r\n });\r\n if (foundWidgetTabConfiguration !== undefined) {\r\n tab.graphType = Global.tacticalDashboardGraphTypes.find((graphType) => graphType.id == foundWidgetTabConfiguration.ChartTypeId);\r\n }\r\n }\r\n });\r\n this.widgetTabConfigurationsFinishedMapping = true;\r\n\r\n this.selectedTabIndex = this.widgetObject.SelectedTabIndex !== undefined ? this.widgetObject.SelectedTabIndex : 0;\r\n this.selectedMatTabLabel = this.widgetTabs[this.widgetObject.SelectedTabIndex !== undefined ? this.widgetObject.SelectedTabIndex : 0].textLabel;\r\n this.widgetTabs[this.widgetObject.SelectedTabIndex !== undefined ? this.widgetObject.SelectedTabIndex : 0].tabHasBeenLoaded = true;\r\n\t this.tab = this.widgetTabs[this.selectedTabIndex];\r\n\r\n this.startIntervals()\r\n\r\n })\r\n\r\n\r\n }\r\n\r\n showDialogModalPopupGrid(tab) {\r\n const cuSummaryModal = this.dialog.open(DialogModalParentComponent, {\r\n\t\twidth: Global.isMobile ? '100%' : '60%',\r\n\t\theight: Global.isMobile ? '90%' : '80%',\r\n\t\tdata: {\r\n\t\t\tgraphId: uuidv4(),\r\n\t\t\tgroupable: tab.groupable,\r\n\t\t\tfilterable: tab.filterable,\r\n\t\t\tfilters: tab.filters,\r\n\t\t\tgroupColumns: tab.groupable === true ? tab.groupColumns : [],\r\n\t\t\tpopupTitle: 'Raw Data: ' + tab.textLabel,\r\n\t\t\tWidgetName: 'Kendo-Grid',\r\n\t\t\ttableStructure: tab.tableStructure,\r\n\t\t\ttableData: tab.tableData,\r\n\t\t\tcanCreateDashboardWidgetFromPopup: false,\r\n\t\t},\r\n\t\tmaxWidth: '100vw',\r\n\t\tmaxHeight: '100vh',\r\n\t});\r\n\r\n }\r\n\r\n\r\n retrieveData() {\r\n this.timeScopeObject = this.dashboardService.determineProperTimeScopeForWidget({\r\n\t\twidgetObject: this.widgetObject,\r\n\t\tUTCConfiguration: false,\r\n\t});\r\n if (this.timeScopeObject === undefined) {\r\n this.displayNoTimeScopeMessage = true;\r\n this.isLoading = false;\r\n } else {\r\n this.displayNoTimeScopeMessage = false;\r\n if (this.widgetTabs[0].tabHasBeenLoaded === true || this.widgetTabs[1].tabHasBeenLoaded === true) {\r\n this.widgetTabs[0].isLoading = this.widgetTabs[1].isLoading = true;\r\n\r\n let statement = \"API.TacticalDashboard_GS_CurrentAssetsInAlarm @accessToken= '\" + Global.User.currentUser.ODataAccessToken + \"'\";\r\n if (!_.isNil(this.widgetObject.SiteList)) {\r\n statement = statement + \", @siteIdList = '\" + this.widgetObject.SiteList + \"'\";\r\n }\r\n if (!_.isNil(this.widgetObject.WidgetAssetTypeId) && this.widgetObject.WidgetAssetTypeId !== 0) {\r\n statement = statement + \", @assetTypeId = \" + this.widgetObject.WidgetAssetTypeId;\r\n }\r\n this.dataService.SQLActionAsPromise(statement).then((data: any) => {\r\n\t\t\tif (data.length === 0) {\r\n this.widgetTabs[1].tableData = data;\r\n this.widgetTabs[0].isLoading = this.widgetTabs[1].isLoading = false;\r\n } else {\r\n data.forEach(record => {\r\n // record.DateOfObservationDateObject = new Date(record.DateOfObservation)\r\n record.ProperAssetName = record.SiteName + ' ' + record.GateName + ' ' + record.AssetName;\r\n })\r\n\r\n let testData = groupBy(data, [{ field: \"ProperAssetName\" }]) as any[];\r\n\r\n console.log(testData);\r\n // AlarmName:'Alarm Frequency Low' || 'No Alarm'\r\n // AlarmTimeUTC:Tue Feb 22 2022 08:24:18 GMT-0600 (Central Standard Time)\r\n // AlarmTimeUTCMS:1645539858000\r\n // AssetId:7446\r\n // AssetName:'GPU'\r\n // GateName:'12'\r\n // SiteId:10\r\n // SiteName:'DAL'\r\n this.widgetTabs[1].chartData = [{\r\n\t\t\t\tdataType: \"In Fault\",\r\n total: 0,\r\n tooltip: []\r\n }, {\r\n\t\t\t\tdataType: 'No Fault',\r\n total: 0,\r\n tooltip: []\r\n }]\r\n\r\n let inAlarm = []\r\n let noAlarm = []\r\n\r\n testData.forEach(asset => {\r\n if (asset.items[0].AlarmName === 'No Alarm') {\r\n\r\n noAlarm.push(asset);\r\n\r\n\r\n\r\n }\r\n else {\r\n\r\n inAlarm.push(asset);\r\n }\r\n })\r\n inAlarm.forEach((asset, index) => {\r\n this.widgetTabs[1].chartData[0].total = this.widgetTabs[1].chartData[0].total + 1;\r\n this.widgetTabs[1].chartData[0].tooltip.push(asset.items[0].ProperAssetName)\r\n\r\n })\r\n\r\n\r\n\r\n noAlarm.forEach((asset, index) => {\r\n this.widgetTabs[1].chartData[1].total = this.widgetTabs[1].chartData[1].total + 1;\r\n\r\n\t\t\t \tif(this.widgetTabs[1].chartData[1].total < 6) {\r\n\t\t\t\t\tthis.widgetTabs[1].chartData[1].tooltip.push(asset.items[0].ProperAssetName)\r\n\t\t\t\t}\r\n\t\t\t\telse if(this.widgetTabs[1].chartData[1].total == 6) {\r\n\t\t\t\t\tthis.widgetTabs[1].chartData[1].tooltip.push(\"...\");\r\n\t\t\t\t}\r\n\r\n })\r\n\r\n\r\n this.widgetTabs[0].tableData = data;\r\n this.widgetTabs[1].tableData = data;\r\n this.widgetTabs[1].chartDataIsReady = true;\r\n\r\n\r\n\r\n this.totalAssetLength = this.widgetTabs[1].chartData[0].total + this.widgetTabs[1].chartData[1].total;\r\n\t\t\t // if (this.h1Number === 0) {\r\n\t\t\t // this.h4Percent = 0;\r\n\t\t\t // } else {\r\n\t\t\t // this.h4Percent = parseFloat(((this.h1Number / this.totalAssetLength) * 100).toFixed(1));\r\n\r\n\t\t\t // }\r\n\t\t\t // this.gaugeDisplayData = {\r\n\t\t\t // h1Number: this.h1Number,\r\n\t\t\t // h4Percent: this.h4Percent,\r\n\t\t\t // totalAssetLength: this.totalAssetLength,\r\n\t\t\t // parentContainerSize: this.parentContainerSize\r\n\t\t\t // }\r\n\t\t\t this.summaryArray[0] = this.widgetTabs[1].chartData[0].total; // Assets In Alarm\r\n\t\t\t this.summaryArray[1] = this.widgetTabs[1].chartData[1].total; // Assets With No Alarm\r\n\t\t\t if (this.summaryArray[0] === 0) {\r\n\t\t\t\t this.summaryArray[2] = 0.0 // Percent of Assets In Alarm\r\n\t\t\t } else {\r\n\t\t\t\t this.summaryArray[2] = parseFloat(((this.summaryArray[0] / this.totalAssetLength) * 100).toFixed(1)); //Percent In Comms Loss\r\n\t\t\t }\r\n\t\t\t if (this.summaryArray[1] === 0) {\r\n\t\t\t\t this.summaryArray[3] = 0.0 // Percent of Assets Not In Alarm\r\n\t\t\t } else {\r\n\t\t\t\t this.summaryArray[3] = parseFloat(((this.summaryArray[1] / this.totalAssetLength) * 100).toFixed(1)); //Percent Not In Comms Loss\r\n\t\t\t }\r\n\r\n\r\n\t\t\t\tthis.ConditionalColorSummaryTiles();\r\n\r\n this.percentCalculated = true;\r\n this.widgetTabs[0].isLoading = this.widgetTabs[1].isLoading = false;\r\n }\r\n\r\n\r\n\r\n\r\n })\r\n }\r\n\t\tif (\r\n\t\t\tthis.widgetTabs[0].tabHasBeenLoaded === true ||\r\n\t\t\tthis.widgetTabs[2].tabHasBeenLoaded === true\r\n\t\t) {\r\n\t\t\tthis.widgetTabs[0].isLoading = this.widgetTabs[2].isLoading = true;\r\n\t\t\tlet durationStatement =\r\n\t\t\t\t'API.TacticalDashboard_GS_Alarms_Duration ' +\r\n\t\t\t\t'@startDateTimeMS=' +\r\n\t\t\t\tthis.timeScopeObject.queryStartDate +\r\n\t\t\t\t', @endDateTimeMS= ' +\r\n\t\t\t\tthis.timeScopeObject.queryEndDate +\r\n\t\t\t\t\", @accessToken='\" +\r\n\t\t\t\tGlobal.User.currentUser.ODataAccessToken +\r\n\t\t\t\t\"'\";\r\n\t\t\tif (!_.isNil(this.widgetObject.SiteList)) {\r\n\t\t\t\tdurationStatement =\r\n\t\t\t\t\tdurationStatement +\r\n\t\t\t\t\t\", @siteIdList = '\" +\r\n\t\t\t\t\tthis.widgetObject.SiteList +\r\n\t\t\t\t\t\"'\";\r\n\t\t\t}\r\n\t\t\tif (\r\n\t\t\t\t!_.isNil(this.widgetObject.WidgetAssetTypeId) &&\r\n\t\t\t\tthis.widgetObject.WidgetAssetTypeId !== 0\r\n\t\t\t) {\r\n\t\t\t\tdurationStatement =\r\n\t\t\t\t\tdurationStatement +\r\n\t\t\t\t\t', @assetTypeId = ' +\r\n\t\t\t\t\tthis.widgetObject.WidgetAssetTypeId;\r\n\t\t\t}\r\n\t\t\tthis.dataService\r\n\t\t\t\t.SQLActionAsPromise(durationStatement)\r\n\t\t\t\t.then((data: any) => {\r\n\t\t\t\t\tif (data.length === 0) {\r\n\t\t\t\t\t\tthis.widgetTabs[0].isLoading = false;\r\n\t\t\t\t\t\tthis.widgetTabs[2].tableData = data;\r\n\t\t\t\t\t\tthis.widgetTabs[2].chartData = data;\r\n\t\t\t\t\t\tthis.widgetTabs[2].isLoading = false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdata.forEach((record) => {\r\n\t\t\t\t\t\t\trecord.DateOfObservationDateObject = new Date(\r\n\t\t\t\t\t\t\t\trecord.DateOfObservation\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\trecord.ProperAssetName =\r\n\t\t\t\t\t\t\t\trecord.SiteName +\r\n\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\trecord.GateName +\r\n\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\trecord.AssetName;\r\n\t\t\t\t\t\t\tlet millisecondssince1970 = new Date(\r\n\t\t\t\t\t\t\t\trecord.DateOfObservation\r\n\t\t\t\t\t\t\t).getTime();\r\n\t\t\t\t\t\t\trecord.formatMillisecondsSince1970 =\r\n\t\t\t\t\t\t\t\t'/Date(' + millisecondssince1970 + ')/';\r\n\t\t\t\t\t\t\tif (record.AlarmDurationSeconds === null) {\r\n\t\t\t\t\t\t\t\trecord.AlarmDurationSeconds = 0;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\trecord.TotalTimeInAlarmStatusMinutes = Math.round(\r\n\t\t\t\t\t\t\t\trecord.TotalTimeInAlarmStatus / 60\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tconsole.log('Duration Data');\r\n\t\t\t\t\t\tconsole.log(data);\r\n\t\t\t\t\t\tthis.widgetTabs[2].tableData = data;\r\n\t\t\t\t\t\tthis.widgetTabs[2].chartData = [];\r\n\t\t\t\t\t\tthis.widgetTabs[2].chartData = groupBy(data, [\r\n\t\t\t\t\t\t\t{ field: 'ProperAssetName' },\r\n\t\t\t\t\t\t]) as any[];\r\n\t\t\t\t\t\tif (this.widgetTabs[2].chartData.length > 0) {\r\n\t\t\t\t\t\t\tthis.widgetTabs[2].chartData.push({\r\n\t\t\t\t\t\t\t\tvalue: 'Toggle All Series',\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tlet sortByAlarmCount = data;\r\n\t\t\t\t\t\tsortByAlarmCount.sort(\r\n\t\t\t\t\t\t\t(a, b) => b.AlarmCount - a.AlarmCount\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tif (sortByAlarmCount.length > 0) {\r\n\t\t\t\t\t\t\tthis.summaryArray1[0] =\r\n\t\t\t\t\t\t\t\tsortByAlarmCount[0].AlarmCount; //Highest AlarmCount\r\n\t\t\t\t\t\t\tthis.summaryArray1[1] =\r\n\t\t\t\t\t\t\t\tsortByAlarmCount[0].DateOfObservation; //Highest AlarmCount DateOfObservation\r\n\t\t\t\t\t\t\tthis.summaryArray1[2] =\r\n\t\t\t\t\t\t\t\tsortByAlarmCount[0].ProperAssetName; //Highest AlarmCount Asset Name\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.widgetTabs[2].chartDataIsReady = true;\r\n\t\t\t\t\t\tthis.widgetTabs[0].isLoading =\r\n\t\t\t\t\t\t\tthis.widgetTabs[2].isLoading = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tthis.widgetTabs[0].tabHasBeenLoaded === true ||\r\n\t\t\tthis.widgetTabs[3].tabHasBeenLoaded === true\r\n\t\t) {\r\n\t\t\tthis.widgetTabs[0].isLoading = this.widgetTabs[3].isLoading = true;\r\n\t\t\tlet detailStatement =\r\n\t\t\t\t'API.TacticalDashboard_GS_Alarms_Detail ' +\r\n\t\t\t\t'@startDateTimeMS=' +\r\n\t\t\t\tthis.timeScopeObject.queryStartDate +\r\n\t\t\t\t', @endDateTimeMS= ' +\r\n\t\t\t\tthis.timeScopeObject.queryEndDate +\r\n\t\t\t\t\" , @accessToken='\" +\r\n\t\t\t\tGlobal.User.currentUser.ODataAccessToken +\r\n\t\t\t\t\"'\";\r\n\t\t\tif (!_.isNil(this.widgetObject.SiteList)) {\r\n\t\t\t\tdetailStatement =\r\n\t\t\t\t\tdetailStatement +\r\n\t\t\t\t\t\", @siteIdList = '\" +\r\n\t\t\t\t\tthis.widgetObject.SiteList +\r\n\t\t\t\t\t\"'\";\r\n\t\t\t}\r\n\t\t\tif (\r\n\t\t\t\t!_.isNil(this.widgetObject.WidgetAssetTypeId) &&\r\n\t\t\t\tthis.widgetObject.WidgetAssetTypeId !== 0\r\n\t\t\t) {\r\n\t\t\t\tdetailStatement =\r\n\t\t\t\t\tdetailStatement +\r\n\t\t\t\t\t', @assetTypeId = ' +\r\n\t\t\t\t\tthis.widgetObject.WidgetAssetTypeId;\r\n\t\t\t}\r\n\t\t\tthis.dataService\r\n\t\t\t\t.SQLActionAsPromise(detailStatement)\r\n\t\t\t\t.then((data: any) => {\r\n\t\t\t\t\tif (data.length === 0) {\r\n\t\t\t\t\t\tthis.widgetTabs[0].isLoading = false;\r\n\t\t\t\t\t\tthis.widgetTabs[3].tableData = data;\r\n\t\t\t\t\t\tthis.widgetTabs[3].chartData = data;\r\n\t\t\t\t\t\tthis.widgetTabs[3].isLoading = false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdata = data.filter(\r\n\t\t\t\t\t\t\t(record) => record.AlarmStartDate !== null\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tdata.forEach((record) => {\r\n\t\t\t\t\t\t\trecord.DurationInSeconds = parseInt(\r\n\t\t\t\t\t\t\t\trecord.DurationInSeconds\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\trecord.DateOfObservationDateObject = new Date(\r\n\t\t\t\t\t\t\t\trecord.DateOfObservation\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\trecord.ProperAssetName =\r\n\t\t\t\t\t\t\t\trecord.SiteName +\r\n\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\trecord.GateName +\r\n\t\t\t\t\t\t\t\t' ' +\r\n\t\t\t\t\t\t\t\trecord.AssetName;\r\n\t\t\t\t\t\t\trecord.DurationInMinutes = (\r\n\t\t\t\t\t\t\t\trecord.DurationInSeconds / 60\r\n\t\t\t\t\t\t\t).toFixed(2);\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tlet tempChartData = groupBy(data, [\r\n\t\t\t\t\t\t\t{ field: 'ProperAssetName' },\r\n\t\t\t\t\t\t]) as GroupResult[];\r\n\t\t\t\t\t\ttempChartData.forEach((asset: any) => {\r\n\t\t\t\t\t\t\tasset.TotalTimeInAlarmStatus = 0;\r\n\t\t\t\t\t\t\tasset.ListOfAlarmTypes = [];\r\n\r\n\t\t\t\t\t\t\tasset.items.forEach((alarm) => {\r\n\t\t\t\t\t\t\t\tasset.TotalTimeInAlarmStatus =\r\n\t\t\t\t\t\t\t\t\tasset.TotalTimeInAlarmStatus +\r\n\t\t\t\t\t\t\t\t\talarm.DurationInSeconds;\r\n\t\t\t\t\t\t\t\tasset.ListOfAlarmTypes.push(alarm.AlarmName);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tasset.ListOfAlarmTypesUnique = _.uniq(\r\n\t\t\t\t\t\t\t\tasset.ListOfAlarmTypes\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tasset.TotalTimeInAlarmStatusMinutes = Math.round(\r\n\t\t\t\t\t\t\t\tasset.TotalTimeInAlarmStatus / 60\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tlet sortByAlarmCountByDay = groupBy(data, [\r\n\t\t\t\t\t\t\t{ field: 'DateOfObservation' },\r\n\t\t\t\t\t\t]) as any[];\r\n\t\t\t\t\t\tsortByAlarmCountByDay.forEach((asset: any) => {\r\n\t\t\t\t\t\t\tasset.TotalTimeInAlarmStatus = 0;\r\n\t\t\t\t\t\t\tasset.TotalAlarmCount = 0;\r\n\t\t\t\t\t\t\tasset.items.forEach((alarm) => {\r\n\t\t\t\t\t\t\t\tasset.TotalTimeInAlarmStatus =\r\n\t\t\t\t\t\t\t\t\tasset.TotalTimeInAlarmStatus +\r\n\t\t\t\t\t\t\t\t\tparseFloat(alarm.DurationInMinutes);\r\n\t\t\t\t\t\t\t\tif (alarm.DurationInSeconds > 0)\r\n\t\t\t\t\t\t\t\t\tasset.TotalAlarmCount =\r\n\t\t\t\t\t\t\t\t\t\tasset.TotalAlarmCount + 1;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tsortByAlarmCountByDay.sort(\r\n\t\t\t\t\t\t\t(a, b) =>\r\n\t\t\t\t\t\t\t\tnew Date(b.value).getTime() -\r\n\t\t\t\t\t\t\t\tnew Date(a.value).getTime()\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.createSparkLineChart(sortByAlarmCountByDay); //Sparkline Data\r\n\t\t\t\t\t\tsortByAlarmCountByDay.sort(\r\n\t\t\t\t\t\t\t(a, b) => b.TotalAlarmCount - a.TotalAlarmCount\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tif (sortByAlarmCountByDay.length > 0) {\r\n\t\t\t\t\t\t\tthis.summaryArray2[0] =\r\n\t\t\t\t\t\t\t\tsortByAlarmCountByDay[0].TotalAlarmCount; //Highest TotalAlarmCount\r\n\t\t\t\t\t\t\tthis.summaryArray2[1] =\r\n\t\t\t\t\t\t\t\tsortByAlarmCountByDay[0].TotalTimeInAlarmStatus.toFixed(\r\n\t\t\t\t\t\t\t\t\t2\r\n\t\t\t\t\t\t\t\t); //TotalTimeInAlarmStatus on Highest TotalAlarmCount\r\n\t\t\t\t\t\t\tthis.summaryArray2[2] =\r\n\t\t\t\t\t\t\t\tsortByAlarmCountByDay[0].value; //Date on Highest TotalAlarmCount\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.widgetTabs[3].chartData = tempChartData;\r\n\r\n\t\t\t\t\t\tthis.widgetTabs[3].chartDataIsReady = true;\r\n\t\t\t\t\t\tthis.widgetTabs[3].tableData = data;\r\n\t\t\t\t\t\tthis.widgetTabs[0].isLoading =\r\n\t\t\t\t\t\t\tthis.widgetTabs[3].isLoading = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n this.lastUpdatedDate = new Date();\r\n\r\n this.isLoading = false;\r\n\r\n\t var bounds = this.elem.nativeElement.getBoundingClientRect();\r\n\t this.cardResize(bounds);\r\n\r\n // this.chartDataIsReady = true;\r\n\r\n\r\n // })\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n\tchangeGraphType(event) {\r\n\t\tlet i = this.selectedTabIndex;\r\n\t\tthis.widgetTabs[i].graphType = event;\r\n\t\tlet existingRecord = this.widgetTabsChartConfigurations.find(\r\n\t\t\t(record) => {\r\n\t\t\t\treturn record.WidgetTabIndex === i;\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\tlet statement =\r\n\t\t\t'API.TacticalDashboardAddOrUpdateWidgetChartIndexRecord @widgetId = ' +\r\n\t\t\tthis.widgetObject.WidgetId +\r\n\t\t\t', @userId = ' +\r\n\t\t\tGlobal.User.currentUser.Id +\r\n\t\t\t', @chartTypeId = ' +\r\n\t\t\tevent.id +\r\n\t\t\t', @widgetTabIndex = ' +\r\n\t\t\ti;\r\n\t\tif (existingRecord !== undefined) {\r\n\t\t\tstatement = statement + ', @id = ' + existingRecord.Id;\r\n\t\t}\r\n\t\tthis.dataService.SQLActionAsPromise(statement).then((data: any) => {\r\n\t\t\tthis.widgetTabsChartConfigurations = data;\r\n\t\t\tthis.utilityService.showToastMessageShared({\r\n\t\t\t\ttype: 'success',\r\n\t\t\t\tmessage: 'Chart type changed to ' + event.properName,\r\n\t\t\t});\r\n\t\t\t// this.toastr.success(\"Chart type changed to \" + event.properName);\r\n\t\t});\r\n\t}\r\n\r\n\tshowChartAsPopup(tab) {\r\n\t\tvar popupData;\r\n\t\tif (tab.textLabel === 'Current Assets In Fault') {\r\n\t\t\tpopupData = {\r\n\t\t\t\tcategoryField: 'dataType',\r\n\t\t\t\tfield: 'total',\r\n\t\t\t\tpopupTitle: 'Raw Chart: ' + tab.textLabel,\r\n\t\t\t\tchartTitle: tab.textLabel,\r\n\t\t\t\tWidgetName: 'Kendo-Chart',\r\n\t\t\t\tchartData: tab.chartData,\r\n\t\t\t\tcanCreateDashboardWidgetFromPopup: false,\r\n\t\t\t\tgraphType: tab.graphType?.name,\r\n\t\t\t\tlegendVisible: tab.legendVisible,\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (tab.textLabel === 'Detailed Fault Report') {\r\n\t\t\tpopupData = {\r\n\t\t\t\tcategoryField: 'value',\r\n\t\t\t\tfield: 'TotalTimeInAlarmStatusMinutes',\r\n\t\t\t\tpopupTitle: 'Raw Chart: ' + tab.textLabel,\r\n\t\t\t\ttitleXAxis: 'Minutes Assets Were In Fault For TimeScope',\r\n\t\t\t\tchartTitle: tab.textLabel,\r\n\t\t\t\tWidgetName: 'Kendo-Chart',\r\n\t\t\t\tchartData: tab.chartData,\r\n\t\t\t\tcanCreateDashboardWidgetFromPopup: false,\r\n\t\t\t\tgraphType: tab.graphType?.name,\r\n\t\t\t\tlegendVisible: tab.legendVisible,\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (tab.textLabel === 'Total Time in Fault For Day') {\r\n\t\t\tpopupData = {\r\n\t\t\t\tcategoryField: 'DateOfObservationDateObject',\r\n\t\t\t\tfield: 'TotalTimeInAlarmStatusMinutes',\r\n\t\t\t\tpopupTitle: 'Raw Chart: ' + tab.textLabel,\r\n\t\t\t\ttitleXAxis: 'Total Time In Fault (Minutes)',\r\n\t\t\t\tchartTitle: tab.textLabel,\r\n\t\t\t\tWidgetName: 'Kendo-Chart',\r\n\t\t\t\tchartData: tab.chartData,\r\n\t\t\t\tcanCreateDashboardWidgetFromPopup: false,\r\n\t\t\t\tgraphType: tab.graphType?.name,\r\n\t\t\t\tlegendVisible: tab.legendVisible,\r\n\t\t\t\tcanIterate: true,\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst cuSummaryModal = this.dialog.open(DialogModalParentComponent, {\r\n\t\t\twidth: Global.isMobile ? '90%' : '90%',\r\n\t\t\theight: Global.isMobile ? '90%' : '90%',\r\n\t\t\tdata: popupData,\r\n\t\t\tmaxWidth: '100vw',\r\n\t\t\tmaxHeight: '100vh',\r\n\t\t});\r\n\t}\r\n\r\n\tpublic toggleLegendChange(event: any) {\r\n\t\tthis.toggleLegendHidden(this.tab, this.selectedTabIndex);\r\n\t}\r\n\r\n private buildNavigationOptionsArray() {\r\n\tvar service = this;\r\n\r\n\tvar navigationWidth = Global.isMobile ? \"120px\" : \"140px\";\r\n\r\n\tservice.options = [\r\n\t\t{\r\n\t\t\tid: 1,\r\n\t\t\twidth: navigationWidth,\r\n\t\t\tname: \"Navigation\",\r\n\t\t\tchildren: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 10,\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: \"Summary\",\r\n\t\t\t\t\taction: () => { service.navigateToTab(0, \"Summary\"); this.navigationOpened=false; }\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 10,\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: \"Current In Fault\",\r\n\t\t\t\t\taction: () => { service.navigateToTab(1, \"Current Assets In Fault\"); this.navigationOpened = false; }\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 10,\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: \"Time In Fault / Day\",\r\n\t\t\t\t\taction: () => { service.navigateToTab(2, \"Total Time in Fault For Day\"); this.navigationOpened = false; }\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 10,\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: \"Overall Time in Fault\",\r\n\t\t\t\t\taction: () => { service.navigateToTab(3, \"Detailed Fault Report\"); this.navigationOpened = false; }\r\n\t\t\t\t},\r\n\r\n\r\n\t\t\t\t// {\r\n\t\t\t\t// \tid: 11,\r\n\t\t\t\t// \twidth: navigationWidth,\r\n\t\t\t\t// \tname: \"Raw Data\",\r\n\t\t\t\t// \tchildren: [\r\n\t\t\t\t// \t\t{\r\n\t\t\t\t// \t\t\tid: 12,\r\n\t\t\t\t// \t\t\twidth: navigationWidth,\r\n\t\t\t\t// \t\t\tname: \"Current In Alarm\",\r\n\t\t\t\t// \t\t\taction: () => { service.showDialogModalPopupGrid(service.widgetTabs[1]); this.navigationOpened=false; }\r\n\t\t\t\t// \t\t},\r\n\t\t\t\t// \t\t{\r\n\t\t\t\t// \t\t\tid: 12,\r\n\t\t\t\t// \t\t\twidth: navigationWidth,\r\n\t\t\t\t// \t\t\tname: \"Time In Alarm / Day\",\r\n\t\t\t\t// \t\t\taction: () => { service.showDialogModalPopupGrid(service.widgetTabs[2]); this.navigationOpened=false; }\r\n\t\t\t\t// \t\t},\r\n\t\t\t\t// \t\t{\r\n\t\t\t\t// \t\t\tid: 12,\r\n\t\t\t\t// \t\t\twidth: navigationWidth,\r\n\t\t\t\t// \t\t\tname: \"Overall Time in Alarm\",\r\n\t\t\t\t// \t\t\taction: () => { service.showDialogModalPopupGrid(service.widgetTabs[3]); this.navigationOpened=false; }\r\n\t\t\t\t// \t\t},\r\n\r\n\r\n\t\t\t\t// \t],\r\n\r\n\r\n\t\t\t\t// }\r\n\r\n\t\t\t],\r\n\t\t\troot: true,\r\n\t\t\topened: false\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 2,\r\n\t\t\twidth: navigationWidth,\r\n\t\t\tname: \"Settings\",\r\n\t\t\tchildren: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 10,\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: \"Site\",\r\n\t\t\t\t\taction: () => { service.widgetObject.editWidgetSettings(service.widgetObject); this.navigationOpened=false; }\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 10,\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: \"Edit Name\",\r\n\t\t\t\t\taction: () => { service.widgetObject.editWidgetName(service.widgetObject); this.navigationOpened=false; }\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 10,\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: \"Reload\",\r\n\t\t\t\t\taction: () => { service.dashboardService._reloadedWidget.next(service.widgetObject); this.navigationOpened=false; }\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 10,\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: \"Delete\",\r\n\t\t\t\t\taction: () => { service.widgetObject.deleteFunction(); this.navigationOpened=false; }\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 10,\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: \"Timescope\",\r\n\t\t\t\t\taction: () => { service.widgetObject.editTimeScopeSettings(service.widgetObject); this.navigationOpened=false; }\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 10,\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: \"Interval\",\r\n\t\t\t\t\taction: () => { service.widgetObject.editIntervalSettings(service.widgetObject); this.navigationOpened=false; }\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 10,\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: \"Legend\",\r\n\t\t\t\t\taction: () => { service.toggleLegendHidden(service.tab, service.selectedTabIndex); this.navigationOpened=false; }\r\n\t\t\t\t},\r\n\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 23,\t\t// id has to match id in toggle method below\r\n\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\tname: service.widgetObject.RememberSelectedTabIndex == 0 ? \"Remember Nav\" : \"Forget Nav\",\r\n\t\t\t\t\taction: () => { service.widgetObject.invertRememberingOfSelectedTabIndex(service.widgetObject); this.toggleRememberingOfSelectedTabIndexName(); this.navigationOpened=false; }\r\n\t\t\t\t},\r\n\r\n\t\t\t],\r\n\t\t\troot: true,\r\n\t\t\topened: false\r\n\t\t}\r\n\t];\r\n\r\n\tlet optionsDesktop = [\r\n\t\t{\r\n\t\t\tid: 22,\t\t// id has to match id in toggle method below\r\n\t\t\twidth: navigationWidth,\r\n\t\t\tname: service.widgetObject.dragEnabled ? \"Disable Drag\" : \"Allow Drag\",\r\n\t\t\taction: () => { service.widgetObject.invertDraggableSetting(service.widgetObject); this.toggleDragName(); this.navigationOpened=false;}\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 21,\t\t// id has to match id in toggle method below\r\n\t\t\twidth: navigationWidth,\r\n\t\t\tname: service.widgetObject.resizeEnabled ? \"Disable Resize\" : \"Allow Resize\",\r\n\t\t\taction: () => { service.widgetObject.invertResizeSetting(service.widgetObject); this.toggleResizeName(); this.navigationOpened=false;}\r\n\t\t},\r\n\t];\r\n\r\n\tif(Global.isMobile == false) {\r\n\t\tservice.options[1].children = service.options[1].children.concat(optionsDesktop);\r\n\t}\r\n\r\n\tservice.optionsSettingsOnly = service.options.where((item:any) => { return item.id == 2 }).toArray(); //- Settings tab only when no Site selected.\r\n\r\n\tconsole.log(\"options built\", service.options);\r\n\r\n}\r\n\r\n\r\npublic editWidgetSettings() {\r\n\tthis.widgetObject.editWidgetSettings(this.widgetObject)\r\n}\r\n\r\npublic refreshWidget() {\r\n\tthis.dashboardService._reloadedWidget.next(this.widgetObject);\r\n}\r\n\r\npublic changeWidgetInterval() {\r\n\tthis.widgetObject.editIntervalSettings(this.widgetObject);\r\n}\r\n\r\npublic changeWidgetTimescope() {\r\n\tthis.widgetObject.editTimeScopeSettings(this.widgetObject);\r\n}\r\n\r\n\r\n\r\nprivate toggleRememberingOfSelectedTabIndexName() {\r\n\t//console.log(\"options:\", this.options)\r\n\r\n\tvar settings = this.options.where((item:any) => { return item.id == 2 }).firstOrDefault();\r\n\tvar rememberTabSetting = settings.children.where((item:any) => { return item.id == 23 }).firstOrDefault();\r\n\r\n\trememberTabSetting.name = this.widgetObject.RememberSelectedTabIndex == 0 ? \"Remember Nav\" : \"Forget Nav\";\r\n\r\n}\r\n\r\nprivate toggleDragName() {\r\n\t//console.log(\"options:\", this.options)\r\n\r\n\tvar settings = this.options.where((item:any) => { return item.id == 2 }).firstOrDefault();\r\n\tvar dragSetting = settings.children.where((item:any) => { return item.id == 22 }).firstOrDefault();\r\n\r\n\tdragSetting.name = this.widgetObject.dragEnabled ? \"Disable Drag\" : \"Enable Drag\";\r\n\r\n}\r\n\r\nprivate toggleResizeName() {\r\n\t//console.log(\"options:\", this.options)\r\n\r\n\tvar settings = this.options.where((item:any) => { return item.id == 2 }).firstOrDefault();\r\n\tvar resizeSetting = settings.children.where((item:any) => { return item.id == 21 }).firstOrDefault();\r\n\r\n\tresizeSetting.name = this.widgetObject.resizeEnabled ? \"Disable Resize\" : \"Allow Resize\";\r\n\r\n}\r\n\r\npublic checkNavigation(opened: any) {\r\n\tGlobal.User.DebugMode && console.log(\"checkNavigation opened = %O\", opened);\r\n\tthis.navigationOpened = opened;\r\n\tthis.isLoading = false;\r\n}\r\n\r\npublic checkSelectedItem(selected: any) {\r\n\tGlobal.User.DebugMode && console.log(\"checkSelectedItem invoked. selected = %O\", selected);\r\n}\r\n\r\npublic openCloseNavigation() {\r\n\tGlobal.User.DebugMode && console.log(\"openCloseNavigation invoked. navigationOpened current status: = \" + this.navigationOpened);\r\n\tthis.navigationOpened = !this.navigationOpened; //--whatever it was set to, set it to the opposite.\r\n\tGlobal.User.DebugMode && console.log(\"openCloseNavigation invoked. navigationOpened changed status: = \" + this.navigationOpened);\r\n}\r\n\r\n\r\n\tcreateSparkLineChart(chartData: any) {\r\n\t\tthis.sparklineData = [\r\n\t\t\t{\r\n\t\t\t\tfield: 'y',\r\n\t\t\t\twidth: 0.75,\r\n\t\t\t\tcolor: 'limegreen',\r\n\t\t\t\tdata: chartData.map((a) => ({\r\n\t\t\t\t\ty: a.TotalAlarmCount,\r\n\t\t\t\t\talarmMins: (a.TotalTimeInAlarmStatus).toFixed(2),\r\n\t\t\t\t\tdateOfObs: a.value,\r\n\t\t\t\t})),\r\n\t\t\t},\r\n\t\t];\r\n\t}\r\n\r\n toggleLegendHidden(tab, index) {\r\n tab.legendVisible = !tab.legendVisible;\r\n let foundSetting = this.WidgetTabSettings.find(widgetTabSetting => {\r\n return widgetTabSetting.TabIndex === index;\r\n })\r\n\r\n let statement = \"API.EditWidgetTabSettings @WidgetId = \" + this.widgetObject.WidgetId + \", @TabIndex = \" + index + \", @IsHidden = \" + !tab.legendVisible;\r\n if (!_.isNil(foundSetting)) {\r\n statement = statement + \", @Id = \" + foundSetting.Id;\r\n }\r\n this.dataService.SQLActionAsPromise(statement).then((data: any) => {\r\n this.WidgetTabSettings = data;\r\n this.WidgetTabSettings.forEach(tabSetting => {\r\n this.widgetTabs[tabSetting.TabIndex].legendVisible = !tabSetting.IsLegendHidden;\r\n })\r\n })\r\n\r\n }\r\n\r\n animationRedraw() {\r\n // if (this.selectedMatTabLabel === \"Map\") {\r\n // \tthis.loadCorrectTabData(true)\r\n\r\n // }\r\n }\r\n\r\n navigateToTab(index, textLabel) {\r\n\tthis.tab = this.widgetTabs[index];\r\n\t if (this.tab.graphType != undefined && this.tab.graphType.name == undefined)\r\n\t\t this.tab.graphType = Global.tacticalDashboardGraphTypes.find((graphType) => graphType.name == this.tab.graphType);\r\n\r\n\r\n\tclearTimeout(this.timeoutToExpire);\r\n\tthis.selectedMatTabLabel = textLabel;\r\n\tthis.selectedTabIndex = index;\r\n\tif (this.widgetTabs[this.selectedTabIndex].tabHasBeenLoaded === false) {\r\n\t\tthis.widgetTabs[this.selectedTabIndex].tabHasBeenLoaded = true;\r\n\t\tthis.destroyIntervals();\r\n\t\tthis.startIntervals();\r\n\t}\r\n\tthis.timeoutToExpire = setTimeout(() => {\r\n\t\tthis.widgetObject.SelectedTabIndex = this.selectedTabIndex;\r\n\t\tif (this.widgetObject.RememberSelectedTabIndex) {\r\n\t\t\tlet returnedWidgetAsArray =\r\n\t\t\t\tthis.dataService.updateTacticalDashboardWidgetRecord(\r\n\t\t\t\t\tthis.widgetObject\r\n\t\t\t\t);\r\n\t\t}\r\n\r\n\t}, 5000);\r\n}\r\n\r\n tabHasChanged(event) {\r\n\r\n clearTimeout(this.timeoutToExpire);\r\n this.selectedMatTabLabel = event.tab.textLabel;\r\n this.selectedTabIndex = event.index;\r\n if (this.widgetTabs[this.selectedTabIndex].tabHasBeenLoaded === false) {\r\n this.widgetTabs[this.selectedTabIndex].tabHasBeenLoaded = true;\r\n this.destroyIntervals();\r\n this.startIntervals();\r\n }\r\n this.timeoutToExpire = setTimeout(() => {\r\n\t\tthis.widgetObject.SelectedTabIndex = this.selectedTabIndex;\r\n\t\tif (this.widgetObject.RememberSelectedTabIndex) {\r\n\t\t\tlet returnedWidgetAsArray =\r\n\t\t\t\tthis.dataService.updateTacticalDashboardWidgetRecord(\r\n\t\t\t\t\tthis.widgetObject\r\n\t\t\t\t);\r\n\t\t}\r\n\t}, 5000);\r\n }\r\n\r\n onResized(event: ResizeResult): void {\r\n this.parentContainerSize = event.height;\r\n if (this.childOverviewGauge !== undefined) {\r\n this.childOverviewGauge.reFlow()\r\n }\r\n }\r\n\r\n public toggleSeries(item: any): void {\r\n\r\n let i = item.series.index;\r\n\r\n this.series._results[i].toggleVisibility();\r\n\r\n\r\n\r\n }\r\n\r\n public toggleAllSeries(e) {\r\n if (e.text === \"Toggle All Series\") {\r\n this.series._results.forEach((series, index) => {\r\n this.series._results[index].toggleVisibility();\r\n })\r\n }\r\n }\r\n\r\n initializeTour(): void {\r\n\tthis.tourService.initialize([\r\n\t\t{\r\n\t\t\tanchorId: this.widgetObject.WidgetId + '-1',\r\n\t\t\tcontent: 'Here you can click on the Site, Update Interval and Timescope areas to change the settings for this widget',\r\n\t\t\ttitle: 'Settings',\r\n\t\t},\r\n\t\t{\r\n\t\t\tanchorId: this.widgetObject.WidgetId + '-2',\r\n\t\t\tcontent: 'Navigate to different tabs & Widget Settings',\r\n\t\t\ttitle: 'Navigation',\r\n\t\t},\r\n\t\t{\r\n\t\t\tanchorId: this.widgetObject.WidgetId + '-3',\r\n\t\t\tcontent: 'Click on various tiles for more information',\r\n\t\t\ttitle: 'Summary Info',\r\n\t\t},\r\n\t]);\r\n\r\n\tthis.tourService.start();\r\n}\r\n\r\n\r\n ngOnDestroy() {\r\n this.destroyIntervals();\r\n\r\n }\r\n\r\n public labelContent(e: any): string {\r\n return e.category + ': ' + e.value;\r\n }\r\n\r\n}\r\n", "
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\t
\r\n\t\t\r\n\t\t\t{{ widgetObject.WidgetName }}\r\n\t\t\r\n\t
\r\n\r\n
\r\n\t\r\n\t
\r\n\t\t \r\n\t
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\t\r\n\t\t{{ widgetObject.WidgetName }} {{ tab.textLabel }}\r\n\r\n\t\t\r\n\t\t\tinfo\r\n\t\t\r\n\t\r\n
\r\n\r\n\r\n \r\n\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{{ (dataService.returnSiteListAsArrayOfNames(widgetObject.SiteList).length > 6)?\r\n\t\t\t\t\t(dataService.returnSiteListAsArrayOfNames(widgetObject.SiteList) | slice:0:6)+'...':\r\n\t\t\t\t\t(dataService.returnSiteListAsArrayOfNames(widgetObject.SiteList)) }}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t

site

\r\n\t\t\t
\r\n\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{{widgetObject.WidgetAssetTypeName}}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t

asset type

\r\n\t\t\t
\r\n\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{{widgetObject.WidgetAssetName}}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t

asset

\r\n\t\t\t
\r\n\r\n\t\t
\r\n\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{{displayTimeAgoMessage}}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t

last update

\r\n\t\t\t
\r\n\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{{ updateInterval.Description }}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t

update interval

\r\n\t\t\t
\r\n\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{{ timeScopeObject.queryStartDate | date :'shortDate' }} - {{ timeScopeObject.queryEndDate | date :'shortDate' }}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t

timescope

\r\n\t\t\t
\r\n\r\n\t\t
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\r\n\t\t\t
\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t
0 \" style=\"height: 50px !important; display: block\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
0\" class=\"tactical-alarm-status-grid-container\" [tourAnchor]=\"widgetObject.WidgetId + '-3'\">\r\n\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ summaryArray[2]/100 | percent }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

{{summaryArray[0]}} out of {{totalAssetLength}} in Fault

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ summaryArray[3]/100 | percent }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

{{summaryArray[1]}} out of {{totalAssetLength}} not in Fault

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{{summaryArray1[2]}}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

highest faults count

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{{summaryArray2[2]}}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

highest faults count

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\r\n\r\n\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t 0\">\r\n\t\t\t\t\t \r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t {{ dataItem.dataType }}: {{ dataItem.total }}
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Asset List: \r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{{ asset }}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t 0\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t Asset Name: {{ dataItem.ProperAssetName }}
\r\n\t\t\t\t\t\t\t Fault Duration: {{ dataItem.TotalTimeInAlarmStatusMinutes }} minutes
\r\n\t\t\t\t\t\t\t Fault Count: {{ dataItem.AlarmCount }}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t 0\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t Total Time Asset Was In Fault Status (Minutes): {{ (dataItem.TotalTimeInAlarmStatus\r\n\t\t\t\t\t\t\t\t/ 60) | number:'1.0-1'}}
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Fault List: (Note: These may have occured more than once.) \r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{ alarm }}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n"], "mappings": "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", "names": ["import_lodash", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275text", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "ctx_r1", "widgetObject", "WidgetName", "\u0275\u0275template", "GsAlarmStatusComponent_div_3_span_2_Template", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "checkNavigation", "checkSelectedItem", "\u0275\u0275property", "global", "isMobile", "optionsSettingsOnly", "navigationOpened", "_r5", "initializeTour", "\u0275\u0275textInterpolate2", "tab", "textLabel", "_r6", "editWidgetSettings", "headerGridTitle", "\u0275\u0275textInterpolate", "WidgetAssetTypeName", "_r7", "WidgetAssetName", "GsAlarmStatusComponent_div_4_div_1_span_2_Template", "_r4", "GsAlarmStatusComponent_div_4_div_1_div_13_Template", "GsAlarmStatusComponent_div_4_div_1_div_14_Template", "refreshWidget", "changeWidgetInterval", "changeWidgetTimescope", "WidgetId", "dataService", "returnSiteListAsArrayOfNames", "SiteList", "length", "\u0275\u0275pipeBind3", "displayTimeAgoMessage", "updateInterval", "Description", "\u0275\u0275pipeBind2", "timeScopeObject", "queryStartDate", "queryEndDate", "_r8", "changeGraphType", "toggleLegendChange", "graphType", "legendVisible", "GsAlarmStatusComponent_div_4_div_9_lib_chart_type_slider_1_Template", "widgetTabConfigurationsFinishedMapping", "\u0275\u0275pureFunction1", "_c2", "percentTextColor", "holeCenterTextClass", "\u0275\u0275pipeBind1", "summaryArray", "_r9", "openConditionalShadingSettingsPopup", "navigateToTab", "GsAlarmStatusComponent_div_4_div_10_div_2_ng_template_11_Template", "GsAlarmStatusComponent_div_4_div_10_div_2_ng_template_29_Template", "cardTileCenterTitleClass", "donutClass", "holeSize", "percentAssetsInAlarm", "\u0275\u0275styleProp", "fontSize2", "totalAssetLength", "percentAssetsNotInAlarm", "cardWideTileCenterTitleClass", "summaryArray1", "fontSize1", "summaryArray2", "GsAlarmStatusComponent_div_4_div_10_div_1_Template", "GsAlarmStatusComponent_div_4_div_10_div_2_Template", "displayNoUpdateIntervalMessage", "isLoading", "asset_r11", "GsAlarmStatusComponent_div_4_div_11_kendo_chart_3_ng_template_5_div_8_Template", "dataItem_r12", "dataType", "total", "tooltip", "labelContent", "GsAlarmStatusComponent_div_4_div_11_kendo_chart_3_ng_template_5_Template", "GsAlarmStatusComponent_div_4_div_11_kendo_chart_3_kendo_chart_series_item_labels_6_Template", "chartBackgroundColor", "name", "chartData", "_c3", "gridLineColor", "axisItemColor", "\u0275\u0275pureFunction0", "_c4", "_r10", "showChartAsPopup", "GsAlarmStatusComponent_div_4_div_11_div_2_Template", "GsAlarmStatusComponent_div_4_div_11_kendo_chart_3_Template", "tableData", "chartDataIsReady", "dataItem_r15", "ProperAssetName", "TotalTimeInAlarmStatusMinutes", "AlarmCount", "GsAlarmStatusComponent_div_4_div_12_kendo_stockchart_2_kendo_chart_series_item_6_ng_template_3_Template", "item_r16", "items", "value", "_r14", "toggleAllSeries", "toggleSeries", "GsAlarmStatusComponent_div_4_div_12_kendo_stockchart_2_kendo_chart_series_item_6_Template", "_c5", "_r13", "GsAlarmStatusComponent_div_4_div_12_div_1_Template", "GsAlarmStatusComponent_div_4_div_12_kendo_stockchart_2_Template", "alarm_r18", "GsAlarmStatusComponent_div_4_div_13_kendo_chart_2_ng_template_8_div_9_Template", "dataItem_r19", "TotalTimeInAlarmStatus", "ListOfAlarmTypesUnique", "GsAlarmStatusComponent_div_4_div_13_kendo_chart_2_ng_template_8_Template", "GsAlarmStatusComponent_div_4_div_13_kendo_chart_2_kendo_chart_series_item_labels_9_Template", "_r17", "GsAlarmStatusComponent_div_4_div_13_div_1_Template", "GsAlarmStatusComponent_div_4_div_13_kendo_chart_2_Template", "GsAlarmStatusComponent_div_4_div_1_Template", "_r3", "onResized", "GsAlarmStatusComponent_div_4_lib_loading_spinner_8_Template", "GsAlarmStatusComponent_div_4_div_9_Template", "GsAlarmStatusComponent_div_4_div_10_Template", "GsAlarmStatusComponent_div_4_div_11_Template", "GsAlarmStatusComponent_div_4_div_12_Template", "GsAlarmStatusComponent_div_4_div_13_Template", "displayNoTimeScopeMessage", "options", "GsAlarmStatusComponent", "constructor", "utilityService", "dashboardService", "dialog", "elem", "tourService", "graphTypes", "graphShow", "isCollapsed", "Global", "componentSubtitle", "percentCalculated", "h1Number", "undefined", "h4Percent", "noDataForSite", "chartLabelColors", "sparklineData", "label", "visible", "progressStyles", "background", "barChartData", "Status", "userDefinedAlarmObservationIds", "widgetTabs", "tabHasBeenLoaded", "downloadableData", "groupable", "filterable", "filters", "groupColumns", "field", "tableStructure", "title", "_width", "filter", "formatOption", "selectedTabIndex", "WidgetTabSettings", "conditionalColorPercentAmount", "CreateTheme", "theme", "ngOnInit", "determineProperTacticalDashboardUpdateIntervalForWidget", "determineProperTimeScopeForWidget", "UTCConfiguration", "buildNavigationOptionsArray", "ngAfterViewInit", "bounds", "nativeElement", "getBoundingClientRect", "cardResize", "contentHeight", "statement", "SQLActionAsPromise", "then", "data", "forEach", "tabSetting", "TabIndex", "IsLegendHidden", "console", "log", "ConditionalShadingRecord", "cache", "tacticalDashboardWidgetConditionalShadings", "p", "sort", "a", "b", "parseFloat", "Value", "widgetResizedEvent", "widgetResizedSubscription", "subscribe", "item", "fontResize", "widgetNavigateToFirstTabSubscription", "_widgetNavigateToFirstTab", "parseInt", "widgetToggleLegendHiddenSubscription", "_widgetToggleLegendHidden", "toggleLegendHidden", "FullDataCacheExists", "initialize", "fullDataCacheSubscription", "fullDataCacheExists$", "unsubscribe", "colorChangedSubscription", "colorChanged$", "Theme", "dashboardUpdateIntervalChanged", "dashboardUpdateIntervalSubscription", "foundWidgetWithSameWidgetId", "find", "widgetThatWasChanged", "_", "isNil", "dashboardTimeScopeChanged", "dashboardTimeScopeChangedSubscription", "tileNumber", "tileConditionalShadingRecord", "SummaryTileIndex", "DialogRef", "open", "TacticalWidgetSummaryTilePopupComponent", "width", "height", "afterClosed", "result", "tileConditionalShadingRecordLatest", "r", "push", "ConditionalColorSummaryTiles", "Operator", "HexColor", "conditionalColorPercentAmountRounded", "Math", "round", "kind", "share", "color", "startIntervals", "intervalUpdate", "UpdateInterval", "secondsAgoInterval", "clearInterval", "retrieveData", "setInterval", "lastUpdatedDate", "calculateTimeAgo", "updateControllerInterval", "destroyIntervals", "User", "currentUser", "Id", "widgetTabsChartConfigurations", "index", "foundWidgetTabConfiguration", "configurationrecord", "WidgetTabIndex", "tacticalDashboardGraphTypes", "id", "ChartTypeId", "SelectedTabIndex", "selectedMatTabLabel", "showDialogModalPopupGrid", "cuSummaryModal", "DialogModalParentComponent", "graphId", "uuidv4", "popupTitle", "canCreateDashboardWidgetFromPopup", "maxWidth", "maxHeight", "ODataAccessToken", "WidgetAssetTypeId", "record", "SiteName", "GateName", "AssetName", "testData", "groupBy", "inAlarm", "noAlarm", "asset", "AlarmName", "toFixed", "durationStatement", "DateOfObservationDateObject", "Date", "DateOfObservation", "millisecondssince1970", "getTime", "formatMillisecondsSince1970", "AlarmDurationSeconds", "sortByAlarmCount", "detailStatement", "AlarmStartDate", "DurationInSeconds", "DurationInMinutes", "tempChartData", "ListOfAlarmTypes", "alarm", "uniq", "sortByAlarmCountByDay", "TotalAlarmCount", "createSparkLineChart", "event", "i", "existingRecord", "showToastMessageShared", "type", "message", "properName", "popupData", "categoryField", "chartTitle", "titleXAxis", "canIterate", "service", "navigationWidth", "children", "action", "root", "opened", "editWidgetName", "_reloadedWidget", "next", "deleteFunction", "editTimeScopeSettings", "editIntervalSettings", "RememberSelectedTabIndex", "invertRememberingOfSelectedTabIndex", "toggleRememberingOfSelectedTabIndexName", "optionsDesktop", "dragEnabled", "invertDraggableSetting", "toggleDragName", "resizeEnabled", "invertResizeSetting", "toggleResizeName", "concat", "where", "toArray", "settings", "firstOrDefault", "rememberTabSetting", "dragSetting", "resizeSetting", "DebugMode", "selected", "openCloseNavigation", "map", "y", "alarmMins", "dateOfObs", "foundSetting", "widgetTabSetting", "animationRedraw", "clearTimeout", "timeoutToExpire", "setTimeout", "returnedWidgetAsArray", "updateTacticalDashboardWidgetRecord", "tabHasChanged", "parentContainerSize", "childOverviewGauge", "reFlow", "series", "_results", "toggleVisibility", "e", "text", "anchorId", "content", "start", "ngOnDestroy", "category", "\u0275\u0275directiveInject", "DataService", "UtilityService", "DashboardService", "MatDialog", "ElementRef", "TourService", "selectors", "viewQuery", "rf", "ctx", "GsAlarmStatusComponent_div_0_Template", "GsAlarmStatusComponent_div_1_Template", "GsAlarmStatusComponent_div_2_Template", "GsAlarmStatusComponent_div_3_Template", "GsAlarmStatusComponent_div_4_Template"] }