{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/aoi/aoi.component.ts","./src/app/components/aoi/aoi.component.html","./src/app/components/draw-tool/draw-tool.component.ts","./src/app/components/draw-tool/draw-tool.component.html","./src/app/components/header/header.component.ts","./src/app/components/header/header.component.html","./src/app/components/identify-buttons/identify-buttons.component.ts","./src/app/components/identify-buttons/identify-buttons.component.html","./src/app/components/tools/tools.component.ts","./src/app/components/tools/tools.component.html","./src/app/models.ts","./src/app/services/basemaps.ts","./src/app/services/http2.service.ts","./src/app/services/legend-options.service.ts","./src/app/services/loading.service.ts","./src/app/services/utils.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, ViewChild } from '@angular/core';\r\nimport { LegendOptionsService } from './services/legend-options.service';\r\nimport { LoadingService } from './services/loading.service';\r\nimport { UtilsService } from './services/utils.service';\r\nimport { Basemaps } from './services/basemaps';\r\nimport { environment } from '../environments/environment';\r\n\r\nimport esri = __esri;\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements AfterViewInit {\r\n\r\n @ViewChild('applicatoinMessages') private readonly applicationMessages: ElementRef;\r\n @ViewChild('auth') public auth: ElementRef;\r\n @ViewChild('basemapSwitcher') private readonly basemapSwitcherRef: ElementRef;\r\n @ViewChild('dataTable') private readonly dataTable: ElementRef;\r\n @ViewChild('disclaimerWindow') private readonly disclaimerWindow: ElementRef;\r\n @ViewChild('exportLayer') private readonly exportLayer: ElementRef;\r\n @ViewChild('extent') private readonly extent: ElementRef;\r\n @ViewChild('filterLayerOptionsWindow') private readonly filterLayerOptionsWindow: ElementRef;\r\n @ViewChild('galleryWindow') private readonly galleryWindow: ElementRef;\r\n @ViewChild('gallery') private readonly gallery: ElementRef;\r\n @ViewChild('header') private readonly headerRef: any;\r\n @ViewChild('identify') private readonly identify: ElementRef;\r\n @ViewChild('layerFilterContainer') private readonly layerFilterContainer: any;\r\n @ViewChild('layerFilterContainerWindow') private readonly layerFilterContainerWindow: ElementRef;\r\n @ViewChild('legend') private readonly legend: any;\r\n @ViewChild('map') private readonly mapRef: ElementRef;\r\n @ViewChild('spatialQuery') private readonly spatialQuery: ElementRef;\r\n @ViewChild('spatialQueryWindow') private readonly spatialQueryWindow: ElementRef;\r\n @ViewChild('symbolEditor') private readonly symbolEditor: ElementRef;\r\n @ViewChild('symbolEditorWindow') private readonly symbolEditorWindow: ElementRef;\r\n @ViewChild('tooltip') private readonly tooltip: ElementRef;\r\n\r\n constructor(\r\n private legendOptionsService: LegendOptionsService,\r\n private loadingService: LoadingService,\r\n private readonly utilsService: UtilsService,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private basemaps: Basemaps\r\n ) { }\r\n\r\n dataTableMinimized: boolean = false;\r\n disclaimerAccepted: boolean = false;\r\n title = environment.pdauthAppName;\r\n layerIdsToBeAdded: number[] = [];\r\n selectedLayers: any[];\r\n legendClosed: boolean = false;\r\n loadingArea: boolean = false;\r\n disableMapLoader: boolean = false;\r\n pdauthURL: string = environment.pdauthURL;\r\n warnAboutZoom: boolean = true;\r\n currentFeature: any;\r\n currentDocSources: any;\r\n filteringLayer;\r\n\r\n get isCWOPAUser(): boolean {\r\n //this.changeDetectorRef.detectChanges();\r\n return (this.utilsService.userPermissions && this.utilsService.userPermissions.indexOf('View CWOPA Data') >= 0);\r\n }\r\n\r\n get isLoggedIn() {\r\n return this.utilsService.user;\r\n }\r\n\r\n get firstPermission(): string {\r\n return '';\r\n }\r\n\r\n get mapLoaderTitle() {\r\n return this.loadingService.keys.map(x => x).join(' , ');\r\n }\r\n\r\n get showMapLoader() {\r\n return this.loadingService.show;\r\n }\r\n\r\n get dataTableOpened(): string {\r\n return this.dataTable && this.dataTable.nativeElement && this.dataTable.nativeElement.opened;\r\n }\r\n\r\n get currentScaleIsGreaterThanMinScale(): boolean {\r\n if (this.utilsService.esriMap.layers && this.utilsService.esriMapView.scale) {\r\n const currentScale = this.utilsService.esriMapView.scale;\r\n let minScale = environment.minScale;\r\n return currentScale > minScale;\r\n }\r\n return false;\r\n }\r\n\r\n async ngAfterViewInit() {\r\n this.setupDisclaimer();\r\n this.setupAuth();\r\n this.changeDetectorRef.detectChanges();\r\n await this.mapRef.nativeElement.ready;\r\n await this.setBasemap();\r\n await this.constructExtent();\r\n await this.setupBasemapSwitcher();\r\n this.refreshLegend();\r\n this.setupLayerFiltering();\r\n this.watchMapUpdating();\r\n this.watchZoomLevel();\r\n this.watchLayersAdded();\r\n this.setupIdentify();\r\n this.setupTooltip();\r\n }\r\n\r\n async setBasemap() {\r\n await this.mapRef.nativeElement.ready;\r\n await this.mapRef.nativeElement.setBasemapsFromConfig(this.basemaps.defaultBasemap);\r\n }\r\n\r\n async constructExtent() {\r\n await this.extent.nativeElement.ready;\r\n for (let extentConfig of environment.extentConfigs) {\r\n if (extentConfig.label === 'AOI') {\r\n extentConfig.extent = async () => await this.getAoi();\r\n }\r\n this.extent.nativeElement.addExtentConfiguration(extentConfig);\r\n }\r\n this.utilsService.extent = this.extent;\r\n }\r\n\r\n async getAoi() {\r\n const aoiLayer = this.mapRef.nativeElement.LayerService.getAoiLayers();\r\n if (aoiLayer.length) {\r\n const aoiExtent = await this.mapRef.nativeElement.LayerService.getLayerExtent(aoiLayer[0]);\r\n return aoiExtent;\r\n }\r\n }\r\n\r\n async setupBasemapSwitcher() {\r\n await this.basemapSwitcherRef.nativeElement.ready;\r\n this.basemapSwitcherRef.nativeElement.addBasemaps(this.basemaps.basemapList, this.basemaps.basemapConfigs);\r\n }\r\n\r\n setFilters() {\r\n this.filterLayerOptionsWindow.nativeElement.layerId = null;\r\n this.filterLayerOptionsWindow.nativeElement.close();\r\n\r\n Promise.all(this.selectedLayers.filter(l => l.filterType === 'showAll').map(layer => {\r\n const layerSettings = { id: layer.id };\r\n return this.mapRef.nativeElement.LayerService.addMapcoreLayersToMap([layerSettings]);\r\n }));\r\n\r\n Promise.all(this.selectedLayers.filter(l => l.filterType === 'aoi').map(layer => {\r\n const layerSettings = { id: layer.id, query: layer.aoiQuery };\r\n return this.mapRef.nativeElement.LayerService.addMapcoreLayersToMap([layerSettings]);\r\n }));\r\n\r\n this.selectedLayers = this.selectedLayers.filter(l => l.filterType === 'filter');\r\n this.layerIdsToBeAdded = this.selectedLayers.map(l => l.id);\r\n this.filterLayer({});\r\n }\r\n\r\n setupAuth() {\r\n this.utilsService.auth = this.auth;\r\n this.auth.nativeElement.user.subscribe(user => {\r\n this.utilsService.user = user;\r\n this.refreshLegend();\r\n\r\n if (user) {\r\n this.auth.nativeElement.PDAuthService.getUserSettings(null, environment.pdauthAppName, user.emailAddress).subscribe(result => {\r\n this.utilsService.userSettings = result.userSettings;\r\n this.utilsService.setupAOISelections();\r\n });\r\n }\r\n });\r\n\r\n this.auth.nativeElement.permissions.subscribe(permissions => {\r\n this.utilsService.userPermissions = permissions;\r\n this.refreshLegend();\r\n });\r\n }\r\n\r\n refreshLegend() {\r\n if (this.legend && this.mapRef.nativeElement.LayerService.allLayers) {\r\n this.legend.nativeElement.refreshTree();\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n }\r\n\r\n async filterLayer(event) {\r\n try {\r\n if (event.detail && event.detail.esriLayer) {\r\n return;\r\n }\r\n\r\n if (event.detail && event.detail.data) {\r\n const layerId = event.detail.id;\r\n if (this.layerIdsToBeAdded.indexOf(layerId) >= 0) {\r\n const layerSettings = { id: layerId, query: event.detail.data.query };\r\n await this.utilsService.mcMap.LayerService.addMapcoreLayersToMap([layerSettings]);\r\n var index = this.layerIdsToBeAdded.indexOf(layerId);\r\n if (index !== -1) this.layerIdsToBeAdded.splice(index, 1);\r\n this.layerFilterContainer.nativeElement.layerId = null; //Force a reset of the layerId\r\n }\r\n }\r\n\r\n if (this.selectedLayers.length > 0) {\r\n const nextLayer = this.selectedLayers.shift();\r\n this.layerFilterContainer.nativeElement.layerId = null; //Force a reset of the layerId\r\n this.layerFilterContainer.nativeElement.layerId = nextLayer.id;\r\n this.layerFilterContainerWindow.nativeElement.open();\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n setupDisclaimer() {\r\n const tireDisclaimerCookie = this.utilsService.getCookie('tire_disclaimer_accepted');\r\n this.disclaimerAccepted = tireDisclaimerCookie === 'true';\r\n if (!this.disclaimerAccepted) {\r\n this.disclaimerWindow.nativeElement.open();\r\n this.disclaimerWindow.nativeElement.addEventListener('openChange', open => {\r\n if (!open.detail) {\r\n if (!this.disclaimerAccepted) {\r\n this.redirectForNotAcceptingDisclaimer();\r\n }\r\n }\r\n });\r\n } else {\r\n this.openAoiOrLoadDeepLink();\r\n }\r\n }\r\n\r\n acceptDisclaimer() {\r\n this.disclaimerAccepted = true;\r\n this.disclaimerWindow.nativeElement.close();\r\n this.utilsService.setCookie(environment.disclaimerCookieName, 'true', environment.disclaimerExpirationDays);\r\n this.openAoiOrLoadDeepLink();\r\n }\r\n\r\n async openAoiOrLoadDeepLink() {\r\n if (window.location.search && window.location.search.indexOf('?') >= 0) {\r\n //Assume deepLink\r\n await this.mapRef.nativeElement.ready;\r\n this.utilsService.loadDeepLink();\r\n } else {\r\n this.utilsService.openAoi();\r\n }\r\n }\r\n\r\n doNotAcceptDisclaimer() {\r\n this.redirectForNotAcceptingDisclaimer();\r\n }\r\n\r\n redirectForNotAcceptingDisclaimer() {\r\n window.location.href = environment.disclaimerDoNotAcceptUrl;\r\n }\r\n\r\n presetTmsSitesColumnSettings() {\r\n const columnSettings = [];\r\n for (const value of environment.dataTableColumnNames) {\r\n columnSettings.push({ name: value });\r\n }\r\n this.dataTable.nativeElement.columnSettings = columnSettings;\r\n }\r\n\r\n setupLayerFiltering() {\r\n window.addEventListener('addingMapcoreLayersToMap', async (event) => {\r\n if (event) {\r\n this.selectedLayers = await Promise.all((event as any).detail.map(async l => {\r\n try {\r\n let canFilterByAoi;\r\n const aoiLayers = this.mapRef.nativeElement.LayerService.getAoiLayers();\r\n if (aoiLayers.length > 0) {\r\n l.aoiQuery = await this.mapRef.nativeElement.AoiService.generateFilterQuery({ parentId: l.id });\r\n canFilterByAoi = !!l.aoiQuery.field;\r\n }\r\n\r\n const filterType = canFilterByAoi ? 'aoi' : 'filter';\r\n return { ...l, ...{ filterType } };\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }));\r\n }\r\n this.filterLayerOptionsWindow.nativeElement.open();\r\n this.filterLayerOptionsWindow.nativeElement.layerId = null;\r\n });\r\n this.layerFilterContainer.nativeElement.addEventListener('onapply', (event) => {\r\n this.layerFilterContainerWindow.nativeElement.close();\r\n this.filterLayer.bind(this);\r\n this.filterLayer(event);\r\n });\r\n this.layerFilterContainer.nativeElement.addEventListener('ondone', (event) => {\r\n this.layerFilterContainerWindow.nativeElement.close();\r\n });\r\n\r\n this.layerFilterContainer.nativeElement.addEventListener('onlayerdata', e => {\r\n let name = e.detail.name;\r\n if (this.filteringLayer && this.filteringLayer.mapcoreProps) {\r\n name = this.filteringLayer.mapcoreProps.name;\r\n }\r\n this.layerFilterContainerWindow.nativeElement.windowTitle = `Layer Filter: ${name}`;\r\n });\r\n }\r\n\r\n closeFilterLayerOptionsWindow() {\r\n this.filterLayerOptionsWindow.nativeElement.close();\r\n }\r\n\r\n dismissMapLoader() {\r\n this.loadingService.dismiss();\r\n }\r\n\r\n onSymbolEditorClick(event) {\r\n const esriLayer = this.utilsService.getLayerByUniqueId(event.detail.uniqueLayerId);\r\n this.symbolEditorWindow.nativeElement.open();\r\n this.symbolEditor.nativeElement.uniqueLayerId = event.detail.uniqueLayerId;\r\n }\r\n\r\n onOptionSelect(event: CustomEvent) {\r\n const target = event.detail.target;\r\n const layerId = event.detail.layerId;\r\n const esriLayer = this.utilsService.getLayerByUniqueId(layerId);\r\n const exportLayerRef = this.exportLayer.nativeElement.getComponentReference();\r\n const buttonClass = target.className\r\n .replace('dropdown-link', '')\r\n .replace('btn btn-transparent icon-ui-filter', '')\r\n .trim().toLowerCase();\r\n\r\n switch (buttonClass) {\r\n case 'copy-option':\r\n this.utilsService.mcMap.LayerService.copyEsriLayer(esriLayer);\r\n break;\r\n case 'export-excel-option':\r\n exportLayerRef.layerId = esriLayer.mapcoreProps.parentId;\r\n const exportExcelParams = { layerId: esriLayer.mapcoreProps.parentId, query: esriLayer.mapcoreProps.query };\r\n exportLayerRef.ExportService.exportToExcelAndOpenUrl(exportExcelParams);\r\n break;\r\n case 'export-shapefile-option':\r\n exportLayerRef.layerId = esriLayer.mapcoreProps.parentId;\r\n const props = esriLayer.mapcoreProps;\r\n const rootQuery = { operator: 'AND', subqueries: [] };\r\n if (props.parentQuery) {\r\n rootQuery.subqueries.push(props.parentQuery);\r\n }\r\n\r\n if (props.query) {\r\n rootQuery.subqueries.push(props.query);\r\n }\r\n\r\n const exportShapeFileParams = {\r\n name: props.name,\r\n columns: props.columns,\r\n tables: props.tables,\r\n query: rootQuery\r\n };\r\n exportLayerRef.ExportService.exportToShapeFileAndOpenUrl(exportShapeFileParams);\r\n break;\r\n case 'filter-option':\r\n this.filteringLayer = esriLayer;\r\n this.layerFilterContainer.nativeElement.layerId = null; //Force a reset of the layerId\r\n this.layerFilterContainer.nativeElement.layerId = layerId;\r\n this.layerFilterContainerWindow.nativeElement.open();\r\n break;\r\n case 'data-table-option':\r\n if (esriLayer.mapcoreProps && environment.tmsStationLayerIds.indexOf(esriLayer.mapcoreProps.parentIds) >= 0) {\r\n this.presetTmsSitesColumnSettings();\r\n }\r\n this.dataTable.nativeElement.mapcoreProps = { ...esriLayer.mapcoreProps };\r\n this.dataTable.nativeElement.opened = true;\r\n break;\r\n case 'delete-option':\r\n this.mapRef.nativeElement.map.remove(esriLayer);\r\n break;\r\n case 'spatial-query-option':\r\n this.spatialQueryWindow.nativeElement.open();\r\n this.spatialQuery.nativeElement.primaryLayers = [esriLayer];\r\n this.spatialQuery.nativeElement.joinedLayers = this.utilsService.mapLayers.filter(l => l.id !== esriLayer.id).filter(l => l.title !== \"Identify\");\r\n this.spatialQuery.nativeElement.reset();\r\n break;\r\n case 'zoom-option':\r\n this.mapRef.nativeElement.zoomToLayer(layerId);\r\n break;\r\n case 'details':\r\n target.dispatchEvent(new CustomEvent('opendetails', { bubbles: true, cancelable: true }));\r\n break;\r\n default:\r\n break;\r\n }\r\n this.legendOptionsService.dropdownToggle(event.target as HTMLElement, event as any, true);\r\n }\r\n\r\n optionsAttached(event: CustomEvent<{ target: HTMLElement, layerId: string }>) {\r\n this.legendOptionsService.optionsAttached(event);\r\n }\r\n\r\n toggleLegend() {\r\n this.legendClosed = !this.legendClosed;\r\n }\r\n\r\n watchZoomLevel() {\r\n this.showAlertIfZoomIsTooLow();\r\n this.utilsService.esriMapView.watch('zoom', () => {\r\n this.refreshMinScaleOnLayers();\r\n this.showAlertIfZoomIsTooLow();\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n watchLayersAdded() {\r\n this.utilsService.mcMap.LayerService.mapLayersSub.subscribe(layers => {\r\n this.applyToolTips();\r\n this.refreshMinScaleOnLayers();\r\n this.applyCurrentYearFilters(layers);\r\n });\r\n }\r\n\r\n setupIdentify() {\r\n const loadingIdentifyKey = 'Loading Identify';\r\n this.utilsService.esriMapView.on('click', (event) => {\r\n if (this.identify.nativeElement.showIdentify) {\r\n this.loadingService.add(loadingIdentifyKey);\r\n this.utilsService.featureSelected = null;\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n });\r\n this.identify.nativeElement.addEventListener('featureUpdated', (event) => {\r\n if (event.detail) {\r\n const result = event.detail;\r\n this.utilsService.featureSelected = JSON.parse(JSON.stringify(result));\r\n this.utilsService.featureSelected.attributes = result.attributes.concat([]);\r\n if (result.sourceLayer) {\r\n this.utilsService.featureSelected.sourceLayer = result.sourceLayer;\r\n }\r\n this.loadingService.remove(loadingIdentifyKey);\r\n }\r\n });\r\n this.identify.nativeElement.addEventListener('status', status => {\r\n if (status.detail === 'loading') {\r\n this.loadingService.add('identify');\r\n } else {\r\n this.loadingService.remove('identify');\r\n }\r\n });\r\n this.utilsService.identify = this.identify;\r\n }\r\n\r\n setupTooltip() {\r\n this.utilsService.tooltip = this.tooltip;\r\n }\r\n\r\n refreshMinScaleOnLayers() {\r\n for (const layer of this.utilsService.mapLayers) {\r\n layer.minScale = environment.minScale;\r\n }\r\n }\r\n\r\n applyToolTips() {\r\n for (const layer of this.utilsService.mapLayers) {\r\n const showTooltips = layer.mapcoreProps && environment.tmsStationLayerIds.indexOf(layer.mapcoreProps.parentId) >= 0;\r\n if (layer.allSublayers && layer.allSublayers.items && layer.allSublayers.items.length) {\r\n if (layer.allSublayers.items[0].popupTemplate && !showTooltips) {\r\n layer.allSublayers.items[0].popupTemplate = null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n showAlertIfZoomIsTooLow() {\r\n if (this.utilsService.esriMap.layers && this.utilsService.esriMapView.scale) {\r\n if (this.currentScaleIsGreaterThanMinScale) {\r\n this.addZoomInApplicatonMessage();\r\n } else {\r\n this.warnAboutZoom = true;\r\n this.clearApplicationMessages();\r\n }\r\n }\r\n }\r\n\r\n watchMapUpdating() {\r\n this.utilsService.esriMapView.watch('updating', () => {\r\n const key = 'Map View Updating';\r\n if (this.utilsService.esriMapView.updating) {\r\n this.loadingService.add(key);\r\n } else {\r\n this.loadingService.remove(key);\r\n }\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n featureUpdated($event) {\r\n this.currentFeature = $event.detail;\r\n this.utilsService.customizeFeatureSelected(this.currentFeature);\r\n }\r\n\r\n docSourcesUpdated($event) {\r\n this.currentDocSources = $event.detail;\r\n document.body.click(); // needed to avoid change detection issue.\r\n }\r\n\r\n addZoomInApplicatonMessage() {\r\n setTimeout(() => {\r\n if (this.warnAboutZoom && this.currentScaleIsGreaterThanMinScale) {\r\n this.utilsService.addMessage('Zoom in to display layers');\r\n this.warnAboutZoom = false;\r\n }\r\n }, 100); // Timeout is required so this does not appear for newly loaded maps.\r\n }\r\n\r\n clearApplicationMessages() {\r\n this.applicationMessages.nativeElement.activeNotifications = [];\r\n setTimeout(() => {\r\n this.changeDetectorRef.detectChanges();\r\n }, 100);// Timeout is required for change detection to be applied properly\r\n }\r\n\r\n largerImageRequest($event) {\r\n if (this.currentDocSources) {\r\n this.galleryWindow.nativeElement.open();\r\n const imageSources = [];\r\n const permitNumber = this.currentFeature.attributes.filter(x => x.columnName === 'PERMIT_NUMBER')[0].value;\r\n let index = 0;\r\n for (const docSource of this.currentDocSources) {\r\n const docSourceFields = JSON.parse(docSource.fields);\r\n const featureAttribute = this.currentFeature.attributes.filter(x => x.columnName === docSourceFields.docImageField)[0];\r\n if (featureAttribute) {\r\n imageSources.push({\r\n docImageUrl: featureAttribute.value,\r\n docTitle: 'Permit Number: ' + permitNumber,\r\n docDesc: \"\"\r\n });\r\n }\r\n if ($event.detail[0].docImageUrl === featureAttribute.value) {\r\n this.gallery.nativeElement.currentImageIndex = index;\r\n }\r\n index++;\r\n }\r\n this.gallery.nativeElement.imageSources = imageSources;\r\n } else {\r\n this.utilsService.addMessage(\"Photos not found to load the gallery\");\r\n }\r\n }\r\n\r\n applyCurrentYearFilters(layers: any) {\r\n if (layers.mapImage) {\r\n for (const layer of layers.mapImage) {\r\n if (layer.mapcoreProps) {\r\n const layerId = layer.mapcoreProps.parentId;\r\n // The custom \"Current Year Traffic Count Assignment\" layers are in a specified layer id range.\r\n // They get a special filter based on the current year, cycle_year, and freq_cycle\r\n if (layerId >= environment.currentCountAssignmentsLayerRange[0] && layerId <= environment.currentCountAssignmentsLayerRange[1]) {\r\n const cycleYearValueForFreqCycle3 = this.getProperCycleYearValue(3);\r\n const cycleYearValueForFreqCycle5 = this.getProperCycleYearValue(5);\r\n layer.mapcoreProps.query = {\r\n 'operator': 'OR',\r\n 'subqueries': [\r\n {\r\n 'operator': 'AND', 'subqueries': [\r\n { 'field': 'cycle_year', 'operator': '=', 'value': '01' },\r\n { 'field': 'freq_cycle', 'operator': '=', 'value': '01' }\r\n ]\r\n },\r\n {\r\n 'operator': 'AND', 'subqueries': [\r\n { 'field': 'cycle_year', 'operator': '=', 'value': `${cycleYearValueForFreqCycle3}` },\r\n { 'field': 'freq_cycle', 'operator': '=', 'value': '03' }\r\n ]\r\n },\r\n {\r\n 'operator': 'AND', 'subqueries': [\r\n { 'field': 'cycle_year', 'operator': '=', 'value': `${cycleYearValueForFreqCycle5}` },\r\n { 'field': 'freq_cycle', 'operator': '=', 'value': '05' }\r\n ]\r\n }\r\n ]\r\n }\r\n this.utilsService.mcMap.LayerService.updateLayerFilter(layer, layer.mapcoreProps.query);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n getProperCycleYearValue(frequencyCycle: number) {\r\n let currentYear = (new Date()).getFullYear();\r\n // This window.year is for testing different years\r\n if ((window).year) {\r\n currentYear = (window).year;\r\n }\r\n const baseYear = environment.cycleBaseYear;\r\n const cycleYear = (currentYear - baseYear) % frequencyCycle + 1;\r\n return `0${cycleYear}`;\r\n }\r\n\r\n onImportShapefileDrop(event: DragEvent) {\r\n this.loadingService.add('shapefile');\r\n }\r\n\r\n onImportShapefileDone(event: DragEvent) {\r\n this.loadingService.remove('shapefile');\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
\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 \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 Welcome to TIRe (Traffic Information Repository), a web application for providing traffic count data\r\n to various agencies and to the public. TIRe is designed to enable Internet users to view interactive\r\n maps of traffic counter site locations and traffic count information for roadways throughout the\r\n Commonwealth of Pennsylvania.\r\n

\r\n

\r\n The Commonwealth of Pennsylvania, acting through the Pennsylvania Department of Transportation\r\n (PennDOT), provides the information and data contained on this website in good faith. PennDOT makes\r\n no claims, promises, or guarantees about the accuracy, completeness, or adequacy of the Data.\r\n PennDOT shall have no liability for the Data which is provided “as is” and without any warranty\r\n whatsoever, express or implied. The Data is and shall remain the property of PennDOT and shall be\r\n clearly identified and marked as such by the user in all media. PennDOT assumes no liability for any\r\n virus or other damage to any computer that occurs as the result of accessing the Data. PennDOT\r\n reserves the right to make improvements and/or changes to the products or programs within this\r\n application at any time, with or without notice.\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

Select a filter option for each layer.

\r\n
\r\n {{layer.name}}\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\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\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
","import { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { AoiComponent } from './components/aoi/aoi.component';\r\nimport { DrawToolComponent } from './components/draw-tool/draw-tool.component';\r\n\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { IdentifyButtonsComponent } from './components/identify-buttons/identify-buttons.component';\r\nimport { ToolsComponent } from './components/tools/tools.component';\r\n\r\nimport { Basemaps } from './services/basemaps';\r\nimport { Http2Service } from './services/http2.service';\r\nimport { LoadingService } from './services/loading.service';\r\nimport { LegendOptionsService } from './services/legend-options.service';\r\nimport { UtilsService } from './services/utils.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n AoiComponent,\r\n DrawToolComponent,\r\n HeaderComponent,\r\n IdentifyButtonsComponent,\r\n ToolsComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n FormsModule\r\n ],\r\n providers: [Basemaps, Http2Service, HttpClient, LegendOptionsService, LoadingService, UtilsService],\r\n bootstrap: [AppComponent],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class AppModule { }\r\n","import { ChangeDetectorRef, Component, ViewChild, ElementRef, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Juris } from './../../models';\r\nimport { LoadingService } from '../../services/loading.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\n\r\n@Component({\r\n selector: 'app-aoi',\r\n templateUrl: './aoi.component.html',\r\n styleUrls: ['./aoi.component.css']\r\n})\r\n\r\nexport class AoiComponent implements AfterViewInit {\r\n @ViewChild('stateTab') private readonly stateTab: ElementRef;\r\n @ViewChild('regionTab') private readonly regionTab: ElementRef;\r\n @ViewChild('routeTab') private readonly routeTab: ElementRef;\r\n @ViewChild('assetIdTab') private readonly assetIdTab: ElementRef;\r\n @ViewChild('addressTab') private readonly addressTab: ElementRef;\r\n @ViewChild('latLongTab') private readonly latLongTab: ElementRef;\r\n @ViewChild('intersectionTab') private readonly intersectionTab: ElementRef;\r\n @ViewChild('mapPicker') private readonly mapPicker: ElementRef;\r\n\r\n @Input() mapRef: any;\r\n\r\n @Output('done') done: EventEmitter = new EventEmitter();\r\n\r\n @Input() loggedIn = true;\r\n @Output('shouldLogIn') shouldLogIn: EventEmitter = new EventEmitter();\r\n\r\n includeNonStateNonFederalAidRoutes: boolean = false;\r\n isLoading: boolean;\r\n\r\n hasExistingLayers: boolean;\r\n useExistingMap: boolean;\r\n\r\n aoiTabs = [\r\n { name: \"State\" },\r\n { name: \"Region\", active: true },\r\n { name: \"Route\" },\r\n { name: \"Asset Id\" },\r\n { name: \"Address\" },\r\n { name: \"Lat/Long\" }\r\n ];\r\n\r\n activeTab: any;\r\n aoiService: any;\r\n layerService: any;\r\n mapService: any;\r\n routeSelectionType: 'standard' | 'corridor' = 'standard';\r\n corridorRoutes: string[] = null;\r\n corridorRoute: string;\r\n\r\n constructor(private loadingService: LoadingService, private readonly utilsService: UtilsService, private changeDetectorRef: ChangeDetectorRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.aoiService = this.stateTab.nativeElement.AoiService;\r\n this.layerService = this.mapRef.LayerService;\r\n this.mapService = this.mapRef.MapService;\r\n\r\n this.activeTab = this.regionTab;\r\n this.assetIdTab.nativeElement.config = environment.aoiSettings.assetIdConfig;\r\n this.assetIdTab.nativeElement.properties = environment.aoiSettings.assetIdProperties;\r\n this.mapPicker.nativeElement.config = environment.aoiSettings.mapPickerConfig;\r\n\r\n this.utilsService.aoiRegion = this.regionTab;\r\n\r\n this.layerService.mapLayersSub.subscribe(layers => {\r\n if (layers) {\r\n this.hasExistingLayers = (Object.values(layers) as any).flat().length > 0 ? true : false;\r\n this.useExistingMap = this.hasExistingLayers;\r\n }\r\n });\r\n }\r\n\r\n activateTab() {\r\n this.activeTab.nativeElement.activate();\r\n }\r\n\r\n async onTabChange(event) {\r\n switch (event.detail.name) {\r\n case 'State':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.stateTab;\r\n this.activateTab();\r\n break;\r\n\r\n case 'Region':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.regionTab;\r\n this.activateTab();\r\n break;\r\n\r\n case 'Route':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.routeTab;\r\n if (!this.corridorRoutes) {\r\n this.corridorRoutes = await this.utilsService.getCorridorRoutes();\r\n }\r\n\r\n this.activateTab();\r\n this.setJurisValuesInRouteComponent();\r\n break;\r\n\r\n case 'Asset Id':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.assetIdTab;\r\n this.activateTab();\r\n break;\r\n\r\n case 'Address':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.addressTab;\r\n this.activateTab();\r\n break;\r\n\r\n case 'Lat/Long':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.latLongTab;\r\n this.activateTab();\r\n break;\r\n case 'Intersection':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.intersectionTab;\r\n this.activateTab();\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n regionsLoaded(event) {\r\n if (this.utilsService.userSettings) {\r\n\r\n }\r\n }\r\n\r\n existingMapChanged(event) {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n nonStateNonFederalCheckboxChange(event) {\r\n this.setJurisValuesInRouteComponent();\r\n }\r\n\r\n private async loadMap() {\r\n const map = this.getMapFromPicker();\r\n if (map) {\r\n await this.mapService.openMap(map, true);\r\n } else {\r\n await this.mapService.resetMap();\r\n }\r\n }\r\n\r\n public async generateMap() {\r\n const loadingIdentifyKey = 'generateMap';\r\n this.loadingService.add(loadingIdentifyKey);\r\n if (this.corridorRoute && this.routeSelectionType === 'corridor') {\r\n this.routeTab.nativeElement.route = { stateRouteNumber: this.corridorRoute };\r\n }\r\n this.closeAoiTool();\r\n try {\r\n let visibleLayerIds = this.getVisibleLayerIdsFromMap();\r\n if (!this.useExistingMap) {\r\n await this.loadMap();\r\n }\r\n this.activeTab.nativeElement.addResultToMap();\r\n const result = await this.aoiService.showBySearchCriterias();\r\n if (visibleLayerIds.length > 0) {\r\n this.aoiService.turnOnLayerIds(visibleLayerIds);\r\n }\r\n return result;\r\n } finally {\r\n this.loadingService.remove(loadingIdentifyKey);\r\n }\r\n }\r\n\r\n getMapFromPicker() {\r\n const map = this.mapPicker.nativeElement.map;\r\n if (map && map.data) {\r\n return map;\r\n }\r\n return null;\r\n }\r\n\r\n getMapData() {\r\n const map = this.getMapFromPicker();\r\n if (map && map.data) {\r\n return JSON.parse(map.data);\r\n }\r\n return null\r\n }\r\n\r\n getVisibleLayerIdsFromMap() {\r\n const mapData = this.getMapData();\r\n if (mapData) {\r\n if (mapData && mapData.layers) {\r\n return mapData.layers.filter(x => x.id && (x.visible || x.visible === undefined)).map(x => x.id);\r\n }\r\n }\r\n return [];\r\n }\r\n\r\n closeAoiTool() {\r\n this.done.emit(true);\r\n }\r\n\r\n login(e: MouseEvent) {\r\n this.shouldLogIn.emit(e);\r\n }\r\n\r\n setJurisValuesInRouteComponent() {\r\n const jurisValues = [Juris.State, Juris.Turnpike, Juris.NonStateFederalAid, Juris.TollBridge];\r\n if (this.includeNonStateNonFederalAidRoutes) {\r\n jurisValues.push(Juris.NonStateNonFederalAid);\r\n }\r\n this.routeTab.nativeElement.jurisValues = jurisValues;\r\n }\r\n}\r\n","
\r\n Step 1.Choose area of interest\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Standard\r\n
\r\n
\r\n \r\n Corridor\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Include non-state non-federal aid routes\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 Step 2.\r\n \r\n Select a map template\r\n
\r\n \r\n
\r\n
\r\n
Traffic counts identified with an asterisk (*) may be under represented due to the\r\n COVID-19 pandemic.\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { tabs } from 'calcite-web';\r\n\r\n@Component({\r\n selector: 'app-draw-tool',\r\n templateUrl: './draw-tool.component.html',\r\n styleUrls: ['./draw-tool.component.css']\r\n})\r\nexport class DrawToolComponent implements OnInit {\r\n @ViewChild('map', { static: true }) private readonly mapRef: ElementRef;\r\n @ViewChild('pointTab', { static: true }) private readonly pointTab: ElementRef;\r\n @ViewChild('lineTab', { static: true }) private readonly lineTab: ElementRef;\r\n @ViewChild('polygonTab', { static: true }) private readonly polygonTab: ElementRef;\r\n @ViewChild('textTab', { static: true }) private readonly textTab: ElementRef;\r\n @ViewChild('buffer', { static: true }) private readonly buffer: any;\r\n\r\n activeTab: ElementRef;\r\n defaultSymbolProperties: any = {\r\n point: {\r\n type: 'simple-marker',\r\n style: 'circle',\r\n color: 'rgb(101, 135, 119)',\r\n size: '16px',\r\n outline: {\r\n color: 'black',\r\n width: 1\r\n }\r\n },\r\n line: {\r\n type: 'simple-line',\r\n style: 'solid',\r\n color: 'rgb(101, 135, 119)',\r\n width: 1,\r\n cap: 'round',\r\n join: 'round'\r\n },\r\n polygon: {\r\n type: 'simple-fill',\r\n color: 'rgb(101, 135, 119)',\r\n style: 'solid',\r\n outline: {\r\n color: 'black',\r\n style: 'solid',\r\n width: 1\r\n }\r\n },\r\n text: {\r\n type: 'text',\r\n color: 'black',\r\n horizontalAlignment: 'center',\r\n verticalAlignment: 'bottom',\r\n font: {\r\n size: '16px',\r\n family: 'Arial',\r\n weight: 'normal'\r\n }\r\n }\r\n };\r\n defaultToolType: string = 'point';\r\n initialized: boolean;\r\n tabs: any[] = [];\r\n\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n ngOnInit() {\r\n tabs();\r\n this.initializeTabs();\r\n }\r\n\r\n initializeTabs() {\r\n for (const toolType of Object.keys(this.defaultSymbolProperties)) {\r\n this[toolType + 'Tab'].nativeElement.symbolProperties = this.defaultSymbolProperties[toolType];\r\n }\r\n this.initialized = true;\r\n }\r\n\r\n activateTabByName(toolType: string) {\r\n const tabName = toolType + 'Tab';\r\n if (this.activeTab) {\r\n this.activeTab.nativeElement.enabled = false;\r\n }\r\n this[tabName].nativeElement.enabled = true;\r\n this.activeTab = this[tabName];\r\n }\r\n\r\n open() {\r\n if (!this.initialized) {\r\n this.initializeTabs();\r\n }\r\n if (this.activeTab) {\r\n this.activeTab.nativeElement.enabled = true;\r\n } else {\r\n this.activateTabByName(this.defaultToolType);\r\n this.elementRef.nativeElement.querySelector('#' + this.defaultToolType + '-tab-title').classList.add('is-active');\r\n }\r\n }\r\n\r\n close() {\r\n if (this.activeTab && this.activeTab.nativeElement) {\r\n this.activeTab.nativeElement.enabled = false;\r\n }\r\n }\r\n\r\n onDrawComplete(event) {\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
\r\n
\r\n
","import { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core';\r\n\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { AoiComponent } from '../aoi/aoi.component';\r\nimport { environment } from '../../../environments/environment';\r\nimport { ToolsComponent } from '../tools/tools.component';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements AfterViewInit {\r\n\r\n @ViewChild('aboutWindow') private readonly aboutWindow: ElementRef;\r\n @ViewChild('aoi') private aoi: AoiComponent;\r\n @ViewChild('aoiWindow') private aoiWindow: ElementRef;\r\n @ViewChild('bookmarks', { static: true }) private bookmarks: ElementRef;\r\n @ViewChild('bookmarksWindow', { static: true }) private bookmarksWindow: ElementRef;\r\n @ViewChild('contactUsWindow') private readonly contactUsWindow: ElementRef;\r\n @ViewChild('layerCatalog') private readonly layerCatalog: ElementRef;\r\n @ViewChild('layerCatalogWindow') private readonly layerCatalogWindow: ElementRef;\r\n @ViewChild('mapCatalog') private readonly mapCatalog: ElementRef;\r\n @ViewChild('mapCatalogWindow') private readonly mapCatalogWindow: ElementRef;\r\n @ViewChild('print') private readonly print: ElementRef;\r\n @ViewChild('printWindow') private readonly printWindow: ElementRef;\r\n @ViewChild('saveMap') private readonly saveMap: ElementRef;\r\n @ViewChild('saveMapWindow') private readonly saveMapWindow: ElementRef;\r\n @ViewChild('search') private readonly search: ElementRef;\r\n @ViewChild('tools') private tools: ToolsComponent;\r\n @ViewChild('userSettings', { static: true }) private userSettings: ElementRef;\r\n @ViewChild('userSettingsWindow', { static: true }) private userSettingsWindow: ElementRef;\r\n\r\n showAboutMenu: boolean = false;\r\n showLoginMenu: boolean = false;\r\n showMapMenu: boolean = false;\r\n\r\n constructor(\r\n private utilsService: UtilsService\r\n ) { }\r\n\r\n @Input() auth: any;\r\n\r\n ngAfterViewInit() {\r\n this.search.nativeElement.excludeTypes = ['map'];\r\n this.search.nativeElement.filterLayersBeforeAdd = true;\r\n this.utilsService.aoi = this.aoi;\r\n this.utilsService.userSettings = this.userSettings;\r\n const userSettingsNames = ['counties', 'extent'];\r\n this.userSettings.nativeElement.userSettingsConfigs = this.userSettings.nativeElement.userSettingsConfigs.filter(x => userSettingsNames.indexOf(x.name) >= 0);\r\n this.utilsService.aoiWindow = this.aoiWindow;\r\n this.aoi.done.subscribe(_ => this.closeAoi());\r\n this.closeMenuItemOnPageClick('about', () => { this.showAboutMenu = false; });\r\n this.closeMenuItemOnPageClick('login', () => { this.showLoginMenu = false; });\r\n this.closeMenuItemOnPageClick('map', () => { this.showMapMenu = false; });\r\n\r\n this.bookmarksWindow.nativeElement.addEventListener('openChange', open => {\r\n this.bookmarks.nativeElement.active = open.detail;\r\n });\r\n this.userSettingsWindow.nativeElement.addEventListener('openChange', open => {\r\n this.userSettings.nativeElement.active = open.detail;\r\n });\r\n }\r\n\r\n get appId() {\r\n return environment.appId;\r\n }\r\n\r\n get isLoggedIn() {\r\n return this.utilsService.user;\r\n }\r\n\r\n get rootUrl() {\r\n return this.utilsService.getRootUrl();\r\n }\r\n\r\n get imagePath() {\r\n let path = '';\r\n if (this.rootUrl) {\r\n path = this.rootUrl;\r\n }\r\n if (!environment.dotNetCore && location.href.indexOf('localhost:') < 0) {\r\n path += '/wwwroot';\r\n }\r\n return path + '/assets/images';\r\n }\r\n\r\n get mcMap() {\r\n return this.utilsService.mcMap;\r\n }\r\n\r\n get username(): string {\r\n return this.utilsService.user ? this.utilsService.user.fullName : null;\r\n }\r\n\r\n get version(): string {\r\n return environment.version;\r\n }\r\n\r\n openAbout() {\r\n this.aboutWindow.nativeElement.open();\r\n }\r\n\r\n openAoi() {\r\n this.utilsService.openAoi();\r\n }\r\n\r\n openBookmarks(e: MouseEvent) {\r\n e.preventDefault();\r\n this.bookmarksWindow.nativeElement.open();\r\n }\r\n\r\n openContactUs() {\r\n this.contactUsWindow.nativeElement.open();\r\n }\r\n\r\n openLayerCatalog() {\r\n this.layerCatalogWindow.nativeElement.open();\r\n this.layerCatalog.nativeElement.active = true;\r\n }\r\n\r\n openMapCatalog() {\r\n this.mapCatalogWindow.nativeElement.open();\r\n this.mapCatalog.nativeElement.active = true;\r\n }\r\n\r\n openPrintWindow() {\r\n this.utilsService.identify.nativeElement.deactivate();\r\n this.printWindow.nativeElement.open();\r\n this.print.nativeElement.active = true;\r\n }\r\n\r\n openSaveMapWindow() {\r\n this.saveMapWindow.nativeElement.open();\r\n }\r\n\r\n openUserSettings(e: MouseEvent) {\r\n e.preventDefault();\r\n this.userSettingsWindow.nativeElement.open();\r\n }\r\n\r\n closeAoi() {\r\n this.aoiWindow.nativeElement.close();\r\n }\r\n\r\n closeAbout() {\r\n this.aboutWindow.nativeElement.close();\r\n }\r\n\r\n closeLayerCatalog() {\r\n this.layerCatalogWindow.nativeElement.close();\r\n }\r\n\r\n closeMapCatalog() {\r\n this.mapCatalogWindow.nativeElement.close();\r\n }\r\n\r\n closeMenuItemOnPageClick(cssClass: string, methodToCloseMenuItem: () => void) {\r\n const body = document.getElementsByTagName('body')[0];\r\n body.addEventListener('click', (e: any) => {\r\n const pathClasses = e.composedPath().map(x => x.className);\r\n if (pathClasses.filter(x => x && x.indexOf(`btn ${cssClass}`) >= 0).length === 0) {\r\n methodToCloseMenuItem();\r\n }\r\n });\r\n }\r\n\r\n closeContactUs() {\r\n this.contactUsWindow.nativeElement.close();\r\n }\r\n\r\n userSettingsActive(event) {\r\n if (!event.detail) {\r\n this.userSettingsWindow.nativeElement.close();\r\n }\r\n }\r\n\r\n userSettingsLoaded(event) {\r\n this.utilsService.userSettings = event.detail;\r\n this.utilsService.setupAOISelections();\r\n }\r\n\r\n layersAddedFromCatalog(e: CustomEvent) {\r\n this.layerCatalogWindow.nativeElement.close();\r\n }\r\n\r\n layerCatalogWindowOpenChange(e: CustomEvent) {\r\n if (e.detail === false) {\r\n this.layerCatalog.nativeElement.active = false;\r\n }\r\n }\r\n\r\n login() {\r\n this.utilsService.auth.nativeElement.login();\r\n }\r\n\r\n logout() {\r\n this.utilsService.auth.nativeElement.logout();\r\n }\r\n\r\n toggleAboutMenu() {\r\n this.showAboutMenu = !this.showAboutMenu;\r\n }\r\n\r\n toggleLoginMenu() {\r\n this.showLoginMenu = !this.showLoginMenu;\r\n }\r\n\r\n toggleMapsMenu() {\r\n this.showMapMenu = !this.showMapMenu;\r\n }\r\n\r\n toggleTools() {\r\n this.tools.visible = !(this.tools).visible;\r\n }\r\n\r\n onPrintWindowOpenChange(e) {\r\n if (!e.detail) {\r\n this.utilsService.identify.nativeElement.activate();\r\n (this.print).nativeElement.active = false;\r\n }\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n \"PennDOT\r\n

Traffic Information Repository (TIRe)

\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\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 \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n
\r\n

PennDOT Traffic Information Repository (TIRe)

\r\n
Version: {{ version }}
\r\n

Welcome to TIRe (Traffic Information Repository), a web application for providing\r\n traffic count data to\r\n various agencies and to the public. TIRe is designed to enable Internet users to view interactive maps\r\n of traffic counter site locations and traffic count information for roadways throughout the Commonwealth\r\n of Pennsylvania.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n

Please feel free to contact a representative with any questions, comments or issues at the following\r\n email:\r\n ra-penndottrafficstats@state.pa.us\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","import { Component, Input } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nimport { UtilsService } from '../../services/utils.service';\r\n\r\n@Component({\r\n selector: 'app-identify-buttons',\r\n templateUrl: './identify-buttons.component.html',\r\n styleUrls: ['./identify-buttons.component.css']\r\n})\r\nexport class IdentifyButtonsComponent {\r\n\r\n @Input() visible: boolean = false;\r\n\r\n constructor(\r\n private utilsService: UtilsService\r\n ) {\r\n }\r\n\r\n get selectedFeatureData(): any {\r\n return this.utilsService.featureSelected;\r\n }\r\n\r\n get showOpenStreetViewButton(): boolean {\r\n return this.utilsService.isSelectedFeatureATMSSite();\r\n }\r\n\r\n get showOpenReportsButton(): boolean {\r\n return this.utilsService.isSelectedFeatureATMSSite();\r\n }\r\n\r\n openStreetView() {\r\n const streetView: any = document.getElementById('streetView');\r\n streetView.lat = this.utilsService.getAttributeValueMatchingColumnName('FN_LATITUDE');\r\n streetView.long = this.utilsService.getAttributeValueMatchingColumnName('FN_LONGITUDE');\r\n this.utilsService.openStreetView();\r\n }\r\n\r\n openReports() {\r\n const tmsSiteNo = this.utilsService.getAttributeValueMatchingColumnName('TMS_SITE_NO');\r\n const url = `${environment.appPath}/tms-sites/${tmsSiteNo}/report`;\r\n window.open(url);\r\n }\r\n\r\n}","
\r\n \r\n \r\n
","import { AfterContentInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport * as calcite from 'calcite-web';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { DrawToolComponent } from '../draw-tool/draw-tool.component';\r\n\r\n@Component({\r\n selector: 'app-tools',\r\n templateUrl: './tools.component.html',\r\n styleUrls: ['./tools.component.css']\r\n})\r\nexport class ToolsComponent implements AfterContentInit {\r\n\r\n @ViewChild('area') private areaRef: ElementRef;\r\n @ViewChild('drawTool') private drawTool: DrawToolComponent;\r\n @ViewChild('distance') private distanceRef: ElementRef;\r\n @ViewChild('coordinates') private coordinatesRef: ElementRef;\r\n @ViewChild('calloutTool') private calloutTool: ElementRef;\r\n @ViewChild('calloutToolWindow') private calloutToolWindow: ElementRef;\r\n @ViewChild('drawToolWindow', { static: true }) private drawToolWindow: ElementRef;\r\n @ViewChild('measureToolsWindow') private measureToolsWindow: ElementRef;\r\n @ViewChild('petl', { static: true }) private petl: ElementRef;\r\n @ViewChild('petlWindow', { static: true }) private petlWindow: ElementRef;\r\n @ViewChild('streetView') private streetView: ElementRef;\r\n @ViewChild('streetViewWindow', { static: true }) private streetViewWindow: ElementRef;\r\n @ViewChild('videoLogWindow') private videoLogWindow: ElementRef;\r\n @ViewChild('tabs') private tabsRef: ElementRef;\r\n\r\n @Input() visible: boolean;\r\n streetViewInitialized: boolean;\r\n videoLogInitialized: boolean;\r\n\r\n constructor(\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private utilsService: UtilsService,\r\n ) { }\r\n\r\n ngAfterContentInit() {\r\n calcite.dropdown();\r\n this.closeToolsOnClick();\r\n this.drawToolWindow.nativeElement.addEventListener('openChange', open => {\r\n open.detail ? this.drawTool.open() : this.drawTool.close();\r\n this.utilsService.activateIdentify(!open.detail);\r\n });\r\n this.utilsService.streetViewWindow = this.streetViewWindow;\r\n this.utilsService.streetView = this.streetView;\r\n\r\n this.petlWindow.nativeElement.addEventListener('openChange', open => {\r\n this.petl.nativeElement.active = open.detail;\r\n if (open.detail) {\r\n this.petl.nativeElement.initialize();\r\n }\r\n });\r\n\r\n this.utilsService.streetViewWindow = this.streetViewWindow;\r\n }\r\n\r\n get tooltipsTextOnOrOff(): string {\r\n const tooltipEnabled = this.utilsService.tooltip && this.utilsService.tooltip.nativeElement.tooltipEnabled;\r\n return tooltipEnabled ? 'Off' : 'On';\r\n }\r\n\r\n closePetl(e: MouseEvent) {\r\n e.preventDefault();\r\n this.petlWindow.nativeElement.close();\r\n }\r\n\r\n closeToolsOnClick() {\r\n const body = document.getElementsByTagName('body')[0];\r\n body.addEventListener('click', (e: any) => {\r\n const pathClases = e.composedPath().map(x => x.className);\r\n if (pathClases.indexOf('btn tools') < 0) {\r\n this.visible = false;\r\n }\r\n });\r\n }\r\n\r\n onDrawToolWindowOpenChange(e) {\r\n if (!e.detail) {\r\n this.drawTool.close();\r\n }\r\n }\r\n\r\n onCalloutBoxWindowOpenChange(e) {\r\n if (!e.detail) {\r\n (this.calloutTool).nativeElement.active = false;\r\n this.utilsService.identify.nativeElement.activate();\r\n }\r\n }\r\n\r\n onMeasureToolWindowOpenChange(e) {\r\n if (!e.detail) {\r\n this.areaRef.nativeElement.active = false;\r\n this.distanceRef.nativeElement.active = false;\r\n this.utilsService.identify.nativeElement.activate();\r\n }\r\n }\r\n\r\n onMeasureToolsTabChanged(e) {\r\n const refs = {\r\n 'Area': this.areaRef,\r\n 'Coordinates': this.coordinatesRef,\r\n 'Distance': this.distanceRef\r\n };\r\n for (const ref of Object.keys(refs)) {\r\n refs[ref].nativeElement.active = ref === e.detail.name;\r\n }\r\n }\r\n\r\n onStreetViewWindowOpenChange(e) {\r\n if (!e.detail) {\r\n (this.streetViewWindow).nativeElement.active = false;\r\n (this.streetView).nativeElement.active = false;\r\n (this.streetView).nativeElement.lat = null;\r\n (this.streetView).nativeElement.long = null;\r\n }\r\n }\r\n\r\n onVideoLogWindowOpenChange(e) {\r\n if (!e.detail) {\r\n (this.videoLogWindow).nativeElement.active = false;\r\n }\r\n }\r\n\r\n openDrawTool() {\r\n this.drawToolWindow.nativeElement.open();\r\n }\r\n\r\n openCalloutBox() {\r\n this.utilsService.identify.nativeElement.deactivate();\r\n this.calloutToolWindow.nativeElement.open();\r\n (this.calloutTool).nativeElement.active = true;\r\n }\r\n\r\n openMeasureTools() {\r\n this.utilsService.identify.nativeElement.deactivate();\r\n this.measureToolsWindow.nativeElement.open();\r\n this.tabsRef.nativeElement.activateTab('Distance');\r\n this.distanceRef.nativeElement.active = true;\r\n }\r\n\r\n openPetl(e: MouseEvent) {\r\n e.preventDefault();\r\n this.petlWindow.nativeElement.open();\r\n }\r\n\r\n openStreetView() {\r\n this.utilsService.openStreetView();\r\n }\r\n\r\n openVideoLog() {\r\n if (!this.videoLogInitialized) {\r\n const videoLog: any = document.getElementById('videoLog');\r\n this.utilsService.videoLogWindow = this.videoLogWindow;\r\n this.videoLogWindow.nativeElement.addEventListener('openChange', e => {\r\n videoLog.active = e.detail;\r\n });\r\n this.videoLogInitialized = true;\r\n }\r\n this.videoLogWindow.nativeElement.open();\r\n }\r\n\r\n toggleTooltips() {\r\n this.utilsService.tooltip.nativeElement.tooltipEnabled = !this.utilsService.tooltip.nativeElement.tooltipEnabled;\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 \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\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 \r\n
\r\n
","import esri = __esri;\r\n\r\nexport interface IAssetIdConfig {\r\n columnName?: string;\r\n displayName?: string;\r\n idType?: string;\r\n propName?: string;\r\n fieldName?: string;\r\n layerId?: number;\r\n}\r\n\r\ninterface IAOISettings {\r\n assetIdConfig: IAssetIdConfig[];\r\n mapPickerConfig: any;\r\n}\r\n\r\nexport interface IColumn {\r\n name?: string;\r\n alias?: string;\r\n columnIdentifier?: IColumnIdentifier\r\n}\r\n\r\nexport interface IColumnIdentifier {\r\n name?: string;\r\n}\r\n\r\nexport interface IFeature {\r\n attributes?: IAttribute[];\r\n sourceLayer?: ILayer;\r\n geometry?: any;\r\n layerName?: string;\r\n isAdded?: boolean;\r\n}\r\n\r\nexport type IGraphicType = \"proposal\" | \"highlight\";\r\n\r\nexport interface IAttribute {\r\n columnName?: string;\r\n displayName?: string;\r\n value?: any;\r\n}\r\n\r\nexport interface ILayerToAdd {\r\n columnName?: string;\r\n layerId?: number;\r\n value?: string;\r\n}\r\n\r\nexport interface ILayerSettings extends ILayer {\r\n zoomToLayer?: boolean;\r\n generateNewLayer?: boolean;\r\n query?: any;\r\n}\r\n\r\nexport interface ILayerColumnList {\r\n layerId?: number;\r\n columnList?: string[];\r\n}\r\n\r\nexport interface ILayer {\r\n id?: number;\r\n layer?: ILayer;\r\n mapcoreProps?: any;\r\n}\r\n\r\nexport interface ILayerColumnValueOverrides {\r\n layerId?: number;\r\n columnValueDescriptions?: IColumnValuesAndDescriptions[];\r\n}\r\n\r\nexport interface IColumnValuesAndDescriptions {\r\n columnName: string;\r\n valuesAndDescriptions: string[];\r\n}\r\n\r\nexport interface IGraphicsLayer extends esri.GraphicsLayer {\r\n mapcoreProps: any;\r\n}\r\n\r\nexport interface IRMSKey {\r\n countyCode?: string;\r\n stateRouteNumber?: string;\r\n beginSegment?: string;\r\n sideIndicator?: string;\r\n juris?: string;\r\n}\r\n\r\nexport interface IEsriLayer extends esri.Layer {\r\n mapcoreProps: any;\r\n}\r\n\r\nexport interface IFeature {\r\n attributes?: IAttribute[];\r\n sourceLayer?: ILayer;\r\n geometry?: any;\r\n layerName?: string;\r\n isAdded?: boolean;\r\n}\r\n\r\nexport enum Juris {\r\n State = 1,\r\n Turnpike = 2,\r\n StateAgency = 3,\r\n NonStateNonFederalAid = 4,\r\n NonStateFederalAid = 5,\r\n TollBridge = 6,\r\n LocalRoad = 8\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class Basemaps {\r\n basemapList = 'streets,satellite,hybrid,topo,national-geographic,gray-vector,osm';\r\n defaultBasemap = {\r\n 'tileUrl': 'https://gis.penndot.gov/gis/rest/services/basemaps/penndotbasemap/MapServer/tile',\r\n 'thumbnailTile': '/7/48/36',\r\n 'tileTemplate': '/{level}/{row}/{col}',\r\n 'title': 'PennDOT'\r\n };\r\n basemapConfigs: any[] = [\r\n {\r\n \"tileUrl\": \"https://services.arcgisonline.com/ArcGIS/rest/services/Elevation/World_Hillshade/MapServer/tile\",\r\n \"thumbnailTile\": \"/15/12358/9365\",\r\n \"tileTemplate\": \"/{level}/{row}/{col}\",\r\n \"title\": \"Elevation\"\r\n },\r\n {\r\n \"tileUrl\": \"https://services.arcgisonline.com/arcgis/rest/services/USA_Topo_Maps/MapServer/tile\",\r\n \"thumbnailTile\": \"/7/48/36\",\r\n \"tileTemplate\": \"/{level}/{row}/{col}\",\r\n \"title\": \"Topographic DRG\"\r\n },\r\n this.defaultBasemap,\r\n {\r\n 'tileUrl': 'https://stamen-tiles.a.ssl.fastly.net/terrain',\r\n 'thumbnailTile': '/10/177/409.png',\r\n 'tileTemplate': '/{level}/{col}/{row}.png',\r\n 'title': 'Terrain'\r\n }\r\n ];\r\n}","import { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../environments/environment';\r\nimport { element } from 'protractor';\r\n\r\n@Injectable()\r\nexport class Http2Service {\r\n constructor(private readonly httpClient: HttpClient) {\r\n }\r\n\r\n private readonly tQuery = 'query';\r\n private readonly tMutation = 'mutation';\r\n private rootUrl: string; \r\n\r\n get url() {\r\n return this.rootUrl;\r\n }\r\n\r\n /**\r\n * Perform any request type\r\n */\r\n request(url: string, config: IHttp2RequestConfig): Promise {\r\n if (config.body) {\r\n config.body = JSON.stringify(config.body);\r\n }\r\n config = {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n params: {},\r\n ...config\r\n };\r\n\r\n // let token = this.tokenStorage.getToken();\r\n // if (token) {\r\n // config.headers = Object.assign({}, config.headers, {\r\n // 'X-Auth-Token': token\r\n // });\r\n\r\n // //Include the token as a querystring parameter. This is only for debugging purposes\r\n // if (this.appSettings.includeTokenInQuerystring) {\r\n // config.params.AuthToken = token;\r\n // }\r\n // }\r\n\r\n url = this.rootUrl ? this.rootUrl + url : url;\r\n if (url.indexOf('?') > 0) {\r\n url = url + '&';\r\n } else {\r\n url = url + '?';\r\n }\r\n // Send pdauthAppName\r\n url = url + `pdauthAppName=${environment.pdauthAppName}`;\r\n if (environment.pdauthToken) {\r\n //Send PDAuth token, used for developing locally \r\n url = url + `&token=${environment.pdauthToken}`;\r\n }\r\n\r\n // remove any trailing slash from the url\r\n if (url.lastIndexOf('/') === url.length - 1) {\r\n url = url.substring(0, url.length - 1);\r\n }\r\n\r\n return this.httpClient.request(config.method, url, config).toPromise().then(result => {\r\n return result;\r\n }, errorResponse => {\r\n return Promise.reject(errorResponse.error);\r\n });\r\n }\r\n /**\r\n * Perform a GET graphql query\r\n * @param query GraphQL query\r\n * @param variables variables to be inserted into query\r\n * @param method \"GET\" | \"POST\" | \"PUT\" | \"DELETE\"\r\n * @param dataPath retrieves the data at the specified named path.\r\n */\r\n async graphqlRequest(query: string, variables: any, method: Method = 'GET', dataPath: string = null) {\r\n let queryName: string;\r\n const type = query.trim().toLowerCase().startsWith(this.tQuery) ? this.tQuery : this.tMutation;\r\n if (type === this.tQuery) {\r\n // find the query name from the query and use that in the querystring to help with debugging to distinguish this request\r\n queryName = query.substring(query.indexOf(this.tQuery) + this.tQuery.length, query.indexOf('{')).trim();\r\n } else {\r\n queryName = query.substring(query.indexOf(this.tMutation) + this.tMutation.length, query.indexOf('(')).trim();\r\n }\r\n // remove any excess whitespace from the query only for GET requests since this is passed on the URL\r\n if (method === 'GET') {\r\n query = this.graphqlTrim(query);\r\n }\r\n let response: { data: any };\r\n\r\n try {\r\n response = await this.request<{ data: any }>(`graphql?${queryName}`, {\r\n body: method !== 'GET' ? {\r\n query,\r\n variables\r\n } : undefined,\r\n method,\r\n params: method === 'GET' ? {\r\n query,\r\n variables: JSON.stringify(variables)\r\n } : undefined\r\n });\r\n } catch (e) {\r\n if (e && !e.message && e.errors && e.errors[0]) {\r\n e.message = e.errors[0].message;\r\n }\r\n throw e;\r\n }\r\n if (!dataPath) {\r\n return response.data;\r\n } else {\r\n const parts = dataPath.split('.');\r\n let result = response.data;\r\n for (const part of parts) {\r\n result = result[part];\r\n }\r\n return result;\r\n }\r\n }\r\n private graphqlTrim(text: string) {\r\n text = text.replace(/\\s+/g, ' ');\r\n return text;\r\n }\r\n\r\n get(url: string, params?: any, config?: any): Promise {\r\n const cfg = {\r\n ...config,\r\n method: 'GET',\r\n params\r\n };\r\n\r\n return this.request(url, cfg);\r\n }\r\n\r\n post(url: string, body?: any, config?: any): Promise {\r\n const cfg = {\r\n body,\r\n method: 'POST',\r\n ...config\r\n };\r\n return this.request(url, cfg);\r\n }\r\n\r\n put(url: string, body?: any, config?: any): Promise {\r\n const cfg = {\r\n body,\r\n method: 'PUT',\r\n ...config\r\n };\r\n\r\n return this.request(url, cfg);\r\n }\r\n\r\n delete(url: string, body?: any, config?: any): Promise {\r\n const cfg = {\r\n body,\r\n method: 'DELETE',\r\n ...config\r\n };\r\n return this.request(url, cfg);\r\n }\r\n}\r\n\r\nexport interface IHttp2RequestConfig {\r\n body?: any;\r\n headers?: { [key: string]: any };\r\n method?: Method;\r\n params?: { [key: string]: any };\r\n}\r\nexport type Method = 'GET' | 'POST' | 'PUT' | 'DELETE';\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { UtilsService } from '../services/utils.service';\r\n\r\n@Injectable()\r\nexport class LegendOptionsService {\r\n\r\n constructor(\r\n private readonly utilsService: UtilsService\r\n ) { }\r\n\r\n optionsAttached(event: CustomEvent<{ target: HTMLElement, layerId: string }>) {\r\n let compScope = this;\r\n event.detail.target.getElementsByClassName('layer-options-button')[0].addEventListener('click', function (event) { compScope.dropdownToggle(this, event as MouseEvent); });\r\n\r\n const esriLayer = this.utilsService.esriMap.findLayerById(event.detail.layerId);\r\n let removeClasses = ['details-option'];\r\n if (esriLayer.mapcoreProps && (esriLayer.mapcoreProps.idFromSavedMap || esriLayer.mapcoreProps.isAOI)) {\r\n removeClasses = ['filter-option', 'details-option', 'delete-option', 'copy-option'];\r\n }\r\n if (esriLayer.type === 'graphics' || esriLayer.type === 'feature') {\r\n removeClasses = ['filter-option', 'details-option', 'copy-option'];\r\n }\r\n if (removeClasses) {\r\n for (const cls of removeClasses) {\r\n const els = event.detail.target.getElementsByClassName(cls);\r\n if (els && els.length) {\r\n Array.from(els).forEach(el => el.remove());\r\n }\r\n }\r\n }\r\n }\r\n\r\n dropdownToggle(target: HTMLElement, event: MouseEvent, forceClose?: boolean) {\r\n let drop = target.parentElement.getElementsByClassName('dropdown-menu')[0] as HTMLElement;\r\n if (drop) {\r\n let currentDisplay = drop.style.display;\r\n drop.style.display = currentDisplay === 'block' || forceClose ? '' : 'block';\r\n drop.style.bottom = this.shouldDropUp(drop) ? '25px' : null;\r\n }\r\n const restClickListener = (e: MouseEvent) => {\r\n if (!(e.target as HTMLElement).classList.contains('dropdown-link')) {\r\n this.dropdownToggle(target, e, true);\r\n window.removeEventListener('click', restClickListener);\r\n }\r\n };\r\n event.stopPropagation();\r\n if (drop.style.display === 'block') {\r\n window.addEventListener('click', restClickListener);\r\n } else {\r\n window.removeEventListener('click', restClickListener);\r\n }\r\n }\r\n\r\n shouldDropUp(drop: HTMLElement) {\r\n let parent = drop.offsetParent as HTMLElement;\r\n let i = 0;\r\n while ((!parent || !parent.classList.contains('side-nav')) && i < 5) {\r\n i++;\r\n if (parent) {\r\n parent = parent.offsetParent as HTMLElement;\r\n } else {\r\n break;\r\n }\r\n }\r\n let retVal = false;\r\n if (parent) {\r\n parent = parent.getElementsByClassName('legend-area')[0] as HTMLElement;\r\n let dropRect = drop.getBoundingClientRect();\r\n let parentRect = parent.getBoundingClientRect();\r\n const dropRectTop = dropRect.top - parentRect.top;\r\n if (dropRectTop > dropRect.height && dropRect.bottom > parentRect.height) {\r\n retVal = true;\r\n }\r\n }\r\n return retVal;\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class LoadingService {\r\n\r\n keys: string[] = [];\r\n\r\n get show(): boolean {\r\n return this.keys.length > 0;\r\n }\r\n\r\n add(key: string) {\r\n if (this.keys.indexOf(key) < 0) {\r\n this.keys.push(key);\r\n }\r\n }\r\n\r\n dismiss() {\r\n this.keys.length = 0;\r\n }\r\n\r\n remove(key: string) {\r\n for (var i = this.keys.length - 1; i >= 0; i--) {\r\n if (this.keys[i] === key) {\r\n this.keys.splice(i, 1);\r\n }\r\n }\r\n }\r\n}","import { ElementRef, Injectable } from '@angular/core';\r\nimport { Http2Service } from '../services/http2.service';\r\nimport { environment } from '../../environments/environment';\r\nimport { IEsriLayer, IFeature, IColumn, ILayer, ILayerSettings, ILayerToAdd, IAssetIdConfig } from './../models';\r\nimport { AoiComponent } from './../components/aoi/aoi.component';\r\n\r\n@Injectable()\r\nexport class UtilsService {\r\n\r\n identify: any;\r\n aoi: AoiComponent;\r\n extent: any;\r\n aoiWindow: ElementRef;\r\n tooltip: any;\r\n user: any;\r\n userSettings: any;\r\n auth: any;\r\n aoiRegion: any;\r\n featureSelected: IFeature;\r\n streetView: ElementRef;\r\n streetViewWindow: ElementRef;\r\n streetViewInitialized: boolean;\r\n userPermissions: string[] = [];\r\n videoLogWindow: ElementRef;\r\n\r\n constructor(\r\n private readonly http2Service: Http2Service\r\n ) { }\r\n\r\n get mcAuth(): any {\r\n return document.getElementById('mc-auth');\r\n }\r\n\r\n get mcMap(): any {\r\n return document.getElementById('mc-map');\r\n }\r\n\r\n get esriMap(): any {\r\n var mcMap = document.getElementById('mc-map');\r\n return (mcMap).map;\r\n }\r\n\r\n get esriMapView(): any {\r\n var mcMap = document.getElementById('mc-map');\r\n return (mcMap).mapView;\r\n }\r\n\r\n get layerService(): any {\r\n return this.mcMap.LayerService;\r\n }\r\n\r\n get mapService(): any {\r\n return this.mcMap.MapService;\r\n }\r\n\r\n get mapLayers(): any[] {\r\n const mapLayers: any[] = [];\r\n for (const layer of this.mcMap.map.layers.toArray() as any[]) {\r\n if (layer.type === 'group' && Symbol.iterator in Object(layer.layers)) {\r\n for (const sub of layer.layers) {\r\n mapLayers.push(sub);\r\n }\r\n } else {\r\n mapLayers.push(layer);\r\n }\r\n }\r\n return mapLayers;\r\n }\r\n\r\n setupAOISelections() {\r\n const userSettings = this.userSettings;\r\n const regionElement = this.aoiRegion.nativeElement;\r\n if (userSettings && userSettings.counties && userSettings.counties.length && regionElement.counties) {\r\n const userCountyCodes = userSettings.counties.map(x => x.split('-')[1]);\r\n this.aoiRegion.nativeElement.selections = regionElement.counties.filter(x => userCountyCodes.indexOf(x.countyCode) >= 0);\r\n }\r\n }\r\n\r\n isSelectedFeatureATMSSite(): boolean {\r\n const tmsSiteColumn = this.getFeatureColumnWithColumnName(this.featureSelected, 'TMS_SITE_NO');\r\n return !!tmsSiteColumn;\r\n }\r\n\r\n activateIdentify(activate: boolean) {\r\n if (activate) {\r\n this.identify.nativeElement.activate();\r\n }\r\n else {\r\n this.identify.nativeElement.deactivate();\r\n }\r\n }\r\n\r\n openAoi() {\r\n this.aoi.activateTab();\r\n this.aoiWindow.nativeElement.open();\r\n }\r\n\r\n loadDeepLink() {\r\n const layersToAdd = this.getLayersToAddFromUrl();\r\n if (layersToAdd.length > 0) {\r\n for (const layerToAdd of layersToAdd) {\r\n this.addLayer(layerToAdd);\r\n }\r\n } else {\r\n this.openSystemMap();\r\n }\r\n }\r\n\r\n openStreetView() {\r\n if (!this.streetViewInitialized) {\r\n const streetView: any = document.getElementById('streetView');\r\n const latLongSelect: any = document.getElementById('latLongSelect');\r\n const rmsSelect: any = document.getElementById('rmsSelect');\r\n\r\n this.streetViewWindow.nativeElement.addEventListener('openChange', e => {\r\n streetView.active = e.detail;\r\n });\r\n\r\n streetView.addEventListener('positionChange', (position) => {\r\n latLongSelect.setAttribute('lat', position.detail.latitude);\r\n latLongSelect.setAttribute('long', position.detail.longitude);\r\n rmsSelect.position = position.detail;\r\n });\r\n\r\n latLongSelect.addEventListener('latChange', (lat) => {\r\n streetView.setAttribute('lat', lat.detail);\r\n });\r\n\r\n latLongSelect.addEventListener('longChange', (long) => {\r\n streetView.setAttribute('long', long.detail);\r\n });\r\n\r\n rmsSelect.addEventListener('rmsChange', (rms) => {\r\n streetView.setRms(rms.detail);\r\n });\r\n this.streetViewInitialized = true;\r\n }\r\n this.streetViewWindow.nativeElement.open();\r\n }\r\n\r\n getLayersToAddFromUrl(): ILayerToAdd[] {\r\n const assetConfigs: IAssetIdConfig[] = environment.aoiSettings.assetIdConfig;\r\n const tmsSiteConfig = assetConfigs.filter(x => x.fieldName === 'tmsSiteNumber')[0];\r\n assetConfigs.push({ propName: 'tmsSiteNo', layerId: tmsSiteConfig.layerId, columnName: tmsSiteConfig.columnName });\r\n const layersToAdd: ILayerToAdd[] = [];\r\n for (const assetConfig of assetConfigs) {\r\n const foundParamValue = this.getQueryStringParam(assetConfig.propName);\r\n if (foundParamValue) {\r\n layersToAdd.push({ layerId: assetConfig.layerId, columnName: assetConfig.columnName, value: foundParamValue });\r\n }\r\n }\r\n return layersToAdd;\r\n }\r\n\r\n getLayerByUniqueId(layerId: any): IEsriLayer {\r\n return this.mapLayers.filter(l => l.id === layerId)[0];\r\n }\r\n\r\n getRootUrl() {\r\n const appRootUrl = environment.appPath;\r\n if (location.href.indexOf('localhost:') >= 0) {\r\n return '';\r\n }\r\n return appRootUrl;\r\n }\r\n\r\n getCleanValue(value, translation) {\r\n if (value && value.split !== undefined) {\r\n let values = value.split('-');\r\n value = values[0].trim();\r\n }\r\n return value;\r\n }\r\n\r\n getParameterByName(key, url: string = undefined) {\r\n if (!url) {\r\n url = window.location.href\r\n }\r\n key = key.replace(/[\\[\\]]/g, '\\\\$&');\r\n var regex = new RegExp('[?&]' + key + '(=([^&#]*)|&|#|$)'),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n }\r\n\r\n addMessage(message: string) {\r\n let applicationMessage = new CustomEvent('applicationMessage', { detail: { message: message, level: 2, isPrivate: false }, composed: true });\r\n window.dispatchEvent(applicationMessage);\r\n }\r\n\r\n httpGet(urlComponents) {\r\n var url = this.getRestUrlFromUrlComponents(urlComponents);\r\n return this.http2Service.get(url, { withCredentials: true });\r\n }\r\n\r\n httpDelete(urlComponents) {\r\n var url = this.getRestUrlFromUrlComponents(urlComponents);\r\n return this.http2Service.delete(url, { withCredentials: true });\r\n }\r\n\r\n httpPost(urlComponents: Array, data: any) {\r\n var url = this.getRestUrlFromUrlComponents(urlComponents);\r\n return this.http2Service.post(url, data, { withCredentials: true });\r\n }\r\n\r\n hex2a(hex) {\r\n var str = '';\r\n for (var i = 0; i < hex.length; i += 2)\r\n str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));\r\n return str;\r\n }\r\n\r\n postMessage(name: string, dataName?: string, data?: any): void {\r\n let message: any = { 'name': name };\r\n if (dataName) {\r\n message[dataName] = data;\r\n }\r\n top.postMessage(message, '*');\r\n }\r\n\r\n getFeatureColumnWithColumnName(feature: IFeature, columnName: string): IColumn {\r\n if (feature && feature.sourceLayer) {\r\n let layer = feature.sourceLayer;\r\n if (feature.sourceLayer.layer) {\r\n layer = feature.sourceLayer.layer;\r\n }\r\n return this.getLayerColumnMatchingColumnName(layer, columnName);\r\n }\r\n return null;\r\n }\r\n\r\n getAttributeValueMatchingColumnName(columnIdentifierName: string): string {\r\n const featureColumn = this.getFeatureColumnWithColumnName(this.featureSelected, columnIdentifierName);\r\n if (featureColumn) {\r\n const attributes = this.featureSelected.attributes.filter(x => x.columnName === featureColumn.name);\r\n if (attributes.length) {\r\n return attributes[0].value;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n getLayerColumnMatchingColumnName(layer: ILayer, columnName: string): IColumn {\r\n if (layer && layer.mapcoreProps && layer.mapcoreProps.columns) {\r\n const columnsFound = layer.mapcoreProps.columns.filter(x => x.name === columnName);\r\n if (columnsFound.length > 0) {\r\n return columnsFound[0];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n customizeFeatureSelected(feature: any) {\r\n this.onlyDisplayColumnsSpecified(feature);\r\n this.updateColumnAliasesForFeature(feature);\r\n this.updateFeatureValues(feature);\r\n }\r\n\r\n onlyDisplayColumnsSpecified(feature: any) {\r\n if (feature && feature.attributes && feature.sourceLayer && feature.sourceLayer && feature.sourceLayer.layer && feature.sourceLayer.layer.mapcoreProps) {\r\n const layerColumnListsFound = environment.layerColumnLists.filter(x => x.layerId === feature.sourceLayer.layer.mapcoreProps.parentId);\r\n if (layerColumnListsFound.length) {\r\n const layerColumnListFound = layerColumnListsFound[0];\r\n feature.attributes = feature.attributes.filter(x => layerColumnListFound.columnList.indexOf(x.columnName) >= 0);\r\n }\r\n }\r\n }\r\n\r\n updateColumnAliasesForFeature(feature: any) {\r\n if (feature && feature.attributes) {\r\n for (const attribute of feature.attributes) {\r\n attribute.displayName = this.getTitleCase(attribute.displayName.replaceAll('_', ' '));\r\n const columnsFound = environment.columnAliasOverrides.filter(x => x.name === attribute.columnName);\r\n if (columnsFound.length) {\r\n const columnFound = columnsFound[0];\r\n attribute.displayName = columnFound.alias;\r\n }\r\n }\r\n }\r\n }\r\n\r\n updateFeatureValues(feature: any) {\r\n if (feature && feature.attributes && feature.sourceLayer && feature.sourceLayer && feature.sourceLayer.layer && feature.sourceLayer.layer.mapcoreProps) {\r\n const layerFieldValuesFound = environment.layerColumnValueOverrides.filter(x => x.layerId === feature.sourceLayer.layer.mapcoreProps.parentId);\r\n if (layerFieldValuesFound.length) {\r\n const layerFieldValues = layerFieldValuesFound[0];\r\n for (const fieldValueDescription of layerFieldValues.columnValueDescriptions) {\r\n const attributesFound = feature.attributes.filter(x => x.columnName === fieldValueDescription.columnName);\r\n if (attributesFound.length) {\r\n const attribute = attributesFound[0];\r\n for (const valueDescription of fieldValueDescription.valuesAndDescriptions) {\r\n const array = valueDescription.split('|');\r\n const value = array[0];\r\n const description = array[1];\r\n if (attribute.value === value) {\r\n attribute.value = attribute.value + ' - ' + description;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n async openSystemMap() {\r\n const maps = await this.mapService.getMaps([environment.completeMapId]);\r\n if (maps.length) {\r\n const systemMap = maps[0];\r\n const mapData = JSON.parse(systemMap.data);\r\n mapData.extent = null; // remove saved extent before loading.\r\n systemMap.data = JSON.stringify(mapData);\r\n await this.mapService.openMap(systemMap);\r\n \r\n if (this.mcMap.DeepLinkService.deepLinkParamIsPresent()) {\r\n window.requestAnimationFrame(() => {\r\n this.layerService.moveLayerToTheTop(this.mapLayers[0]);\r\n });\r\n }\r\n }\r\n }\r\n\r\n async addLayer(layerToAdd: ILayerToAdd) {\r\n const layerSettings: ILayerSettings = {\r\n id: layerToAdd.layerId, query: { 'field': layerToAdd.columnName, 'operator': 'IN', 'value': layerToAdd.value }, zoomToLayer: true\r\n };\r\n this.layerService.addMapcoreLayersToMap([layerSettings]);\r\n }\r\n\r\n async getCorridorRoutes(): Promise {\r\n const result = await this.graphqlRequest(`query GetCorridorStateRoutes {\r\n rmssegments(juris: \"1\", interstateNetworkIndicator: \"Y\", hovType: 0 ) {\r\n stateRouteNumber\r\n }\r\n }`, {}, 'GET', 'rmssegments');\r\n let routeNumbers: string[] = result.map(x => x.stateRouteNumber.toString());\r\n routeNumbers = routeNumbers.filter((v, i, a) => a.indexOf(v) === i);\r\n routeNumbers.sort();\r\n return routeNumbers;\r\n }\r\n\r\n async graphqlRequest(query: string, variables: any, method: string = 'GET', dataPath: string = null) {\r\n let queryName: string;\r\n let maxQueryAndVariablesLength = 1300;\r\n let tQuery = 'query';\r\n let tMutation = 'mutation';\r\n\r\n const type = query.trim().toLowerCase().indexOf(tQuery) === 0 ? tQuery : tMutation;\r\n if (method === 'GET' && (query.length + JSON.stringify(variables).length) > maxQueryAndVariablesLength) {\r\n method = 'POST';\r\n }\r\n if (type === tQuery) {\r\n // find the query name from the query and use that in the querystring to help with debugging to distinguish this request\r\n queryName = query.substring(query.indexOf(tQuery) + tQuery.length, query.indexOf('{')).trim();\r\n } else {\r\n queryName = query.substring(query.indexOf(tMutation) + tMutation.length, query.indexOf('(')).trim();\r\n }\r\n // remove any excess whitespace from the query only for GET requests since this is passed on the URL\r\n if (method === 'GET') {\r\n query = this.graphqlTrim(query);\r\n }\r\n let response: any = {};\r\n\r\n try {\r\n var graphQLBaseUrl = environment.mapcoreApi + '/graphql';\r\n response = await this.request<{ data: any }>(`${graphQLBaseUrl}?${queryName}&pdauthAppName=${environment.pdauthAppName}`, {\r\n body: method !== 'GET' ? {\r\n query,\r\n variables\r\n } : undefined,\r\n method,\r\n params: method === 'GET' ? {\r\n query,\r\n variables: JSON.stringify(variables)\r\n } : undefined\r\n });\r\n } catch (e) {\r\n if (e && !e.message && e.errors && e.errors[0]) {\r\n e.message = e.errors[0].message;\r\n }\r\n throw e;\r\n }\r\n if (!dataPath) {\r\n return response.data;\r\n } else {\r\n const parts = dataPath.split('.');\r\n let result = response;\r\n if (response.data) {\r\n result = response.data;\r\n }\r\n for (const part of parts) {\r\n result = result[part];\r\n }\r\n return result;\r\n }\r\n }\r\n\r\n async request(url: string, config: any): Promise {\r\n if (config.body) {\r\n config.body = JSON.stringify(config.body);\r\n }\r\n config = {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n params: {},\r\n ...config\r\n };\r\n\r\n // remove any trailing slash from the url\r\n if (url.lastIndexOf('/') === url.length - 1) {\r\n url = url.substring(0, url.length - 1);\r\n }\r\n\r\n if (config.method === 'GET') {\r\n url = url + '&query=' + config.params.query + '&variables=' + config.params.variables;\r\n return this.http2Service.get(url, { withCredentials: true }).then(result => {\r\n return result.data;\r\n });\r\n } else {\r\n return this.http2Service.post(url, config.body, { withCredentials: true }).then(result => {\r\n return result.data;\r\n });\r\n }\r\n }\r\n\r\n getRestUrlFromUrlComponents(urlComponents: Array) {\r\n urlComponents.forEach((component, index) => {\r\n urlComponents[index] = component.toString();\r\n });\r\n if (urlComponents[0].indexOf('//') < 0) {\r\n urlComponents.unshift(environment.appPath + '/api');\r\n }\r\n return urlComponents.join('/');\r\n }\r\n\r\n graphqlTrim(text: string) {\r\n text = text.replace(/\\s+/g, ' ');\r\n return text;\r\n }\r\n\r\n getCookie(c_name) {\r\n if (document.cookie.length > 0) {\r\n let cStart = document.cookie.indexOf(c_name + '=');\r\n if (cStart != -1) {\r\n cStart = cStart + c_name.length + 1;\r\n let cEnd = document.cookie.indexOf(';', cStart);\r\n if (cEnd == -1) {\r\n cEnd = document.cookie.length;\r\n }\r\n return unescape(document.cookie.substring(cStart, cEnd));\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n setCookie(name, value, days) {\r\n let expires;\r\n if (days) {\r\n let date = new Date();\r\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\r\n expires = '; expires=' + date.toISOString();\r\n }\r\n else {\r\n expires = '';\r\n }\r\n document.cookie = name + '=' + value + expires + '; path=/';\r\n }\r\n\r\n getQueryStringParam(name: string): any {\r\n return this.getQueryStringParams()[name.toLowerCase()] || null;\r\n }\r\n\r\n getQueryStringParams() {\r\n const searchPairs = window.location.search.replace('?', '').replace(/%20/g, ' ').split('&');\r\n return searchPairs.reduce((acc: any, item: string): any => {\r\n item = item.replace('%22=%22', '%22%3D%22'); // prevent \"=\" from splitting\r\n const keyVal = item.split('=');\r\n let key = keyVal[0];\r\n let val = acc[key];\r\n\r\n if (key) {\r\n key = key.toLowerCase();\r\n }\r\n if (val !== undefined && val !== null && !Array.isArray(val)) {\r\n acc[key] = val = [acc[key]];\r\n }\r\n\r\n if (keyVal.length > 1) {\r\n if (Array.isArray(val)) {\r\n val.push(keyVal[1]);\r\n } else {\r\n acc[key] = keyVal[1];\r\n }\r\n } else {\r\n if (Array.isArray(val)) {\r\n val.push(true);\r\n } else {\r\n acc[key] = true;\r\n }\r\n }\r\n\r\n return acc;\r\n }, {});\r\n }\r\n\r\n getTitleCase(text: string) {\r\n if (text) {\r\n return text.replace(\r\n /\\w\\S*/g,\r\n (x) => {\r\n return x.charAt(0).toUpperCase() + x.substr(1).toLowerCase();\r\n }\r\n );\r\n }\r\n return '';\r\n }\r\n\r\n}","import { IColumn, ILayerColumnList, ILayerColumnValueOverrides } from \"src/app/models\";\r\n\r\nclass Environment {\r\n static get init(): IEnvironment {\r\n const env = (window).environment || 'local';\r\n var settings = this.common;\r\n var environmentSettings = this.environments[env];\r\n for (const key of Object.keys(environmentSettings)) {\r\n settings[key] = environmentSettings[key];\r\n }\r\n return settings;\r\n }\r\n\r\n static environments: { [key: string]: IEnvironment } = {\r\n local: {\r\n appPath: '//localhost/tire',\r\n exportWebMapTaskUrl: 'https://pddvgisweb.penndot.gov/mapcore/api/gis/print',\r\n pdauthURL: 'http://localhost/PDAUTH',\r\n mapcoreApi: 'https://pddvgisweb.penndot.gov/mapcore/api/',\r\n simpleMapId: 22457,\r\n completeMapId: 14837\r\n },\r\n dev: {\r\n appPath: '//pddvgisweb.penndot.gov/tire',\r\n exportWebMapTaskUrl: 'https://pddvgisweb.penndot.gov/gis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task',\r\n pdauthURL: 'https://pddvgisweb.penndot.gov:8443/PDAUTH',\r\n mapcoreApi: 'https://pddvgisweb.penndot.gov/mapcore/api/',\r\n simpleMapId: 22457,\r\n completeMapId: 14837\r\n },\r\n test: {\r\n appPath: 'https://gistest.penndot.pa.gov/tire',\r\n exportWebMapTaskUrl: 'https://gistest.penndot.pa.gov/gisgp/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task',\r\n pdauthURL: 'https://gistest.penndot.pa.gov/PDAUTH',\r\n mapcoreApi: 'https://gistest.penndot.pa.gov/mapcore/api/',\r\n simpleMapId: 22070,\r\n completeMapId: 14837\r\n },\r\n prod: {\r\n appPath: '//gis.penndot.pa.gov/tire',\r\n exportWebMapTaskUrl: 'https://gis.penndot.pa.gov/gisgp/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task',\r\n pdauthURL: 'https://gis.penndot.pa.gov/PDAUTH',\r\n mapcoreApi: 'https://gis.penndot.pa.gov/mapcore/api/',\r\n simpleMapId: 28278,\r\n completeMapId: 14837\r\n }\r\n };\r\n\r\n static get common(): IEnvironment {\r\n return {\r\n appId: 15,\r\n pdauthAppName: 'TIRE',\r\n appPath: 'TIRE',\r\n version: '2.0.1',\r\n minScale: 1155582,\r\n tmsStationLayerIds: [2610, 2611],\r\n cycleBaseYear: 2009,\r\n currentCountAssignmentsLayerRange: [2631, 2661],\r\n aoiSettings: {\r\n assetIdConfig: [\r\n {\r\n columnName: 'TMS_SITE_NO',\r\n displayName: 'TMS Site Numbers',\r\n idType: '$stringId',\r\n propName: 'tmsSiteNumbers',\r\n fieldName: 'tmsSiteNumber',\r\n layerId: 2611\r\n },\r\n {\r\n columnName: 'PERMANENT_SITE_ID',\r\n displayName: 'TMS Permanent Site Ids',\r\n idType: '$stringId',\r\n propName: 'tmsPermanentSiteNumbers',\r\n fieldName: 'tmsPermanentSiteNumber',\r\n layerId: 2611\r\n },\r\n {\r\n columnName: 'BRKEY',\r\n displayName: 'Bridge Keys',\r\n idType: '$stringIds',\r\n propName: 'bridges',\r\n fieldName: 'brKey',\r\n layerId: 1592\r\n },\r\n {\r\n columnName: 'PROJECT_ID',\r\n displayName: 'MPMS Projects',\r\n idType: '$stringIds',\r\n propName: 'mpmsprojects',\r\n fieldName: 'id',\r\n layerId: 2751\r\n },\r\n {\r\n columnName: 'HPMS_SAMP_SECT_NO',\r\n displayName: 'HPMS Sample',\r\n idType: '$stringIds',\r\n propName: 'hpmsSamples',\r\n fieldName: 'hpmsSample',\r\n layerId: 2000\r\n }\r\n ],\r\n assetIdProperties: 'hpmsSamples,bridges,mpmsprojects,tmsSiteNumbers,tmsPermanentSiteNumbers',\r\n mapPickerConfig: {\r\n category: 'TIRE',\r\n map: 'Simple (TMS Sites Only)'\r\n }\r\n },\r\n dataTableColumnNames: ['permit_number', 'sign_appl_id', 'district_number', 'county_code', 'route_number', 'sign_classification_code', 'sign_type_code', 'status_code', 'sign_owner_name'],\r\n disclaimerCookieName: 'tire_disclaimer_accepted',\r\n disclaimerDoNotAcceptUrl: 'https://www.penndot.pa.gov/',\r\n disclaimerExpirationDays: 30,\r\n dotNetCore: false,\r\n extentConfigs: [\r\n {\r\n toolTip: \"Statewide\",\r\n icon: \"m28.531 12.656-.187-.531-1.156-.344-.344-.562-.187-1.437-.719-.312-.094-.344-.375-.312h-20.219v-1.625l-1.656.844 .219-.312-.656.5-1.375.594-.406 13.906 20.719.094h1.719l.313-.531.5-.25.781 .156 1.375-.562.094-.437 1.75-1.312-1.187-1.437h-.25l-.25-.875-.531-.062-.031-.75v-.375l.406-.25.188-.469-.375-.75.844-.844.719-1.25z\",\r\n color: \"white\",\r\n extent: {\r\n center: [-77.6362661695295, 40.92039887644528],\r\n zoom: 8\r\n },\r\n extentType: \"static\",\r\n label: \"Statewide Extent\"\r\n },\r\n {\r\n toolTip: \"Current Area of Interest\",\r\n icon: \"icon-ui-locate\",\r\n color: \"white\",\r\n extentType: \"async-func\",\r\n label: \"AOI\"\r\n }\r\n ],\r\n columnAliasOverrides: [\r\n { name: \"AADT\", alias: \"Current AADT\" },\r\n { name: \"AADT_CUR\", alias: \"Avg. Daily Traffic\" },\r\n { name: \"ADTT_CUR\", alias: \"Avg. Daily Truck Traffic\" },\r\n { name: \"BGN_DESC\", alias: \"Begin Description\" },\r\n { name: \"CRACK_PCT\", alias: \"Cracking Percent\" },\r\n { name: \"CTR_PEAK_LANES\", alias: \"Counter Peak Lanes\" },\r\n { name: \"CTY_CODE\", alias: \"County\" },\r\n { name: \"CUR_AADT\", alias: \"Avg. Daily Traffic\" },\r\n { name: \"CURRENT_AADT\", alias: \"Avg. Daily Traffic\" },\r\n { name: \"CUR_ADTT\", alias: \"Avg. Daily Truck Traffic\" },\r\n { name: \"DISTRICT_NO\", alias: \"District\" },\r\n { name: \"DIR_IND\", alias: \"Direction\" },\r\n { name: \"DLY_VMT\", alias: \"Daily Vehicle Miles Traveled\" },\r\n { name: \"DLY_TRK_VMT\", alias: \"Daily Truck Vehicle Miles Traveled\" },\r\n { name: \"DURATION\", alias: \"Count Duration\" },\r\n { name: \"DUR_CLS_CNT\", alias: \"Count Duration\" },\r\n { name: \"END_DESC\", alias: \"End Description\" },\r\n { name: \"FED_SHLD_TYPE\", alias: \"Shoulder Type\" },\r\n { name: \"FIPS_AREA_CODE\", alias: \"FIPS Area Code\" },\r\n { name: \"FUNC_CLS\", alias: \"PennDOT Functional Class\" },\r\n { name: \"FHWA_FUNC_CLS\", alias: \"FHWA Functional Class\" },\r\n { name: \"FREQ_CYCLE\", alias: \"Frequency Cycle\" },\r\n { name: \"FN_LATITUDE\", alias: \"Latitude\" },\r\n { name: \"FN_LONGITUDE\", alias: \"Longitude\" },\r\n { name: \"GREEN_TIME_PCT\", alias: \"Percent Green Time\" },\r\n { name: \"HPMS_SAMP_SECT_NO\", alias: \"Sample ID\" },\r\n { name: \"HPMS_SAMPLE_COUNT\", alias: \"HPMS Sample\" },\r\n { name: \"HPMS_SAMP_CNT\", alias: \"HPMS Sample\" },\r\n { name: \"INTERST_NETWRK_IND\", alias: \"Interstate Network Indicator\" },\r\n { name: \"JURIS\", alias: \"Jurisdiction\" },\r\n { name: \"LAST_OVERLAY_THICK\", alias: \"Last Overlay\" },\r\n { name: \"LANE_CNT\", alias: \"Lane Count\" },\r\n { name: \"MAINT_FUNC_CLS\", alias: \"Maint. Functional Class\" },\r\n { name: \"NHS_IND\", alias: \"NHS Indicator\" },\r\n { name: \"OFFSET_BGN\", alias: \"Offset Begin\" },\r\n { name: \"OFFSET_END\", alias: \"Offset End\" },\r\n { name: \"PA_BYWAY_IND\", alias: \"PA Byway Indicator\" },\r\n { name: \"PCT_PASS_SIGHT\", alias: \"Percent Pass Sight\" },\r\n { name: \"PEAK_THRU_LANES\", alias: \"Peak Lanes\" },\r\n { name: \"PLOTCOLOR\", alias: \"Plot Color\" },\r\n { name: \"PREVAIL_SGNL_TYPE\", alias: \"Signal Type\" },\r\n { name: \"PRIMARY_ALTERNATE_ROUTE_NO\", alias: \"Primary Alternate Route\" },\r\n { name: \"RESP_AGENCY\", alias: \"Responsible Agency\" },\r\n { name: \"ROUTE_DIR\", alias: \"Direction\" },\r\n { name: \"SCENIC_BYWAY_NETWORK\", alias: \"PA Byway Indicator\" },\r\n { name: \"SECONDARY_ALTERNATE_ROUTE_NO\", alias: \"Secondary Alternate Route\" },\r\n { name: \"SEG_BGN\", alias: \"Segment Begin\" },\r\n { name: \"SEG_NO\", alias: \"Segment\" },\r\n { name: \"SEG_END\", alias: \"Segment End\" },\r\n { name: \"SEG_LNGTH_FEET\", alias: \"Length\" },\r\n { name: \"SEG_OFFSET\", alias: \"Offset\" },\r\n { name: \"SHLD_TOTAL_WIDTH_L\", alias: \"Left Shoulder Width\" },\r\n { name: \"SHLD_TOTAL_WIDTH_R\", alias: \"Right Shoulder Width\" },\r\n { name: \"SIGNAL_COUNT\", alias: \"Number Signals\" },\r\n { name: \"ST_RT_NO\", alias: \"Route\" },\r\n { name: \"STOP_SIGN_COUNT\", alias: \"Stop Signs\" },\r\n { name: \"TMS_SITE_NO\", alias: \"Site Number\" },\r\n { name: \"TRAF_RT_NO\", alias: \"Traffic Route\" },\r\n { name: \"TRAF_RT_NO2\", alias: \"Primary Alternate Route\" },\r\n { name: \"TRAF_RT_NO3\", alias: \"Secondary Alternate Route\" },\r\n { name: \"TRAFFIC_ROUTE_NUMBER\", alias: \"Traffic Route\" },\r\n { name: \"TRN_LANE_LEFT\", alias: \"Left Turn Lane\" },\r\n { name: \"TRN_LANE_RIGHT\", alias: \"Right Turn Lane\" },\r\n { name: \"TRK_PCT\", alias: \"Truck Percent\" },\r\n { name: \"TRAFF_PATT_GRP\", alias: \"Traffic Pattern Group\" },\r\n { name: \"TYPE_OF_CNT\", alias: \"Type of Count\" },\r\n { name: \"URBAN_RURAL\", alias: \"Urban / Rural Indicator\" },\r\n { name: \"VOL_CNT_DATE\", alias: \"Count Date\" },\r\n { name: \"VOL_CNT_KEY\", alias: \"Traffic Count Key\" },\r\n { name: \"WIDEN_OBST\", alias: \"Widening Obstacle\" },\r\n { name: \"WIDEN_POTENTIAL\", alias: \"Widening Potential\" }\r\n ],\r\n layerColumnValueOverrides: [\r\n {\r\n layerId: 1100,\r\n columnValueDescriptions: [\r\n {\r\n columnName: \"FHWA_FUNC_CLS\",\r\n valuesAndDescriptions: ['1|Interstate', '2|Other Freeway/Expressway', '3|Other Principal Arterial', '4|Minor Arterial', '5|Collector', '6|Minor Collector', '7|Local']\r\n }\r\n ]\r\n }\r\n ],\r\n layerColumnLists: [\r\n { layerId: 1100, columnList: ['CTY_CODE', 'DISTRICT_NO', 'FHWA_FUNC_CLS', 'FIPS_AREA_CODE', 'FUNC_CLS', 'JURIS', 'MAINT_FUNC_CLS', 'OFFSET_BGN', 'OFFSET_END', 'SEG_BGN', 'SEG_END', 'ST_RT_NO'] }, \r\n { layerId: 2000, columnList: ['BASE_THICKNESS', 'BASE_TYPE', 'CRACK_PCT', 'CTR_PEAK_LANES', 'CTY_CODE', 'DISTRICT_NO', 'FAULTING', 'FED_SHLD_TYPE', 'GREEN_TIME_PCT', 'HPMS_SAMP_SECT_NO', 'JURIS', 'LANE_WIDTH', 'LAST_OVERLAY_THICK', 'MEDIAN_TYPE', 'MEDIAN_WIDTH', 'OFFSET_BGN', 'OFFSET_END', 'PCT_PASS_SIGHT', 'PEAK_PARKING', 'PEAK_THRU_LANES', 'PREVAIL_SGNL_TYPE', 'RESP_AGENCY', 'RUTTING', 'SEG_BGN', 'SEG_END', 'SEG_LNGTH_FEET', 'SHLD_TOTAL_WIDTH_L', 'SHLD_TOTAL_WIDTH_R', 'SIGNAL_COUNT', 'ST_RT_NO', 'STOP_SIGN_COUNT', 'TERRAIN_TYPE', 'THICKNESS_FLEXIBLE', 'THICKNESS_RIGID', 'TRN_LANE_LEFT', 'TRN_LANE_RIGHT', 'WIDEN_OBST', 'WIDEN_POTENTIAL'] },\r\n { layerId: 1253, columnList: ['ST_RT_NO', 'CTY_CODE', 'DISTRICT_NO', 'JURIS', 'SEG_NO', 'LANE_CNT', 'CUR_AADT', 'STREET_NAME', 'TRAF_RT_NO', 'BGN_DESC', 'END_DESC', 'URBAN_RURAL', 'NHS_IND', 'INTERST_NETWRK_IND', 'SIDE_IND', 'PA_BYWAY_IND', 'TRAF_RT_NO2', 'TRAF_RT_NO3', 'ROUTE_DIR', 'HPMS_SAMP_CNT']},\r\n { layerId: 2610, columnList: ['COUNT_SCHEDULE', 'CTY_CODE', 'CYCLE_YEAR', 'DATA_TYPE', 'DESCRIPTION', 'DURATION', 'FN_LATITUDE', 'FN_LONGITUDE', 'FREQ_CYCLE', 'FUNCTION_TYPE', 'SEG_NO', 'SEG_OFFSET', 'ST_RT_NO', 'TMS_SITE_NO'] },\r\n { layerId: 2611, columnList: ['COUNT_SCHEDULE', 'CTY_CODE', 'CYCLE_YEAR', 'DATA_TYPE', 'DESCRIPTION', 'DURATION', 'FN_LATITUDE', 'FN_LONGITUDE', 'FREQ_CYCLE', 'FUNCTION_TYPE', 'SEG_NO', 'SEG_OFFSET', 'ST_RT_NO', 'STREET_NAME', 'TMS_SITE_NO', 'PERMANENT_SITE_ID'] },\r\n { layerId: 2625, columnList: ['ADTT_CUR', 'CTY_CODE', 'CUR_AADT', 'DIR_IND', 'DISTRICT_NO', 'DLY_TRK_VMT', 'DLY_VMT', 'DUR_CLS_CNT', 'D_FACTOR', 'JURIS', 'K_FACTOR', 'OFFSET_BGN', 'OFFSET_END', 'SEG_BGN', 'SEG_END', 'SIDE_IND', 'ST_RT_NO', 'TRAFF_PATT_GRP', 'TRK_PCT', 'TYPE_OF_CNT', 'T_FACTOR', 'VOL_CNT_DATE', 'VOL_CNT_KEY'] },\r\n { layerId: 2627, columnList: ['PLOTCOLOR', 'CTY_CODE', 'ST_RT_NO', 'JURIS', 'SEG_BGN', 'OFFSET_BGN', 'SEG_END', 'OFFSET_END', 'SEG_LNGTH_FEET', 'SIDE_IND'] }\r\n ]\r\n };\r\n }\r\n}\r\n\r\ninterface IEnvironment {\r\n aoiSettings?: any;\r\n appId?: number;\r\n appPath?: string;\r\n assetIdProperties?: string;\r\n columnAliasOverrides?: IColumn[];\r\n cycleBaseYear?: number;\r\n currentCountAssignmentsLayerRange?: number[];\r\n tmsStationLayerIds?: number[];\r\n dataTableColumnNames?: string[];\r\n disclaimerCookieName?: string;\r\n disclaimerDoNotAcceptUrl?: string;\r\n disclaimerExpirationDays?: number;\r\n dotNetCore?: boolean;\r\n extentConfigs?: any[];\r\n exportWebMapTaskUrl?: string;\r\n layerColumnLists?: ILayerColumnList[];\r\n layerColumnValueOverrides?: ILayerColumnValueOverrides[];\r\n pdauthURL?: string;\r\n pdauthAppName?: string;\r\n pdauthToken?: string;\r\n mapcoreApi?: string;\r\n minScale?: number;\r\n simpleMapId?: number;\r\n completeMapId?: number;\r\n version?: string;\r\n}\r\n\r\nexport const environment = Environment.init;\r\n","import { ApplicationRef, enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport { enableDebugTools } from '@angular/platform-browser';\r\n\r\n//platformBrowserDynamic().bootstrapModule(AppModule)\r\n//.catch(err => console.error(err));\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule).then(moduleRef => {\r\n const applicationRef = moduleRef.injector.get(ApplicationRef);\r\n const componentRef = applicationRef.components[0];\r\n // allows to run `ng.profiler.timeChangeDetection();`\r\n enableDebugTools(componentRef);\r\n}).catch(err => window['console'].error(err));"],"sourceRoot":"webpack:///"}