-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.bundle.js.map
1 lines (1 loc) · 30.9 KB
/
main.bundle.js.map
1
{"version":3,"sources":["./src/$_lazy_route_resource lazy","./src/app/app.component.css","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/toilets/map/map.actions.ts","./src/app/toilets/map/map.component.css","./src/app/toilets/map/map.component.html","./src/app/toilets/map/map.component.ts","./src/app/toilets/map/map.reducer.ts","./src/app/toilets/toilet-search.reducer.ts","./src/app/toilets/toilet.actions.ts","./src/app/toilets/toilet.effects.ts","./src/app/toilets/toilet.service.ts","./src/app/toilets/toilets-list/toilets-list.component.css","./src/app/toilets/toilets-list/toilets-list.component.html","./src/app/toilets/toilets-list/toilets-list.component.ts","./src/app/toilets/toilets.component.css","./src/app/toilets/toilets.component.html","./src/app/toilets/toilets.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.bundle.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/$$_lazy_route_resource lazy\n// module id = ./src/$$_lazy_route_resource lazy recursive\n// module chunks = main","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.css\n// module id = ./src/app/app.component.css\n// module chunks = main","module.exports = \"<app-toilets></app-toilets>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.html\n// module id = ./src/app/app.component.html\n// module chunks = main","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title = 'app';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\n\n\nimport { AppComponent } from './app.component';\nimport { ToiletsComponent } from './toilets/toilets.component';\nimport { ToiletService } from './toilets/toilet.service';\nimport { CommonModule } from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\n// tslint:disable-next-line:max-line-length\nimport {MatListModule, MatIconModule, MatSidenavModule, MatToolbarModule, MatButtonModule, MatDividerModule, MatCheckboxModule, MatSliderModule, MatSlideToggleModule} from '@angular/material';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {NoopAnimationsModule} from '@angular/platform-browser/animations';\nimport { MapComponent } from './toilets/map/map.component';\nimport { toiletReducer } from './toilets/toilet-search.reducer';\nimport { StoreModule } from '@ngrx/store';\nimport { ToiletEffects } from './toilets/toilet.effects';\nimport { EffectsModule } from '@ngrx/effects';\nimport { ToiletsListComponent } from './toilets/toilets-list/toilets-list.component';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport { mapReducer } from './toilets/map/map.reducer';\n\n\n\n\n@NgModule({\n declarations: [\n AppComponent,\n ToiletsComponent,\n MapComponent,\n ToiletsListComponent\n ],\n imports: [\n CommonModule,\n BrowserModule,\n HttpClientModule,\n BrowserAnimationsModule,\n NoopAnimationsModule,\n ReactiveFormsModule,\n // tslint:disable-next-line:max-line-length\n MatListModule, MatIconModule, MatSidenavModule, MatToolbarModule, MatButtonModule, MatDividerModule, MatCheckboxModule, MatSlideToggleModule,\n StoreModule.forRoot({\n toilets: toiletReducer,\n map: mapReducer\n }),\n EffectsModule.forRoot([\n ToiletEffects\n ]),\n ],\n providers: [ToiletService],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import {Action} from '@ngrx/store';\r\n\r\nexport const UPDATE_GPS_POSITION = '[map] Update gps poistion';\r\n\r\n\r\nexport class UpdateGpsPosition implements Action {\r\n readonly type = UPDATE_GPS_POSITION;\r\n constructor(public payload: { position: number[] }) {}\r\n}\r\n\r\n\r\nexport type MapAction =\r\n | UpdateGpsPosition;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/toilets/map/map.actions.ts","module.exports = \"#map {\\r\\n width: 100%;\\r\\n height: calc(100vh - 79px);\\r\\n }\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/toilets/map/map.component.css\n// module id = ./src/app/toilets/map/map.component.css\n// module chunks = main","module.exports = \"<div id=\\\"map\\\"></div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/toilets/map/map.component.html\n// module id = ./src/app/toilets/map/map.component.html\n// module chunks = main","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\n\nimport OlMap from 'ol/map';\nimport OlOSM from 'ol/source/osm';\nimport Point from 'ol/geom/point';\nimport Style from 'ol/style/style';\nimport Icon from 'ol/style/icon';\nimport Fill from 'ol/style/fill';\nimport Stroke from 'ol/style/stroke';\nimport Circle from 'ol/style/circle';\nimport VectorLayer from 'ol/layer/vector';\nimport VectorSource from 'ol/source/vector';\nimport OlTileLayer from 'ol/layer/tile';\nimport Feature from 'ol/feature';\nimport OlView from 'ol/view';\nimport OlProj from 'ol/proj';\nimport { Toilet } from '../toilet';\nimport { AppState } from '../../app-state';\nimport { Store } from '@ngrx/store';\nimport { ToiletSearch } from '../toilet.actions';\nimport { getToiletSearchResults, getNoFeesToiletResult } from '../toilet-search.reducer';\nimport 'rxjs/add/operator/combineLatest';\nimport 'rxjs/add/operator/filter';\nimport { getGpsPosition } from './map.reducer';\n\n\n\n@Component({\n selector: 'app-map',\n templateUrl: './map.component.html',\n styleUrls: ['./map.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MapComponent implements OnInit {\n\n map: OlMap;\n source: OlOSM;\n vectorSource: VectorSource;\n positionVectorSource: VectorSource;\n layer: OlTileLayer;\n view: OlView;\n toilets: Toilet[];\n\n constructor(\n private store: Store<AppState>\n ) { }\n\n ngOnInit() {\n this.source = new OlOSM();\n\n this.layer = new OlTileLayer({\n source: this.source\n });\n\n this.view = new OlView({\n center: OlProj.fromLonLat([16.610961, 49.195788]),\n zoom: 18,\n });\n this.vectorSource = new VectorSource({\n features: []\n });\n this.positionVectorSource = new VectorSource({\n features: []\n });\n\n const positionLayer = new VectorLayer({\n source: this.positionVectorSource,\n style: new Style({\n image: new Circle({\n radius: 9,\n fill: new Fill({\n color: '#3f51b5'\n }),\n stroke: new Stroke({\n color: 'white',\n width: 4\n })\n })\n })\n });\n\n\n const vectorLayer = new VectorLayer({\n source: this.vectorSource,\n style: new Style({\n image: new Icon(({\n anchor: [0.5, 1],\n anchorXUnits: 'fraction',\n anchorYUnits: 'fraction',\n src: 'assets/toilet.png'\n }))\n })\n });\n\n this.map = new OlMap({\n target: 'map',\n layers: [this.layer, vectorLayer, positionLayer],\n view: this.view\n });\n this.map.on('moveend', (evt) => {\n const map = evt.map;\n const extent = map.getView().calculateExtent(map.getSize());\n\n this.store.dispatch(new ToiletSearch({ bbox: OlProj.transformExtent(extent, 'EPSG:3857', 'EPSG:4326') }));\n });\n this.store.dispatch(new ToiletSearch({ bbox: [16.5895, 49.2001, 16.6630, 49.1838] }));\n this.store.combineLatest(\n this.store.select(getToiletSearchResults),\n this.store.select(getNoFeesToiletResult),\n (store, toilets, noFees) => ({ toilets: toilets, noFees: noFees })).subscribe((state) => {\n this.vectorSource.clear();\n state.toilets.filter((toilet) => {\n if (state.noFees && toilet.extratags && toilet.extratags.fee === 'yes') {\n return false;\n }\n return true;\n }).forEach((toilet) => {\n const point = new Point(OlProj.fromLonLat([parseFloat(toilet.lon), parseFloat(toilet.lat)]));\n this.vectorSource.addFeature(new Feature({\n geometry: point\n }));\n });\n });\n\n this.store.select(getGpsPosition).subscribe((position) => {\n if (!position) {\n return;\n }\n position = OlProj.fromLonLat(position);\n this.view.setCenter(position);\n this.positionVectorSource.clear();\n const point = new Point(position);\n this.positionVectorSource.addFeature(new Feature({\n geometry: point\n }));\n console.log(this.positionVectorSource);\n });\n\n\n setTimeout(() => {\n this.map.updateSize();\n }, 200);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/toilets/map/map.component.ts","\r\nimport {UPDATE_GPS_POSITION} from './map.actions';\r\nimport {AppState} from '../../app-state';\r\nimport { MapAction } from './map.actions';\r\n\r\nexport interface MapState {\r\n gpsPosition: number[];\r\n}\r\n\r\nexport const initialState: MapState = {\r\n gpsPosition: null\r\n};\r\n\r\nexport function mapReducer(state = initialState, action: MapAction): MapState {\r\n switch (action.type) {\r\n\r\n case UPDATE_GPS_POSITION:\r\n return {\r\n ...state,\r\n gpsPosition: action.payload.position\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getGpsPosition = (state: AppState) => state.map.gpsPosition;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/toilets/map/map.reducer.ts","\r\nimport {Toilet} from './toilet';\r\nimport {TOILET_SEARCH, TOILET_SEARCH_RESULT, ToiletAction, TOILET_TOGGLE_NO_FEES} from './toilet.actions';\r\nimport {AppState} from '../app-state';\r\n\r\nexport interface ToiletState {\r\n searchArea: number[];\r\n searchResults: Toilet[];\r\n noFees: boolean;\r\n}\r\n\r\nexport const initialState: ToiletState = {\r\n searchArea: [16.5896, 49.2001, 16.6630, 49.1838],\r\n searchResults: [],\r\n noFees: false\r\n};\r\n\r\nexport function toiletReducer(state = initialState, action: ToiletAction): ToiletState {\r\n switch (action.type) {\r\n\r\n case TOILET_SEARCH:\r\n return {\r\n ...state,\r\n searchArea: action.payload.bbox,\r\n };\r\n\r\n case TOILET_SEARCH_RESULT:\r\n return {\r\n ...state,\r\n searchResults: action.payload\r\n };\r\n case TOILET_TOGGLE_NO_FEES:\r\n return {\r\n ...state,\r\n noFees: !state.noFees\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getToiletSearchResults = (state: AppState) => state.toilets.searchResults;\r\nexport const getNoFeesToiletResult = (state: AppState) => state.toilets.noFees;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/toilets/toilet-search.reducer.ts","import {Action} from '@ngrx/store';\r\nimport {Toilet} from './toilet';\r\n\r\nexport const TOILET_SEARCH = '[toilet] Search';\r\nexport const TOILET_SEARCH_RESULT = '[toilet] Search Result';\r\nexport const TOILET_TOGGLE_NO_FEES = '[toilet] Toggle no fees';\r\n\r\nexport class ToiletSearch implements Action {\r\n readonly type = TOILET_SEARCH;\r\n constructor(public payload: { bbox: number[] }) {}\r\n}\r\n\r\nexport class ToiletSearchResult implements Action {\r\n readonly type = TOILET_SEARCH_RESULT;\r\n constructor(public payload: Toilet[]) {}\r\n}\r\n\r\nexport class ToiletToggleNoFees implements Action {\r\n readonly type = TOILET_TOGGLE_NO_FEES;\r\n constructor() {}\r\n}\r\n\r\nexport type ToiletAction =\r\n | ToiletSearch\r\n | ToiletSearchResult\r\n | ToiletToggleNoFees;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/toilets/toilet.actions.ts","import { Injectable } from '@angular/core';\r\nimport {Actions, Effect} from '@ngrx/effects';\r\nimport {TOILET_SEARCH, TOILET_SEARCH_RESULT, ToiletSearchResult, ToiletSearch} from './toilet.actions';\r\nimport {ToiletService} from './toilet.service';\r\nimport 'rxjs/add/operator/switchMap';\r\nimport 'rxjs/add/operator/distinctUntilChanged';\r\n\r\n\r\n@Injectable()\r\nexport class ToiletEffects {\r\n\r\n @Effect()\r\n getToilets = this.actions\r\n .ofType<ToiletSearch>(TOILET_SEARCH)\r\n .map(action => action.payload.bbox)\r\n .distinctUntilChanged()\r\n .switchMap((bbox) => {\r\n return this.toiletService.getToilets(bbox);\r\n })\r\n .map((toilets) => new ToiletSearchResult(toilets));\r\n\r\n constructor(\r\n private actions: Actions,\r\n private toiletService: ToiletService,\r\n ) { }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/toilets/toilet.effects.ts","import { Injectable } from '@angular/core';\nimport {Toilet} from './toilet';\nimport {Observable} from 'rxjs/Observable';\nimport {HttpClient} from '@angular/common/http';\nimport 'rxjs/add/operator/map';\n\n\n@Injectable()\nexport class ToiletService {\n\n constructor(private http: HttpClient) { }\n\n API_URL = 'https://nominatim.openstreetmap.org/search.php?q=toilet&format=jsonv2&extratags=1&bounded=1&limit=100';\n\n getToilets(bbox?: number[]): Observable<Toilet[]> {\n bbox = bbox || [16.5896, 49.2001, 16.6630, 49.1838];\n return this.http\n .get(`${this.API_URL}&viewbox=${bbox[0]},${bbox[1]},${bbox[2]},${bbox[3]}`)\n .map((res: any) => res || []);\n }\n\n }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/toilets/toilet.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/toilets/toilets-list/toilets-list.component.css\n// module id = ./src/app/toilets/toilets-list/toilets-list.component.css\n// module chunks = main","module.exports = \"<mat-list>\\n <mat-list-item *ngFor=\\\"let toilet of getFilteredToilets()\\\">\\n \\n <img src=\\\"assets/toilet.png\\\" matListIcon/>\\n <h3 matLine> {{toilet.display_name}} </h3>\\n <p matLine style=\\\"font-weight: bold;\\\" *ngIf=\\\"toilet.distance\\\">{{toilet.distance | number: '0.0-2'}}m</p>\\n <p matLine>\\n <span> {{toilet.extratags.opening_hours}}</span>\\n \\n </p>\\n <mat-divider [inset]=\\\"true\\\" *ngIf=\\\"!last\\\"></mat-divider>\\n </mat-list-item>\\n </mat-list>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/toilets/toilets-list/toilets-list.component.html\n// module id = ./src/app/toilets/toilets-list/toilets-list.component.html\n// module chunks = main","import { Component, OnInit, Input } from '@angular/core';\nimport { Toilet } from '../toilet';\nimport Sphere from 'ol/sphere';\n\n@Component({\n selector: 'app-toilets-list',\n templateUrl: './toilets-list.component.html',\n styleUrls: ['./toilets-list.component.css']\n})\nexport class ToiletsListComponent implements OnInit {\n\n constructor() { }\n @Input()\n toilets: Toilet[];\n\n @Input()\n noFees: Boolean;\n\n @Input()\n position: number[];\n\n ngOnInit() {\n }\n getDistance(toilet: Toilet): String {\n if (this.position) {\n const toiletPostion = [toilet.lon, toilet.lat];\n }\n\n return '';\n }\n\n getFilteredToilets() {\n\n // tslint:disable-next-line:prefer-const\n let sphere = new Sphere(6378137);\n return this.toilets.filter((toilet) => {\n if (this.noFees && toilet.extratags && toilet.extratags.fee === 'yes') {\n return false;\n }\n return true;\n }).map((toilet) => {\n const toiletPostion = [toilet.lon, toilet.lat];\n let distance = null;\n if (this.position) {\n distance = sphere.haversineDistance(toiletPostion, this.position);\n }\n return {\n ...toilet,\n distance : distance\n };\n }).sort(function(a, b) {\n if (!a.distance || !b.distance) {\n return 0;\n }\n return a.distance - b.distance;\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/toilets/toilets-list/toilets-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/toilets/toilets.component.css\n// module id = ./src/app/toilets/toilets.component.css\n// module chunks = main","module.exports = \"\\n<mat-toolbar color=\\\"primary\\\">\\n \\n Public toilets \\n <span style=\\\"width: 100%\\\"> </span>\\n \\n <mat-slide-toggle [formControl]=\\\"toggleFormControl\\\">No fees</mat-slide-toggle>\\n \\n \\n </mat-toolbar>\\n <mat-sidenav-container> \\n <mat-sidenav opened mode=\\\"side\\\" position=\\\"end\\\" fixedInViewport fixedTopGap=\\\"75\\\" style=\\\"width: 40%;\\\">\\n <app-toilets-list [toilets]=\\\"toilets | async\\\" [noFees]=\\\"noFeesFilter | async\\\" [position]=\\\"position | async\\\"></app-toilets-list>\\n \\n </mat-sidenav>\\n <mat-sidenav-content >\\n <app-map></app-map> \\n </mat-sidenav-content>\\n </mat-sidenav-container>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/toilets/toilets.component.html\n// module id = ./src/app/toilets/toilets.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\nimport { ToiletService } from './toilet.service';\nimport { Toilet } from './toilet';\nimport { Subscription } from 'rxjs/Subscription';\nimport { Store } from '@ngrx/store';\nimport { AppState } from '../app-state';\nimport { getToiletSearchResults, getNoFeesToiletResult } from './toilet-search.reducer';\nimport { ToiletSearch, ToiletToggleNoFees } from './toilet.actions';\nimport { FormControl } from '@angular/forms';\nimport * as Rx from 'rx-dom';\nimport { UpdateGpsPosition } from './map/map.actions';\nimport { getGpsPosition } from './map/map.reducer';\n\n@Component({\n selector: 'app-toilets',\n templateUrl: './toilets.component.html',\n styleUrls: ['./toilets.component.css']\n})\nexport class ToiletsComponent implements OnInit {\n\n constructor(\n private store: Store<AppState>\n ) { }\n subscriptions: Subscription[];\n\n toggleFormControl = new FormControl();\n\n toilets = this.store.select(getToiletSearchResults);\n noFeesFilter = this.store.select(getNoFeesToiletResult);\n position = this.store.select(getGpsPosition);\n\n ngOnInit() {\n this.subscriptions = [\n this.toggleFormControl.valueChanges\n .subscribe((queryTitle) => {\n this.store.dispatch(new ToiletToggleNoFees());\n })\n ];\n const source = Rx.DOM.geolocation.getCurrentPosition();\n const subscription = source.subscribe(\n (function (pos) {\n this.store.dispatch(new UpdateGpsPosition({position: [pos.coords.longitude, pos.coords.latitude]}));\n }).bind(this),\n function (err) {\n let message = '';\n switch (err.code) {\n case err.PERMISSION_DENIED:\n message = 'Permission denied';\n break;\n case err.POSITION_UNAVAILABLE:\n message = 'Position unavailable';\n break;\n case err.PERMISSION_DENIED_TIMEOUT:\n message = 'Position timeout';\n break;\n }\n console.log('Error: ' + message);\n },\n function () {\n console.log('Completed');\n });\n\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/toilets/toilets.component.ts","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n production: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts"],"sourceRoot":"webpack:///"}