{ "version": 3, "sources": ["projects/shared-lib/src/lib/components/sabel-data/sabel-data.component.ts", "projects/shared-lib/src/lib/components/sabel-data/sabel-data.component.html"], "sourcesContent": ["import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tInput, OnDestroy,\r\n\tOnInit,\r\n\tOptional,\r\n\tViewChild,\r\n\tViewEncapsulation\r\n} from \"@angular/core\";\r\n\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport { process } from \"@progress/kendo-data-query\";\r\nimport { ResizeResult } from \"ngxtension/resize\";\r\n\r\nimport _ from \"lodash\";\r\n\r\nimport { Global } from \"../../_constants/global.variables\";\r\n\r\nimport { GridSettings } from \"../../_models/grid-settings.interface\";\r\nimport { IAsset } from \"../../_models/asset.model\";\r\nimport { IGlobal } from \"../../_models/global.model\";\r\nimport { ISite } from \"../../_models/site.model\";\r\nimport { ISQLServerSubject } from \"../../_models/sql-server-subject.model\";\r\nimport { ISystem } from \"../../_models/system.model\";\r\nimport { IWidgetSignalRGroupObject } from \"../../_models/signalr-widget-group.model\";\r\n\r\nimport { DashboardService } from \"../../services/dashboard.service\";\r\nimport { DataService } from \"../../services/data.service\";\r\nimport { KendoSettingsService } from \"../../services/kendo-settings.service\";\r\nimport { SignalRCoreService } from \"../../services/signalr-core.service\";\r\nimport { UtilityService } from \"projects/shared-lib/src/lib/services/utility.service\";\r\n\r\nimport { KendoGridParentComponent } from \"../kendo-grid-parent/kendo-grid-parent.component\";\r\n\r\n@Component({\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tselector: \"lib-sabel-data\",\r\n\ttemplateUrl: \"./sabel-data.component.html\",\r\n\tstyleUrls: [\"./sabel-data.component.scss\"]\r\n})\r\nexport class SabelDataComponent implements OnInit, OnDestroy {\r\n\t@ViewChild(\"tagDataGrid\") tagDataGrid: KendoGridParentComponent;\r\n\t@Optional() @Input() widgetObject: any;\r\n\t@Optional() @Input() dataObject: any;\r\n\t@ViewChild(\"eventDataRowForCalculation\")\r\n\teventDataRowForCalculation: ElementRef;\r\n\t@Input() private dashboardTimeZoneChanged: EventEmitter<any>;\r\n\teventDataRowHeight: any = 47;\r\n\teventDataPageSize: number;\r\n\tassetTagIds: any;\r\n\tisLoading: boolean;\r\n\ttimeZoneType: any;\r\n\tpublic global: IGlobal = Global;\r\n\ttheme: string;\r\n\tsabelData: any;\r\n\tfullDataCacheSubscription: Subscription;\r\n\tsignalRTagUpdateSubscription: Subscription;\r\n\twidgetIsInViewSubscription: Subscription;\r\n\twidgetGroupSettings: IWidgetSignalRGroupObject;\r\n\tdashboardTimeZoneChangedSubscription: Subscription;\r\n\tprivate lastUpdateTimeinMilliseconds: number;\r\n\tprivate requestToRunInitializeFunction: boolean = false;\r\n\tprivate initialLoad: boolean = true;\r\n\tprivate componentName: string = \"sabel-data: \";\r\n\r\n\tpublic options: any = [];\r\n\tpublic selected: any;\r\n\tpublic selectedSite: any;\r\n\tpublic selectedSystem: any;\r\n\tpublic selectedAsset: any;\r\n\r\n\tpublic navigationOpened: boolean = false;\r\n\r\n\tpublic gridSettings: GridSettings = {\r\n\t\tstate: {\r\n\t\t\tskip: 0,\r\n\t\t\tfilter: {\r\n\t\t\t\tlogic: \"and\",\r\n\t\t\t\tfilters: []\r\n\t\t\t},\r\n\t\t\ttake: 15\r\n\t\t},\r\n\t\tcolumnsConfig: [\r\n\t\t\t{\r\n\t\t\t\tfield: \"chart\",\r\n\t\t\t\ttitle: \"Chart\",\r\n\t\t\t\tfilterable: false,\r\n\t\t\t\t_width: 5,\r\n\t\t\t\thidden: false\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tfield: \"Site\",\r\n\t\t\t\ttitle: \"Site\",\r\n\t\t\t\t_width: Global.isMobile ? 12 : 5,\r\n\t\t\t\tfilterable: true\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tfield: \"System\",\r\n\t\t\t\ttitle: \"System\",\r\n\t\t\t\t_width: Global.isMobile ? 12 : 5,\r\n\t\t\t\tfilterable: true\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tfield: \"Asset\",\r\n\t\t\t\ttitle: \"Asset\",\r\n\t\t\t\t_width: Global.isMobile ? 12 : 5,\r\n\t\t\t\tfilterable: true\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tfield: \"JBTStandardObservationId\",\r\n\t\t\t\ttitle: \"Std Obs Id\",\r\n\t\t\t\t_width: 5,\r\n\t\t\t\tfilterable: true,\r\n\t\t\t\thidden: Global.isMobile\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tfield: \"Name\",\r\n\t\t\t\ttitle: \"Name\",\r\n\t\t\t\t_width: Global.isMobile ? 10 : 15,\r\n\t\t\t\tfilterable: true\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tfield: \"Value\",\r\n\t\t\t\ttitle: \"Value\",\r\n\t\t\t\t_width: Global.isMobile ? 3 : 10,\r\n\t\t\t\tfilterable: true\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tfield: 'RedisKey',\r\n\t\t\t\ttitle: 'Redis Key',\r\n\t\t\t\tfilterable: true,\r\n\t\t\t\t_width: 15,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tfield: 'UserDateFull',\r\n\t\t\t\ttitle: 'User Time',\r\n\t\t\t\tfilterable: true,\r\n\t\t\t\tfilter: 'date',\r\n\t\t\t\t_width: 20,\r\n\t\t\t\thidden: Global.isMobile \r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tfield: 'SiteDateFull',\r\n\t\t\t\ttitle: 'Site Time',\r\n\t\t\t\tfilterable: true,\r\n\t\t\t\tfilter: 'date',\r\n\t\t\t\t_width: 20,\r\n\t\t\t\thidden: Global.isMobile \r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tfield: 'UTCDateFull',\r\n\t\t\t\ttitle: 'UTC Time',\r\n\t\t\t\tfilterable: true,\r\n\t\t\t\tfilter: 'date',\r\n\t\t\t\t_width: Global.isMobile ? 10 : 20,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tfield: \"TagId\",\r\n\t\t\t\ttitle: \"Tag Id\",\r\n\t\t\t\t_width: 10,\r\n\t\t\t\tfilterable: true,\r\n\t\t\t\thidden: Global.isMobile\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\tpublic guid: string;\r\n\r\n\tconstructor(public dataService: DataService, private dashboardService: DashboardService, private kendoSettingsService: KendoSettingsService, private ref: ChangeDetectorRef, public signalR: SignalRCoreService, public utilityService: UtilityService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.guid = this.dataService.guid();\r\n\t\tthis.isLoading = true;\r\n\t\tconsole.log(\"this.widgetObject = %O\", this.widgetObject);\r\n\t\tthis.buildNavigationOptionsArray();\r\n\t\tsetInterval(() => {\r\n\t\t\tthis.clearRecentlyUpdatedStatus();\r\n\t\t}, 2000);\r\n\r\n\t\tsetInterval(() => {\r\n\t\t\tif (this.requestToRunInitializeFunction) {\r\n\t\t\t\tthis.initialize();\r\n\t\t\t}\r\n\t\t}, 1000);\r\n\r\n\t\tif (!_.isNil(this.widgetObject.WidgetSiteId)) {\r\n\t\t\tif (Global.FullDataCacheExists === false) {\r\n\t\t\t\tthis.fullDataCacheSubscription = this.dataService.fullDataCacheExists$.subscribe((data: any) => {\r\n\t\t\t\t\tif (data === true) {\r\n\t\t\t\t\t\tthis.theme = Global.Theme;\r\n\t\t\t\t\t\tthis.initialize();\r\n\t\t\t\t\t\tthis.initialLoad = false;\r\n\t\t\t\t\t\tthis.fullDataCacheSubscription.unsubscribe();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.theme = Global.Theme;\r\n\t\t\t\tthis.initialLoad = false;\r\n\t\t\t\tthis.initialize();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.isLoading = false;\r\n\t\t\tthis.initialLoad = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (this.dashboardTimeZoneChanged) {\r\n\t\t\tthis.dashboardTimeZoneChangedSubscription = this.dashboardTimeZoneChanged.subscribe((data) => {\r\n\t\t\t\tconsole.log(data);\r\n\t\t\t\tlet foundWidgetWithSameWidgetId = data.find((widgetThatWasChanged) => {\r\n\t\t\t\t\treturn widgetThatWasChanged.WidgetId === this.widgetObject.WidgetId;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (!_.isNil(foundWidgetWithSameWidgetId)) {\r\n\t\t\t\t\tconsole.log(\"Widget Time Zone Changed\");\r\n\t\t\t\t\tthis.timeZoneType = this.dashboardService.determineTimeZoneType(this.widgetObject);\r\n\r\n\t\t\t\t\tconst localDateCol = this.gridSettings.columnsConfig.find((col) => col.field == \"JavascriptDate\");\r\n\t\t\t\t\tconst siteDateCol = this.gridSettings.columnsConfig.find((col) => col.field == \"SiteLocalJavascriptDate\");\r\n\t\t\t\t\tconst utcDateCol = this.gridSettings.columnsConfig.find((col) => col.field == \"UTCJavascriptDate\");\r\n\r\n\t\t\t\t\tlocalDateCol.hidden = this.timeZoneType !== \"User Time\";\r\n\t\t\t\t\tsiteDateCol.hidden = this.timeZoneType !== \"Site Time\";\r\n\t\t\t\t\tutcDateCol.hidden = this.timeZoneType !== \"UTC Time\";\r\n\t\t\t\t\tlocalDateCol.includeInChooser = !localDateCol.hidden;\r\n\t\t\t\t\tsiteDateCol.includeInChooser = !siteDateCol.hidden;\r\n\t\t\t\t\tutcDateCol.includeInChooser = !utcDateCol.hidden;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tinitialize() {\r\n\t\tthis.getSignalRUpdates();\r\n\t\t\r\n\t\tvar sql = \"API.Sabel_GetDataForWidget @SiteId=\" + (this.widgetObject?.WidgetSiteId == null ? \"null\" : this.widgetObject.WidgetSiteId);\r\n\t\tif (this.widgetObject.WidgetSystemId != null) {\r\n\t\t\tvar systemName = this.dataService.cache.systemsObject[this.widgetObject.WidgetSystemId].Name;\r\n\t\t\tsql += \", @SystemName='\" + systemName + \"'\";\r\n\t\t}\r\n\t\tif (this.widgetObject.WidgetAssetId != null) {\r\n\t\t\tvar assetName = this.dataService.cache.assetsObject[this.widgetObject.WidgetAssetId].Name;\r\n\t\t\tsql += \", @AssetName='\" + assetName + \"'\";\r\n\t\t}\r\n\r\n\t\tthis.dataService.SQLActionAsPromise(sql).then((data: any) => {\r\n\t\t\tdata.forEach((item: any) => {\r\n\t\t\t\titem.RecentlyUpdated = false\r\n\t\t\t\titem.UTCDateFull = this.utilityService.convertMillisecondsToDateWithTimezoneOffset(item.ObservationDateTimeMS,0),\r\n\t\t\t\titem.UserDateFull = new Date(item.ObservationDateTimeMS);\r\n\t\t\t\tvar siteUTCTimeOffset = this.dataService.cache.sites.firstOrDefault((site:ISite) => { return site.Name == item.Site }).UTCTimeOffset;\r\n\t\t\t\titem.SiteDateFull = this.utilityService.convertMillisecondsToDateWithTimezoneOffset(item.ObservationDateTimeMS, siteUTCTimeOffset);\r\n\t\t\t});\r\n\r\n\t\t\tthis.dataService.cache.sabelData = data;\r\n\r\n\t\t\tconsole.log(\"sabelData = %O\", this.dataService.cache.sabelData);\r\n\r\n\t\t\t\r\n\r\n\t\t\tif (this.tagDataGrid) {\r\n\t\t\t\tthis.tagDataGrid.gridDataSubject.next(this.dataService.cache.sabelData);\r\n\t\t\t}\r\n\r\n\t\t\tthis.widgetObject.isDisplayDataLive = true;\r\n\t\t\tthis.finishInitializingWidget();\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tgetSignalRUpdates() {\r\n\t\tthis.signalR.joinAdditionalGroup(\"Sabel\");\r\n\t\tthis.dataService\r\n\t\t\t.createSqlListenerSubjectAndSubscribe({ Id: this.guid, \r\n\t\t\t\t\t\t\t\t\t\t\t\t cachedCollectionName: \"sabelData\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t sqlUpdateName: \"SabelData\"\r\n\t\t\t})\r\n\t\t\t.then((data) => {\r\n\t\t\t\t//subscribe to existing subject\r\n\t\t\t\tGlobal.User.DebugMode && console.log(this.componentName + \"current SQL Listener Subjects: %O\", this.dataService.sqlListenerSubjects);\r\n\t\t\t\tvar sqlActiveSubject = this.dataService.sqlListenerSubjects.firstOrDefault((subject:ISQLServerSubject) => { return subject.Id == this.guid });\r\n\t\t\t\tsqlActiveSubject && sqlActiveSubject.Subject$.subscribe((signalRData: any) => {\r\n\t\t\t\t\tthis.updateGridData(signalRData);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\tfinishInitializingWidget() {\r\n\t\tthis.widgetIsInViewSubscription = this.dashboardService.widgetInViewChanged$.subscribe((data: any) => {\r\n\t\t\tif (data.widgetId === this.widgetObject.WidgetId) {\r\n\t\t\t\tif (this.eventDataRowForCalculation !== undefined) {\r\n\t\t\t\t\tthis.eventDataRowHeight = this.eventDataRowForCalculation.nativeElement.getBoundingClientRect().height;\r\n\t\t\t\t}\r\n\t\t\t\t// this.isWidgetInView = data.isInView;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (this.widgetObject.WidgetKendoUIJson) {\r\n\t\t\tlet jsonObjectParsed = this.kendoSettingsService.parseReturnedSettingsForDates(this.widgetObject.WidgetKendoUIJson);\r\n\t\t\t//the first item in the array is the gridSettings for the first tab of data for GSE-Overview\r\n\r\n\t\t\tlet returnedParsedObject = jsonObjectParsed[0];\r\n\t\t\t//We pass it into the function in the kendo service to compare what has been saved vs the template declaration of columns to make sure they get the lastest updates.\r\n\t\t\tthis.gridSettings = this.mapGridSettings(this.kendoSettingsService.mergeTemplateAndSavedColumnsToOneGrid(this.gridSettings, returnedParsedObject));\r\n\t\t\tif (this.tagDataGrid) {\r\n\t\t\t\tthis.tagDataGrid.gridDataSubject.next(this.dataService.cache.sabelData);\r\n\t\t\t}\r\n\t\t\tthis.dashboardService.addOrUpdateHiddenColumnCountToDashboardWidget([this.gridSettings.columnsConfig], this.widgetObject.WidgetId);\r\n\t\t} else {\r\n\t\t\tif (this.tagDataGrid) {\r\n\t\t\t\tthis.tagDataGrid.gridDataSubject.next(this.dataService.cache.sabelData);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.timeZoneType = this.dashboardService.determineTimeZoneType(this.widgetObject);\r\n\t\tthis.requestToRunInitializeFunction = false;\r\n\r\n\t\tthis.isLoading = false;\r\n\t}\r\n\r\n\tsaveGridSettings() {\r\n\t\tif (this.widgetObject !== undefined) {\r\n\t\t\tthis.kendoSettingsService\r\n\t\t\t\t.saveGridSettings(\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tgridObject: this.tagDataGrid.kendoGridParent,\r\n\t\t\t\t\t\t\tgridState: this.gridSettings.state\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t],\r\n\t\t\t\t\tthis.widgetObject.WidgetId\r\n\t\t\t\t)\r\n\t\t\t\t.then((data: any) => {\r\n\t\t\t\t\tconsole.log(data);\r\n\t\t\t\t\tthis.widgetObject.WidgetKendoUIJson = data;\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprocessSignalRObservation(observation: any) {\r\n\t\tvar countOfObservations = Global.SignalR.countOfObservations;\r\n\t\tif (countOfObservations == undefined) {\r\n\t\t\tcountOfObservations = 1;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tcountOfObservations++;\r\n\t\t}\r\n\t\tGlobal.SignalR.countOfObservations = countOfObservations;\r\n\t\tthis.signalR.countOfSignalRObservations$.next(countOfObservations);\r\n\t\tlet signalRData = this.dataService.GetJsonFromSignalR(observation);\r\n\t\t//Global.User.DebugMode && console.log(this.componentName + \"processSignalRObservation observation = %O\", observation.object != undefined ? observation.object : observation);\r\n\t\tif (observation?.groupName == \"Sabel_\" + this.widgetObject.WidgetSiteId) {\r\n\t\t\tthis.updateGridData(signalRData);\r\n\t\t}\r\n\t}\r\n\r\n\tisIncomingSignalRMessageApplicableToList(signalRData: any): boolean {\r\n\t\tvar service = this;\r\n\t\tvar appliesToList: boolean = false;\r\n\t\tvar recordExists = service.dataService.cache.sabelData?.firstOrDefault((data: any) => { return data.TagId == signalRData.TagId });\r\n\t\tif (!recordExists) {\r\n\t\t\tif (service.selectedSystem != null || service.selectedAsset != null) {\r\n\t\t\t\tappliesToList = service.selectedSystem == null || (signalRData.System == service.selectedSystem?.Name && (service.selectedAsset == null || (service.selectedAsset && signalRData.Asset == service.selectedAsset?.Name)));\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tappliesToList = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn appliesToList;\r\n\t}\r\n\r\n\tupdateGridData(signalRData: any) {\r\n\t\tvar service = this;\r\n\t\tif (service.isIncomingSignalRMessageApplicableToList(signalRData)) {\r\n\t\t\t\r\n\t\t\tservice.dataService.cache.sabelData?.unshift(signalRData);\r\n\t\t\tservice.dataService.cache.sabelData?.splice(1000);\r\n\r\n\t\t\tif (service.tagDataGrid) {\r\n\t\t\t\tservice.tagDataGrid.gridDataSubject.next(service.dataService.cache.sabelData);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tclearRecentlyUpdatedStatus() {\r\n\t\tvar recentlyUpdated = this.dataService.cache.sabelData?.where((data: any) => { return data.RecentlyUpdated == true }).toArray();\r\n\t\tif (recentlyUpdated != null) {\r\n\t\t\trecentlyUpdated.forEach((item: any) => {\r\n\t\t\t\titem.RecentlyUpdated = false;\r\n\t\t\t});\r\n\r\n\t\t\tif (this.tagDataGrid) {\r\n\t\t\t\tthis.tagDataGrid.gridDataSubject.next(this.dataService.cache.sabelData);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonResized(event: ResizeResult): void {\r\n\t\tthis.eventDataPageSize = Math.floor(((event.height - 120) / this.eventDataRowHeight) * 3);\r\n\t}\r\n\r\n\tpublic mapGridSettings(gridSettings: GridSettings) {\r\n\t\tconst state = gridSettings.state;\r\n\t\tlet emptyArray: any = [];\r\n\t\treturn {\r\n\t\t\tstate,\r\n\t\t\tcolumnsConfig: gridSettings.columnsConfig.sort((a, b) => a.orderIndex - b.orderIndex),\r\n\t\t\tgridData: this.dataService.cache !== undefined ? process(this.dataService.cache.sabelData, state) : emptyArray\r\n\t\t};\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tGlobal.User.DebugMode && console.log(\"ngOnDestroy invoked...\");\r\n\t\tthis.dataService.unsubscribeAndLeaveSqlListenerSubjects(this.guid);\r\n\t\tthis.signalR.leaveAdditionalGroup(\"Sabel\");\r\n\t\tthis.fullDataCacheSubscription && this.fullDataCacheSubscription.unsubscribe();\r\n\t\tthis.dashboardTimeZoneChangedSubscription && this.dashboardTimeZoneChangedSubscription.unsubscribe();\r\n\t\tthis.widgetIsInViewSubscription && this.widgetIsInViewSubscription.unsubscribe();\r\n\t}\r\n\r\n\tprivate buildNavigationOptionsArray() {\r\n\t\tvar navigationWidth = Global.isMobile ? \"90px\" : \"105px\";\r\n\t\tthis.selectedSite = this.dataService.cache.sitesObject[this.widgetObject.WidgetSiteId];\r\n\t\tthis.selectedSystem = this.dataService.cache.systemsObject[this.widgetObject.WidgetSystemId];\r\n\t\tthis.selectedAsset = this.dataService.cache.assetsObject[this.widgetObject.WidgetAssetId];\r\n\r\n\t\tvar viewAllSites = {\r\n\t\t\tid: 10,\r\n\t\t\twidth: \"105px\",\r\n\t\t\tname: \"View All Sites\",\r\n\t\t\tselected: this.selectedSite == null ? true : false,\r\n\t\t\taction: () => this.changeSite(null)\r\n\t\t};\r\n\t\tif (viewAllSites.selected) {\r\n\t\t\tthis.changeSite(null);\r\n\t\t}\r\n\r\n\t\tthis.options = [\r\n\t\t\t{\r\n\t\t\t\tid: 1,\r\n\t\t\t\twidth: navigationWidth,\r\n\t\t\t\tname: \"Settings\",\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: 10,\r\n\t\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\t\tname: \"Edit Name\",\r\n\t\t\t\t\t\taction: () => this.widgetObject.editWidgetName(this.widgetObject)\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: 10,\r\n\t\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\t\tname: \"Reload\",\r\n\t\t\t\t\t\taction: () => this.dashboardService._reloadedWidget.next(this.widgetObject)\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: 10,\r\n\t\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\t\tname: \"Delete\",\r\n\t\t\t\t\t\taction: () => this.widgetObject.deleteFunction()\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t\troot: true,\r\n\t\t\t\topened: false\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: 2,\r\n\t\t\t\twidth: navigationWidth,\r\n\t\t\t\tname: \"Navigation\",\r\n\t\t\t\tchildren: Global.User.PermittedSites\r\n\t\t\t\t\t.where((site: ISite) => {\r\n\t\t\t\t\t\treturn site.SabelSite == true && site.Active == true;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.orderBy((site: ISite) => {\r\n\t\t\t\t\t\treturn site.Name;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.select((site: ISite) => {\r\n\r\n\t\t\t\t\t\tvar newSite = {\r\n\t\t \t\t\t\t\tid: 10,\r\n\t\t\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\t\t\tname: site.Name,\r\n\t\t \t\t\t\t\tselected: this.selectedSite?.Id == site.Id || this.selectedSystem?.Site?.Id == site.Id || this.selectedAsset?.Site?.Id == site.Id,\r\n\t\t \t\t\t\t\taction: () => this.changeSite(site),\r\n\t\t\t\t\t\t\tchildren: site.Systems?.where((system:ISystem) => {\r\n\t\t\t\t\t\t\t\t\t\treturn system.TypeId == 3 || system.TypeId == 15 || system.TypeId == 17\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t.where((system:ISystem) => {\r\n\t\t\t\t\t\t\t\t\t\treturn system.Assets.length > 0\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t.orderBy((system:ISystem) => {\r\n\t\t\t\t\t\t\t\t\t\treturn this.utilityService.GetGateNameSortValue(system.Name)\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t.thenByDescending((system:ISystem) => {\r\n\t\t\t\t\t\t\t\t\t\treturn system.TypeId\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t.select((system: ISystem) => {\r\n \t\t\t\t\t\t\t\t\t\tvar newSystem = {\r\n\t\t\t\t\t\t\t\t\t\t\tid: 11,\r\n\t\t\t\t\t\t\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\t\t\t\t\t\t\tname: system.Name,\r\n\t\t\t\t\t\t\t\t\t\t\tselected: this.selectedSystem?.Id == system.Id,\r\n\t\t\t\t\t\t\t\t\t\t\taction: () => this.changeSystem(system),\r\n\t\t\t\t\t\t\t\t\t\t\tchildren: system.Assets?.where((asset:IAsset) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn asset.AssetTypeId != 917 && asset.AssetTypeId !=\t918 && asset.AssetTypeId !=\t6097 && asset.AssetTypeId != 6116 && asset.AssetTypeId != 86301 && asset.AssetTypeId !=\t86303\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.orderBy((asset:IAsset) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn asset.Name\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.thenByDescending((asset:IAsset) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn asset.AssetTypeId\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.select((asset: IAsset) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvar newAsset = {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: 12,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: navigationWidth,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: asset.Name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselected: this.selectedAsset?.Id == asset.Id,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: () => this.changeAsset(asset)\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\tif (newAsset.selected) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.changeAsset(asset);\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\treturn newAsset;\r\n\t\t\t\t\t\t\t\t\t\t\t}).toArray()\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tif (newSystem.selected) {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.changeSystem(site);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\treturn newSystem;\r\n\t\t\t\t\t\t\t\t}).toArray()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (newSite.selected) {\r\n\t\t\t\t\t\t\tthis.changeSite(site);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn newSite;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.toArray(),\r\n\t\t\t\troot: true,\r\n\t\t\t\topened: this.selectedSite != null || this.selectedSystem != null || this.selectedAsset != null ? false : true //--only displaying the initial navigation menu if no item has been selected.\r\n\t\t\t}\r\n\t\t];\r\n\r\n\t\tif (Global.isMobile) {\r\n\t\t\tthis.options = this.options.where((item: any) => { return item.id != 1 }).toArray(); //--removing Settings tab for mobile.\r\n\t\t}\r\n\t\tvar navigationOption = this.options.firstOrDefault((option:any) => { return option.name == 'Navigation'}); \r\n\t\tnavigationOption.children.push(viewAllSites);\r\n\r\n\t\tconsole.log(\"this.options = %O\", this.options);\r\n\t}\r\n\r\n\tchangeSite(site: any) {\r\n\t\tif (!this.initialLoad) {\r\n\t\t\tthis.signalR.leaveAdditionalGroup(\"Sabel_\" + this.widgetObject.WidgetSiteId);\r\n\t\t\tthis.widgetObject.WidgetSiteId = site?.Id;\r\n\t\t\tthis.widgetObject.WidgetSystemId = null;\r\n\t\t\tthis.widgetObject.WidgetGateSystemId = null;\r\n\t\t\tthis.widgetObject.WidgetAssetId = null;\r\n\t\t\tthis.selectedSite = site;\r\n\t\t\tthis.selectedSystem = null;\r\n\t\t\tthis.selectedAsset = null;\r\n\t\t\tthis.saveWidgetObject(\"SiteId\", site?.Id);\r\n\t\t\tthis.saveWidgetObject(\"SystemId\", null);\r\n\t\t\tthis.saveWidgetObject(\"GateSystemId\", null);\r\n\t\t\tthis.saveWidgetObject(\"AssetId\", null);\r\n\t\t\tthis.widgetObject.siteChange();\r\n\t\t\tthis.widgetObject.systemChange();\r\n\t\t\tthis.widgetObject.assetChange();\r\n\t\t\tthis.requestToRunInitializeFunction = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.selectedSite = this.widgetObject.WidgetSiteId == null ? null : this.dataService.cache.sitesObject[this.widgetObject.WidgetSiteId];\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tchangeSystem(system: any) {\r\n\t\tif (!this.initialLoad) {\r\n\t\t\tthis.widgetObject.WidgetSystemId = system.Id;\r\n\t\t\tthis.widgetObject.WidgetGateSystemId = system.Id;\r\n\t\t\tthis.widgetObject.WidgetAssetId = null;\r\n\t\t\tthis.selectedSystem = system;\r\n\t\t\tthis.selectedAsset = null;\r\n\t\t\tthis.saveWidgetObject(\"SystemId\", system.Id);\r\n\t\t\tthis.saveWidgetObject(\"GateSystemId\", system.Id);\r\n\t\t\tthis.saveWidgetObject(\"AssetId\", null);\r\n\t\t\tthis.widgetObject.systemChange();\r\n\t\t\tthis.widgetObject.assetChange();\r\n\t\t\tthis.requestToRunInitializeFunction = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.selectedSystem = this.dataService.cache.systemsObject[this.widgetObject.WidgetSystemId];\r\n\t\t}\r\n\t}\r\n\r\n\tchangeAsset(asset: any) {\r\n\t\tif (!this.initialLoad) {\r\n\t\t\tthis.widgetObject.WidgetAssetId = asset.Id;\r\n\t\t\tthis.selectedAsset = asset;\r\n\t\t\tthis.saveWidgetObject(\"AssetId\", asset.Id);\r\n\t\t\tthis.widgetObject.assetChange();\r\n\t\t\tthis.requestToRunInitializeFunction = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.selectedAsset = this.dataService.cache.assetsObject[this.widgetObject.WidgetAssetId];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic checkNavigation(opened: any) {\r\n\t\tconsole.log(\"checkNavigation opened = %O\", opened);\r\n\t\tthis.navigationOpened = opened;\r\n\t\tthis.isLoading = false;\r\n\t}\r\n\r\n\tpublic checkSelectedItem(selected: any) {\r\n\t\tconsole.log(\"checkSelectedItem invoked. selected = %O\", selected);\r\n\t\tthis.signalR.LogActivity(\"Chose '\" + selected.name + \"' in the navigation of the \" + this.widgetObject.WidgetTypeName + \" widget.\");\r\n\t}\r\n\r\n\tsaveWidgetObject(fieldName: string, fieldValue: string) {\r\n\t\tthis.dataService.SQLActionAsPromise(\"API.Widget_UpdateRecordByIdAndFieldName \" + this.widgetObject.WidgetId + \", '\" + fieldName + \"', '\" + fieldValue + \"'\").then((data: any) => {\r\n\t\t\tGlobal.User.DebugMode && console.log(\"data updated: %O\", data);\r\n\t\t\tthis.signalR.LogActivity(\"Updated '\" + fieldName + \"' = \" + fieldValue + \" for the \" + this.widgetObject.WidgetTypeName + \" (WidgetId: \" + this.widgetObject.WidgetId + \") widget.\");\r\n\r\n\t\t});\r\n\t}\r\n}\r\n", "<div style=\"height: 100%; width: 100%\" (ngxResize)=\"onResized($event)\">\r\n\t<div *ngIf=\"options.length > 0\" class=\"flex-container\" style=\"position: relative\">\r\n\t\t<lib-navigation [options]=\"options\" (opened)=\"checkNavigation($event)\" (selected)=\"checkSelectedItem($event)\"></lib-navigation>\r\n\t\t<div [ngClass]=\"navigationOpened ? 'main-content-with-nav-visible' : 'main-content-with-nav-invisible'\">\r\n\t\t\t<lib-loading-spinner *ngIf=\"isLoading\" [loadingMessage]=\"'Loading Sabel Data Info...'\" [vehicle]=\"'plane'\"></lib-loading-spinner>\r\n\t\t\t<div *ngIf=\"!isLoading\" class=\"card card-tasks\" style=\"max-height: 900px; height:100%\">\r\n\t\t\t\t<div (ngxResize)=\"onResized($event)\" [style.max-height.px]=\"900\" [style.height.%]=\"100\">\r\n\t\t\t\t\t<lib-kendo-grid-parent [gridData]=\"dataService.cache.sabelData\" [gridSettings]=\"gridSettings\" [widgetObject]=\"widgetObject\" (callSave)=\"saveGridSettings()\" [style.height.%]=\"100\" filterable=\"menu\" [sortable]=\"true\" [reorderable]=\"true\" [resizable]=\"true\" *ngIf=\"dataService.cache.sabelData !== undefined\" #tagDataGrid> </lib-kendo-grid-parent>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n"], "mappings": "skBAiBA,IAAAA,EAAc,mFCbXC,EAAA,EAAA,sBAAA,CAAA,OAAuCC,EAAA,iBAAA,4BAAA,EAA+C,UAAA,OAAA,oCAGpFC,EAAA,EAAA,wBAAA,GAAA,CAAA,EAA4HC,EAAA,WAAA,UAAA,CAAAC,EAAAC,CAAA,EAAA,IAAAC,EAAAC,EAAA,CAAA,EAAA,OAAAC,EAAYF,EAAAG,iBAAA,CAAkB,CAAA,CAAA,EAAqKC,EAAA,qBAAnKC,EAAA,SAAA,IAAA,GAAA,EAArIV,EAAA,WAAAK,EAAAM,YAAAC,MAAAC,SAAA,EAAwC,eAAAR,EAAAS,YAAA,EAA8B,eAAAT,EAAAU,YAAA,EAA8B,WAAA,EAAA,EAA2F,cAAA,EAAA,EAAqB,YAAA,EAAA,qCAF7Od,EAAA,EAAA,MAAA,CAAA,EAAuF,EAAA,MAAA,EAAA,EACjFC,EAAA,YAAA,SAAAc,EAAA,CAAAb,EAAAc,CAAA,EAAA,IAAAZ,EAAAC,EAAA,CAAA,EAAA,OAAAC,EAAaF,EAAAa,UAAAF,CAAA,CAAiB,CAAA,CAAA,EAClCG,EAAA,EAAAC,EAAA,EAAA,EAAA,wBAAA,EAAA,EACDX,EAAA,EAAM,qBAF+BY,EAAA,EAAAX,EAAA,aAAA,IAAA,IAAA,EAA2B,SAAA,IAAA,GAAA,EACiMW,EAAA,EAAArB,EAAA,OAAAK,EAAAM,YAAAC,MAAAC,YAAAS,MAAA,qCANpQrB,EAAA,EAAA,MAAA,CAAA,EAAkF,EAAA,iBAAA,CAAA,EAC7CC,EAAA,SAAA,SAAAc,EAAA,CAAAb,EAAAoB,CAAA,EAAA,IAAAlB,EAAAC,EAAA,EAAA,OAAAC,EAAUF,EAAAmB,gBAAAR,CAAA,CAAuB,CAAA,CAAA,EAAC,WAAA,SAAAA,EAAA,CAAAb,EAAAoB,CAAA,EAAA,IAAAlB,EAAAC,EAAA,EAAA,OAAAC,EAAaF,EAAAoB,kBAAAT,CAAA,CAAyB,CAAA,CAAA,EAAEP,EAAA,EAC9GR,EAAA,EAAA,MAAA,CAAA,EACCkB,EAAA,EAAAO,EAAA,EAAA,EAAA,sBAAA,CAAA,EAA2G,EAAAC,EAAA,EAAA,EAAA,MAAA,CAAA,EAM5GlB,EAAA,EAAM,oBARUY,EAAA,EAAArB,EAAA,UAAAK,EAAAuB,OAAA,EACXP,EAAA,EAAArB,EAAA,UAAAK,EAAAwB,iBAAA,gCAAA,iCAAA,EACkBR,EAAA,EAAArB,EAAA,OAAAK,EAAAyB,SAAA,EAChBT,EAAA,EAAArB,EAAA,OAAA,CAAAK,EAAAyB,SAAA,GDsCT,IAAaC,IAAkB,IAAA,CAAzB,MAAOA,CAAkB,CA+H9BC,YAAmBrB,EAAkCsB,EAA4CC,EAAoDC,EAA+BC,EAAoCC,EAA8B,CAAnO,KAAA1B,YAAAA,EAAkC,KAAAsB,iBAAAA,EAA4C,KAAAC,qBAAAA,EAAoD,KAAAC,IAAAA,EAA+B,KAAAC,QAAAA,EAAoC,KAAAC,eAAAA,EAxHxN,KAAAC,mBAA0B,GAKnB,KAAAC,OAAkBC,EASjB,KAAAC,+BAA0C,GAC1C,KAAAC,YAAuB,GACvB,KAAAC,cAAwB,eAEzB,KAAAf,QAAe,CAAA,EAMf,KAAAC,iBAA4B,GAE5B,KAAAf,aAA6B,CACnC8B,MAAO,CACNC,KAAM,EACNC,OAAQ,CACPC,MAAO,MACPC,QAAS,CAAA,GAEVC,KAAM,IAEPC,cAAe,CACd,CACCC,MAAO,QACPC,MAAO,QACPC,WAAY,GACZC,OAAQ,EACRC,OAAQ,IAET,CACCJ,MAAO,OACPC,MAAO,OACPE,OAAQd,EAAOgB,SAAW,GAAK,EAC/BH,WAAY,IAEb,CACCF,MAAO,SACPC,MAAO,SACPE,OAAQd,EAAOgB,SAAW,GAAK,EAC/BH,WAAY,IAEb,CACCF,MAAO,QACPC,MAAO,QACPE,OAAQd,EAAOgB,SAAW,GAAK,EAC/BH,WAAY,IAEb,CACCF,MAAO,2BACPC,MAAO,aACPE,OAAQ,EACRD,WAAY,GACZE,OAAQf,EAAOgB,UAEhB,CACCL,MAAO,OACPC,MAAO,OACPE,OAAQd,EAAOgB,SAAW,GAAK,GAC/BH,WAAY,IAEb,CACCF,MAAO,QACPC,MAAO,QACPE,OAAQd,EAAOgB,SAAW,EAAI,GAC9BH,WAAY,IAEb,CACCF,MAAO,WACPC,MAAO,YACPC,WAAY,GACZC,OAAQ,IAET,CACCH,MAAO,eACPC,MAAO,YACPC,WAAY,GACZP,OAAQ,OACRQ,OAAQ,GACRC,OAAQf,EAAOgB,UAEhB,CACCL,MAAO,eACPC,MAAO,YACPC,WAAY,GACZP,OAAQ,OACRQ,OAAQ,GACRC,OAAQf,EAAOgB,UAEhB,CACCL,MAAO,cACPC,MAAO,WACPC,WAAY,GACZP,OAAQ,OACRQ,OAAQd,EAAOgB,SAAW,GAAK,IAEhC,CACCL,MAAO,QACPC,MAAO,SACPE,OAAQ,GACRD,WAAY,GACZE,OAAQf,EAAOgB,SACf,EAKuP,CAE1PC,UAAQ,CAeP,GAdA,KAAKC,KAAO,KAAK/C,YAAY+C,KAAI,EACjC,KAAK5B,UAAY,GACjB6B,QAAQC,IAAI,yBAA0B,KAAK7C,YAAY,EACvD,KAAK8C,4BAA2B,EAChCC,YAAY,IAAK,CAChB,KAAKC,2BAA0B,CAChC,EAAG,GAAI,EAEPD,YAAY,IAAK,CACZ,KAAKrB,gCACR,KAAKuB,WAAU,CAEjB,EAAG,GAAI,EAEH,CAACC,EAAAA,QAAEC,MAAM,KAAKnD,aAAaoD,YAAY,EACtC3B,EAAO4B,sBAAwB,GAClC,KAAKC,0BAA4B,KAAK1D,YAAY2D,qBAAqBC,UAAWC,GAAa,CAC1FA,IAAS,KACZ,KAAKC,MAAQjC,EAAOkC,MACpB,KAAKV,WAAU,EACf,KAAKtB,YAAc,GACnB,KAAK2B,0BAA0BM,YAAW,EAE5C,CAAC,GAED,KAAKF,MAAQjC,EAAOkC,MACpB,KAAKhC,YAAc,GACnB,KAAKsB,WAAU,OAEV,CACN,KAAKlC,UAAY,GACjB,KAAKY,YAAc,GACnB,MACD,CAEI,KAAKkC,2BACR,KAAKC,qCAAuC,KAAKD,yBAAyBL,UAAWC,GAAQ,CAC5Fb,QAAQC,IAAIY,CAAI,EAChB,IAAIM,EAA8BN,EAAKO,KAAMC,GACrCA,EAAqBC,WAAa,KAAKlE,aAAakE,QAC3D,EAED,GAAI,CAAChB,EAAAA,QAAEC,MAAMY,CAA2B,EAAG,CAC1CnB,QAAQC,IAAI,0BAA0B,EACtC,KAAKsB,aAAe,KAAKjD,iBAAiBkD,sBAAsB,KAAKpE,YAAY,EAEjF,IAAMqE,EAAe,KAAKtE,aAAaoC,cAAc6B,KAAMM,GAAQA,EAAIlC,OAAS,gBAAgB,EAC1FmC,EAAc,KAAKxE,aAAaoC,cAAc6B,KAAMM,GAAQA,EAAIlC,OAAS,yBAAyB,EAClGoC,EAAa,KAAKzE,aAAaoC,cAAc6B,KAAMM,GAAQA,EAAIlC,OAAS,mBAAmB,EAEjGiC,EAAa7B,OAAS,KAAK2B,eAAiB,YAC5CI,EAAY/B,OAAS,KAAK2B,eAAiB,YAC3CK,EAAWhC,OAAS,KAAK2B,eAAiB,WAC1CE,EAAaI,iBAAmB,CAACJ,EAAa7B,OAC9C+B,EAAYE,iBAAmB,CAACF,EAAY/B,OAC5CgC,EAAWC,iBAAmB,CAACD,EAAWhC,MAC3C,CACD,CAAC,EAEH,CAEAS,YAAU,CACT,KAAKyB,kBAAiB,EAEtB,IAAIC,EAAM,uCAAyC,KAAK3E,cAAcoD,cAAgB,KAAO,OAAS,KAAKpD,aAAaoD,cACxH,GAAI,KAAKpD,aAAa4E,gBAAkB,KAAM,CAC7C,IAAIC,EAAa,KAAKjF,YAAYC,MAAMiF,cAAc,KAAK9E,aAAa4E,cAAc,EAAEG,KACxFJ,GAAO,kBAAoBE,EAAa,GACzC,CACA,GAAI,KAAK7E,aAAagF,eAAiB,KAAM,CAC5C,IAAIC,EAAY,KAAKrF,YAAYC,MAAMqF,aAAa,KAAKlF,aAAagF,aAAa,EAAED,KACrFJ,GAAO,iBAAmBM,EAAY,GACvC,CAEA,KAAKrF,YAAYuF,mBAAmBR,CAAG,EAAES,KAAM3B,GAAa,CAC3DA,EAAK4B,QAASC,GAAa,CAC1BA,EAAKC,gBAAkB,GACvBD,EAAKE,YAAc,KAAKlE,eAAemE,4CAA4CH,EAAKI,sBAAsB,CAAC,EAC/GJ,EAAKK,aAAe,IAAIC,KAAKN,EAAKI,qBAAqB,EACvD,IAAIG,EAAoB,KAAKjG,YAAYC,MAAMiG,MAAMC,eAAgBC,GAAwBA,EAAKjB,MAAQO,EAAKW,IAAM,EAAEC,cACvHZ,EAAKa,aAAe,KAAK7E,eAAemE,4CAA4CH,EAAKI,sBAAuBG,CAAiB,CAClI,CAAC,EAED,KAAKjG,YAAYC,MAAMC,UAAY2D,EAEnCb,QAAQC,IAAI,iBAAkB,KAAKjD,YAAYC,MAAMC,SAAS,EAI1D,KAAKsG,aACR,KAAKA,YAAYC,gBAAgBC,KAAK,KAAK1G,YAAYC,MAAMC,SAAS,EAGvE,KAAKE,aAAauG,kBAAoB,GACtC,KAAKC,yBAAwB,CAC9B,CAAC,CAEF,CAEA9B,mBAAiB,CAChB,KAAKrD,QAAQoF,oBAAoB,OAAO,EACxC,KAAK7G,YACH8G,qCAAqC,CAAEC,GAAI,KAAKhE,KACpCiE,qBAAsB,YACtBC,cAAe,YAC3B,EACAzB,KAAM3B,GAAQ,CAEdhC,EAAOqF,KAAKC,WAAanE,QAAQC,IAAI,KAAKjB,cAAgB,oCAAqC,KAAKhC,YAAYoH,mBAAmB,EACnI,IAAIC,EAAmB,KAAKrH,YAAYoH,oBAAoBjB,eAAgBmB,GAAuCA,EAAQP,IAAM,KAAKhE,IAAM,EAC5IsE,GAAoBA,EAAiBE,SAAS3D,UAAW4D,GAAoB,CAC5E,KAAKC,eAAeD,CAAW,CAChC,CAAC,CACF,CAAC,CACH,CACAZ,0BAAwB,CAUvB,GATA,KAAKc,2BAA6B,KAAKpG,iBAAiBqG,qBAAqB/D,UAAWC,GAAa,CAChGA,EAAK+D,WAAa,KAAKxH,aAAakE,UACnC,KAAKuD,6BAA+BlH,SACvC,KAAKgB,mBAAqB,KAAKkG,2BAA2BC,cAAcC,sBAAqB,EAAGC,OAInG,CAAC,EAEG,KAAK5H,aAAa6H,kBAAmB,CAIxC,IAAIC,EAHmB,KAAK3G,qBAAqB4G,8BAA8B,KAAK/H,aAAa6H,iBAAiB,EAGtE,CAAC,EAE7C,KAAK9H,aAAe,KAAKiI,gBAAgB,KAAK7G,qBAAqB8G,sCAAsC,KAAKlI,aAAc+H,CAAoB,CAAC,EAC7I,KAAK1B,aACR,KAAKA,YAAYC,gBAAgBC,KAAK,KAAK1G,YAAYC,MAAMC,SAAS,EAEvE,KAAKoB,iBAAiBgH,8CAA8C,CAAC,KAAKnI,aAAaoC,aAAa,EAAG,KAAKnC,aAAakE,QAAQ,CAClI,MACK,KAAKkC,aACR,KAAKA,YAAYC,gBAAgBC,KAAK,KAAK1G,YAAYC,MAAMC,SAAS,EAGxE,KAAKqE,aAAe,KAAKjD,iBAAiBkD,sBAAsB,KAAKpE,YAAY,EACjF,KAAK0B,+BAAiC,GAEtC,KAAKX,UAAY,EAClB,CAEAtB,kBAAgB,CACX,KAAKO,eAAiBO,QACzB,KAAKY,qBACH1B,iBACA,CACC,CACC0I,WAAY,KAAK/B,YAAYgC,gBAC7BC,UAAW,KAAKtI,aAAa8B,MAC7B,EAEF,KAAK7B,aAAakE,QAAQ,EAE1BkB,KAAM3B,GAAa,CACnBb,QAAQC,IAAIY,CAAI,EAChB,KAAKzD,aAAa6H,kBAAoBpE,CACvC,CAAC,CAEJ,CAGA6E,0BAA0BC,EAAgB,CACzC,IAAIC,EAAsB/G,EAAOgH,QAAQD,oBACrCA,GAAuBjI,KAC1BiI,EAAsB,EAGtBA,IAED/G,EAAOgH,QAAQD,oBAAsBA,EACrC,KAAKnH,QAAQqH,4BAA4BpC,KAAKkC,CAAmB,EACjE,IAAIpB,EAAc,KAAKxH,YAAY+I,mBAAmBJ,CAAW,EAE7DA,GAAaK,WAAa,SAAW,KAAK5I,aAAaoD,cAC1D,KAAKiE,eAAeD,CAAW,CAEjC,CAEAyB,yCAAyCzB,EAAgB,CACxD,IAAI0B,EAAU,KACVC,EAAyB,GACzBC,EAAeF,EAAQlJ,YAAYC,MAAMC,WAAWiG,eAAgBtC,GAAuBA,EAAKwF,OAAS7B,EAAY6B,KAAO,EAChI,OAAKD,IACAF,EAAQI,gBAAkB,MAAQJ,EAAQK,eAAiB,KAC9DJ,EAAgBD,EAAQI,gBAAkB,MAAS9B,EAAYgC,QAAUN,EAAQI,gBAAgBnE,OAAS+D,EAAQK,eAAiB,MAASL,EAAQK,eAAiB/B,EAAYiC,OAASP,EAAQK,eAAepE,MAIjNgE,EAAgB,IAGXA,CACR,CAEA1B,eAAeD,EAAgB,CAC9B,IAAI0B,EAAU,KACVA,EAAQD,yCAAyCzB,CAAW,IAE/D0B,EAAQlJ,YAAYC,MAAMC,WAAWwJ,QAAQlC,CAAW,EACxD0B,EAAQlJ,YAAYC,MAAMC,WAAWyJ,OAAO,GAAI,EAE5CT,EAAQ1C,aACX0C,EAAQ1C,YAAYC,gBAAgBC,KAAKwC,EAAQlJ,YAAYC,MAAMC,SAAS,EAI/E,CAEAkD,4BAA0B,CACzB,IAAIwG,EAAkB,KAAK5J,YAAYC,MAAMC,WAAW2J,MAAOhG,GAAuBA,EAAK8B,iBAAmB,EAAM,EAAEmE,QAAO,EACzHF,GAAmB,OACtBA,EAAgBnE,QAASC,GAAa,CACrCA,EAAKC,gBAAkB,EACxB,CAAC,EAEG,KAAKa,aACR,KAAKA,YAAYC,gBAAgBC,KAAK,KAAK1G,YAAYC,MAAMC,SAAS,EAGzE,CAEAK,UAAUwJ,EAAmB,CAC5B,KAAKC,kBAAoBC,KAAKC,OAAQH,EAAM/B,OAAS,KAAO,KAAKrG,mBAAsB,CAAC,CACzF,CAEOyG,gBAAgBjI,EAA0B,CAChD,IAAM8B,EAAQ9B,EAAa8B,MACvBkI,EAAkB,CAAA,EACtB,MAAO,CACNlI,MAAAA,EACAM,cAAepC,EAAaoC,cAAc6H,KAAK,CAACC,EAAGC,IAAMD,EAAEE,WAAaD,EAAEC,UAAU,EACpFC,SAAU,KAAKxK,YAAYC,QAAUU,OAAY8J,EAAQ,KAAKzK,YAAYC,MAAMC,UAAW+B,CAAK,EAAIkI,EAEtG,CAEAO,aAAW,CACV7I,EAAOqF,KAAKC,WAAanE,QAAQC,IAAI,wBAAwB,EAC7D,KAAKjD,YAAY2K,uCAAuC,KAAK5H,IAAI,EACjE,KAAKtB,QAAQmJ,qBAAqB,OAAO,EACzC,KAAKlH,2BAA6B,KAAKA,0BAA0BM,YAAW,EAC5E,KAAKE,sCAAwC,KAAKA,qCAAqCF,YAAW,EAClG,KAAK0D,4BAA8B,KAAKA,2BAA2B1D,YAAW,CAC/E,CAEQd,6BAA2B,CAClC,IAAI2H,EAAkBhJ,EAAOgB,SAAW,OAAS,QACjD,KAAKiI,aAAe,KAAK9K,YAAYC,MAAM8K,YAAY,KAAK3K,aAAaoD,YAAY,EACrF,KAAK8F,eAAiB,KAAKtJ,YAAYC,MAAMiF,cAAc,KAAK9E,aAAa4E,cAAc,EAC3F,KAAKuE,cAAgB,KAAKvJ,YAAYC,MAAMqF,aAAa,KAAKlF,aAAagF,aAAa,EAExF,IAAI4F,EAAe,CAClBC,GAAI,GACJC,MAAO,QACPC,KAAM,iBACNC,SAAU,KAAKN,cAAgB,KAC/BO,OAAQA,IAAM,KAAKC,WAAW,IAAI,GAE/BN,EAAaI,UAChB,KAAKE,WAAW,IAAI,EAGrB,KAAKrK,QAAU,CACd,CACCgK,GAAI,EACJC,MAAOL,EACPM,KAAM,WACNI,SAAU,CACT,CACCN,GAAI,GACJC,MAAOL,EACPM,KAAM,YACNE,OAAQA,IAAM,KAAKjL,aAAaoL,eAAe,KAAKpL,YAAY,GAEjE,CACC6K,GAAI,GACJC,MAAOL,EACPM,KAAM,SACNE,OAAQA,IAAM,KAAK/J,iBAAiBmK,gBAAgB/E,KAAK,KAAKtG,YAAY,GAE3E,CACC6K,GAAI,GACJC,MAAOL,EACPM,KAAM,SACNE,OAAQA,IAAM,KAAKjL,aAAasL,eAAc,EAC9C,EAEFC,KAAM,GACNC,OAAQ,IAET,CACCX,GAAI,EACJC,MAAOL,EACPM,KAAM,aACNI,SAAU1J,EAAOqF,KAAK2E,eACpBhC,MAAOzD,GACAA,EAAK0F,WAAa,IAAQ1F,EAAK2F,QAAU,EAChD,EACAC,QAAS5F,GACFA,EAAKjB,IACZ,EACA8G,OAAQ7F,GAAe,CAEvB,IAAI8F,EAAU,CACZjB,GAAI,GACLC,MAAOL,EACPM,KAAM/E,EAAKjB,KACViG,SAAU,KAAKN,cAAc/D,IAAMX,EAAKW,IAAM,KAAKuC,gBAAgBjD,MAAMU,IAAMX,EAAKW,IAAM,KAAKwC,eAAelD,MAAMU,IAAMX,EAAKW,GAC/HsE,OAAQA,IAAM,KAAKC,WAAWlF,CAAI,EACnCmF,SAAUnF,EAAK+F,SAAStC,MAAOuC,GACrBA,EAAOC,QAAU,GAAKD,EAAOC,QAAU,IAAMD,EAAOC,QAAU,EACrE,EACAxC,MAAOuC,GACAA,EAAOE,OAAOC,OAAS,CAC9B,EACAP,QAASI,GACF,KAAK1K,eAAe8K,qBAAqBJ,EAAOjH,IAAI,CAC3D,EACAsH,iBAAkBL,GACXA,EAAOC,MACd,EACAJ,OAAQG,GAAmB,CAC1B,IAAIM,EAAY,CAChBzB,GAAI,GACJC,MAAOL,EACPM,KAAMiB,EAAOjH,KACbiG,SAAU,KAAK9B,gBAAgBvC,IAAMqF,EAAOrF,GAC5CsE,OAAQA,IAAM,KAAKsB,aAAaP,CAAM,EACtCb,SAAUa,EAAOE,QAAQzC,MAAO+C,GACvBA,EAAMC,aAAe,KAAOD,EAAMC,aAAe,KAAOD,EAAMC,aAAe,MAAQD,EAAMC,aAAe,MAAQD,EAAMC,aAAe,OAASD,EAAMC,aAAe,KAC5K,EACAb,QAASY,GACFA,EAAMzH,IACb,EACAsH,iBAAkBG,GACXA,EAAMC,WACb,EACAZ,OAAQW,GAAiB,CACzB,IAAIE,EAAW,CACd7B,GAAI,GACJC,MAAOL,EACPM,KAAMyB,EAAMzH,KACZiG,SAAU,KAAK7B,eAAexC,IAAM6F,EAAM7F,GAC1CsE,OAAQA,IAAM,KAAK0B,YAAYH,CAAK,GAErC,OAAIE,EAAS1B,UACZ,KAAK2B,YAAYH,CAAK,EAEhBE,CACT,CAAC,EAAEhD,QAAO,GAEX,OAAI4C,EAAUtB,UACb,KAAKuB,aAAavG,CAAI,EAEhBsG,CACT,CAAC,EAAE5C,QAAO,GAEZ,OAAIoC,EAAQd,UACX,KAAKE,WAAWlF,CAAI,EAEd8F,CACR,CAAC,EACApC,QAAO,EACT6B,KAAM,GACNC,OAAQ,OAAKd,cAAgB,MAAQ,KAAKxB,gBAAkB,MAAQ,KAAKC,eAAiB,MAC1F,EAGE1H,EAAOgB,WACV,KAAK5B,QAAU,KAAKA,QAAQ4I,MAAOnE,GAAuBA,EAAKuF,IAAM,CAAG,EAAEnB,QAAO,GAElF,IAAIkD,EAAmB,KAAK/L,QAAQkF,eAAgB8G,GAAwBA,EAAO9B,MAAQ,YAAa,EACxG6B,EAAiBzB,SAAS2B,KAAKlC,CAAY,EAE3ChI,QAAQC,IAAI,oBAAqB,KAAKhC,OAAO,CAC9C,CAEAqK,WAAWlF,EAAS,CACd,KAAKrE,YAmBT,KAAK+I,aAAe,KAAK1K,aAAaoD,cAAgB,KAAO,KAAO,KAAKxD,YAAYC,MAAM8K,YAAY,KAAK3K,aAAaoD,YAAY,GAlBrI,KAAK/B,QAAQmJ,qBAAqB,SAAW,KAAKxK,aAAaoD,YAAY,EAC3E,KAAKpD,aAAaoD,aAAe4C,GAAMW,GACvC,KAAK3G,aAAa4E,eAAiB,KACnC,KAAK5E,aAAa+M,mBAAqB,KACvC,KAAK/M,aAAagF,cAAgB,KAClC,KAAK0F,aAAe1E,EACpB,KAAKkD,eAAiB,KACtB,KAAKC,cAAgB,KACrB,KAAK6D,iBAAiB,SAAUhH,GAAMW,EAAE,EACxC,KAAKqG,iBAAiB,WAAY,IAAI,EACtC,KAAKA,iBAAiB,eAAgB,IAAI,EAC1C,KAAKA,iBAAiB,UAAW,IAAI,EACrC,KAAKhN,aAAaiN,WAAU,EAC5B,KAAKjN,aAAakN,aAAY,EAC9B,KAAKlN,aAAamN,YAAW,EAC7B,KAAKzL,+BAAiC,GAMxC,CAEA6K,aAAaP,EAAW,CAClB,KAAKrK,YAcT,KAAKuH,eAAiB,KAAKtJ,YAAYC,MAAMiF,cAAc,KAAK9E,aAAa4E,cAAc,GAb3F,KAAK5E,aAAa4E,eAAiBoH,EAAOrF,GAC1C,KAAK3G,aAAa+M,mBAAqBf,EAAOrF,GAC9C,KAAK3G,aAAagF,cAAgB,KAClC,KAAKkE,eAAiB8C,EACtB,KAAK7C,cAAgB,KACrB,KAAK6D,iBAAiB,WAAYhB,EAAOrF,EAAE,EAC3C,KAAKqG,iBAAiB,eAAgBhB,EAAOrF,EAAE,EAC/C,KAAKqG,iBAAiB,UAAW,IAAI,EACrC,KAAKhN,aAAakN,aAAY,EAC9B,KAAKlN,aAAamN,YAAW,EAC7B,KAAKzL,+BAAiC,GAKxC,CAEAiL,YAAYH,EAAU,CAChB,KAAK7K,YAQT,KAAKwH,cAAgB,KAAKvJ,YAAYC,MAAMqF,aAAa,KAAKlF,aAAagF,aAAa,GAPxF,KAAKhF,aAAagF,cAAgBwH,EAAM7F,GACxC,KAAKwC,cAAgBqD,EACrB,KAAKQ,iBAAiB,UAAWR,EAAM7F,EAAE,EACzC,KAAK3G,aAAamN,YAAW,EAC7B,KAAKzL,+BAAiC,GAKxC,CAEOjB,gBAAgB+K,EAAW,CACjC5I,QAAQC,IAAI,8BAA+B2I,CAAM,EACjD,KAAK1K,iBAAmB0K,EACxB,KAAKzK,UAAY,EAClB,CAEOL,kBAAkBsK,EAAa,CACrCpI,QAAQC,IAAI,2CAA4CmI,CAAQ,EAChE,KAAK3J,QAAQ+L,YAAY,UAAYpC,EAASD,KAAO,8BAAgC,KAAK/K,aAAaqN,eAAiB,UAAU,CACnI,CAEAL,iBAAiBM,EAAmBC,EAAkB,CACrD,KAAK3N,YAAYuF,mBAAmB,2CAA6C,KAAKnF,aAAakE,SAAW,MAAQoJ,EAAY,OAASC,EAAa,GAAG,EAAEnI,KAAM3B,GAAa,CAC/KhC,EAAOqF,KAAKC,WAAanE,QAAQC,IAAI,mBAAoBY,CAAI,EAC7D,KAAKpC,QAAQ+L,YAAY,YAAcE,EAAY,OAASC,EAAa,YAAc,KAAKvN,aAAaqN,eAAiB,eAAiB,KAAKrN,aAAakE,SAAW,WAAW,CAEpL,CAAC,CACF,iDA1kBYlD,GAAkBwM,EAAAC,CAAA,EAAAD,EAAAE,CAAA,EAAAF,EAAAG,CAAA,EAAAH,EAAAI,CAAA,EAAAJ,EAAAK,CAAA,EAAAL,EAAAM,CAAA,CAAA,CAAA,CAAA,+BAAlB9M,EAAkB+M,UAAA,CAAA,CAAA,gBAAA,CAAA,EAAAC,UAAA,SAAAC,EAAAC,EAAA,IAAAD,EAAA,m9BC3C/B/O,EAAA,EAAA,MAAA,CAAA,EAAuCC,EAAA,YAAA,SAAAc,EAAA,CAAA,OAAaiO,EAAA/N,UAAAF,CAAA,CAAiB,CAAA,EACpEG,EAAA,EAAA+N,EAAA,EAAA,EAAA,MAAA,CAAA,EAWDzO,EAAA,SAXOY,EAAA,EAAArB,EAAA,OAAAiP,EAAArN,QAAAsL,OAAA,CAAA;;6BD0CMnL,CAAkB,GAAA", "names": ["import_lodash", "\u0275\u0275element", "\u0275\u0275property", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r4", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "saveGridSettings", "\u0275\u0275elementEnd", "\u0275\u0275styleProp", "dataService", "cache", "sabelData", "gridSettings", "widgetObject", "$event", "_r3", "onResized", "\u0275\u0275template", "SabelDataComponent_div_1_div_4_lib_kendo_grid_parent_2_Template", "\u0275\u0275advance", "undefined", "_r1", "checkNavigation", "checkSelectedItem", "SabelDataComponent_div_1_lib_loading_spinner_3_Template", "SabelDataComponent_div_1_div_4_Template", "options", "navigationOpened", "isLoading", "SabelDataComponent", "constructor", "dashboardService", "kendoSettingsService", "ref", "signalR", "utilityService", "eventDataRowHeight", "global", "Global", "requestToRunInitializeFunction", "initialLoad", "componentName", "state", "skip", "filter", "logic", "filters", "take", "columnsConfig", "field", "title", "filterable", "_width", "hidden", "isMobile", "ngOnInit", "guid", "console", "log", "buildNavigationOptionsArray", "setInterval", "clearRecentlyUpdatedStatus", "initialize", "_", "isNil", "WidgetSiteId", "FullDataCacheExists", "fullDataCacheSubscription", "fullDataCacheExists$", "subscribe", "data", "theme", "Theme", "unsubscribe", "dashboardTimeZoneChanged", "dashboardTimeZoneChangedSubscription", "foundWidgetWithSameWidgetId", "find", "widgetThatWasChanged", "WidgetId", "timeZoneType", "determineTimeZoneType", "localDateCol", "col", "siteDateCol", "utcDateCol", "includeInChooser", "getSignalRUpdates", "sql", "WidgetSystemId", "systemName", "systemsObject", "Name", "WidgetAssetId", "assetName", "assetsObject", "SQLActionAsPromise", "then", "forEach", "item", "RecentlyUpdated", "UTCDateFull", "convertMillisecondsToDateWithTimezoneOffset", "ObservationDateTimeMS", "UserDateFull", "Date", "siteUTCTimeOffset", "sites", "firstOrDefault", "site", "Site", "UTCTimeOffset", "SiteDateFull", "tagDataGrid", "gridDataSubject", "next", "isDisplayDataLive", "finishInitializingWidget", "joinAdditionalGroup", "createSqlListenerSubjectAndSubscribe", "Id", "cachedCollectionName", "sqlUpdateName", "User", "DebugMode", "sqlListenerSubjects", "sqlActiveSubject", "subject", "Subject$", "signalRData", "updateGridData", "widgetIsInViewSubscription", "widgetInViewChanged$", "widgetId", "eventDataRowForCalculation", "nativeElement", "getBoundingClientRect", "height", "WidgetKendoUIJson", "returnedParsedObject", "parseReturnedSettingsForDates", "mapGridSettings", "mergeTemplateAndSavedColumnsToOneGrid", "addOrUpdateHiddenColumnCountToDashboardWidget", "gridObject", "kendoGridParent", "gridState", "processSignalRObservation", "observation", "countOfObservations", "SignalR", "countOfSignalRObservations$", "GetJsonFromSignalR", "groupName", "isIncomingSignalRMessageApplicableToList", "service", "appliesToList", "recordExists", "TagId", "selectedSystem", "selectedAsset", "System", "Asset", "unshift", "splice", "recentlyUpdated", "where", "toArray", "event", "eventDataPageSize", "Math", "floor", "emptyArray", "sort", "a", "b", "orderIndex", "gridData", "process", "ngOnDestroy", "unsubscribeAndLeaveSqlListenerSubjects", "leaveAdditionalGroup", "navigationWidth", "selectedSite", "sitesObject", "viewAllSites", "id", "width", "name", "selected", "action", "changeSite", "children", "editWidgetName", "_reloadedWidget", "deleteFunction", "root", "opened", "PermittedSites", "SabelSite", "Active", "orderBy", "select", "newSite", "Systems", "system", "TypeId", "Assets", "length", "GetGateNameSortValue", "thenByDescending", "newSystem", "changeSystem", "asset", "AssetTypeId", "newAsset", "changeAsset", "navigationOption", "option", "push", "WidgetGateSystemId", "saveWidgetObject", "siteChange", "systemChange", "assetChange", "LogActivity", "WidgetTypeName", "fieldName", "fieldValue", "\u0275\u0275directiveInject", "DataService", "DashboardService", "KendoSettingsService", "ChangeDetectorRef", "SignalRCoreService", "UtilityService", "selectors", "viewQuery", "rf", "ctx", "SabelDataComponent_div_1_Template"] }