{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/default-guide/default-guide.component.ts","./src/app/default-guide/default-guide.component.html","./src/app/default-list/default-list.component.ts","./src/app/default-list/default-list.component.html","./src/app/default-map/default-map.component.ts","./src/app/default-map/default-map.component.html","./src/app/default-tabs/default-tabs.component.ts","./src/app/default-tabs/default-tabs.component.html","./src/app/default-view/default-view.component.ts","./src/app/default-view/default-view.component.html","./src/app/embed-guide/embed-guide.component.ts","./src/app/embed-guide/embed-guide.component.html","./src/app/embed-list/embed-list.component.ts","./src/app/embed-list/embed-list.component.html","./src/app/embed-map/embed-map.component.ts","./src/app/embed-map/embed-map.component.html","./src/app/embed-tabs/embed-tabs.component.ts","./src/app/embed-tabs/embed-tabs.component.html","./src/app/floor-guide/floor-guide.component.ts","./src/app/floor-guide/floor-guide.component.html","./src/app/floors.ts","./src/app/foyer-guide/foyer-guide.component.ts","./src/app/foyer-guide/foyer-guide.component.html","./src/app/foyer-list/foyer-list.component.ts","./src/app/foyer-list/foyer-list.component.html","./src/app/foyer-map/foyer-map.component.ts","./src/app/foyer-map/foyer-map.component.html","./src/app/foyer-tabs/foyer-tabs.component.ts","./src/app/foyer-tabs/foyer-tabs.component.html","./src/app/map-view-model.ts","./src/app/map/map.component.ts","./src/app/map/map.component.html","./src/app/pin-labels.ts","./src/app/placedata.service.ts","./src/app/placemodel.ts","./src/app/places/places.component.ts","./src/app/places/places.component.html","./src/app/set-home/set-home.component.ts","./src/app/set-home/set-home.component.html","./src/app/top-nav/top-nav.component.ts","./src/app/top-nav/top-nav.component.html","./src/app/version.service.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n// import { PlacesComponent } from './places/places.component';\r\n// import { MapComponent } from './map/map.component';\r\n// import {FloorGuideComponent } from './floor-guide/floor-guide.component';\r\n// import { DefaultViewComponent } from './default-view/default-view.component';\r\nimport { DefaultListComponent } from './default-list/default-list.component';\r\nimport { DefaultMapComponent } from './default-map/default-map.component';\r\nimport { DefaultGuideComponent } from './default-guide/default-guide.component';\r\nimport { FoyerListComponent } from './foyer-list/foyer-list.component';\r\nimport { FoyerMapComponent } from './foyer-map/foyer-map.component';\r\nimport { FoyerGuideComponent } from './foyer-guide/foyer-guide.component';\r\nimport { SetHomeComponent } from './set-home/set-home.component';\r\nimport { EmbedListComponent } from './embed-list/embed-list.component';\r\nimport { EmbedMapComponent } from './embed-map/embed-map.component';\r\nimport { EmbedGuideComponent} from './embed-guide/embed-guide.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'embed', redirectTo: '/embed/lists/places', pathMatch: 'full'},\r\n { path: 'foyer', redirectTo: '/foyer/map', pathMatch: 'full' },\r\n { path: '', redirectTo: '/lists/places', pathMatch: 'full'},\r\n { path: 'lists/:id', component: DefaultListComponent },\r\n { path: 'embed/lists/:id', component: EmbedListComponent },\r\n { path: 'embed/map/:id', component: EmbedMapComponent },\r\n { path: 'embed/guide/:id', component: EmbedGuideComponent },\r\n { path: 'map/:id', component: DefaultMapComponent },\r\n { path: 'guide/:id', component: DefaultGuideComponent },\r\n { path: 'foyer/lists/:id', component: FoyerListComponent },\r\n { path: 'foyer/map', component: FoyerMapComponent },\r\n { path: 'foyer/map/:id', component: FoyerMapComponent },\r\n { path: 'foyer/guide/:id', component: FoyerGuideComponent },\r\n { path: 'foyer/sethome', component: SetHomeComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [ RouterModule.forRoot(routes) ],\r\n exports: [ RouterModule ]\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n template: ``\r\n})\r\n\r\nexport class AppComponent {\r\n}","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport {PlaceData} from './placedata.service';\r\nimport { MapComponent } from './map/map.component';\r\nimport { PlacesComponent } from './places/places.component';\r\nimport { FloorGuideComponent } from './floor-guide/floor-guide.component';\r\nimport { DefaultViewComponent } from './default-view/default-view.component';\r\nimport { TopNavComponent } from './top-nav/top-nav.component';\r\nimport { DefaultTabsComponent } from './default-tabs/default-tabs.component';\r\nimport { DefaultListComponent } from './default-list/default-list.component';\r\nimport { DefaultMapComponent } from './default-map/default-map.component';\r\nimport { DefaultGuideComponent } from './default-guide/default-guide.component';\r\nimport { FoyerListComponent } from './foyer-list/foyer-list.component';\r\nimport { FoyerMapComponent } from './foyer-map/foyer-map.component';\r\nimport { FoyerTabsComponent } from './foyer-tabs/foyer-tabs.component';\r\nimport { FoyerGuideComponent } from './foyer-guide/foyer-guide.component';\r\nimport { SetHomeComponent } from './set-home/set-home.component';\r\nimport { EmbedMapComponent } from './embed-map/embed-map.component';\r\nimport { EmbedListComponent } from './embed-list/embed-list.component';\r\nimport { EmbedTabsComponent } from './embed-tabs/embed-tabs.component';\r\nimport { EmbedGuideComponent } from './embed-guide/embed-guide.component';\r\nimport { VersionService } from './version.service';\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserModule,\r\n FormsModule,\r\n HttpClientModule,\r\n AppRoutingModule,\r\n ],\r\n declarations: [\r\n AppComponent,\r\n MapComponent,\r\n PlacesComponent,\r\n FloorGuideComponent,\r\n DefaultViewComponent,\r\n TopNavComponent,\r\n DefaultTabsComponent,\r\n DefaultListComponent,\r\n DefaultMapComponent,\r\n DefaultGuideComponent,\r\n FoyerListComponent,\r\n FoyerMapComponent,\r\n FoyerTabsComponent,\r\n FoyerGuideComponent,\r\n SetHomeComponent,\r\n EmbedMapComponent,\r\n EmbedListComponent,\r\n EmbedTabsComponent,\r\n EmbedGuideComponent\r\n ],\r\n providers: [ PlaceData, VersionService ],\r\n bootstrap: [ AppComponent ]\r\n})\r\nexport class AppModule { }","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-default-guide',\r\n templateUrl: './default-guide.component.html',\r\n styleUrls: ['./default-guide.component.css']\r\n})\r\nexport class DefaultGuideComponent implements OnInit {\r\n floorId;\r\n constructor(private route: ActivatedRoute, private location: Location) { }\r\n\r\n ngOnInit() {\r\n this.floorId = this.route.snapshot.paramMap.get('id');\r\n }\r\n\r\n backClicked() {\r\n this.location.back();\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

Library floor plans

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

 

\r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-default-list',\r\n templateUrl: './default-list.component.html',\r\n styleUrls: ['./default-list.component.css']\r\n})\r\nexport class DefaultListComponent implements OnInit {\r\n\r\n activeBtnClass = 'btn btn-secondary active';\r\n btnClass = 'btn btn-secondary';\r\n placeBtnClass: string;\r\n markBtnClass: string;\r\n floorBtnClass: string;\r\n public category;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router) {\r\n this.placeBtnClass = this.activeBtnClass;\r\n this.markBtnClass = this.btnClass;\r\n this.floorBtnClass = this.btnClass;\r\n }\r\n\r\n ngOnInit() {\r\n this.category = this.route.snapshot.paramMap.get('id');\r\n this.setList(this.category);\r\n }\r\n\r\n setList(cat) {\r\n if (cat === 'places') {\r\n this.placeBtnClass = this.activeBtnClass;\r\n this.markBtnClass = this.btnClass;\r\n this.floorBtnClass = this.btnClass;\r\n }\r\n\r\n if (cat === 'classmarks') {\r\n this.placeBtnClass = this.btnClass;\r\n this.markBtnClass = this.activeBtnClass;\r\n this.floorBtnClass = this.btnClass;\r\n }\r\n\r\n if (cat === 'floors') {\r\n this.placeBtnClass = this.btnClass;\r\n this.markBtnClass = this.btnClass;\r\n this.floorBtnClass = this.activeBtnClass;\r\n }\r\n this.category = cat;\r\n this.router.navigate(['lists', cat]);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

Library floor plans

\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, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { PlaceData } from '../placedata.service';\r\n\r\n@Component({\r\n selector: 'app-default-map',\r\n templateUrl: './default-map.component.html',\r\n styleUrls: ['./default-map.component.css']\r\n})\r\nexport class DefaultMapComponent implements OnInit {\r\n\r\n id;\r\n floorName;\r\n floorId;\r\n constructor(private route: ActivatedRoute, private placedataService: PlaceData) { }\r\n\r\n ngOnInit() {\r\n this.id = this.route.snapshot.paramMap.get('id');\r\n\r\n if (this.id.startsWith('f-')) {\r\n this.titleFromFloor();\r\n } else {\r\n this.titleFromPlace();\r\n }\r\n }\r\n\r\n titleFromFloor() {\r\n const floors = this.placedataService.getFloors();\r\n this.floorId = this.id.replace('f-', '');\r\n const floor = floors.filter(x => x.id === this.floorId)[0];\r\n this.floorName = floor.name;\r\n }\r\n\r\n titleFromPlace() {\r\n const floors = this.placedataService.getFloors();\r\n this.placedataService.getJSON()\r\n .subscribe(response => {\r\n const mapLocations = response[1];\r\n const position = mapLocations.filter(x => x.Id === this.id)[0];\r\n this.floorId = position.Floor;\r\n const selectedFloor = floors.filter(x => x.id === position.Floor)[0];\r\n this.floorName = selectedFloor.name;\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

Library floor plans

\r\n

{{floorName}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-default-tabs',\r\n templateUrl: './default-tabs.component.html',\r\n styleUrls: ['./default-tabs.component.css']\r\n})\r\nexport class DefaultTabsComponent {\r\n@Input() floorId;\r\n /* constructor() { }\r\n\r\n ngOnInit() {\r\n } */\r\n\r\n}\r\n","
\r\n Places\r\n Classmarks\r\n Floors\r\n
\r\n
\r\n Guide\r\n
","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-default-view',\r\n templateUrl: './default-view.component.html',\r\n styleUrls: ['./default-view.component.css']\r\n})\r\nexport class DefaultViewComponent {\r\n\r\n /* constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n */\r\n}\r\n","\r\n
\r\n
\r\n

Library floor plans

\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-embed-guide',\r\n templateUrl: './embed-guide.component.html',\r\n styleUrls: ['./embed-guide.component.css']\r\n})\r\nexport class EmbedGuideComponent implements OnInit {\r\n floorId;\r\n constructor(private route: ActivatedRoute, private location: Location) { }\r\n\r\n ngOnInit() {\r\n this.floorId = this.route.snapshot.paramMap.get('id');\r\n }\r\n\r\n backClicked() {\r\n this.location.back();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

 

\r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-embed-list',\r\n templateUrl: './embed-list.component.html',\r\n styleUrls: ['./embed-list.component.css']\r\n})\r\nexport class EmbedListComponent implements OnInit {\r\n activeBtnClass = 'btn btn-secondary active';\r\n btnClass = 'btn btn-secondary';\r\n placeBtnClass: string;\r\n markBtnClass: string;\r\n floorBtnClass: string;\r\n public category;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router) {\r\n this.placeBtnClass = this.activeBtnClass;\r\n this.markBtnClass = this.btnClass;\r\n this.floorBtnClass = this.btnClass;\r\n }\r\n\r\n ngOnInit() {\r\n this.category = this.route.snapshot.paramMap.get('id');\r\n this.setList(this.category);\r\n }\r\n\r\n setList(cat) {\r\n if (cat === 'places') {\r\n this.placeBtnClass = this.activeBtnClass;\r\n this.markBtnClass = this.btnClass;\r\n this.floorBtnClass = this.btnClass;\r\n }\r\n\r\n if (cat === 'classmarks') {\r\n this.placeBtnClass = this.btnClass;\r\n this.markBtnClass = this.activeBtnClass;\r\n this.floorBtnClass = this.btnClass;\r\n }\r\n\r\n if (cat === 'floors') {\r\n this.placeBtnClass = this.btnClass;\r\n this.markBtnClass = this.btnClass;\r\n this.floorBtnClass = this.activeBtnClass;\r\n }\r\n this.category = cat;\r\n this.router.navigate(['embed/lists', cat]);\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, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { PlaceData } from '../placedata.service';\r\n\r\n@Component({\r\n selector: 'app-embed-map',\r\n templateUrl: './embed-map.component.html',\r\n styleUrls: ['./embed-map.component.css']\r\n})\r\nexport class EmbedMapComponent implements OnInit {\r\n id;\r\n floorName;\r\n floorId;\r\n constructor(private route: ActivatedRoute, private placedataService: PlaceData) { }\r\n\r\n ngOnInit() {\r\n this.id = this.route.snapshot.paramMap.get('id');\r\n\r\n if (this.id.startsWith('f-')) {\r\n this.titleFromFloor();\r\n } else {\r\n this.titleFromPlace();\r\n }\r\n }\r\n\r\n titleFromFloor() {\r\n const floors = this.placedataService.getFloors();\r\n this.floorId = this.id.replace('f-', '');\r\n const floor = floors.filter(x => x.id === this.floorId)[0];\r\n this.floorName = floor.name;\r\n }\r\n\r\n titleFromPlace() {\r\n const floors = this.placedataService.getFloors();\r\n this.placedataService.getJSON()\r\n .subscribe(response => {\r\n const mapLocations = response[1];\r\n const position = mapLocations.filter(x => x.Id === this.id)[0];\r\n this.floorId = position.Floor;\r\n const selectedFloor = floors.filter(x => x.id === position.Floor)[0];\r\n this.floorName = selectedFloor.name;\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{floorName}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-embed-tabs',\r\n templateUrl: './embed-tabs.component.html',\r\n styleUrls: ['./embed-tabs.component.css']\r\n})\r\nexport class EmbedTabsComponent {\r\n @Input() floorId;\r\n}\r\n","
\r\n Places\r\n Classmarks\r\n Floors\r\n
\r\n
\r\n Guide\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { PlaceData } from '../placedata.service';\r\nimport { Floor } from '../floor';\r\n\r\n@Component({\r\n selector: 'app-floor-guide',\r\n templateUrl: './floor-guide.component.html',\r\n styleUrls: ['./floor-guide.component.css']\r\n})\r\nexport class FloorGuideComponent implements OnInit {\r\n\r\n markList = [];\r\n @Input() id;\r\n floors: Floor[] = [];\r\n public selectedFloor: Floor;\r\n\r\n constructor(\r\n private placedataService: PlaceData\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.floors = this.placedataService.getFloors();\r\n this.selectedFloor = this.floors.filter(x => x.id === this.id)[0];\r\n this.markList = this.placedataService.getMarks(this.id);\r\n }\r\n}\r\n","

{{ selectedFloor.name }} guide

\r\n Refuge\r\n
\r\n

Collaborative working zone

\r\n

\r\n Group working, laptop use, cold food, hot and cold drinks, mobile phones, conversations across a table acceptable.

\r\n

\r\n In the event of an emergency evacuation, customers with mobility impairment should wait in the nearest protected refuge until\r\n contacted by Library staff/security.\r\n

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

Quiet zone

\r\n

\r\n Phone use; silent texting only. No food or hot/cold drinks (except water). Conversations should be quiet and short (a few\r\n words or sentences). Please do not disturb others from studying with your conversation. In the event of an emergency\r\n evacuation, customers with mobility impairment should wait in the nearest protected refuge until contacted by Library\r\n staff security.\r\n

\r\n

Classmark guide

\r\n \r\n
","import { Floor } from './floor';\r\n\r\nexport const FLOORS: Floor[] = [\r\n {id: \"0\", name:\"Floor 1\", image: \"floor-1\", width: 1073, height: 135,zone:\"c\" },\r\n{ id: \"1\", name:\"Floor 2\", image: \"floor-2\", width: 753, height: 135,zone: \"c\" },\r\n{ id: \"2\", name: \"Floor 3\", image: \"floor-3\", width: 753, height:1350, zone: \"q\" },\r\n{ id: \"3\", name: \"Floor 4\", image: \"floor-4\", width: 597, height: 1350, zone: \"q\" },\r\n{ id: \"4\", name:\"Floor 5\", image: \"floor-5\", width: 608, height: 1350, zone: \"q\" },\r\n{ id: \"5\", name: \"Floor 2 extension\", image: \"floor-2-x\", width: 814, height: 1350, zone: \"q\" },\r\n{ id: \"6\", name: \"Floor 3 extension\", image: \"floor-3-x\", width: 812, height: 1350, zone: \"q\" }\r\n];\r\n\r\nexport const MARKS = { \"2\" : [\r\n\t\t\t\t\t\"B General Philosophy, History\",\r\n\t\t\t\t\t\"B 165-626 Greek and Roman Philosophy\",\r\n\t\t\t\t\t\"B 2750-2799 Philosophy - Kant\",\r\n\t\t\t\t\t\"B 2900-2949 Philosophy - Hegel\",\r\n\t\t\t\t\t\"B 3100-3149 Philosophy - Schopenhauer\",\r\n\t\t\t\t\t\"B 3310-3318 Philosophy - Nietzsche\",\r\n\t\t\t\t\t\"B 770-785 Renaissance Philosophy\",\r\n\t\t\t\t\t\"B Philosophy and Religion\",\r\n\t\t\t\t\t\"BC Logic\",\r\n\t\t\t\t\t\"BD Metaphysics\",\r\n\t\t\t\t\t\"BF Psychology\",\r\n\t\t\t\t\t\"BH Aesthetics\",\r\n\t\t\t\t\t\"BJ Ethics\",\r\n\t\t\t\t\t\"BL Comparative Religion\",\r\n\t\t\t\t\t\"BL 700-820 Classical Religion and Mythology\",\r\n\t\t\t\t\t\"BM Judaism\",\r\n\t\t\t\t\t\"BP Islam\",\r\n\t\t\t\t\t\"BR Christianity - History\",\r\n\t\t\t\t\t\"BR 290-440 Renaissance Religion\",\r\n\t\t\t\t\t\"BS Bible\",\r\n\t\t\t\t\t\"BT Christian Theology\",\r\n\t\t\t\t\t\"BV Christian Practice\",\r\n\t\t\t\t\t\"BX Christian Denominations\",\r\n\t\t\t\t\t\"CB 359-369 Renaissance Civilization\",\r\n\t\t\t\t\t\"CC Archeology\",\r\n\t\t\t\t\t\"CE Chronology\",\r\n\t\t\t\t\t\"C-F History\",\r\n\t\t\t\t\t\"CJ Numinismatics\",\r\n\t\t\t\t\t\"CN Inscriptions, Epigraphy\",\r\n\t\t\t\t\t\"D-F History\",\r\n\t\t\t\t\t\"D Ancient History (General)\",\r\n\t\t\t\t\t\"D General, European History\",\r\n\t\t\t\t\t\"DA British History\",\r\n\t\t\t\t\t\"DA Roman Britain\",\r\n\t\t\t\t\t\"DA 250-497 Renaissance England\",\r\n\t\t\t\t\t\"DA 681-2 Renaissance London\",\r\n\t\t\t\t\t\"DC French History\",\r\n\t\t\t\t\t\"DC 33.3, 101-130 Renaissance France\",\r\n\t\t\t\t\t\"DC 727-9 Renaissance Paris\",\r\n\t\t\t\t\t\"DD 1-901 German History\",\r\n\t\t\t\t\t\"DD 65, 171-190 Renaissance Germany\",\r\n\t\t\t\t\t\"DD 901.N9-.N94 Renaissance Nürnberg\",\r\n\t\t\t\t\t\"DE Greco-Roman World\",\r\n\t\t\t\t\t\"DE-DG Ancient Greek and Roman History\",\r\n\t\t\t\t\t\"DF Ancient Greece\",\r\n\t\t\t\t\t\"D-F History (Arranged by Country)\",\r\n\t\t\t\t\t\"DG Ancient Italy\",\r\n\t\t\t\t\t\"DG Italian History\",\r\n\t\t\t\t\t\"DG 401 Italian History\",\r\n\t\t\t\t\t\"DG 403, 445 & 523-537 Renaissance Italy\",\r\n\t\t\t\t\t\"DG 675.6 & 676.9-678 Renaissance Venice\",\r\n\t\t\t\t\t\"DG 735.6 & 737-738 Renaissance Florence\",\r\n\t\t\t\t\t\"DG 797 Renaissance Rome\",\r\n\t\t\t\t\t\"DG 847.17-848.12 Renaissance Naples\",\r\n\t\t\t\t\t\"DG 975 Other Italian Cities and Regions\",\r\n\t\t\t\t\t\"DK Slavic History\",\r\n\t\t\t\t\t\"DP Spanish History\",\r\n\t\t\t\t\t\"DR East European History\",\r\n\t\t\t\t\t\"DS Arab, Jewish, Indian, Asian History\",\r\n\t\t\t\t\t\"DT African History\",\r\n\t\t\t\t\t\"DU Australian History\",\r\n\t\t\t\t\t\"E-F North and South American History\",\r\n\t\t\t\t\t\"G Geography\",\r\n\t\t\t\t\t\"GT 585 Renaissance Fashion\",\r\n\t\t\t\t\t\"M-N Music and Fine Arts\",\r\n\t\t\t\t\t\"N Art\",\r\n\t\t\t\t\t\"N 5320-5899 Ancient Art\",\r\n\t\t\t\t\t\"N 6861-6886 German Art\",\r\n\t\t\t\t\t\"N 6370-75 & 6915 Renaissance Art\",\r\n\t\t\t\t\t\"NA Architecture, Mosaics\",\r\n\t\t\t\t\t\"NA 210-340 Ancient Architecture\",\r\n\t\t\t\t\t\"NA 510 & 1115-1123 Renaissance Architecture\",\r\n\t\t\t\t\t\"NB Sculpture\",\r\n\t\t\t\t\t\"NC Drawing, Graphic Design\",\r\n\t\t\t\t\t\"NB 190 & 615-623 Renaissance Sculpture\",\r\n\t\t\t\t\t\"NB 69-169 Ancient Sculpture\",\r\n\t\t\t\t\t\"NC 85 & 255-257 Renaissance Drawing\",\r\n\t\t\t\t\t\"ND Painting, Manuscript Illumination\",\r\n\t\t\t\t\t\"ND 170-172 & 615-623 Renaissance Painting\",\r\n\t\t\t\t\t\"ND 70-130 Ancient Painting\",\r\n\t\t\t\t\t\"NE Printmaking\",\r\n\t\t\t\t\t\"NK Applied and Decorative Arts, Interior Decoration etc\",\r\n\t\t\t\t\t\"NK 3800-3855 Ancient Pottery\",\r\n\t\t\t\t\t\"NK 4620-4654 Vases\",\r\n\t\t\t\t\t\"NX Arts in General (Books Dealing with Art, Literature, Film, Music etc Together)\",\r\n\t\t\t\t\t\"P Linguistics\",\r\n\t\t\t\t\t\"P Languages, Literatures Theatre and Film\",\r\n\t\t\t\t\t\"PA Classical Philology and Literature\",\r\n\t\t\t\t\t\"PA Greek and Latin\",\r\n\t\t\t\t\t\"PA 8001-8155 & 8450-8595 Renaissance Literature in Latin\",\r\n\t\t\t\t\t\"PC 1000-1999 Italian Language\",\r\n\t\t\t\t\t\"PC Romance Languages\",\r\n\t\t\t\t\t\"PC 3200-3359 French Language\",\r\n\t\t\t\t\t\"PE English Language\",\r\n\t\t\t\t\t\"PF 3000-5999 German Language\",\r\n\t\t\t\t\t\"PF 3120.B8 German Language for Business\",\r\n\t\t\t\t\t\"PG Slavic\",\r\n\t\t\t\t\t\"PL Chinese\",\r\n\t\t\t\t\t\"PN General Literature, Film\",\r\n\t\t\t\t\t\"PN 1600-3200 Drama and Theatre\",\r\n\t\t\t\t\t\"PN 1991 Radio\",\r\n\t\t\t\t\t\"PN 1992 Television\",\r\n\t\t\t\t\t\"PN 1993 Video\",\r\n\t\t\t\t\t\"PN 2679-2686 Renaissance Theatre\",\r\n\t\t\t\t\t\"PN 3220-3229 Film Theory\",\r\n\t\t\t\t\t\"PN 3220-3279 Film\",\r\n\t\t\t\t\t\"PN 3230-3241 Aspects of Film-Making\",\r\n\t\t\t\t\t\"PN 3242-3249 Film Genre\",\r\n\t\t\t\t\t\"PN 3250-3273 Film History by Country\",\r\n\t\t\t\t\t\"PN 3266 German Film\",\r\n\t\t\t\t\t\"PN 3274-3277 Film Individual Actors or Directors\",\r\n\t\t\t\t\t\"PN 3278-3279 Critique of Individual Films\",\r\n\t\t\t\t\t\"PQ 1101-1297 French Literature - Collections\",\r\n\t\t\t\t\t\"PQ 1300-2686 French Literature\",\r\n\t\t\t\t\t\"PQ 1-3999 French Literature\",\r\n\t\t\t\t\t\"PQ 1600-1937 Renaissance French Authors A-Z\",\r\n\t\t\t\t\t\"PQ 1-841 French Literature - History and Theory\",\r\n\t\t\t\t\t\"PQ 230-251 Renaissance French Literature\",\r\n\t\t\t\t\t\"PQ 3801-3999 French Literature - From Countries Outside France\",\r\n\t\t\t\t\t\"PQ 4000-5900 Italian Literature\",\r\n\t\t\t\t\t\"PQ 4075-6 & 4204.A5/6 Renaissance Italian Literature\",\r\n\t\t\t\t\t\"PQ 4101-03 & 4213.A5/6 Renaissance Italian Poetry\",\r\n\t\t\t\t\t\"PQ 4139-59 & 4231-36 Renaissance Italian Drama\",\r\n\t\t\t\t\t\"PQ 416-423 Renaissance French Poetry\",\r\n\t\t\t\t\t\"PQ 4165, 4172, 4249 & 4253 Renaissance Italian Prose\",\r\n\t\t\t\t\t\"PQ 4561-4666 Renaissance Italian Authors A-Z\",\r\n\t\t\t\t\t\"PQ 521-528 Renaissance French Drama\",\r\n\t\t\t\t\t\"PQ 6000-6999 Spanish Literature\",\r\n\t\t\t\t\t\"PQ 613-615 Renaissance French Prose\",\r\n\t\t\t\t\t\"PQ 7000-8999 Latin American Literature\",\r\n\t\t\t\t\t\"PQ 9000-9999 Portuguese Literature\",\r\n\t\t\t\t\t\"PR English Literature\",\r\n\t\t\t\t\t\"PR 2199-3198 Renaissance English Authors A-Z\",\r\n\t\t\t\t\t\"PR 2750-3120 Shakespeare\",\r\n\t\t\t\t\t\"PR 411-9, 431-439 Renaissance English Literature\",\r\n\t\t\t\t\t\"PR 521-549 Renaissance English Poetry\",\r\n\t\t\t\t\t\"PR 646-699 Renaissance English Drama\",\r\n\t\t\t\t\t\"PR 769, 833-844 Renaissance English Prose\"]\r\n\t\t\t,\"3\" : [\r\n\t\t\t\t\t\"370.1 Philosophy of Education\",\r\n\t\t\t\t\t\"370.7 Study and Teaching of Education\",\r\n\t\t\t\t\t\"370.78 Educational Research\",\r\n\t\t\t\t\t\"371.1 Teachers and Teaching\",\r\n\t\t\t\t\t\"371.2 School Administration\",\r\n\t\t\t\t\t\"371.9 Special Education\",\r\n\t\t\t\t\t\"371.97 Multiracial Education\",\r\n\t\t\t\t\t\"372 Primary Education\",\r\n\t\t\t\t\t\"372.21 Preschool Education\",\r\n\t\t\t\t\t\"373 Secondary Education\",\r\n\t\t\t\t\t\"374 Further Education\",\r\n\t\t\t\t\t\"375 Curricula\",\r\n\t\t\t\t\t\"378 Higher Education\",\r\n\t\t\t\t\t\"379 Public Policy Issues in Education\",\r\n\t\t\t\t\t\"4 MCA-4 MKO Proposed Legislation and Parliamentary Debates European Union\",\r\n\t\t\t\t\t\"4 MJE 10 Official Journal of the European Union - C Series European Union\",\r\n\t\t\t\t\t\"4 NCA-4 NPM Explanatory and Background Policy Documents European Union\",\r\n\t\t\t\t\t\"4 NJE 10 A6 General Report on the Activities of the European Union\",\r\n\t\t\t\t\t\"4 NJE 20 B8 Bulletin of the European Union\",\r\n\t\t\t\t\t\"4 P 10 Official Journal of the European Union - L Series\",\r\n\t\t\t\t\t\"4 P 10-4 P 11 Directives, Regulations and Decisions (Secondary Legislation) European Union\",\r\n\t\t\t\t\t\"4 P 4-4 P 8 EU Treaties (Primary Legislation) European Union\",\r\n\t\t\t\t\t\"K Legal Reference\",\r\n\t\t\t\t\t\"KA Jurisprudence and Legal Theory\",\r\n\t\t\t\t\t\"KB Comparative Law\",\r\n\t\t\t\t\t\"KC International Law\",\r\n\t\t\t\t\t\"KD Religious Law\",\r\n\t\t\t\t\t\"KE Ancient and Medieval Law\",\r\n\t\t\t\t\t\"KE Historical and Ancient Law\",\r\n\t\t\t\t\t\"KL General Law of Common Law Systems, Including the UK\",\r\n\t\t\t\t\t\"KM Public Law of Common Law Systems, Including the UK\",\r\n\t\t\t\t\t\"KN Private Law of Common Law Systems, Including the UK\",\r\n\t\t\t\t\t\"KR-KV Individual Country Material for Non-Common Law Systems\",\r\n\t\t\t\t\t\"KV 1501-2050 German Law\",\r\n\t\t\t\t\t\"KW European Community Law\"\r\n ],\r\n \"4\" : [\r\n\t\t\t\t\t\"H Social Sciences (General)\",\r\n\t\t\t\t\t\"HA Statistics\",\r\n\t\t\t\t\t\"HB Economic Theory, Demography\",\r\n\t\t\t\t\t\"HC Economic History and Conditions\",\r\n\t\t\t\t\t\"HD Management, Industries, Land Use, Labour\",\r\n\t\t\t\t\t\"HE Transportation and Communications\",\r\n\t\t\t\t\t\"HF Commerce\",\r\n\t\t\t\t\t\"HG Finance\",\r\n\t\t\t\t\t\"HJ Public Finance\",\r\n\t\t\t\t\t\"HM Sociology (General)\",\r\n\t\t\t\t\t\"HN Social History and Conditions, Social Problems, Social Reform\",\r\n\t\t\t\t\t\"HQ The Family, Marriage, Women\",\r\n\t\t\t\t\t\"HS Societies: Secret, Benevolent etc\",\r\n\t\t\t\t\t\"HT Communities, Classes, Races\",\r\n\t\t\t\t\t\"HV Social Pathology, Social and Public Welfare, Criminology\",\r\n\t\t\t\t\t\"HX Socialism, Communism, Anarchism\",\r\n\t\t\t\t\t\"J General Legislative and Executive Papers\",\r\n\t\t\t\t\t\"JA Political Science (General)\",\r\n\t\t\t\t\t\"JC Political Theory\",\r\n\t\t\t\t\t\"JF Political Institutions and Public Adminstration\",\r\n\t\t\t\t\t\"JJ Political Institutions and Public Administration (north America)\",\r\n\t\t\t\t\t\"JK Political Institutions and Public Administration (United States)\",\r\n\t\t\t\t\t\"JL Political Institutions and Public Administration (Canada, Latin America etc)\",\r\n\t\t\t\t\t\"JN Political Institutions and Public Administration (Europe)\",\r\n\t\t\t\t\t\"JQ Political Institutions and Public Administration (Asia, Africa, Australia, Pacific Area etc)\",\r\n\t\t\t\t\t\"JS Local Government, Municipal Government\",\r\n\t\t\t\t\t\"JV Colonies and Colonisation, Emigration and Immigration, International Migration\",\r\n\t\t\t\t\t\"JZ International Relations\"\r\n ],\r\n\r\n \r\n \"5\" : [\r\n\t\t\t\t\t\"Q General Science\",\r\n\t\t\t\t\t\"Q 175 Philosophy of Science\",\r\n\t\t\t\t\t\"QA Mathematics\",\r\n\t\t\t\t\t\"QA 273-280 Statistics\",\r\n\t\t\t\t\t\"QA 73-80 Computer Science\",\r\n\t\t\t\t\t\"QA 73-80 Computer Science\",\r\n\t\t\t\t\t\"QB Astronomy\",\r\n\t\t\t\t\t\"QC Physics and Engineering Science\",\r\n\t\t\t\t\t\"QD Chemistry and Biochemistry\",\r\n\t\t\t\t\t\"QE Geology\",\r\n\t\t\t\t\t\"QE- QG Geosciences\",\r\n\t\t\t\t\t\"QH Biology\",\r\n\t\t\t\t\t\"QH-QR Biological Sciences\",\r\n\t\t\t\t\t\"QK Plant Sciences\",\r\n\t\t\t\t\t\"QL Zoology\",\r\n\t\t\t\t\t\"QM Human Anatomy\",\r\n\t\t\t\t\t\"QP Physiology\",\r\n\t\t\t\t\t\"QR Bacteriology and Microbiology\",\r\n\t\t\t\t\t\"R Medicine (General)\",\r\n\t\t\t\t\t\"RA Public Aspects of Medicine\",\r\n\t\t\t\t\t\"RB Pathology\",\r\n\t\t\t\t\t\"RC Internal Medicine\",\r\n\t\t\t\t\t\"RD General Surgery\",\r\n\t\t\t\t\t\"RE Ophthalmology\",\r\n\t\t\t\t\t\"RF Otorhinolaryngology\",\r\n\t\t\t\t\t\"RG Gynaecology of Obstetrics\",\r\n\t\t\t\t\t\"RJ Paediatrics\",\r\n\t\t\t\t\t\"RK Dentistry\",\r\n\t\t\t\t\t\"RL Dermatology\",\r\n\t\t\t\t\t\"RM Therapeutics, Pharmacology\",\r\n\t\t\t\t\t\"R-RZ Medicine\",\r\n\t\t\t\t\t\"RS Pharmacy\",\r\n\t\t\t\t\t\"RX Homeopathy\",\r\n\t\t\t\t\t\"RZ Other Systems of Medicine\",\r\n\t\t\t\t\t\"TJ Mechanical and Control Engineering\",\r\n\t\t\t\t\t\"TK Electrical, Electronic and Nuclear Engineering\",\r\n\t\t\t\t\t\"TL Automobile and Aeronautical Engineering\",\r\n\t\t\t\t\t\"TN-TP Mineral and Chemical Technology\",\r\n\t\t\t\t\t\"TR Photography\",\r\n\t\t\t\t\t\"TS-TT Manufacturing and Craft Industries\",\r\n\t\t\t\t\t\"T-TH General, Civil and Environmental Engineering\",\r\n\t\t\t\t\t\"U Military Science and Technology\",\r\n\t\t\t\t\t\"U 29-35 Military Science in Antiquity\",\r\n\t\t\t\t\t\"V Naval Science and Technology\",\r\n\t\t],\r\n\r\n \"6\" : [\r\n\t\t\t\t\t\"[qto] DA 25+ Calendars of State Papers\",\r\n\t\t\t\t\t\"PS American Literature\",\r\n\t\t\t\t\t\"PT German, Scandinavian\",\r\n\t\t\t\t\t\"PT 1100-1479 Anthologies of German Literature\",\r\n\t\t\t\t\t\"PT 1501-2728 German Literature by and About All Individual Authors\",\r\n\t\t\t\t\t\"PT 1799-2592 Eighteenth and Nineteenth Century Authors A-Z\",\r\n\t\t\t\t\t\"PT 1-951 Histories of German Literature\",\r\n\t\t\t\t\t\"PT 241-279 Renaissance German literature\",\r\n\t\t\t\t\t\"PT 2600-2653 Twentieth Century Authors (1870-1960) A-Z\",\r\n\t\t\t\t\t\"PT 2660-2688 Late Twentieth Century Authors (1960-1999) A-Z\",\r\n\t\t\t\t\t\"PT 2700-2728 Contemporary Authors (2000-) A-Z\",\r\n\t\t\t\t\t\"PT 3801-3971 German Language and Literature from Outside Germany\",\r\n\t\t\t\t\t\"Z History of the Book and Bibliography, Palaeography\",\r\n\t\t\t\t\t\"Z 105-114 Palaeography\"\r\n ]};\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-foyer-guide',\r\n templateUrl: './foyer-guide.component.html',\r\n styleUrls: ['./foyer-guide.component.css']\r\n})\r\nexport class FoyerGuideComponent implements OnInit {\r\n floorId;\r\n constructor(private route: ActivatedRoute, private location: Location) { }\r\n\r\n ngOnInit() {\r\n this.floorId = this.route.snapshot.paramMap.get('id');\r\n }\r\n\r\n backClicked() {\r\n this.location.back();\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, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { VersionService } from '../version.service';\r\n\r\n@Component({\r\n selector: 'app-foyer-list',\r\n templateUrl: './foyer-list.component.html',\r\n styleUrls: ['./foyer-list.component.css']\r\n})\r\nexport class FoyerListComponent implements OnInit {\r\n\r\n activeBtnClass = 'btn btn-secondary active';\r\n btnClass = 'btn btn-secondary';\r\n placeBtnClass: string;\r\n markBtnClass: string;\r\n floorBtnClass: string;\r\n public category;\r\n versionString: string;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private versionService: VersionService) {\r\n this.placeBtnClass = this.activeBtnClass;\r\n this.markBtnClass = this.btnClass;\r\n this.floorBtnClass = this.btnClass;\r\n }\r\n\r\n ngOnInit() {\r\n this.versionString = this.versionService.getVersion();\r\n this.category = this.route.snapshot.paramMap.get('id');\r\n this.setList(this.category);\r\n }\r\n\r\n setList(cat) {\r\n if (cat === 'places') {\r\n this.placeBtnClass = this.activeBtnClass;\r\n this.markBtnClass = this.btnClass;\r\n this.floorBtnClass = this.btnClass;\r\n }\r\n\r\n if (cat === 'classmarks') {\r\n this.placeBtnClass = this.btnClass;\r\n this.markBtnClass = this.activeBtnClass;\r\n this.floorBtnClass = this.btnClass;\r\n }\r\n\r\n if (cat === 'floors') {\r\n this.placeBtnClass = this.btnClass;\r\n this.markBtnClass = this.btnClass;\r\n this.floorBtnClass = this.activeBtnClass;\r\n }\r\n this.category = cat;\r\n this.router.navigate(['foyer/lists', cat]);\r\n }\r\n}\r\n","\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n

{{versionString}}

\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { PlaceData } from '../placedata.service';\r\n\r\n@Component({\r\n selector: 'app-foyer-map',\r\n templateUrl: './foyer-map.component.html',\r\n styleUrls: ['./foyer-map.component.css']\r\n})\r\nexport class FoyerMapComponent implements OnInit {\r\n\r\n id;\r\n floorName;\r\n floorId;\r\n constructor(private route: ActivatedRoute, private placedataService: PlaceData) { }\r\n\r\n ngOnInit() {\r\n this.route.paramMap.subscribe((params: ParamMap) => {\r\n this.id = params.get('id');\r\n if(this.id === null) {\r\n const storedId = localStorage.getItem('floorId');\r\n if (storedId !== null) {\r\n this.id = storedId;\r\n } else {\r\n this.id='f-0';\r\n }\r\n }\r\n\r\n if (this.id.startsWith('f-')) {\r\n this.titleFromFloor();\r\n } else {\r\n this.titleFromPlace();\r\n }\r\n });\r\n }\r\n\r\n titleFromFloor() {\r\n const floors = this.placedataService.getFloors();\r\n this.floorId = this.id.replace('f-', '');\r\n const floor = floors.filter(x => x.id === this.floorId)[0];\r\n this.floorName = floor.name;\r\n }\r\n\r\n titleFromPlace() {\r\n const floors = this.placedataService.getFloors();\r\n this.placedataService.getJSON()\r\n .subscribe(response => {\r\n const mapLocations = response[1];\r\n const position = mapLocations.filter(x => x.Id === this.id)[0];\r\n this.floorId = position.Floor;\r\n const selectedFloor = floors.filter(x => x.id === position.Floor)[0];\r\n this.floorName = selectedFloor.name;\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n

{{floorName}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-foyer-tabs',\r\n templateUrl: './foyer-tabs.component.html',\r\n styleUrls: ['./foyer-tabs.component.css']\r\n})\r\nexport class FoyerTabsComponent implements OnInit {\r\n @Input() placing;\r\n @Input() floorId;\r\n classNames;\r\n elementId;\r\n homeId = 'f-0';\r\n homeUrl;\r\n\r\n ngOnInit() {\r\n if(window.location.hostname === 'localhost'){\r\n this.homeUrl = '/foyer/map';\r\n } else {\r\n this.homeUrl= '/libmap/foyer/map';\r\n }\r\n\r\n const storedId = localStorage.getItem('floorId');\r\n if (storedId !== null) {\r\n this.homeId = storedId;\r\n }\r\n\r\n if (this.placing === 'bottom') {\r\n this.classNames = 'navbar fixed-bottom navbar-expand-sm navbar-light bg-light ';\r\n this.elementId = '#bs-example-navbar-collapse-1';\r\n } else {\r\n this.classNames = 'navbar fixed-top navbar-expand-sm navbar-light bg-light';\r\n this.elementId = '#bs-example-navbar-collapse-2';\r\n }\r\n }\r\n reloadPage() {\r\n window.location.href = this.homeUrl;\r\n }\r\n}\r\n","","export class MapViewModel {\r\n _id: string;\r\n _title: string;\r\n _x: string;\r\n _y: string;\r\n _floorid: string;\r\n _image: string;\r\n\r\n get Id() {\r\n return this._id;\r\n }\r\n set Id(val) {\r\n this._id = val;\r\n }\r\n\r\n get Title() {\r\n return this._title;\r\n }\r\n set Title(val) {\r\n this._title = val;\r\n }\r\n get X() {\r\n return this._x;\r\n }\r\n set X(val) {\r\n this._x = val;\r\n }\r\n get Y() {\r\n return this._y;\r\n }\r\n set Y(val) {\r\n this._y = val;\r\n }\r\n get FloorId() {\r\n return this._floorid;\r\n }\r\n set FloorId(val) {\r\n this._floorid = val;\r\n }\r\n get Image() {\r\n return this._image;\r\n }\r\n set Image(val) {\r\n this._image = val;\r\n }\r\n}\r\n","import { Component, OnInit, Renderer2, OnDestroy, Input, ElementRef } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport * as svgPanZoom from 'svg-pan-zoom';\r\nimport * as Hammer from 'hammerjs';\r\nimport { PlaceModel } from '../placemodel';\r\nimport { MapLocation } from '../MapLocation';\r\nimport { PlaceData } from '../placedata.service';\r\nimport { MapViewModel } from '../map-view-model';\r\nimport { Floor } from '../floor';\r\nimport { PinContent } from '../pin-content';\r\nimport { LABELS } from '../pin-labels';\r\nimport { VersionService } from '../version.service';\r\n\r\n@Component({\r\n selector: 'app-map',\r\n templateUrl: './map.component.html',\r\n styleUrls: ['./map.component.css']\r\n})\r\nexport class MapComponent implements OnInit, OnDestroy {\r\n public model = new MapViewModel();\r\n locations: PlaceModel[] = [];\r\n mapLocations: MapLocation[] = [];\r\n floors: Floor[];\r\n public selectedFloor: Floor;\r\n id: string;\r\n thePanner;\r\n panZoomInstance: () => void;\r\n floorId;\r\n guideParam;\r\n floorName: string;\r\n btnStyle: string;\r\n currentUrl: string;\r\n @Input() mapStyle: string;\r\n obj;\r\n svg;\r\n pinLabels: PinContent[];\r\n sizeFactor = 1;\r\n initialScale = 2;\r\n centredX;\r\n centredY;\r\n isFloor: boolean;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private placedataService: PlaceData,\r\n private renderer: Renderer2,\r\n private el: ElementRef,\r\n private versionService: VersionService\r\n ) {\r\n this.floors = this.placedataService.getFloors();\r\n this.pinLabels = LABELS;\r\n }\r\n\r\n ngOnInit() {\r\n this.obj = this.renderer.createElement('object');\r\n this.obj.setAttribute('type', 'image/svg+xml');\r\n this.obj.setAttribute('id', this.mapStyle);\r\n this.renderer.appendChild(this.el.nativeElement, this.obj);\r\n\r\n this.route.paramMap.subscribe((params: ParamMap) => {\r\n this.id = params.get('id');\r\n if (this.id === null) {\r\n const storedId = localStorage.getItem('floorId');\r\n if (storedId !== null) {\r\n this.id = storedId;\r\n } else {\r\n this.id = 'f-0';\r\n }\r\n }\r\n\r\n this.floorId = this.id.replace('f-', '');\r\n this.guideParam = this.floorId;\r\n this.setView();\r\n });\r\n }\r\n\r\n setFloor(): void {\r\n this.selectedFloor = this.floors.filter(x => x.id === this.floorId)[0];\r\n const imgPath = './assets/' + this.selectedFloor.image + '.svg?v=' + this.versionService.getVersion();\r\n this.obj.setAttribute('data', imgPath);\r\n\r\n this.panZoomInstance = this.renderer.listen(this.obj, 'load', () => {\r\n this.addPins();\r\n this.thePanner = svgPanZoom(this.obj, { center: true, dblClickZoomEnabled: false, minZoom: 1, maxZoom: 2 });\r\n });\r\n }\r\n\r\n addPins(): void {\r\n this.svg = this.obj.contentDocument;\r\n const pinGroup = this.svg.getElementById('pins');\r\n //const pins = pinGroup.getElementsByTagName('g');\r\n const pins = pinGroup.querySelectorAll('g')\r\n\r\n //const pins = pinGroup.getElementsByTagName('ns0:g');\r\n for (let i = 0; i < pins.length; i++) {\r\n // This is defence against adding phantom pins\r\n // or those without content\r\n if (pins[i].hasAttribute('id')) {\r\n const idString = pins[i].getAttribute('id');\r\n // see if we can find it\r\n const caption = LABELS.filter(content => content.id === idString);\r\n if (caption.length === 1) {\r\n pins[i].setAttribute('cursor', 'pointer');\r\n pins[i].setAttribute('class', this.mapStyle);\r\n const hammer2 = new Hammer(pins[i]);\r\n hammer2.on('tap press', this.showPopover);\r\n }\r\n }\r\n }\r\n }\r\n\r\n showPopover(e): void {\r\n let sizeFactor = 1;\r\n const svg = e.target.ownerSVGElement;\r\n\r\n // Find where the id is\r\n let id = '';\r\n let pinClass = '';\r\n if (e.target.parentNode.parentNode.id !== '') {\r\n id = e.target.parentNode.parentNode.id;\r\n pinClass = e.target.parentNode.parentNode.getAttribute('class');\r\n // console.log(e.target.parentNode.getAttribute(\"class\"));\r\n } else {\r\n id = e.target.parentNode.parentNode.id;\r\n pinClass = e.target.parentNode.parentNode.getAttribute('class');\r\n // console.log(e.target.parentNode.parentNode.getAttribute(\"class\"));\r\n }\r\n\r\n if (pinClass === 'foyer-style') {\r\n sizeFactor = 1.5;\r\n }\r\n const dc = svg.getElementById('pop-group');\r\n if (dc !== null) {\r\n svg.removeChild(dc);\r\n }\r\n // console.log(dc);\r\n const caption = LABELS.filter(content => content.id === id)[0];\r\n const bbox = svg.getBoundingClientRect();\r\n // console.log();\r\n const group = document.createElementNS('http://www.w3.org/2000/svg', 'g');\r\n group.id = 'pop-group';\r\n\r\n const backMask = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r\n // backMask.id = 'back-mask';\r\n backMask.setAttribute('fill', '#000');\r\n backMask.setAttribute('opacity', '0.5');\r\n backMask.setAttribute('height', bbox.height);\r\n backMask.setAttribute('width', bbox.width);\r\n group.appendChild(backMask);\r\n\r\n const popover = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r\n const rectWidth = (350 * sizeFactor);\r\n const rectHeight = 200 * sizeFactor;\r\n popover.setAttribute('fill', '#fff');\r\n popover.setAttribute('width', rectWidth.toString());\r\n popover.setAttribute('height', rectHeight.toString());\r\n popover.setAttribute('rx', (20 * sizeFactor).toString());\r\n popover.setAttribute('ry', (20 * sizeFactor).toString());\r\n popover.setAttribute('opacity', '0.9');\r\n\r\n const xPos = (bbox.width * 0.5) - (rectWidth * 0.5);\r\n\r\n // add the text\r\n const text = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r\n text.setAttribute('width', rectWidth.toString());\r\n text.setAttribute('height', rectHeight.toString());\r\n let lineSpace = (80 * sizeFactor);\r\n\r\n if (caption !== undefined) {\r\n for (let i = 0; i < caption.caption.length; i++) {\r\n const span = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');\r\n span.textContent = caption.caption[i];\r\n span.setAttribute('font-family', 'helvetica');\r\n span.setAttribute('font-size', `${sizeFactor}rem`);\r\n span.setAttribute('y', lineSpace.toString());\r\n span.setAttribute('x', (xPos + (20 * sizeFactor)).toString());\r\n lineSpace += 20 * sizeFactor;\r\n text.appendChild(span);\r\n }\r\n\r\n }\r\n\r\n const lh = lineSpace - (50 * sizeFactor);\r\n popover.setAttribute('height', lh.toString());\r\n text.setAttribute('height', lineSpace.toString());\r\n\r\n text.setAttribute('x', xPos.toString());\r\n popover.setAttribute('x', xPos.toString());\r\n popover.setAttribute('y', (50 * sizeFactor).toString());\r\n group.appendChild(popover);\r\n group.appendChild(text);\r\n svg.appendChild(group);\r\n\r\n const hammer3 = new Hammer(group);\r\n hammer3.on('tap press', function () {\r\n group.parentNode.removeChild(group);\r\n });\r\n }\r\n\r\n // this just switches depending on whether it's a place or a floor\r\n setView(): void {\r\n this.removePanner();\r\n\r\n if (this.id.startsWith('f-')) {\r\n this.isFloor = true;\r\n this.setFloor();\r\n\r\n } else {\r\n this.isFloor = false;\r\n this.setPlace();\r\n }\r\n }\r\n\r\n setPlace(): void {\r\n this.placedataService.getJSON()\r\n .subscribe(response => {\r\n this.locations = response[0];\r\n this.mapLocations = response[1];\r\n const position = this.mapLocations.filter(x => x.Id === this.id)[0];\r\n this.model.X = position.X;\r\n this.model.Y = position.Y;\r\n this.model.FloorId = position.Floor;\r\n this.guideParam = this.model.FloorId;\r\n this.selectedFloor = this.floors.filter(x => x.id === position.Floor)[0];\r\n this.model.Title = this.locations.filter(x => x.Id === position.TitleId)[0].Title;\r\n const imgPath = './assets/' + this.selectedFloor.image + '.svg?v=' + this.versionService.getVersion();\r\n this.obj.setAttribute('data', imgPath);\r\n\r\n this.panZoomInstance = this.renderer.listen(this.obj, 'load', () => {\r\n this.addPins();\r\n this.thePanner = svgPanZoom(this.obj, { center: false, dblClickZoomEnabled: false, minZoom: 1, maxZoom: 2 });\r\n const sizes = this.thePanner.getSizes();\r\n\r\n // const initialScale = 2;\r\n\r\n const yOffsetFactor = parseInt(this.model.Y, 10) / sizes.viewBox.height;\r\n const adjustedYoffset = (sizes.height * this.initialScale) * yOffsetFactor;\r\n this.centredY = adjustedYoffset - (sizes.height * 0.5);\r\n\r\n // horizontal is different because there is empty space either\r\n // side of the image\r\n const emptySpaceX = sizes.width - (sizes.viewBox.width * sizes.realZoom);\r\n const xOffsetFactor = parseInt(this.model.X, 10) / sizes.viewBox.width;\r\n const adjustedXoffset = ((sizes.width - emptySpaceX) * this.initialScale) * xOffsetFactor;\r\n this.centredX = adjustedXoffset - (sizes.width * 0.5);\r\n\r\n this.thePanner.zoomAtPoint(this.initialScale, { x: this.centredX, y: this.centredY });\r\n });\r\n });\r\n }\r\n\r\n resetMap() {\r\n if (this.isFloor === true) {\r\n this.thePanner.resetZoom();\r\n this.thePanner.resetPan();\r\n\r\n } else {\r\n this.thePanner.resetZoom();\r\n this.thePanner.zoomBy(this.initialScale);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.removePanner();\r\n }\r\n\r\n removePanner() {\r\n if (this.thePanner) {\r\n this.thePanner.destroy();\r\n this.thePanner = null;\r\n }\r\n }\r\n\r\n mapZoomIn() {\r\n this.thePanner.zoomIn();\r\n }\r\n\r\n mapZoomOut() {\r\n this.thePanner.zoomOut();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
{{mapStyle}}
\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

Modal title

\r\n
\r\n
\r\n ...\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { PinContent } from './pin-content';\r\nexport const LABELS: PinContent[] = [\r\n {\r\n id: \"pin-assistivetech\",\r\n title: \"Assistive Technology\",\r\n \"caption\": [\r\n \"This area may be used by any student but\",\r\n \"students registered with the University\",\r\n \"Disability Services have priority access.\",\r\n \"Please move to another study space if a\",\r\n \"student needs access the specialist\",\r\n \"software available in this area.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-coffee\",\r\n \"title\": \"Coffee Bar\",\r\n \"caption\": [\r\n \"This facility is run by Warwick Food and\",\r\n \"Drink. Opening hours vary so please check\",\r\n \"their website for details.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-education\",\r\n \"title\": \"Education Books\",\r\n \"caption\": [\r\n \"This collection is arranged by Dewey\",\r\n \"classmarks, beginning with 37 e.g. 372\",\r\n \"Primary Education. Use the Library\",\r\n \"Catalogue to find details of print and online\",\r\n \"books and journals.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-ithelpdesk\",\r\n\r\n \"title\": \"IT Help Desk\",\r\n \"caption\": [\r\n \"Most of the computers in the Library are\",\r\n \"managed by IT Services. The IT Help Desk\",\r\n \"Drop-in is open Monday-Friday 09:00-17:30.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-lawreports\",\r\n\r\n \"title\": \"Law Reports\",\r\n \"caption\": [\r\n \"Use the Library catalogue to find details of\",\r\n \"law resources. You will need the classmark\",\r\n \"to locate print resources on the shelves.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-helpdesk\",\r\n\r\n \"title\": \"Library Helpdesks\",\r\n \"caption\": [\r\n \"The Library Helpdesk is open 08:30-21:30\",\r\n \"Monday-Sunday. Check the website for any\",\r\n \"changes to the standard hours. Helpdesk\",\r\n \"staff can help you with your My Library\",\r\n \"Account and general enquiries.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-returns\",\r\n \"title\": \"Returns\",\r\n \"caption\": [\r\n \"Self-return of items. Follow the on screen\",\r\n \"instructions and remember to keep your\",\r\n \"receipt as proof of return until you have\",\r\n \"checked your My Library Account.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-schools\",\r\n \"title\": \"Schools Collection\",\r\n \"caption\": [\r\n \"This collection holds a range of material for\",\r\n \"use with children in classrooms. It contains\",\r\n \"fiction, non-fiction, big books, picture books,\",\r\n \"AV materials and teaching schemes.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-selfissue\",\r\n \"title\": \"Self-issue\",\r\n \"caption\": [\r\n \"Self-issue of items. Follow the on screen\",\r\n \"instructions. Your receipt details the\",\r\n \"date/time your items are due back. NB\",\r\n \"some items are due back before 11am the\",\r\n \"following day, some are 3 day loans, and\",\r\n \"others are standard loan.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-seminarroom\",\r\n \"title\": \"Seminar Room\",\r\n \"caption\": [\r\n \"Used for Events, Meetings, Information\",\r\n \"Skills, Training and Induction.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-shortloan\",\r\n \"title\": \"Short Loan\",\r\n \"caption\": [\r\n \"Items due back 11am the next day Monday\",\r\n \"to Friday, or 11am Monday if borrowed on a\",\r\n \"Friday. Fines 1GBP per hour/part hour. Pick\",\r\n \"up shelves for holds also located in this\",\r\n \"area.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-silentstudy1\",\r\n \"title\": \"Silent Study Room 1\",\r\n \"caption\": [\r\n \"Individual, silent study. Silent texting only.\",\r\n \"Please do not eat or drink (except water) or\",\r\n \"use your phone for conversations. Laptop\",\r\n \"use permitted. Check overhead signs.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-silentstudy2\",\r\n \"title\": \"Silent Study Room 2\",\r\n \"caption\": [\r\n \"Individual, silent study. Silent texting only.\",\r\n \"Please do not eat or drink (except water) or\",\r\n \"use your phone for conversations. Laptop\",\r\n \"use permitted. Check overhead signs.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-silentstudy3\",\r\n \"title\": \"Silent Study Room 3\",\r\n \"caption\": [\r\n \"For Tablet and book reading use only\", \"(no laptops).\"\r\n ]\r\n },\r\n {\r\n id: \"pin-silentstudy4\",\r\n \"title\": \"Silent Study Room 4\",\r\n \"caption\": [\r\n \"For book reading only (Technology free zone).\"\r\n ]\r\n },\r\n {\r\n id: \"pin-statisticaldata\",\r\n \"title\": \"Statistical Data\",\r\n \"caption\": [\r\n \"This collection holds economic data (trade,\",\r\n \" commodity and financial) and some social\",\r\n \"data.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-teachinggrid\",\r\n \"title\": \"Teaching Grid\",\r\n \"caption\": [\r\n \"The Teaching Grid is designed to develop\",\r\n \"teaching excellence at Warwick. It provides\",\r\n \"a flexible workspace and classroom for\",\r\n \"academics and postgraduates who teach to\",\r\n \"try out new ways of teaching, including\",\r\n \"trying out new technologies.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-trainingroom\",\r\n \"title\": \"Training Room\",\r\n \"caption\": [\r\n \"Used for Information Skills, Training and\",\r\n \"Induction.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-wolfson\",\r\n \"title\": \"Wolfson Research Exchange\",\r\n \"caption\": [\r\n \"The Wolfson Research Exchange is a\",\r\n \"dedicated facility for the Warwick\",\r\n \"Researcher and provides space, services\",\r\n \"and staff to support collaboration,\",\r\n \"connections and community.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-quietroom\",\r\n \"title\": \"Quiet room\",\r\n \"caption\": [\r\n \"This room can be booked by students\",\r\n \"registered with Disability Services.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-individualcomputeruse\",\r\n \"title\": \"Individual computer use zone\",\r\n \"caption\": [\r\n \"Following student requests this area is for\",\r\n \"individual computer use. Please move to a\",\r\n \"Group Study Area for collaborative\",\r\n \"computer work.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-bridge2\",\r\n \"title\": \"Bridge to extension\",\r\n \"caption\": [\r\n \"Access to Floor 2 extension is via the\",\r\n \"Bridge Link. Please do not hold\",\r\n \"conversations or use mobile phones on the\",\r\n \"bridge as noise travels onto the study floors\",\r\n \"and disturbs others.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-bridge3\",\r\n \"title\": \"Bridge to extension\",\r\n \"caption\": [\r\n \"Access to Floor 3 extension is via the\",\r\n \"Bridge Link. Please do not hold\",\r\n \"conversations or use mobile phones on the\",\r\n \"bridge as noise travels onto the study floors\",\r\n \"and disturbs others.\"\r\n ]\r\n\r\n },\r\n {\r\n id: \"pin-3extquietstudy\",\r\n \"title\": \"Floor 3 extension quiet study area\",\r\n \"caption\": [\r\n \"We are unable to provide power at all study\",\r\n \"desks. If your laptop runs out of battery,\",\r\n \"netbooks can be borrowed from the IT\",\r\n \"Services Help Desk on Floor 1 of the Library\",\r\n \"9:00-17:30 Monday to Friday.\"\r\n ]\r\n },\r\n {\r\n id: \"pin-officialpublications\",\r\n \"title\": \"Official publications\",\r\n \"caption\": [\r\n \"British Official Publications are publications\",\r\n \"of, or for the British Government and its\",\r\n \"Departments. Many are now available in full\",\r\n \"text online\"\r\n ]\r\n },\r\n {\r\n id: \"pin-20mins\",\r\n \"title\": \"20 minute PC's\",\r\n \"caption\": [\"Automatic logout after 20 minutes\"]\r\n }\r\n];","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { forkJoin } from 'rxjs';\r\nimport { Floor } from './floor';\r\nimport { FLOORS } from './floors';\r\nimport { MARKS } from './floors';\r\nimport { VersionService } from './version.service';\r\n\r\n@Injectable()\r\nexport class PlaceData {\r\n constructor(private http: HttpClient, private versionService: VersionService) { }\r\n\r\n getJSON(): Observable {\r\n return forkJoin([\r\n this.http.get('./assets/locationname.json?v=' + this.versionService.getVersion()),\r\n this.http.get('./assets/MapLocation.json?v=' + this.versionService.getVersion())\r\n ]);\r\n }\r\n getFloors(): Floor[] {\r\n return FLOORS;\r\n }\r\n\r\n getMarks(floor): any {\r\n return MARKS[floor];\r\n }\r\n}","export class PlaceModel {\r\n Id: string;\r\n _title: string;\r\n get Title() {\r\n return this._title;\r\n }\r\n set Title(val) {\r\n this._title = val;\r\n }\r\n}","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { PlaceModel } from '../placemodel';\r\nimport { MapLocation } from '../MapLocation';\r\nimport { PlaceData } from '../placedata.service';\r\nimport { Floor } from '../floor';\r\n\r\n@Component({\r\n selector: 'app-places',\r\n templateUrl: './places.component.html',\r\n styleUrls: ['./places.component.css'],\r\n})\r\nexport class PlacesComponent implements OnInit {\r\n private _cat: string;\r\n\r\n @Input() set cat(value: string) {\r\n this._cat = value;\r\n this.setList(this._cat);\r\n }\r\n get cat(): string {\r\n return this._cat;\r\n }\r\n locations: PlaceModel[] = [];\r\n mapLocations: MapLocation[] = [];\r\n namedPlaces: PlaceModel[] = [];\r\n errorMessage: string;\r\n floors: Floor[];\r\n category;\r\n activeBtnClass = 'btn btn-default active';\r\n btnClass = 'btn btn-default';\r\n placeBtnClass: string;\r\n markBtnClass: string;\r\n floorBtnClass: string;\r\n\r\n constructor(\r\n private placedataService: PlaceData,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.cat === undefined) {\r\n this.cat = 'places';\r\n }\r\n\r\n this.router.events.subscribe((evt) => {\r\n if (!(evt instanceof NavigationEnd)) {\r\n return;\r\n }\r\n window.scrollTo(0, 0);\r\n });\r\n }\r\n setList(cat) {\r\n const categoryLookup = {\r\n 'places': '0', 'classmarks': '1', 'floors': '2'\r\n };\r\n\r\n if (cat === 'floors') {\r\n this.loadFloors();\r\n } else {\r\n this.loadPlaces(categoryLookup[cat]);\r\n }\r\n }\r\n\r\n loadPlaces(category): void {\r\n this.placedataService.getJSON()\r\n .subscribe(response => {\r\n this.locations = response[0];\r\n this.mapLocations = response[1];\r\n this.namedPlaces = [];\r\n\r\n this.mapLocations.forEach(element => {\r\n if (element.Category === category) {\r\n const place = new PlaceModel();\r\n place.Title = this.locations.filter(x => x.Id === element.TitleId)[0].Title;\r\n place.Id = element.Id;\r\n this.namedPlaces.push(place);\r\n }\r\n });\r\n\r\n // sort from\r\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\r\n this.namedPlaces.sort(function (a: any, b: any) {\r\n const nameA = a.Title.toUpperCase(); // ignore upper and lowercase\r\n const nameB = b.Title.toUpperCase(); // ignore upper and lowercase\r\n if (nameA < nameB) {\r\n return -1;\r\n }\r\n if (nameA > nameB) {\r\n return 1;\r\n }\r\n // names must be equal\r\n return 0;\r\n });\r\n },\r\n error => this.errorMessage = error);\r\n }\r\n\r\n loadFloors(): void {\r\n this.namedPlaces = [];\r\n this.floors = this.placedataService.getFloors();\r\n this.floors.forEach(floor => {\r\n const place = new PlaceModel();\r\n place.Title = floor.name;\r\n place.Id = 'f-' + floor.id;\r\n this.namedPlaces.push(place);\r\n });\r\n }\r\n}\r\n","","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-set-home',\r\n templateUrl: './set-home.component.html',\r\n styleUrls: ['./set-home.component.css']\r\n})\r\nexport class SetHomeComponent implements OnInit {\r\n\r\n model = {floorId: ''};\r\n message = '';\r\n ngOnInit() {\r\n // check if there is a floor set already\r\n const oldId = localStorage.getItem('floorId');\r\n if ( oldId !== null) {\r\n this.model.floorId = oldId;\r\n }\r\n }\r\n\r\n onSubmit() {\r\n localStorage.setItem('floorId', this.model.floorId);\r\n this.message = 'Changes saved';\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Set home floor for this machine

\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

{{message}}

\r\n Go to foyer home\r\n
\r\n
\r\n
","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-top-nav',\r\n templateUrl: './top-nav.component.html',\r\n styleUrls: ['./top-nav.component.css']\r\n})\r\nexport class TopNavComponent {\r\n\r\n}\r\n","","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class VersionService {\r\n getVersion(): string {\r\n return 'v4.1';\r\n }\r\n}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n","import { 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\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"names":[],"sourceRoot":"webpack:///","x_google_ignoreList":[]}