{"version":3,"sources":["./Angular/$_lazy_route_resource lazy","./Angular/app/_common/confirm.dialog.ts","./Angular/app/_common/google-map/google-map.component.html","./Angular/app/_common/google-map/google-map.component.less","./Angular/app/_common/google-map/google-map.component.ts","./Angular/app/_common/properties-pipe.ts","./Angular/app/_guards/auth.guard.ts","./Angular/app/_helpers/custom-completer-data.ts","./Angular/app/_models/facility-type.model.ts","./Angular/app/_models/project-type.model.ts","./Angular/app/_models/user.model.ts","./Angular/app/_services/admin.service.ts","./Angular/app/_services/auth.module.ts","./Angular/app/_services/auth.service.ts","./Angular/app/_services/emitter.service.ts","./Angular/app/_services/facility.service.ts","./Angular/app/_services/port.service.ts","./Angular/app/_services/project.service.ts","./Angular/app/admin/admin.component.html","./Angular/app/admin/admin.component.less","./Angular/app/admin/admin.component.ts","./Angular/app/admin/facility-types/facility-types.component.html","./Angular/app/admin/facility-types/facility-types.component.less","./Angular/app/admin/facility-types/facility-types.component.ts","./Angular/app/admin/project-types/project-types.component.html","./Angular/app/admin/project-types/project-types.component.less","./Angular/app/admin/project-types/project-types.component.ts","./Angular/app/admin/users/users.component.html","./Angular/app/admin/users/users.component.less","./Angular/app/admin/users/users.component.ts","./Angular/app/app.component.html","./Angular/app/app.component.less","./Angular/app/app.component.ts","./Angular/app/app.module.ts","./Angular/app/app.routing.ts","./Angular/app/home/add-pmo/add-pmo.component.html","./Angular/app/home/add-pmo/add-pmo.component.less","./Angular/app/home/add-pmo/add-pmo.component.ts","./Angular/app/home/add-port/add-port.component.html","./Angular/app/home/add-port/add-port.component.less","./Angular/app/home/add-port/add-port.component.ts","./Angular/app/home/home.component.html","./Angular/app/home/home.component.less","./Angular/app/home/home.component.ts","./Angular/app/login/login.component.html","./Angular/app/login/login.component.less","./Angular/app/login/login.component.ts","./Angular/app/port/add-facility/add-facility.component.html","./Angular/app/port/add-facility/add-facility.component.less","./Angular/app/port/add-facility/add-facility.component.ts","./Angular/app/port/add-project/add-project.component.html","./Angular/app/port/add-project/add-project.component.less","./Angular/app/port/add-project/add-project.component.ts","./Angular/app/port/edit-facility/edit-facility.component.html","./Angular/app/port/edit-facility/edit-facility.component.less","./Angular/app/port/edit-facility/edit-facility.component.ts","./Angular/app/port/port.component.html","./Angular/app/port/port.component.less","./Angular/app/port/port.component.ts","./Angular/app/project/edit-project/edit-project.component.html","./Angular/app/project/edit-project/edit-project.component.less","./Angular/app/project/edit-project/edit-project.component.ts","./Angular/app/project/project.component.html","./Angular/app/project/project.component.less","./Angular/app/project/project.component.ts","./Angular/app/projects/current/current.component.html","./Angular/app/projects/current/current.component.less","./Angular/app/projects/current/current.component.ts","./Angular/app/projects/edit-particulars/edit-particulars.component.html","./Angular/app/projects/edit-particulars/edit-particulars.component.less","./Angular/app/projects/edit-particulars/edit-particulars.component.ts","./Angular/app/projects/future/future.component.html","./Angular/app/projects/future/future.component.less","./Angular/app/projects/future/future.component.ts","./Angular/app/projects/past/past.component.html","./Angular/app/projects/past/past.component.less","./Angular/app/projects/past/past.component.ts","./Angular/environments/environment.ts","./Angular/main.ts","./node_modules/moment/locale ^\\.\\/.*$","jsdom (ignored)","jsdom/lib/jsdom/living/generated/utils (ignored)","jsdom/lib/jsdom/utils (ignored)","xmldom (ignored)"],"names":[],"mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wE;;;;;;;;;;;;;;;AC9PA,e;;;;;;;ACAA,e;;;;;;;ACAA,e;;;;;;;ACAA,e","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 = \"./Angular/$$_lazy_route_resource lazy recursive\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/$$_lazy_route_resource lazy\n// module id = ./Angular/$$_lazy_route_resource lazy recursive\n// module chunks = main","import { Observable } from 'rxjs/Rx';\r\nimport { MatDialogRef, MatDialog, MatDialogConfig } from '@angular/material';\r\nimport { Injectable, Component } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class ConfirmDialogService {\r\n\r\n config: MatDialogConfig = {\r\n disableClose: false,\r\n hasBackdrop: true,\r\n backdropClass: '',\r\n width: '500px',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n }\r\n };\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n public confirm(title: string, message: string): Observable {\r\n\r\n let dialogRef: MatDialogRef;\r\n\r\n dialogRef = this.dialog.open(ConfirmDialog, this.config);\r\n dialogRef.componentInstance.title = title;\r\n dialogRef.componentInstance.message = message;\r\n\r\n return dialogRef.afterClosed();\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'confirm-dialog',\r\n template: `\r\n

\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n `,\r\n})\r\nexport class ConfirmDialog {\r\n\r\n public title: string;\r\n public message: string;\r\n\r\n constructor(public dialogRef: MatDialogRef) {\r\n\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_common/confirm.dialog.ts","module.exports = \"
\\r\\n \\r\\n \\r\\n search\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/_common/google-map/google-map.component.html\n// module id = ./Angular/app/_common/google-map/google-map.component.html\n// module chunks = main","module.exports = \".full-width {\\n width: 100%;\\n font-size: 14px;\\n}\\n.full-width > * {\\n width: 100%;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/_common/google-map/google-map.component.less\n// module id = ./Angular/app/_common/google-map/google-map.component.less\n// module chunks = main","import { Component, Input, NgZone, OnInit, ViewChild, ViewEncapsulation, ElementRef, Output, EventEmitter } from '@angular/core';\r\nimport { AgmCoreModule, AgmMarker, MapsAPILoader } from '@agm/core';\r\nimport { } from '@types/googlemaps';\r\n\r\n@Component({\r\n selector: 'google-map',\r\n templateUrl: './google-map.component.html',\r\n styleUrls: ['./google-map.component.less'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class GoogleMapComponent implements OnInit {\r\n @ViewChild(\"searchPlace\")\r\n public searchElementRef: ElementRef;\r\n\r\n @Input()\r\n public canEdit: Boolean = false;\r\n\r\n private _placeId: string;\r\n\r\n @Input()\r\n set placeId(value: string) {\r\n if (value != null && value != '') {\r\n this.mapsAPILoader.load().then(() => {\r\n this.geocoder = new google.maps.Geocoder();\r\n this.geocoder.geocode({ 'placeId': value },\r\n (results, status) => {\r\n this.ngZone.run(() => {\r\n if (results[0]) {\r\n this.searchString = results[0].formatted_address;\r\n this.latitude = results[0].geometry.location.lat();\r\n this.longitude = results[0].geometry.location.lng();\r\n\r\n if (this._placeId == null) {\r\n this.mapLatitude = this.latitude;\r\n this.mapLongitude = this.longitude;\r\n }\r\n\r\n this.zoom = 15;\r\n }\r\n\r\n this._placeId = value;\r\n this.placeIdChange.emit(this._placeId);\r\n });\r\n });\r\n });\r\n } else {\r\n this._placeId = value;\r\n this.placeIdChange.emit(this._placeId);\r\n }\r\n }\r\n \r\n get placeId(): string {\r\n return this._placeId;\r\n }\r\n\r\n private searchString: string;\r\n private mapLatitude: number;\r\n private mapLongitude: number;\r\n private latitude: number;\r\n private longitude: number;\r\n private zoom: number = 6;\r\n\r\n private geocoder: any;\r\n\r\n @Output() placeIdChange: EventEmitter;\r\n constructor(\r\n private mapsAPILoader: MapsAPILoader,\r\n private ngZone: NgZone) {\r\n this.placeIdChange = new EventEmitter();\r\n }\r\n\r\n ngOnInit() {\r\n this.setCurrentPosition();\r\n\r\n this.mapsAPILoader.load().then(() => {\r\n this.geocoder = new google.maps.Geocoder();\r\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {});\r\n autocomplete.addListener(\"place_changed\", () => {\r\n this.ngZone.run(() => {\r\n //get the place result\r\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n //verify result\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n\r\n //set latitude, longitude and zoom\r\n this.latitude = this.mapLatitude = place.geometry.location.lat();\r\n this.longitude = this.mapLongitude = place.geometry.location.lng();\r\n });\r\n });\r\n });\r\n }\r\n\r\n onMapClick($event) {\r\n if (this.canEdit == false) return;\r\n\r\n this.latitude = $event.coords.lat;\r\n this.longitude = $event.coords.lng;\r\n\r\n let latLng = new google.maps.LatLng(this.latitude, this.longitude);\r\n\r\n this.geocoder.geocode({ \"latLng\": latLng }, (results, status) => {\r\n this.ngZone.run(() => {\r\n if (status === google.maps.GeocoderStatus.OK) {\r\n if (results[0]) {\r\n var place = results[0];\r\n this.searchString = place.formatted_address;\r\n this.placeId = place.place_id;\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n private setCurrentPosition() {\r\n if (\"geolocation\" in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.mapLatitude = position.coords.latitude;\r\n this.mapLongitude = position.coords.longitude;\r\n });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_common/google-map/google-map.component.ts","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Convert Object to array of keys.\r\n */\r\n@Pipe({\r\n name: 'appProperties'\r\n})\r\nexport class PropertiesPipe implements PipeTransform {\r\n\r\n transform(value: {}): string[] {\r\n\r\n if (!value) {\r\n return [];\r\n }\r\n\r\n return Object.keys(value);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_common/properties-pipe.ts","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthService } from '../_services/auth.service';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private router: Router, private authService: AuthService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (this.authService.isLoggedIn()) {\r\n // logged in so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/account/login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_guards/auth.guard.ts","import { Http, Response } from '@angular/http';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { CompleterData, CompleterItem } from 'ng2-completer';\r\n\r\nexport class CustomCompleterData extends Subject implements CompleterData {\r\n private items: Array;\r\n constructor(source: Observable>, private titleField: string) {\r\n super();\r\n\r\n source.subscribe(value => {\r\n this.items = value;\r\n });\r\n }\r\n\r\n public search(term: string): void {\r\n var filtered = this.items.filter((row) => {\r\n return (row[this.titleField] != null && (row[this.titleField]).toLowerCase().includes(term.toLowerCase()));\r\n }).map(item => {\r\n title: item[this.titleField],\r\n originalObject: item\r\n });\r\n\r\n this.next(filtered);\r\n }\r\n\r\n public hasItems() {\r\n return this.items != null && this.items.length > 0;\r\n }\r\n\r\n public cancel() {\r\n // Handle cancel\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_helpers/custom-completer-data.ts","export class FacilityType {\r\n Id: string;\r\n Title: string;\r\n\r\n constructor() {}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_models/facility-type.model.ts","export class ProjectType {\r\n Id: string;\r\n Title: string;\r\n Color: string;\r\n\r\n constructor() {\r\n this.Color = '#' + Math.floor(Math.random() * 16777215).toString(16);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_models/project-type.model.ts","export class User {\r\n Id: string;\r\n GivenName: string;\r\n Surname: string;\r\n Email: string;\r\n RegisteredOn: Date;\r\n Role: string;\r\n OfficeIds: any;\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n this.Id = data.Id;\r\n this.GivenName = data.GivenName;\r\n this.Surname = data.Surname;\r\n this.Email = data.Email;\r\n this.Role = data.Role;\r\n this.OfficeIds = [];\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_models/user.model.ts","import { Injectable } from '@angular/core';\r\nimport { Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/add/operator/map'\r\n\r\nimport { AuthHttp } from 'angular2-jwt';\r\n\r\n@Injectable()\r\nexport class AdminService {\r\n constructor(private http: AuthHttp) { }\r\n\r\n get(type: string) {\r\n return this.http.get('/api/' + type);\r\n }\r\n\r\n add(type: string, data: any): Observable {\r\n return this.http.post('/api/' + type, data)\r\n .map((response: Response) => response)\r\n .catch((error: any) => Observable.throw(error.json()));\r\n }\r\n\r\n update(type: string, data: any): Observable {\r\n return this.http.put('/api/' + type, data)\r\n .map((response: Response) => response)\r\n .catch((error: any) => Observable.throw(error.json()));\r\n }\r\n\r\n delete(type: string, data: any): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json' });\r\n let options = new RequestOptions({ headers: headers, body: data });\r\n\r\n return this.http.delete('/api/' + type, options)\r\n .map((response: Response) => response)\r\n .catch((error: any) => Observable.throw(error.json()));\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_services/admin.service.ts","import { NgModule } from '@angular/core';\r\nimport { Http, RequestOptions } from '@angular/http';\r\nimport { AuthHttp, AuthConfig } from 'angular2-jwt';\r\n\r\nexport function authHttpServiceFactory(http: Http, options: RequestOptions) {\r\n return new AuthHttp(new AuthConfig({\r\n tokenGetter: (() => localStorage.getItem('ppaauth'))\r\n }), http, options);\r\n}\r\n\r\n@NgModule({\r\n providers: [\r\n {\r\n provide: AuthHttp,\r\n useFactory: authHttpServiceFactory,\r\n deps: [Http, RequestOptions]\r\n }\r\n ]\r\n})\r\nexport class AuthModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_services/auth.module.ts","// \r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/add/operator/map'\r\n\r\nimport { User } from '../_models/user.model';\r\nimport { JwtHelper, tokenNotExpired } from 'angular2-jwt';\r\n\r\nimport { environment } from '../../environments/environment';\r\nimport * as Msal from 'msal';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n private applicationConfig: any = {\r\n //clientID: '462db165-b92e-4feb-a54c-0d96a8a72d21',\r\n clientID: 'c25205ad-9ef7-40bd-a4e0-195c0c44c196',\r\n graphScopes: ['user.read', 'profile']\r\n };\r\n\r\n private jwtHelper: JwtHelper = new JwtHelper();\r\n private token: string;\r\n private user: User;\r\n private app: any;\r\n\r\n constructor(private http: Http) {\r\n this.app = new Msal.UserAgentApplication(this.applicationConfig.clientID, '', () => {\r\n // callback for login redirect. not being used since we use popups\r\n });\r\n\r\n this.app.redirectUri = environment.apiUrl;\r\n this.app._postLogoutredirectUri = environment.apiUrl + 'account/login?logout=true';\r\n\r\n var token = localStorage.getItem('ppaauth');\r\n if (token && !this.jwtHelper.isTokenExpired(token)) {\r\n this.setLoggedIn(token);\r\n }\r\n }\r\n\r\n setLoggedIn(token) {\r\n localStorage.setItem('ppaauth', token);\r\n\r\n const user: User = new User();\r\n\r\n var claims = this.jwtHelper.decodeToken(token);\r\n user.Email = claims.email;\r\n user.GivenName = claims.given_name;\r\n user.Surname = claims.family_name;\r\n user.Id = claims.nameid;\r\n user.Role = claims.role;\r\n user.OfficeIds = claims.PMO;\r\n if (typeof user.OfficeIds === 'string') {\r\n user.OfficeIds = [user.OfficeIds];\r\n }\r\n\r\n this.user = user;\r\n this.token = token;\r\n }\r\n\r\n isLoggedIn(): Boolean {\r\n return this.user != null && !this.jwtHelper.isTokenExpired(this.token);\r\n }\r\n\r\n getUser(): User {\r\n return this.user;\r\n }\r\n\r\n loginPPA(aadToken: string): Observable {\r\n return this.http.post('/api/accounts/login', { token: aadToken })\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });;\r\n }\r\n\r\n loginAzureAD() {\r\n var user = this.app.getUser();\r\n if (!user) {\r\n this.app.loginRedirect(this.applicationConfig.graphScopes);\r\n return null;\r\n }\r\n\r\n return this.getTokenAzureAD();\r\n }\r\n\r\n silentLoginAzureAD() {\r\n var user = this.app.getUser();\r\n if (!user) {\r\n return null;\r\n }\r\n\r\n return this.getTokenAzureAD();\r\n }\r\n\r\n getTokenAzureAD() {\r\n return this.app.acquireTokenSilent(this.applicationConfig.graphScopes)\r\n .then(accessToken => {\r\n return decodeURIComponent(accessToken);\r\n },\r\n error => {\r\n if (error) {\r\n this.app.acquireTokenRedirect(this.applicationConfig.graphScopes);\r\n }\r\n\r\n return error;\r\n });\r\n\r\n }\r\n\r\n logoutAzureAD() {\r\n return this.app.logout();\r\n }\r\n\r\n logoutPPA() {\r\n this.user = null;\r\n this.token = null;\r\n localStorage.removeItem('ppaauth');\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_services/auth.service.ts","import { Injectable, EventEmitter } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class EmitterService {\r\n private static _emitters: { [channel: string]: EventEmitter } = {};\r\n static get(channel: string): EventEmitter {\r\n if (!this._emitters[channel])\r\n this._emitters[channel] = new EventEmitter();\r\n return this._emitters[channel];\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_services/emitter.service.ts","import { Injectable } from '@angular/core';\r\nimport { Response } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/add/operator/map'\r\n\r\nimport { AuthHttp } from 'angular2-jwt';\r\n\r\n@Injectable()\r\nexport class FacilityService {\r\n constructor(private http: AuthHttp) { }\r\n\r\n getFacilities(portId, year) {\r\n return this.http.get('/api/ports/facilities?portId=' + portId + '&year=' + year);\r\n }\r\n\r\n editFacility(facility): Observable {\r\n return this.http.put('/api/ports/facilities', facility)\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });\r\n }\r\n\r\n editFacilityPosition(facility): Observable {\r\n return this.http.put('/api/ports/facilities/maps', facility)\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });\r\n }\r\n\r\n addFacility(portId, facilityTypeId, parentFacilityId, title, unit, particularsToDate, mapId, year, x, y): Observable {\r\n return this.http.post('/api/ports/facilities',\r\n {\r\n portId: portId,\r\n typeId: facilityTypeId,\r\n parentFacilityId: parentFacilityId,\r\n title: title,\r\n unit: unit,\r\n particularsToDate: particularsToDate,\r\n mapId: mapId,\r\n year: year,\r\n x: x,\r\n y: y\r\n })\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_services/facility.service.ts","import { Injectable } from '@angular/core';\r\nimport { Response } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/add/operator/map'\r\n\r\nimport { AuthHttp } from 'angular2-jwt';\r\n\r\n@Injectable()\r\nexport class PortService {\r\n constructor(private http: AuthHttp) { }\r\n\r\n getPmoAndPorts() {\r\n return this.http.get('/api/pmos');\r\n }\r\n\r\n addPmo(title): Observable {\r\n return this.http.post('/api/pmos', { title: title })\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });\r\n }\r\n\r\n addPort(pmoId, title): Observable {\r\n return this.http.post('/api/ports', { officeId: pmoId, title: title })\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });\r\n }\r\n\r\n getPort(portId, year, type): Observable {\r\n let typeNumber = 0;\r\n switch (type) {\r\n case 'planning':\r\n typeNumber = 0;\r\n break;\r\n case 'navigation':\r\n typeNumber = 1;\r\n break;\r\n case 'sounding':\r\n typeNumber = 2;\r\n break;\r\n case 'google':\r\n typeNumber = 3;\r\n break;\r\n }\r\n\r\n return this.http.get('/api/ports?id=' + portId + '&year=' + year + '&type=' + typeNumber)\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });\r\n }\r\n\r\n uploadPortMap(portId, year, type, image) {\r\n let form = new FormData();\r\n form.append(\"PortId\", portId);\r\n form.append(\"Year\", year);\r\n form.append(\"Type\", type);\r\n form.append(\"Image\", image, image.name);\r\n\r\n return this.http.post('/api/ports/maps', form)\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });\r\n }\r\n\r\n updateGoogleMap(portId, placeId) {\r\n return this.http.post('/api/ports/maps/google',\r\n {\r\n PortId: portId,\r\n Url: placeId\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_services/port.service.ts","import { Injectable } from '@angular/core';\r\nimport { Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/add/operator/map'\r\n\r\nimport { AuthHttp } from 'angular2-jwt';\r\n\r\n@Injectable()\r\nexport class ProjectService {\r\n constructor(private http: AuthHttp) { }\r\n\r\n getProjectsForFacilityAndYear(facilityId, year) {\r\n return this.http.get('/api/projects?facilityId=' + facilityId + '&year=' + year);\r\n }\r\n\r\n getProject(projectId) {\r\n return this.http.get('api/projects/' + projectId);\r\n }\r\n\r\n getPastProjects(portId, mapType, projectTypeId) {\r\n return this.http.get('api/projects/past?portId=' + portId + '&type=' + mapType + '&projectType=' + projectTypeId);\r\n }\r\n\r\n getFutureProjects(portId, mapType, projectTypeId) {\r\n return this.http.get('api/projects/future?portId=' + portId + '&type=' + mapType + '&projectType=' + projectTypeId);\r\n }\r\n\r\n getCurrentProjects(portId, mapType, projectTypeId) {\r\n return this.http.get('api/projects/current?portId=' + portId + '&type=' + mapType + '&projectType=' + projectTypeId);\r\n }\r\n\r\n addProject(project): Observable {\r\n let form = new FormData();\r\n Object.keys(project).forEach(key => {\r\n form.append(key, project[key]);\r\n });\r\n\r\n return this.http.post('api/projects', form)\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });;\r\n }\r\n\r\n updateProject(project): Observable {\r\n let form = new FormData();\r\n Object.keys(project).forEach(key => {\r\n form.append(key, project[key]);\r\n });\r\n\r\n return this.http.put('api/projects', form)\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });;\r\n }\r\n\r\n uploadProjectFile(projectId, file) {\r\n let form = new FormData();\r\n form.append(\"ProjectId\", projectId);\r\n form.append(\"File\", file, file.name);\r\n\r\n return this.http.post('/api/projects/files', form)\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });\r\n }\r\n\r\n updateProjectPosition(project): Observable {\r\n return this.http.put('/api/projects/map', project)\r\n .map((response: Response) => {\r\n return response;\r\n })\r\n .catch((error: any) => {\r\n return Observable.throw(error.json());\r\n });\r\n }\r\n\r\n deleteProjectFile(fileId): Observable {\r\n let headers = new Headers({ 'Content-Type': 'application/json' });\r\n let options = new RequestOptions({ headers: headers, body: { Id: fileId } });\r\n\r\n return this.http.delete('/api/projects/files', options)\r\n .map((response: Response) => response)\r\n .catch((error: any) => Observable.throw(error.json()));\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/_services/project.service.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Administration

\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/admin/admin.component.html\n// module id = ./Angular/app/admin/admin.component.html\n// module chunks = main","module.exports = \".admin-title {\\n margin-left: 124px;\\n padding-top: 20px;\\n font-size: 2em;\\n}\\nnav.tabs {\\n position: absolute;\\n bottom: 0;\\n}\\n.items .item-list-actions {\\n margin: 0 20px;\\n margin-top: 20px;\\n}\\n.items .item-list {\\n padding: 16px;\\n}\\n.items .item-list mat-list-item {\\n cursor: pointer;\\n}\\n.items .item-list mat-list-item.selected {\\n background-color: #f4f4f4;\\n}\\n.items .item-list mat-list-item.header {\\n color: #999;\\n}\\n.items .item-list mat-list-item.header span {\\n line-height: 25px;\\n height: 25px;\\n display: inline-block;\\n}\\n.items .item-list mat-list-item.header mat-icon {\\n vertical-align: middle;\\n -webkit-transform: translateY(-2px);\\n transform: translateY(-2px);\\n}\\n.items .item-list mat-list-item.row {\\n font-weight: 500;\\n}\\n.items .item-list mat-list-item.row:hover {\\n background-color: #f4f4f4;\\n}\\n.items .item-list mat-list-item .email {\\n width: 34%;\\n}\\n.items .item-list mat-list-item .name {\\n width: 22%;\\n}\\n.items .item-list mat-list-item .role {\\n width: 22%;\\n}\\n.items .item-list mat-list-item .delete {\\n width: 42px;\\n}\\n.items .item-list mat-list-item .delete button mat-icon {\\n margin-top: -5px;\\n}\\n.side-container .content .error {\\n color: #FE3F81;\\n font-weight: 500;\\n font-size: 14px;\\n margin-bottom: 20px;\\n}\\n.side-container .content .item-details {\\n padding: 16px;\\n}\\n.side-container .content .item-details .full-width {\\n width: 100%;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/admin/admin.component.less\n// module id = ./Angular/app/admin/admin.component.less\n// module chunks = main","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.less'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AdminComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/admin/admin.component.ts","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Titlearrow_drop_downarrow_drop_up\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{item.Title}}
\\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

Select a facility type to edit or delete.

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Edit facility type\\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 Add a new facility type\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Please fill up all required fields to proceed.

\\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 Delete facility type\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Are you sure you want to remove {{selectedItem.Title}}?

\\r\\n

All facilities using this type will be re-assigned to the 'Unknown' facility type.

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/admin/facility-types/facility-types.component.html\n// module id = ./Angular/app/admin/facility-types/facility-types.component.html\n// module chunks = main","module.exports = \".items .item-list mat-list-item .title {\\n width: 100%;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/admin/facility-types/facility-types.component.less\n// module id = ./Angular/app/admin/facility-types/facility-types.component.less\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { FacilityType } from '../../_models/facility-type.model';\r\nimport { AdminService } from '../../_services/admin.service';\r\nimport { MatSnackBar } from '@angular/material';\r\n\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n animate,\r\n transition\r\n} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-facility-types',\r\n templateUrl: './facility-types.component.html',\r\n styleUrls: ['./facility-types.component.less'],\r\n animations: [\r\n trigger('sidebar', [\r\n state('void', style({ transform: 'translateX(100%)' })),\r\n transition(':enter', animate('150ms ease-in', style({ transform: 'translateX(0)' }))),\r\n transition(':leave', animate('200ms ease-out', style({ transform: 'translateX(100%)' })))\r\n ])\r\n ]\r\n})\r\nexport class FacilityTypesComponent implements OnInit {\r\n\r\n private busy: boolean = false;\r\n private sidebarBusy: boolean = false;\r\n\r\n private items: FacilityType[];\r\n private sortColumn: string = 'Title';\r\n private sortAscending: boolean = true;\r\n private selectedItem: FacilityType = null;\r\n private newItem: FacilityType = null;\r\n private deleteMode: boolean = false;\r\n\r\n constructor(private adminService: AdminService, private snackBar: MatSnackBar) { }\r\n\r\n ngOnInit() {\r\n this.loadItems();\r\n }\r\n\r\n loadItems() {\r\n this.busy = true;\r\n this.sidebarBusy = true;\r\n return this.adminService.get('ports/facilities/types')\r\n .subscribe((response) => {\r\n let result = response.json().Result;\r\n this.items = result.FacilityTypes;\r\n this.items.sort(this.sortFunction.bind(this));\r\n this.busy = false;\r\n this.sidebarBusy = false;\r\n }, (response) => {\r\n this.snackBar.open(\"An error occurred loading the facility types.\", null, { duration: 3000 });\r\n this.busy = false;\r\n this.sidebarBusy = false;\r\n });\r\n }\r\n\r\n select(item: any) {\r\n if (this.selectedItem == item) return;\r\n\r\n this.cancelNewItem();\r\n this.selectedItem = { ...item };\r\n }\r\n\r\n deselect() {\r\n this.selectedItem = null;\r\n this.deleteMode = false;\r\n }\r\n\r\n editExistingItem() {\r\n if (this.sidebarBusy) return;\r\n\r\n this.sidebarBusy = true;\r\n this.adminService.update('ports/facilities/types', this.selectedItem)\r\n .subscribe((response) => {\r\n let result = response.json().Result;\r\n let updatedITem = result.FacilityType;\r\n let existingItem = this.items.find((item) => item.Id == updatedITem.Id);\r\n existingItem.Title = updatedITem.Title;\r\n\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open('Facility type was successfully updated.', null, { duration: 2000 });\r\n }, (response) => {\r\n let error = response.json();\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open(error.Message, null, { duration: 3000 });\r\n });\r\n }\r\n\r\n delete() {\r\n this.deleteMode = true;\r\n }\r\n\r\n deleteExistingItem() {\r\n if (this.sidebarBusy) return;\r\n\r\n this.sidebarBusy = true;\r\n this.adminService.delete('ports/facilities/types', this.selectedItem)\r\n .subscribe((response) => {\r\n this.items = this.items.filter((item) => item.Id != this.selectedItem.Id);\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open('Facility type was successfully deleted.', null, { duration: 2000 });\r\n }, (response) => {\r\n let error = response.json();\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open(error.Message, null, { duration: 3000 });\r\n });\r\n }\r\n\r\n startNewItem() {\r\n this.deselect();\r\n this.newItem = new FacilityType();\r\n }\r\n\r\n cancelNewItem() {\r\n this.newItem = null;\r\n }\r\n\r\n addNewItem() {\r\n if (this.sidebarBusy) return;\r\n\r\n this.sidebarBusy = true;\r\n this.adminService.add('ports/facilities/types', this.newItem)\r\n .subscribe((response) => {\r\n let result = response.json().Result;\r\n let id = result.Id;\r\n\r\n let createdItem = { ...this.newItem };\r\n createdItem.Id = id;\r\n this.items.push(createdItem);\r\n\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n this.newItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open('Facility type was successfully added.', null, { duration: 2000 });\r\n }, (response) => {\r\n let error = response.json();\r\n\r\n this.newItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open(error.Message, null, { duration: 3000 });\r\n });\r\n }\r\n\r\n sort(column: string) {\r\n if (this.sortColumn == column) {\r\n this.sortAscending = !this.sortAscending;\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n return;\r\n }\r\n\r\n this.sortColumn = column;\r\n this.sortAscending = true;\r\n this.items.sort(this.sortFunction.bind(this));\r\n }\r\n\r\n private sortFunction(left, right): number {\r\n let leftVal = left[this.sortColumn].toUpperCase();\r\n let rightVal = right[this.sortColumn].toUpperCase();\r\n\r\n if (this.sortAscending) {\r\n return leftVal < rightVal ? -1 : 1;\r\n }\r\n\r\n return leftVal > rightVal ? -1 : 1;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/admin/facility-types/facility-types.component.ts","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Titlearrow_drop_downarrow_drop_up\\r\\n
\\r\\n
\\r\\n Colorarrow_drop_downarrow_drop_up\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{item.Title}}
\\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

Select a project type to edit or delete.

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Edit project type\\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 Add a new project type\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Please fill up all required fields to proceed.

\\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 Delete project type\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Are you sure you want to remove {{selectedItem.Title}}?

\\r\\n

All projects using this type will be re-assigned to the 'Unknown' project type.

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/admin/project-types/project-types.component.html\n// module id = ./Angular/app/admin/project-types/project-types.component.html\n// module chunks = main","module.exports = \".items .item-list mat-list-item .title {\\n width: 50%;\\n}\\n.items .item-list mat-list-item .color {\\n width: 50%;\\n}\\n.color-block {\\n display: inline-block;\\n width: 40px;\\n height: 20px;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/admin/project-types/project-types.component.less\n// module id = ./Angular/app/admin/project-types/project-types.component.less\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ProjectType } from '../../_models/project-type.model';\r\nimport { AdminService } from '../../_services/admin.service';\r\nimport { MatSnackBar } from '@angular/material';\r\n\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n animate,\r\n transition\r\n} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-project-types',\r\n templateUrl: './project-types.component.html',\r\n styleUrls: ['./project-types.component.less'],\r\n animations: [\r\n trigger('sidebar', [\r\n state('void', style({ transform: 'translateX(100%)' })),\r\n transition(':enter', animate('150ms ease-in', style({ transform: 'translateX(0)' }))),\r\n transition(':leave', animate('200ms ease-out', style({ transform: 'translateX(100%)' })))\r\n ])\r\n ]\r\n})\r\nexport class ProjectTypesComponent implements OnInit {\r\n\r\n private busy: boolean = false;\r\n private sidebarBusy: boolean = false;\r\n\r\n private items: ProjectType[];\r\n private sortColumn: string = 'Title';\r\n private sortAscending: boolean = true;\r\n private selectedItem: ProjectType = null;\r\n private newItem: ProjectType = null;\r\n private deleteMode: boolean = false;\r\n\r\n constructor(private adminService: AdminService, private snackBar: MatSnackBar) { }\r\n\r\n ngOnInit() {\r\n this.loadItems();\r\n }\r\n\r\n loadItems() {\r\n this.busy = true;\r\n this.sidebarBusy = true;\r\n return this.adminService.get('projects/types')\r\n .subscribe((response) => {\r\n let result = response.json().Result;\r\n result.ProjectTypes.forEach((type) => {\r\n if (type.Color != null) type.Color = '#' + type.Color.trim();\r\n });\r\n this.items = result.ProjectTypes;\r\n this.items.sort(this.sortFunction.bind(this));\r\n this.busy = false;\r\n this.sidebarBusy = false;\r\n }, (response) => {\r\n this.snackBar.open(\"An error occurred loading project types.\", null, { duration: 3000 });\r\n this.busy = false;\r\n this.sidebarBusy = false;\r\n });\r\n }\r\n\r\n select(item: any) {\r\n if (this.selectedItem == item) return;\r\n \r\n this.cancelNewItem();\r\n this.selectedItem = { ...item };\r\n }\r\n\r\n deselect() {\r\n this.selectedItem = null;\r\n this.deleteMode = false;\r\n }\r\n\r\n editExistingItem() {\r\n if (this.sidebarBusy) return;\r\n if (this.selectedItem.Color != null) this.selectedItem.Color = this.selectedItem.Color.substring(1);\r\n\r\n this.sidebarBusy = true;\r\n this.adminService.update('projects/types', this.selectedItem)\r\n .subscribe((response) => {\r\n let result = response.json().Result;\r\n let updatedItem = result.ProjectType;\r\n if (updatedItem.Color != null) updatedItem.Color = '#' + updatedItem.Color;\r\n\r\n let existingItem = this.items.find((item) => item.Id == updatedItem.Id);\r\n existingItem.Title = updatedItem.Title;\r\n existingItem.Color = updatedItem.Color;\r\n\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open('Project type was successfully updated.', null, { duration: 2000 });\r\n }, (response) => {\r\n let error = response.json();\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open(error.Message, null, { duration: 3000 });\r\n });\r\n }\r\n\r\n delete() {\r\n this.deleteMode = true;\r\n }\r\n\r\n deleteExistingItem() {\r\n if (this.sidebarBusy) return;\r\n\r\n this.sidebarBusy = true;\r\n this.adminService.delete('projects/types', this.selectedItem)\r\n .subscribe((response) => {\r\n this.items = this.items.filter((item) => item.Id != this.selectedItem.Id);\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open('Project type was successfully deleted.', null, { duration: 2000 });\r\n }, (response) => {\r\n let error = response.json();\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open(error.Message, null, { duration: 3000 });\r\n });\r\n }\r\n\r\n startNewItem() {\r\n this.deselect();\r\n this.newItem = new ProjectType();\r\n }\r\n\r\n cancelNewItem() {\r\n this.newItem = null;\r\n }\r\n\r\n addNewItem() {\r\n if (this.sidebarBusy) return;\r\n if (this.newItem.Color != null) this.newItem.Color = this.newItem.Color.substring(1);\r\n\r\n this.sidebarBusy = true;\r\n this.adminService.add('projects/types', this.newItem)\r\n .subscribe((response) => {\r\n let result = response.json().Result;\r\n let id = result.Id;\r\n\r\n let createdItem = { ...this.newItem };\r\n if (createdItem.Color != null) createdItem.Color = '#' + createdItem.Color;\r\n createdItem.Id = id;\r\n this.items.push(createdItem);\r\n\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n this.newItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open('Project type was successfully added.', null, { duration: 2000 });\r\n }, (response) => {\r\n let error = response.json();\r\n\r\n this.newItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open(error.Message, null, { duration: 3000 });\r\n });\r\n }\r\n\r\n sort(column: string) {\r\n if (this.sortColumn == column) {\r\n this.sortAscending = !this.sortAscending;\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n return;\r\n }\r\n\r\n this.sortColumn = column;\r\n this.sortAscending = true;\r\n this.items.sort(this.sortFunction.bind(this));\r\n }\r\n\r\n private sortFunction(left, right): number {\r\n let leftVal = left[this.sortColumn].toUpperCase();\r\n let rightVal = right[this.sortColumn].toUpperCase();\r\n\r\n if (this.sortAscending) {\r\n return leftVal < rightVal ? -1 : 1;\r\n }\r\n\r\n return leftVal > rightVal ? -1 : 1;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/admin/project-types/project-types.component.ts","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Emailarrow_drop_downarrow_drop_up\\r\\n
\\r\\n
\\r\\n First Namearrow_drop_downarrow_drop_up\\r\\n
\\r\\n
\\r\\n Last Namearrow_drop_downarrow_drop_up\\r\\n
\\r\\n
\\r\\n Rolearrow_drop_downarrow_drop_up\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{item.Email}}
\\r\\n
{{item.GivenName}}
\\r\\n
{{item.Surname}}
\\r\\n
{{roles[item.Role]}}
\\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

Select a user to edit or delete.

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Edit user\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

You are only allowed to modify user's role.

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{roles[selectedItem.Role]}}\\r\\n {{role}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{pmo.Title}}\\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 Add a new user\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Please fill up all required fields to proceed.

\\r\\n \\r\\n \\r\\n Enter the user's PPA Office 365 email\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{roles[newItem.Role]}}\\r\\n {{role}}\\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 Delete user\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Are you sure you want to remove the user {{selectedItem.Email}}?

\\r\\n

The user will no longer be able to access this site.

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/admin/users/users.component.html\n// module id = ./Angular/app/admin/users/users.component.html\n// module chunks = main","module.exports = \".items .item-list mat-list-item {\\n word-wrap: break-word;\\n width: auto;\\n height: auto;\\n min-height: 48px;\\n}\\n.items .item-list mat-list-item .email {\\n min-width: 34%;\\n}\\n.items .item-list mat-list-item .name {\\n min-width: 22%;\\n}\\n.items .item-list mat-list-item .role {\\n min-width: 22%;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/admin/users/users.component.less\n// module id = ./Angular/app/admin/users/users.component.less\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { User } from '../../_models/user.model';\r\nimport { Observable } from 'rxjs';\r\nimport { AdminService } from '../../_services/admin.service';\r\nimport { PortService } from '../../_services/port.service';\r\nimport { MatSnackBar } from '@angular/material';\r\n\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n animate,\r\n transition\r\n} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-users',\r\n templateUrl: './users.component.html',\r\n styleUrls: ['./users.component.less'],\r\n animations: [\r\n trigger('sidebar', [\r\n state('void', style({ transform: 'translateX(100%)' })),\r\n transition(':enter', animate('150ms ease-in', style({ transform: 'translateX(0)' }))),\r\n transition(':leave', animate('200ms ease-out', style({ transform: 'translateX(100%)' })))\r\n ])\r\n ]\r\n})\r\nexport class UsersComponent implements OnInit {\r\n\r\n private busy: boolean = false;\r\n private sidebarBusy: boolean = false;\r\n\r\n private items: User[];\r\n private sortColumn: string = 'Email';\r\n private sortAscending: boolean = true;\r\n private selectedItem: User = null;\r\n private newItem: User = null;\r\n private deleteMode: boolean = false;\r\n private pmoList: any;\r\n private pmoMap: any = {};\r\n\r\n private roles: any = ['Global Administrator', 'PPA Executive', 'PMO Admin', 'PPA Planning', 'PPA Dredging', 'PPA Port Construction'];\r\n\r\n constructor(private portService: PortService, private adminService: AdminService, private snackBar: MatSnackBar) { }\r\n\r\n ngOnInit() {\r\n this.loadItems();\r\n }\r\n\r\n loadItems() {\r\n this.busy = true;\r\n this.sidebarBusy = true;\r\n\r\n Observable.forkJoin([\r\n this.portService.getPmoAndPorts(),\r\n this.adminService.get('users')\r\n ]).subscribe(responses => {\r\n let getPmosResult = responses[0].json().Result;\r\n this.pmoList = getPmosResult.Offices;\r\n this.pmoList.forEach(pmo => {\r\n this.pmoMap[pmo.Id] = pmo;\r\n });\r\n\r\n let getUsersResult = responses[1].json().Result;\r\n this.items = getUsersResult.Users;\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n this.busy = false;\r\n this.sidebarBusy = false;\r\n }, error => {\r\n this.snackBar.open(\"An error occurred loading the users.\", null, { duration: 3000 });\r\n this.busy = false;\r\n this.sidebarBusy = false;\r\n });\r\n }\r\n\r\n select(item: any) {\r\n if (this.selectedItem == item) return;\r\n\r\n this.cancelNewItem();\r\n this.selectedItem = { ...item };\r\n }\r\n\r\n deselect() {\r\n this.selectedItem = null;\r\n this.deleteMode = false;\r\n }\r\n\r\n editExistingItem() {\r\n if (this.sidebarBusy) return;\r\n\r\n this.sidebarBusy = true;\r\n this.adminService.update('users', this.selectedItem)\r\n .subscribe((response) => {\r\n let result = response.json().Result;\r\n let updatedUser = result.User;\r\n let existingUser = this.items.find((item) => item.Id == updatedUser.Id);\r\n existingUser.Role = updatedUser.Role;\r\n existingUser.OfficeIds = updatedUser.OfficeIds;\r\n\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open('User was successfully updated.', null, { duration: 2000 });\r\n }, (response) => {\r\n let error = response.json();\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open(error.Message, null, { duration: 3000 });\r\n });\r\n }\r\n\r\n delete() {\r\n this.deleteMode = true;\r\n }\r\n\r\n deleteExistingItem() {\r\n if (this.sidebarBusy) return;\r\n\r\n this.sidebarBusy = true;\r\n this.adminService.delete('users', this.selectedItem)\r\n .subscribe((response) => {\r\n this.items = this.items.filter((item) => item.Id != this.selectedItem.Id);\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open('User was successfully deleted.', null, { duration: 2000 });\r\n }, (response) => {\r\n let error = response.json();\r\n\r\n this.selectedItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open(error.Message, null, { duration: 3000 });\r\n });\r\n }\r\n\r\n startNewItem() {\r\n this.deselect();\r\n this.newItem = new User();\r\n }\r\n\r\n cancelNewItem() {\r\n this.newItem = null;\r\n }\r\n\r\n addNewItem() {\r\n if (this.sidebarBusy) return;\r\n\r\n this.sidebarBusy = true;\r\n this.adminService.add('users', this.newItem)\r\n .subscribe((response) => {\r\n let result = response.json().Result;\r\n let id = result.Id;\r\n\r\n let newUser = { ...this.newItem };\r\n newUser.Id = id;\r\n this.items.push(newUser);\r\n\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n this.newItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open('User was successfully added.', null, { duration: 2000 });\r\n }, (response) => {\r\n let error = response.json();\r\n\r\n this.newItem = null;\r\n this.sidebarBusy = false;\r\n\r\n this.snackBar.open(error.Message, null, { duration: 3000 });\r\n });\r\n }\r\n\r\n sort(column: string) {\r\n if (this.sortColumn == column) {\r\n this.sortAscending = !this.sortAscending;\r\n this.items.sort(this.sortFunction.bind(this));\r\n\r\n return;\r\n }\r\n\r\n this.sortColumn = column;\r\n this.sortAscending = true;\r\n this.items.sort(this.sortFunction.bind(this));\r\n }\r\n\r\n private sortFunction(left, right): number {\r\n let leftVal = left[this.sortColumn].toUpperCase();\r\n let rightVal = right[this.sortColumn].toUpperCase();\r\n\r\n if (this.sortAscending) {\r\n return leftVal < rightVal ? -1 : 1;\r\n }\r\n\r\n return leftVal > rightVal ? -1 : 1;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/admin/users/users.component.ts","module.exports = \"\\r\\n
\\r\\n \\r\\n \\\"Philippine\\r\\n \\r\\n
\\r\\n \\r\\n \\\"Philippine\\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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/app.component.html\n// module id = ./Angular/app/app.component.html\n// module chunks = main","module.exports = \".mat-toolbar.ribbon {\\n color: #ffffff;\\n background-color: #0D4B87;\\n line-height: 64px !important;\\n min-height: 64px !important;\\n padding: 0 !important;\\n position: relative;\\n z-index: 1;\\n}\\n.mat-toolbar.ribbon .fill-remaining-space {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 auto;\\n flex: 1 1 auto;\\n}\\n.mat-toolbar.ribbon > a {\\n line-height: 60px;\\n}\\n.mat-toolbar.ribbon img {\\n vertical-align: middle;\\n}\\n.mat-toolbar.ribbon .logo-container {\\n display: inline-block;\\n}\\n.mat-toolbar.ribbon .logo-container:before {\\n position: relative;\\n z-index: 0;\\n content: ' ';\\n position: absolute;\\n top: 62px;\\n width: 80px;\\n height: 50px;\\n background-color: #0D4B87;\\n -webkit-clip-path: polygon(0 0, 100% 0, 40% 100%, 0% 100%);\\n clip-path: polygon(0 0, 100% 0, 40% 100%, 0% 100%);\\n}\\n.mat-toolbar.ribbon .logo-container:after {\\n position: relative;\\n z-index: 0;\\n content: ' ';\\n position: absolute;\\n top: 62px;\\n left: 32px;\\n width: 112px;\\n height: 50px;\\n background-color: rgba(13, 75, 135, 0.3);\\n -webkit-clip-path: polygon(0 0, 100% 0, 55% 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 55% 100%, 0 100%);\\n}\\n.mat-toolbar.ribbon .logo-container .logo {\\n z-index: 1;\\n position: relative;\\n height: 100px;\\n margin: 6px;\\n margin-top: 54px;\\n}\\n.mat-toolbar.ribbon .logotype {\\n margin: 6px;\\n}\\nnav.main {\\n background-color: #074A89;\\n text-align: right;\\n position: relative;\\n z-index: 1;\\n}\\nnav.main ul li {\\n float: left;\\n}\\nnav.main ul li a {\\n border-radius: 2px;\\n color: #ffffff;\\n text-decoration: none;\\n line-height: 30px !important;\\n display: block;\\n padding: 0 12px;\\n margin: 0 8px;\\n -webkit-transition: all ease-in 150ms;\\n transition: all ease-in 150ms;\\n cursor: pointer;\\n}\\nnav.main ul li a i.material-icons {\\n vertical-align: text-bottom;\\n}\\nnav.main ul li a.active {\\n background-color: #ffffff;\\n color: #074A89;\\n}\\nnav.main ul li a.active:hover {\\n color: #114C85;\\n background-color: #ffffff;\\n}\\nnav.main ul li a:not(.active):hover {\\n color: #ffffff;\\n background-color: rgba(255, 255, 255, 0.3);\\n -webkit-transition: all ease-out 150ms;\\n transition: all ease-out 150ms;\\n}\\nmain {\\n min-height: calc(100vh - 64px);\\n}\\nmain .hero {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 60px;\\n z-index: -1000;\\n background-image: url(/assets/port.jpg);\\n background-position: center center;\\n background-size: cover;\\n height: 300px;\\n}\\nmain .hero-spacer {\\n margin-top: 200px;\\n}\\nmain .page-container {\\n min-height: calc(100vh - 64px);\\n}\\nmain .page-container .content-container {\\n float: left;\\n width: 70%;\\n min-height: calc(100vh - 64px);\\n background-color: #ffffff;\\n}\\nmain .page-container .content-container .content-header {\\n width: 100%;\\n height: 128px;\\n margin: 0 auto;\\n background-color: #F4F4F4;\\n position: relative;\\n}\\nmain .page-container .content-container .content-header .header {\\n position: absolute;\\n left: 20px;\\n bottom: 20px;\\n font: 500 20px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n color: #333;\\n}\\nmain .page-container .content-container .content-header .header ul.breadcrumbs li {\\n display: inline-block;\\n}\\nmain .page-container .content-container .content-header .header ul.breadcrumbs li a {\\n color: #888;\\n text-decoration: none;\\n font-weight: 400;\\n}\\nmain .page-container .content-container .content-header .header ul.breadcrumbs li mat-icon {\\n color: #888;\\n vertical-align: bottom;\\n}\\nmain .page-container .side-container {\\n float: left;\\n width: 30%;\\n position: absolute;\\n right: 0;\\n top: 64px;\\n bottom: 0;\\n background-color: #F5F5F4;\\n}\\nmain .page-container .side-container mat-toolbar {\\n position: relative;\\n background-color: #E1E1E1;\\n color: #333;\\n}\\nmain .page-container .side-container mat-toolbar span {\\n -webkit-box-flex: 1;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n}\\nmain .page-container .side-container mat-toolbar .mat-icon-button.close {\\n position: absolute;\\n right: 10px;\\n}\\nmain .page-container .side-container mat-toolbar .mat-mini-fab {\\n position: absolute;\\n bottom: -20px;\\n right: 20px;\\n}\\nmain .page-container .side-container mat-toolbar .mat-mini-fab.disabled {\\n background-color: #B1B1B1;\\n color: #555;\\n cursor: not-allowed;\\n}\\nmain .page-container .side-container mat-toolbar .mat-mini-fab .content {\\n background-color: #333333 !important;\\n color: #ffffff !important;\\n}\\nmain .page-container .side-container mat-toolbar ngc-float-button {\\n position: absolute;\\n bottom: -20px;\\n right: 20px;\\n}\\nmain .page-container .side-container mat-toolbar ngc-float-button .fab-toggle {\\n background-color: #FF4081;\\n color: #ffffff;\\n}\\nmain .page-container .side-container mat-toolbar ngc-float-button.disabled {\\n background-color: #B1B1B1;\\n color: #555;\\n cursor: not-allowed;\\n}\\nmain .page-container .side-container mat-toolbar ngc-float-button .content {\\n background-color: #333333 !important;\\n text-transform: none !important;\\n}\\nmain .page-container .side-container .content {\\n background-color: #F4F4F4;\\n}\\nmain .page-container .side-container .content .mat-subheader {\\n color: #FE3F81;\\n}\\nmain .page-container .side-container .content p {\\n line-height: 1.4em;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/app.component.less\n// module id = ./Angular/app/app.component.less\n// module chunks = main","import { Component, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { AuthService } from './_services/auth.service';\r\nimport { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.less'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n private portId: number = null;\r\n private slug: string = null;\r\n\r\n constructor(private authService: AuthService, private router: Router, private activatedRoute: ActivatedRoute) {\r\n }\r\n\r\n ngOnInit() {\r\n this.router.events\r\n .filter(e => e instanceof NavigationEnd)\r\n .forEach(e => {\r\n let params = this.activatedRoute.root.firstChild.snapshot.params;\r\n\r\n if (params['portId']) {\r\n this.portId = params['portId'];\r\n this.slug = params['slug'];\r\n }\r\n });\r\n }\r\n\r\n logout() {\r\n this.authService.logoutPPA();\r\n this.authService.logoutAzureAD();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/app.component.ts","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpModule } from '@angular/http';\r\n\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { Ng2CompleterModule } from \"ng2-completer\";\r\nimport { AgmCoreModule } from '@agm/core';\r\n\r\nimport { routing } from './app.routing';\r\n\r\nimport { ngfModule } from 'angular-file';\r\n\r\nimport { AuthModule } from './_services/auth.module';\r\nimport { AuthService } from './_services/auth.service';\r\nimport { PortService } from './_services/port.service';\r\nimport { ProjectService } from './_services/project.service';\r\nimport { FacilityService } from './_services/facility.service';\r\nimport { EmitterService } from './_services/emitter.service';\r\nimport { AdminService } from './_services/admin.service';\r\n\r\nimport { ConfirmDialog, ConfirmDialogService } from './_common/confirm.dialog';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { AuthGuard } from './_guards/auth.guard';\r\nimport { LoginComponent } from './login/login.component';\r\n\r\nimport { HomeComponent } from './home/home.component';\r\nimport { AddPmoComponent, AddPmoDialogComponent } from './home/add-pmo/add-pmo.component';\r\nimport { AddPortComponent, AddPortDialogComponent } from './home/add-port/add-port.component';\r\n\r\nimport { PortComponent } from './port/port.component';\r\nimport { AddFacilityDialogComponent } from './port/add-facility/add-facility.component';\r\nimport { EditFacilityDialogComponent } from './port/edit-facility/edit-facility.component';\r\nimport { AddProjectComponent } from './port/add-project/add-project.component';\r\n\r\nimport { AdminComponent } from './admin/admin.component';\r\nimport { UsersComponent } from './admin/users/users.component';\r\nimport { FacilityTypesComponent } from './admin/facility-types/facility-types.component';\r\nimport { ProjectTypesComponent } from './admin/project-types/project-types.component';\r\n\r\nimport {\r\n MatCardModule,\r\n MatButtonModule,\r\n MatMenuModule,\r\n MatToolbarModule,\r\n MatListModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatProgressSpinnerModule,\r\n MatProgressBarModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSnackBarModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n MatSelectModule,\r\n MatAutocompleteModule,\r\n MatDatepickerModule,\r\n MatTabsModule,\r\n MatTableModule\r\n} from '@angular/material';\r\n\r\nimport {\r\n MatMomentDateModule\r\n} from '@angular/material-moment-adapter';\r\n\r\nimport { CurrencyMaskModule } from \"ng2-currency-mask\";\r\nimport { NgcFloatButtonModule } from 'ngc-float-button';\r\nimport { ColorPickerModule } from 'ngx-color-picker';\r\n\r\nimport { Nl2BrPipe } from \"nl2br-pipe\";\r\nimport { PropertiesPipe } from './_common/properties-pipe';\r\nimport { ProjectComponent } from './project/project.component';\r\nimport { EditProjectComponent } from './project/edit-project/edit-project.component';\r\nimport { PastComponent } from './projects/past/past.component';\r\nimport { CurrentComponent } from './projects/current/current.component';\r\nimport { FutureComponent } from './projects/future/future.component';\r\nimport { EditParticularsDialogComponent } from './projects/edit-particulars/edit-particulars.component';\r\nimport { GoogleMapComponent } from './_common/google-map/google-map.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n HomeComponent,\r\n PortComponent,\r\n AddPmoComponent,\r\n AddPmoDialogComponent,\r\n AddPortComponent,\r\n AddPortDialogComponent,\r\n AddFacilityDialogComponent,\r\n EditFacilityDialogComponent,\r\n AddProjectComponent,\r\n\r\n Nl2BrPipe,\r\n PropertiesPipe,\r\n\r\n AdminComponent,\r\n UsersComponent,\r\n FacilityTypesComponent,\r\n ProjectTypesComponent,\r\n ProjectComponent,\r\n EditProjectComponent,\r\n\r\n ConfirmDialog,\r\n\r\n PastComponent,\r\n CurrentComponent,\r\n FutureComponent,\r\n EditParticularsDialogComponent,\r\n GoogleMapComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpModule,\r\n FormsModule,\r\n Ng2CompleterModule,\r\n BrowserAnimationsModule,\r\n AuthModule,\r\n routing,\r\n\r\n ngfModule,\r\n\r\n MatCardModule,\r\n MatButtonModule,\r\n MatMenuModule,\r\n MatToolbarModule,\r\n MatListModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatProgressSpinnerModule,\r\n MatProgressBarModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSnackBarModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n MatSelectModule,\r\n MatAutocompleteModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n MatTabsModule,\r\n MatTableModule,\r\n\r\n NgcFloatButtonModule,\r\n CurrencyMaskModule,\r\n ColorPickerModule,\r\n\r\n AgmCoreModule.forRoot({\r\n apiKey: 'AIzaSyBYfsWo8BDbKgWifYGMiviazMrqwqhLNfQ',\r\n libraries: [\"places\"]\r\n })\r\n ],\r\n providers: [\r\n ConfirmDialogService,\r\n\r\n AuthGuard,\r\n AuthService,\r\n PortService,\r\n ProjectService,\r\n FacilityService,\r\n EmitterService,\r\n AdminService\r\n ],\r\n bootstrap: [AppComponent],\r\n entryComponents: [AddPmoDialogComponent, AddPortDialogComponent, AddFacilityDialogComponent, EditFacilityDialogComponent, ConfirmDialog, EditParticularsDialogComponent]\r\n})\r\nexport class AppModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/app.module.ts","import { Routes, RouterModule, RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router';\r\n\r\nimport { LoginComponent } from './login/login.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { PortComponent } from './port/port.component';\r\n\r\nimport { AddPmoComponent } from './home/add-pmo/add-pmo.component';\r\nimport { AddPortComponent } from './home/add-port/add-port.component';\r\nimport { AddProjectComponent } from './port/add-project/add-project.component';\r\n\r\nimport { AdminComponent } from './admin/admin.component';\r\nimport { UsersComponent } from './admin/users/users.component';\r\nimport { FacilityTypesComponent } from './admin/facility-types/facility-types.component';\r\nimport { ProjectTypesComponent } from './admin/project-types/project-types.component';\r\n\r\nimport { ProjectComponent } from './project/project.component';\r\nimport { EditProjectComponent } from './project/edit-project/edit-project.component';\r\nimport { PastComponent } from './projects/past/past.component';\r\nimport { CurrentComponent } from './projects/current/current.component';\r\nimport { FutureComponent } from './projects/future/future.component';\r\n\r\nimport { AuthGuard } from './_guards/auth.guard';\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: '', component: HomeComponent, canActivate: [AuthGuard], children: [\r\n {\r\n path: 'add-pmo',\r\n component: AddPmoComponent\r\n },\r\n {\r\n path: ':pmoId/add-port',\r\n component: AddPortComponent\r\n }\r\n ]\r\n },\r\n\r\n // Admin routes\r\n {\r\n path: 'admin', component: AdminComponent, canActivate: [AuthGuard], children: [\r\n {\r\n path: '',\r\n redirectTo: 'users',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'users',\r\n component: UsersComponent\r\n },\r\n {\r\n path: 'facility-types',\r\n component: FacilityTypesComponent\r\n },\r\n {\r\n path: 'project-types',\r\n component: ProjectTypesComponent\r\n }\r\n ]\r\n },\r\n\r\n { path: ':portId/:slug/map/:year/:type/:facilityId/:facilitySlug/add-project/:x/:y', component: AddProjectComponent, canActivate: [AuthGuard] },\r\n { path: ':portId/:slug/map/:year/:type/:facilityId/:facilitySlug/add-project', component: AddProjectComponent, canActivate: [AuthGuard] },\r\n {\r\n path: ':portId/:slug/projects/past', component: PastComponent, canActivate: [AuthGuard], children: [\r\n {\r\n path: '',\r\n redirectTo: 'planning',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'planning',\r\n component: PastComponent\r\n },\r\n {\r\n path: 'navigation',\r\n component: PastComponent\r\n },\r\n {\r\n path: 'sounding',\r\n component: PastComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: ':portId/:slug/projects/current', component: CurrentComponent, canActivate: [AuthGuard], children: [\r\n {\r\n path: '',\r\n redirectTo: 'planning',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'planning',\r\n component: FutureComponent\r\n },\r\n {\r\n path: 'navigation',\r\n component: FutureComponent\r\n },\r\n {\r\n path: 'sounding',\r\n component: FutureComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: ':portId/:slug/projects/future', component: FutureComponent, canActivate: [AuthGuard], children: [\r\n {\r\n path: '',\r\n redirectTo: 'planning',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'planning',\r\n component: FutureComponent\r\n },\r\n {\r\n path: 'navigation',\r\n component: FutureComponent\r\n },\r\n {\r\n path: 'sounding',\r\n component: FutureComponent\r\n }\r\n ]\r\n },\r\n { path: ':portId/:slug/projects/:projectId/edit', component: EditProjectComponent, canActivate: [AuthGuard] },\r\n { path: ':portId/:slug/projects/:projectId', component: ProjectComponent, canActivate: [AuthGuard] },\r\n\r\n // These three routes are for viewing port\r\n { path: ':portId/:slug/map/:year/:type/:facilityId/:facilitySlug', component: PortComponent, canActivate: [AuthGuard] },\r\n { path: ':portId/:slug/map/:year/:type', component: PortComponent, canActivate: [AuthGuard] },\r\n { path: ':portId/:slug/map/:year', component: PortComponent, canActivate: [AuthGuard] },\r\n { path: ':portId/:slug/map', component: PortComponent, canActivate: [AuthGuard] },\r\n\r\n { path: 'account/login', component: LoginComponent },\r\n\r\n // otherwise redirect to Home\r\n { path: '**', redirectTo: '' }\r\n];\r\n\r\nexport const routing = RouterModule.forRoot(appRoutes);\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/app.routing.ts","module.exports = \"

Add new PMO

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n e.g. PMO Misamis Oriental\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/home/add-pmo/add-pmo.component.html\n// module id = ./Angular/app/home/add-pmo/add-pmo.component.html\n// module chunks = main","module.exports = \"mat-form-field {\\n width: 100%;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/home/add-pmo/add-pmo.component.less\n// module id = ./Angular/app/home/add-pmo/add-pmo.component.less\n// module chunks = main","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog, MatDialogRef, MatDialogConfig, MAT_DIALOG_DATA, MatSnackBar } from '@angular/material';\r\nimport { DOCUMENT } from '@angular/platform-browser';\r\n\r\nimport { PortService } from '../../_services/port.service';\r\nimport { EmitterService } from '../../_services/emitter.service';\r\n\r\n@Component({\r\n selector: 'app-add-pmo',\r\n template: ''\r\n})\r\nexport class AddPmoComponent {\r\n\r\n dialogRef: MatDialogRef;\r\n\r\n config: MatDialogConfig = {\r\n disableClose: false,\r\n hasBackdrop: true,\r\n backdropClass: '',\r\n width: '500px',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n }\r\n };\r\n\r\n\r\n constructor(public dialog: MatDialog, @Inject(DOCUMENT) private doc: any, private router: Router) {\r\n dialog.afterOpen.subscribe(() => {\r\n if (!doc.body.classList.contains('no-scroll')) {\r\n doc.body.classList.add('no-scroll');\r\n }\r\n });\r\n\r\n this.openModal();\r\n }\r\n\r\n openModal() {\r\n this.dialogRef = this.dialog.open(AddPmoDialogComponent, this.config);\r\n\r\n this.dialogRef.afterClosed().subscribe((result: string) => {\r\n this.dialogRef = null;\r\n this.router.navigate(['../']);\r\n this.doc.body.classList.remove('no-scroll');\r\n\r\n EmitterService.get('AddPmoDialogComponent').emit(result);\r\n });\r\n }\r\n\r\n}\r\n\r\n@Component({\r\n selector: 'app-add-pmo-dialog',\r\n templateUrl: './add-pmo.component.html',\r\n styleUrls: ['./add-pmo.component.less']\r\n})\r\nexport class AddPmoDialogComponent implements OnInit {\r\n\r\n private busy: boolean;\r\n private title: string;\r\n\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any,\r\n private portService: PortService,\r\n private snackBar: MatSnackBar) {\r\n }\r\n\r\n ngOnInit() {\r\n this.busy = false;\r\n }\r\n\r\n add(form) {\r\n this.busy = true;\r\n this.dialogRef.disableClose = true;\r\n\r\n this.portService.addPmo(this.title)\r\n .subscribe(\r\n response => {\r\n let result = response.json().Result;\r\n this.dialogRef.close(result.Id);\r\n\r\n this.snackBar.open('PMO was added successfully.', null, { duration: 2000 });\r\n },\r\n error => {\r\n this.busy = false;\r\n this.dialogRef.disableClose = false;\r\n\r\n this.snackBar.open(error.Message, null, { duration: 3000 });\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/home/add-pmo/add-pmo.component.ts","module.exports = \"

Add new port

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n e.g. Port of Manila\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/home/add-port/add-port.component.html\n// module id = ./Angular/app/home/add-port/add-port.component.html\n// module chunks = main","module.exports = \"mat-form-field {\\n width: 100%;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/home/add-port/add-port.component.less\n// module id = ./Angular/app/home/add-port/add-port.component.less\n// module chunks = main","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatDialog, MatDialogRef, MatDialogConfig, MAT_DIALOG_DATA, MatSnackBar } from '@angular/material';\r\nimport { DOCUMENT } from '@angular/platform-browser';\r\n\r\nimport { PortService } from '../../_services/port.service';\r\nimport { EmitterService } from '../../_services/emitter.service';\r\n\r\n@Component({\r\n selector: 'app-add-port',\r\n template: ''\r\n})\r\nexport class AddPortComponent {\r\n\r\n dialogRef: MatDialogRef;\r\n\r\n config: MatDialogConfig = {\r\n disableClose: false,\r\n hasBackdrop: true,\r\n backdropClass: '',\r\n width: '500px',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n },\r\n data: {}\r\n };\r\n\r\n\r\n constructor(public dialog: MatDialog, @Inject(DOCUMENT) private doc: any,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute) {\r\n\r\n dialog.afterOpen.subscribe(() => {\r\n if (!doc.body.classList.contains('no-scroll')) {\r\n doc.body.classList.add('no-scroll');\r\n }\r\n });\r\n\r\n this.config.data.pmoId = activatedRoute.snapshot.params['pmoId'];\r\n this.openModal();\r\n }\r\n\r\n openModal() {\r\n this.dialogRef = this.dialog.open(AddPortDialogComponent, this.config);\r\n\r\n this.dialogRef.afterClosed().subscribe((result: string) => {\r\n this.dialogRef = null;\r\n this.router.navigate(['../']);\r\n this.doc.body.classList.remove('no-scroll');\r\n\r\n EmitterService.get('AddPortDialogComponent').emit(result);\r\n });\r\n }\r\n\r\n}\r\n\r\n@Component({\r\n selector: 'app-add-port-dialog',\r\n templateUrl: './add-port.component.html',\r\n styleUrls: ['./add-port.component.less']\r\n})\r\nexport class AddPortDialogComponent implements OnInit {\r\n\r\n private busy: boolean;\r\n private pmoId: number;\r\n private title: string;\r\n\r\n constructor(private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) private data: any,\r\n private portService: PortService,\r\n private snackBar: MatSnackBar) {\r\n\r\n this.pmoId = this.data.pmoId;\r\n }\r\n\r\n ngOnInit() {\r\n this.busy = false;\r\n }\r\n\r\n add(form) {\r\n this.busy = true;\r\n this.dialogRef.disableClose = true;\r\n\r\n this.portService.addPort(this.pmoId, this.title)\r\n .subscribe(\r\n response => {\r\n let result = response.json().Result;\r\n this.dialogRef.close(result.Id);\r\n\r\n this.snackBar.open('Port was added successfully.', null, { duration: 2000 });\r\n },\r\n error => {\r\n this.busy = false;\r\n this.dialogRef.disableClose = false;\r\n\r\n this.snackBar.open(error.Message, null, { duration: 3000 });\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/home/add-port/add-port.component.ts","module.exports = \"
\\r\\n
\\r\\n\\r\\n Find your port\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n Add PMO...\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n Add Port...\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/home/home.component.html\n// module id = ./Angular/app/home/home.component.html\n// module chunks = main","module.exports = \".home {\\n width: 50%;\\n}\\n.home .row a {\\n margin-top: 8px;\\n display: inline-block;\\n float: right;\\n text-decoration: none;\\n font-size: 0.9em;\\n -webkit-transition: all ease-in 150ms;\\n transition: all ease-in 150ms;\\n}\\n.home .row a:hover {\\n color: #35A2F4;\\n}\\n.home button.view {\\n margin-top: 20px;\\n float: right;\\n background-color: #0D4B87;\\n color: #ffffff;\\n}\\n.home button.view:disabled {\\n background-color: #DFDFDF;\\n color: #9F9F9F;\\n cursor: not-allowed;\\n}\\nmain {\\n min-height: calc(100vh - 264px);\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/home/home.component.less\n// module id = ./Angular/app/home/home.component.less\n// module chunks = main","import { Component, Renderer2, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport 'rxjs/add/observable/of';\r\n\r\nimport { Slug } from 'ng2-slugify';\r\nimport { CompleterService, CompleterData, CompleterItem, CompleterCmp } from 'ng2-completer';\r\nimport { CustomCompleterData } from '../_helpers/custom-completer-data';\r\n\r\nimport { PortService } from '../_services/port.service';\r\nimport { EmitterService } from '../_services/emitter.service';\r\nimport { AuthService } from '../_services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.less'],\r\n\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HomeComponent implements OnInit {\r\n @ViewChild(\"portCompleter\") private portCompleter: CompleterCmp;\r\n\r\n private slug: Slug;\r\n\r\n pmo: string;\r\n protected port: any;\r\n public selectedPmo: any;\r\n protected selectedPort: any;\r\n\r\n protected portData: CustomCompleterData;\r\n protected pmoData: CustomCompleterData;\r\n protected pmoList: BehaviorSubject = new BehaviorSubject([]);\r\n protected portList: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n private busy: boolean;\r\n private previousUrl: string = '';\r\n\r\n constructor(private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private completerService: CompleterService,\r\n private renderer2: Renderer2,\r\n private portService: PortService,\r\n private authService: AuthService) {\r\n\r\n this.slug = new Slug('');\r\n }\r\n\r\n ngOnInit() {\r\n this.busy = true;\r\n this.populateDropdowns();\r\n\r\n EmitterService.get('AddPmoDialogComponent').subscribe(data => {\r\n if (data) {\r\n this.populateDropdowns();\r\n }\r\n });\r\n\r\n EmitterService.get('AddPortDialogComponent').subscribe(data => {\r\n if (data) {\r\n this.populateDropdowns();\r\n }\r\n });\r\n }\r\n\r\n private firstRun: boolean = false;\r\n populateDropdowns() {\r\n this.portService.getPmoAndPorts().subscribe((response) => {\r\n this.pmoList.next(response.json().Result.Offices);\r\n this.portList.next(null);\r\n\r\n // Initialize completer data once only\r\n if (!this.firstRun) {\r\n this.firstRun = true;\r\n this.pmoData = new CustomCompleterData(this.pmoList, 'Title');\r\n this.portData = new CustomCompleterData(this.portList, 'Title');\r\n }\r\n\r\n // Reset selections\r\n if (this.pmoData.hasItems()) {\r\n this.pmoData.search('');\r\n this.pmo = null;\r\n\r\n if (this.portData.hasItems()) {\r\n this.portData.search('');\r\n this.port = null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n pmoSelected(item: CompleterItem) {\r\n if (item == null) {\r\n return;\r\n }\r\n\r\n const pmo = item.originalObject;\r\n this.selectedPmo = pmo;\r\n\r\n // Update observable\r\n this.portList.next(pmo.Ports);\r\n\r\n // Force clear dropdown and pre-selected data\r\n if (pmo.Ports && pmo.Ports.length > 0) {\r\n this.portCompleter.disableInput = false;\r\n this.portData.search('');\r\n this.port = null;\r\n this.portCompleter.focus();\r\n } else {\r\n this.portCompleter.disableInput = true;\r\n }\r\n }\r\n\r\n portSelected(item: CompleterItem) {\r\n this.selectedPort = item.originalObject;\r\n }\r\n\r\n navigateToPort() {\r\n let targetId = this.selectedPort.Id;\r\n let targetSlug = this.slug.slugify(this.selectedPort.Title);\r\n this.router.navigate(['/', targetId, targetSlug, 'map', new Date().getFullYear(), 'planning']);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/home/home.component.ts","module.exports = \"
\\r\\n
\\r\\n\\r\\n Sign in\\r\\n \\r\\n

\\r\\n You are required to be signed in to access the Port Management web application.\\r\\n

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

\\r\\n Please use your @ppa.com.ph email to sign in.\\r\\n

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

\\r\\n Please wait a moment...\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/login/login.component.html\n// module id = ./Angular/app/login/login.component.html\n// module chunks = main","module.exports = \".login {\\n width: 40%;\\n}\\n.login p {\\n color: #888;\\n margin-bottom: 1em;\\n line-height: 1.4em;\\n}\\n.login .mat-card-content.loading {\\n text-align: center;\\n}\\n.login .mat-card-content.loading .mat-progress-spinner {\\n margin: 0 auto;\\n}\\n.login .mat-card-actions button {\\n cursor: pointer;\\n color: #074A89;\\n}\\n.login .mat-card-actions button i {\\n vertical-align: middle;\\n margin-bottom: 3px;\\n cursor: pointer;\\n}\\nmain {\\n min-height: calc(100vh - 264px);\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/login/login.component.less\n// module id = ./Angular/app/login/login.component.less\n// module chunks = main","import { Component, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { AuthService } from '../_services/auth.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material';\r\n\r\n@Component({\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.less'],\r\n\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n private returnUrl: string;\r\n private busy: Boolean = true;\r\n\r\n constructor(private authService: AuthService,\r\n private activatedRoute: ActivatedRoute, private router: Router,\r\n private renderer2: Renderer2,\r\n private snackbar: MatSnackBar) {\r\n\r\n let params = this.activatedRoute.snapshot.queryParams;\r\n this.returnUrl = params['returnUrl'] || '/';\r\n }\r\n\r\n ngOnInit() {\r\n this.busy = true;\r\n\r\n if (this.authService.isLoggedIn()) {\r\n this.router.navigate([this.returnUrl]);\r\n return;\r\n }\r\n\r\n var tokenPromise = this.authService.silentLoginAzureAD();\r\n if (tokenPromise) {\r\n tokenPromise.then(aadToken => {\r\n this.authService.loginPPA(aadToken)\r\n .subscribe(response => {\r\n let result = response.json();\r\n\r\n this.authService.setLoggedIn(result.access_token);\r\n this.router.navigate([this.returnUrl]);\r\n this.busy = false;\r\n },\r\n response => {\r\n // TODO : Do something with error\r\n this.snackbar.open(response.Message, null, { duration: 5000 });\r\n this.busy = false;\r\n });\r\n });\r\n } else {\r\n this.busy = false;\r\n }\r\n }\r\n\r\n login() {\r\n this.busy = true;\r\n\r\n var tokenPromise = this.authService.loginAzureAD();\r\n if (tokenPromise) {\r\n tokenPromise.then(aadToken => {\r\n this.authService.loginPPA(aadToken)\r\n .subscribe(response => {\r\n let result = response.json();\r\n\r\n this.authService.setLoggedIn(result.access_token);\r\n this.router.navigate([this.returnUrl]);\r\n this.busy = false;\r\n },\r\n response => {\r\n console.log(response);\r\n // TODO : Do something with error\r\n this.snackbar.open(response.Message, null, { duration: 5000 });\r\n this.busy = false;\r\n });\r\n });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/login/login.component.ts","module.exports = \"

Add new Facility

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{parent}}\\r\\n chevron_right\\r\\n \\r\\n {{ facility.value.Title }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n e.g. Pier 5\\r\\n \\r\\n \\r\\n \\r\\n e.g. km, ton\\r\\n \\r\\n \\r\\n \\r\\n e.g. 3750\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/port/add-facility/add-facility.component.html\n// module id = ./Angular/app/port/add-facility/add-facility.component.html\n// module chunks = main","module.exports = \"mat-form-field {\\n width: 100%;\\n}\\nmat-option mat-icon {\\n margin-right: 0;\\n vertical-align: middle;\\n margin-top: -2px;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/port/add-facility/add-facility.component.less\n// module id = ./Angular/app/port/add-facility/add-facility.component.less\n// module chunks = main","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatSnackBar } from '@angular/material';\r\n\r\nimport { FacilityService } from '../../_services/facility.service'\r\n\r\n@Component({\r\n selector: 'app-add-facility-dialog',\r\n templateUrl: './add-facility.component.html',\r\n styleUrls: ['./add-facility.component.less']\r\n})\r\nexport class AddFacilityDialogComponent implements OnInit {\r\n\r\n private busy: boolean;\r\n private parentFacility: any;\r\n private title: string;\r\n private unit: string;\r\n private particularsToDate: number;\r\n private filteredFacilities: any;\r\n private portId: number;\r\n private mapId: number;\r\n private year: number;\r\n private x: number;\r\n private y: number;\r\n\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any,\r\n private snackBar: MatSnackBar,\r\n private facilityService: FacilityService) {\r\n this.filteredFacilities = data.facilities;\r\n this.portId = data.portId;\r\n this.mapId = data.mapId;\r\n this.year = data.year;\r\n this.x = data.x;\r\n this.y = data.y;\r\n }\r\n\r\n filter(val: any) {\r\n if (val && typeof(val) === 'string') {\r\n const filterValue = val.toLowerCase();\r\n return this.data.facilities.filter(state => {\r\n return state.value.Title.toLowerCase().indexOf(filterValue) !== -1;\r\n });\r\n }\r\n\r\n return this.data.facilities;\r\n }\r\n\r\n displayFacilityName(facility: any): string {\r\n return facility && typeof (facility) === 'object' ? facility.value.Title : null; \r\n }\r\n\r\n ngOnInit() {\r\n this.busy = false;\r\n }\r\n\r\n add(form) {\r\n this.busy = true;\r\n this.dialogRef.disableClose = true;\r\n\r\n this.facilityService.addFacility(this.portId,\r\n this.parentFacility.value.Type == null ? this.parentFacility.value.Id : this.parentFacility.value.Type.Id,\r\n // If parent is FacilityType, then parentFacilityId is null\r\n this.parentFacility.value.Type == null ? null : this.parentFacility.value.Id,\r\n this.title,\r\n this.unit,\r\n this.particularsToDate,\r\n this.mapId,\r\n this.year,\r\n this.x,\r\n this.y)\r\n .subscribe(response => {\r\n let result = response.json().Result;\r\n\r\n this.dialogRef.close({\r\n Id: result.Id,\r\n FacilityType: this.parentFacility.value.Type == null ? this.parentFacility.value.Id : this.parentFacility.value.Type.Id,\r\n ParentFacilityId: this.parentFacility.value.Type == null ? null : this.parentFacility.value.Id,\r\n Title: this.title,\r\n Unit: this.unit,\r\n ParticularsToDate: this.particularsToDate,\r\n MapId: this.mapId,\r\n Year: this.year,\r\n X: this.x,\r\n Y: this.y,\r\n Children: []\r\n });\r\n\r\n this.snackBar.open('Facility was added successfully.', null, { duration: 2000 });\r\n },\r\n errorResponse => {\r\n let error = errorResponse.Message;//.json();\r\n\r\n this.snackBar.open('Failed to add new facility.', null, { duration: 2000 });\r\n this.busy = false;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/port/add-facility/add-facility.component.ts","module.exports = \"
\\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 You must enter a project 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 {{parent}}\\r\\n chevron_right\\r\\n \\r\\n {{ facility.value.Title }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{projectType.Title}}
\\r\\n {{type.Title}}\\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 Php  \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n   days\\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 {{projectStatus.Title}}\\r\\n {{status.Title}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Drag and drop an image here to set as preview\\r\\n
\\r\\n
= 0\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Review\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

Please fill up all required fields to proceed.

\\r\\n
    \\r\\n
  • \\r\\n

    Location:

    {{pmo.Title}} - {{port.Title}}\\r\\n
  • \\r\\n
  • \\r\\n

    Facility:

    {{project.Facility.value.Title}}\\r\\n
  • \\r\\n
  • \\r\\n

    Project Name:

    {{project.Title}}\\r\\n
  • \\r\\n
  • \\r\\n

    Project Cost:

    {{project.ContractAmount | currency:'PHP'}}\\r\\n
  • \\r\\n
  • \\r\\n

    Year Started:

    {{project.Year}}\\r\\n
  • \\r\\n
  • \\r\\n

    Scope:

    \\r\\n

    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/port/add-project/add-project.component.html\n// module id = ./Angular/app/port/add-project/add-project.component.html\n// module chunks = main","module.exports = \".add-project .side-container .content .error {\\n color: #FE3F81;\\n padding: 20px;\\n font-weight: 500;\\n font-size: 14px;\\n}\\n.add-project .side-container .content .project {\\n padding: 20px;\\n}\\n.add-project .side-container .content .project li {\\n font-size: 14px;\\n line-height: 20px;\\n margin-bottom: 8px;\\n}\\n.add-project .add-project-form {\\n padding: 20px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n}\\n.add-project .add-project-form .full-width {\\n width: 100%;\\n}\\n.add-project .add-project-form .name {\\n width: 70%;\\n float: left;\\n padding-right: 10px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.add-project .add-project-form .year {\\n width: 30%;\\n float: left;\\n}\\n.add-project .add-project-form .amount {\\n width: 60%;\\n float: left;\\n padding-right: 10px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.add-project .add-project-form .duration {\\n width: 40%;\\n float: left;\\n}\\n.add-project .add-project-form .target {\\n padding-right: 10px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.add-project .add-project-form .percent {\\n width: 50%;\\n float: left;\\n}\\n.add-project .add-project-form .left {\\n border-right: 1px solid #F5F5F4;\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 0px;\\n flex: 1 1 0;\\n padding-right: 20px;\\n}\\n.add-project .add-project-form .right {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 0px;\\n flex: 1 1 0;\\n padding-left: 20px;\\n}\\n.add-project .add-project-form .color-block {\\n display: inline-block;\\n width: 32px;\\n height: 16px;\\n}\\n.add-project .add-project-form .image-preview {\\n height: 260px;\\n border: 10px solid transparent;\\n}\\n.add-project .add-project-form .image-preview.hover {\\n border: 10px solid #F5F5F4;\\n}\\n.add-project .add-project-form .image-preview div {\\n height: 200px;\\n background-repeat: no-repeat;\\n background-size: contain;\\n background-position: center center;\\n}\\n.add-project .add-project-form .image-preview div.image-preview-blurb {\\n height: 40px;\\n line-height: 40px;\\n text-align: center;\\n color: #555;\\n}\\nmat-option mat-icon {\\n margin-right: 0;\\n vertical-align: middle;\\n margin-top: -2px;\\n}\\n[mat-button] .mat-button-wrapper > *,\\n[mat-raised-button] .mat-button-wrapper > * {\\n vertical-align: middle;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/port/add-project/add-project.component.less\n// module id = ./Angular/app/port/add-project/add-project.component.less\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { Observable } from 'rxjs/Rx';\r\n\r\nimport { PortService } from '../../_services/port.service';\r\nimport { ProjectService } from '../../_services/project.service';\r\nimport { AdminService } from '../../_services/admin.service';\r\nimport { FacilityService } from '../../_services/facility.service'\r\n\r\n@Component({\r\n selector: 'app-add-project',\r\n templateUrl: './add-project.component.html',\r\n styleUrls: ['./add-project.component.less']\r\n})\r\nexport class AddProjectComponent implements OnInit {\r\n private isNaN: Function = Number.isNaN;\r\n private isInvalidNumber: Function = (num) => {\r\n return isNaN(num) || num == null;\r\n };\r\n\r\n private busy: boolean;\r\n private years = [];\r\n private project: any = {};\r\n\r\n private portId: number;\r\n private slug: string;\r\n private selectedYear: number;\r\n private mapType: string;\r\n private facilityId: number;\r\n private facilitySlug: string;\r\n\r\n private pmo: any = {};\r\n private port: any = {};\r\n private facilities: any = [];\r\n private facilitiesFlat: any = [];\r\n private filteredFacilities: any = [];\r\n private projectTypes: any = [];\r\n private projectStatuses: any = [{ Id: 0, Title: 'Bidding', }, { Id: 1, Title: 'On-going' }, { Id: 2, Title: 'Completed' }];\r\n\r\n private minDate: Date;\r\n private maxDate: Date;\r\n\r\n // For navigation projects\r\n private files: any = [];\r\n\r\n constructor(private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private portService: PortService,\r\n private projectService: ProjectService,\r\n private adminService: AdminService,\r\n private snackBar: MatSnackBar,\r\n private facilityService: FacilityService) {\r\n\r\n let params = this.activatedRoute.snapshot.params;\r\n this.portId = parseInt(params['portId']);\r\n this.slug = params['slug'];\r\n this.selectedYear = parseInt(params['year']);\r\n this.mapType = params['type'];\r\n\r\n this.minDate = new Date(this.selectedYear, 0, 1);\r\n this.maxDate = new Date(this.selectedYear, 11, 31);\r\n this.project.Year = this.selectedYear;\r\n\r\n this.project.X = parseFloat(params['x']);\r\n this.project.Y = parseFloat(params['y']);\r\n }\r\n\r\n ngOnInit() {\r\n this.busy = true;\r\n Observable.forkJoin([\r\n this.portService.getPmoAndPorts(),\r\n this.portService.getPort(this.portId, this.selectedYear, this.mapType),\r\n this.adminService.get('projects/types'),\r\n this.facilityService.getFacilities(this.portId, this.selectedYear)\r\n ])\r\n .subscribe((response) => {\r\n let pmosAndPortsResponse = response[0];\r\n let pmosAndPortsResult = pmosAndPortsResponse.json().Result;\r\n let pmos = pmosAndPortsResult.Offices;\r\n\r\n pmos.some(pmo => {\r\n let ports = pmo.Ports;\r\n\r\n if (ports == null)\r\n ports = [];\r\n\r\n let containsPort = ports.some(port => {\r\n if (port.Id == this.portId) {\r\n this.port = port;\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n\r\n if (containsPort) {\r\n this.pmo = pmo;\r\n }\r\n\r\n return containsPort;\r\n });\r\n\r\n let getPortResponse = response[1];\r\n let getPortResult = getPortResponse.json().Result;\r\n this.port = { ...this.port, ...getPortResult };\r\n\r\n let getProjectTypesResponse = response[2];\r\n let getProjectTypesResult = getProjectTypesResponse.json().Result;\r\n let projectTypes = getProjectTypesResult.ProjectTypes;\r\n projectTypes.forEach((type) => {\r\n if (type.Color == null) type.Color = '#000000';\r\n else type.Color = '#' + type.Color;\r\n });\r\n\r\n this.projectTypes = projectTypes;\r\n\r\n let getFacilitiesResponse = response[3];\r\n let getFacilitiesResult = getFacilitiesResponse.json().Result;\r\n this.facilities = getFacilitiesResult.Facilities;\r\n this._foreachFacility((node) => {\r\n this.facilitiesFlat.push({ nest: node.nest, value: node.node });\r\n });\r\n this.filteredFacilities = this.facilitiesFlat;\r\n\r\n this.busy = false;\r\n });\r\n\r\n for (var i = this.selectedYear - 5; i <= this.selectedYear + 5; i++) {\r\n this.years.push(i);\r\n }\r\n }\r\n\r\n getProjectType(id: number) {\r\n return this.projectTypes.find((type) => type.Id == id);\r\n }\r\n\r\n getProjectStatus(id: number) {\r\n return this.projectStatuses.find((status) => status.Id == id);\r\n }\r\n\r\n filter(val: any) {\r\n if (val && typeof (val) === 'string') {\r\n const filterValue = val.toLowerCase();\r\n return this.facilitiesFlat.filter(state => {\r\n return state.value.Title.toLowerCase().indexOf(filterValue) !== -1;\r\n });\r\n }\r\n\r\n return this.facilitiesFlat;\r\n }\r\n\r\n displayFacilityName(facility: any): string {\r\n return facility && typeof (facility) === 'object' ? facility.value.Title : null;\r\n }\r\n\r\n addProject() {\r\n this.busy = true;\r\n\r\n let project: any = Object.assign({}, this.project);\r\n project.PortId = this.port.Id;\r\n\r\n if (this.mapType != 'navigation') {\r\n project.FacilityId = project.Facility.value.Id;\r\n }\r\n\r\n if (project.BiddedOn) {\r\n project.BiddedOn = project.BiddedOn.toISOString();\r\n }\r\n\r\n if (project.NoticeAwardedOn) {\r\n project.NoticeAwardedOn = project.NoticeAwardedOn.toISOString();\r\n }\r\n\r\n if (project.EffectiveOn) {\r\n project.EffectiveOn = project.EffectiveOn.toISOString();\r\n }\r\n\r\n if (project.ExpiresOn) {\r\n project.ExpiresOn = project.ExpiresOn.toISOString();\r\n }\r\n\r\n if (project.TargetCompletedOn) {\r\n project.TargetCompletedOn = project.TargetCompletedOn.toISOString();\r\n }\r\n\r\n if (project.ActualCompletedOn) {\r\n project.ActualCompletedOn = project.ActualCompletedOn.toISOString();\r\n }\r\n\r\n delete project.Facility;\r\n\r\n this.projectService.addProject(project).subscribe((response) => {\r\n this.busy = false;\r\n let result = response.json().Result;\r\n\r\n if (result.Id) {\r\n this.snackBar.open('Project was added successfully.', null, { duration: 2000 });\r\n this.router.navigate(['/', this.portId, this.slug, 'map', this.selectedYear, this.mapType]);\r\n } else {\r\n this.snackBar.open('Failed to add project.', null, { duration: 2000 });\r\n }\r\n }, (error) => {\r\n this.busy = false;\r\n this.snackBar.open('Failed to add project: ' + error.Message, null, { duration: 5000 });\r\n });\r\n }\r\n\r\n validateFile($event) {\r\n let file = this.files.pop();\r\n this.project.ImagePreview = file;\r\n }\r\n\r\n private _foreachFacility(callback: Function) {\r\n let s = [];\r\n this.facilities.slice().reverse().forEach((node) => {\r\n s.push({ nest: [], node: node });\r\n });\r\n\r\n while (s.length > 0) {\r\n let node = s.pop();\r\n callback(node);\r\n\r\n if (node.node.Children) {\r\n node.node.Children.slice().reverse().forEach((child) => {\r\n let nest = node.nest.slice();\r\n nest.push(node.node.Title);\r\n s.push({ nest: nest, node: child });\r\n });\r\n } else if (node.node.Facilities) {\r\n node.node.Facilities.slice().reverse().forEach((child) => {\r\n let nest = node.nest.slice();\r\n nest.push(node.node.Title);\r\n s.push({ nest: nest, node: child });\r\n });\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/port/add-project/add-project.component.ts","module.exports = \"

Edit Facility

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n e.g. Pier 5\\r\\n \\r\\n \\r\\n \\r\\n e.g. km, ton\\r\\n \\r\\n \\r\\n \\r\\n e.g. 3750\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/port/edit-facility/edit-facility.component.html\n// module id = ./Angular/app/port/edit-facility/edit-facility.component.html\n// module chunks = main","module.exports = \"mat-form-field {\\n width: 100%;\\n}\\nmat-option mat-icon {\\n margin-right: 0;\\n vertical-align: middle;\\n margin-top: -2px;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/port/edit-facility/edit-facility.component.less\n// module id = ./Angular/app/port/edit-facility/edit-facility.component.less\n// module chunks = main","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatSnackBar } from '@angular/material';\r\n\r\nimport { FacilityService } from '../../_services/facility.service'\r\n\r\n@Component({\r\n selector: 'app-edit-facility-dialog',\r\n templateUrl: './edit-facility.component.html',\r\n styleUrls: ['./edit-facility.component.less']\r\n})\r\nexport class EditFacilityDialogComponent implements OnInit {\r\n\r\n private busy: boolean;\r\n private facility: any;\r\n\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any,\r\n private snackBar: MatSnackBar,\r\n private facilityService: FacilityService) {\r\n this.facility = Object.assign({}, data.facility);\r\n\r\n console.log(this.facility);\r\n }\r\n\r\n ngOnInit() {\r\n this.busy = false;\r\n }\r\n\r\n edit(form) {\r\n this.busy = true;\r\n this.dialogRef.disableClose = true;\r\n\r\n this.facilityService.editFacility(this.facility)\r\n .subscribe(response => {\r\n let result = response.json().Result;\r\n\r\n this.dialogRef.close({\r\n Facility: this.facility\r\n });\r\n\r\n this.snackBar.open('Facility was updated successfully.', null, { duration: 2000 });\r\n },\r\n errorResponse => {\r\n let error = errorResponse.Message;//.json();\r\n\r\n this.snackBar.open('Failed to updated facility.', null, { duration: 2000 });\r\n this.busy = false;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/port/edit-facility/edit-facility.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  1. \\r\\n {{year}}\\r\\n
  2. \\r\\n
\\r\\n \\r\\n

{{port.PMO.Title}} / {{port.Port.Title}}

\\r\\n
\\r\\n Planning Map\\r\\n Navigation Map\\r\\n Sounding Map\\r\\n Google Map\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Drag around the project's location on the map and click update

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

Click on the project's location on the map and click next

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

Update the map by searching for a place or clicking on a point

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

This map was last updated on {{port.MapUpdatedOn | date : 'medium'}}.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n {{type.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Drag\\r\\n

Drag and drop an image

\\r\\n
or click to select and upload
\\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 {{status}}\\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

{{item.Title}}

\\r\\n
\\r\\n {{child.Title}}\\r\\n {{child.Title}}\\r\\n 0\\\" class=\\\"facility-level-1\\\">\\r\\n \\r\\n {{child.Title}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{child.Title}}\\r\\n \\r\\n 0\\\" class=\\\"facility-level-2\\\">\\r\\n \\r\\n {{child.Title}}\\r\\n \\r\\n \\r\\n {{child.Title}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Search results

\\r\\n
\\r\\n {{item.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Projects

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{project.Title}}\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n

    Project Cost:

    {{project.ContractAmount | currency:'PHP'}}\\r\\n
  • \\r\\n
  • \\r\\n

    Year Started:

    {{project.Year}}\\r\\n
  • \\r\\n
  • \\r\\n

    Scope:

    \\r\\n

    \\r\\n
  • \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n info\\r\\n more info\\r\\n
\\r\\n
\\r\\n \\r\\n edit point\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n
{{project.Title}}\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n

    Status:

    {{projectStatuses[project.Status]}}\\r\\n
  • \\r\\n
  • \\r\\n

    Project Cost:

    {{project.ContractAmount | currency:'PHP'}}\\r\\n
  • \\r\\n
  • \\r\\n

    Year Started:

    {{project.Year}}\\r\\n
  • \\r\\n
  • \\r\\n

    Scope:

    \\r\\n

    \\r\\n
  • \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n info\\r\\n more info\\r\\n
\\r\\n
\\r\\n \\r\\n edit point\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/port/port.component.html\n// module id = ./Angular/app/port/port.component.html\n// module chunks = main","module.exports = \".blanket {\\n position: fixed;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n background: black;\\n z-index: 100;\\n opacity: 0.75;\\n}\\n.page-container .content-container mat-progress-spinner {\\n margin: 0 auto;\\n}\\n.page-container .content-container .timeline.content-header {\\n width: 100%;\\n margin: 0 auto;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n padding: 60px 0;\\n padding-bottom: 12px;\\n background-color: #F4F4F4;\\n}\\n.page-container .content-container .timeline.content-header li {\\n position: relative;\\n height: 56px;\\n cursor: pointer;\\n -webkit-box-flex: 1;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n}\\n.page-container .content-container .timeline.content-header li a {\\n text-align: center;\\n font-size: 0.9em;\\n font-weight: 500;\\n color: #A9A9A9;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n padding: 4px 12px;\\n display: block;\\n height: 56px;\\n text-decoration: none;\\n -webkit-transition: 200ms all ease-in;\\n transition: 200ms all ease-in;\\n}\\n.page-container .content-container .timeline.content-header li a:before {\\n content: '';\\n position: absolute;\\n z-index: 1;\\n top: 31px;\\n left: 50%;\\n margin-left: -5px;\\n display: block;\\n width: 12px;\\n height: 12px;\\n border-radius: 50%;\\n background-color: #ffffff;\\n border: 3px solid #A9A9A9;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n -webkit-transition: inherit;\\n transition: inherit;\\n}\\n.page-container .content-container .timeline.content-header li a.active {\\n color: #0D4B87;\\n}\\n.page-container .content-container .timeline.content-header li a.active:before {\\n background-color: #0D4B87;\\n border: 3px solid #0D4B87;\\n}\\n.page-container .content-container .timeline.content-header li a:hover {\\n color: #0D4B87;\\n -webkit-transition: 200ms all ease-out;\\n transition: 200ms all ease-out;\\n}\\n.page-container .content-container .timeline.content-header li a:hover:before {\\n background-color: #0D4B87;\\n border: 3px solid #0D4B87;\\n -webkit-transition: inherit;\\n transition: inherit;\\n}\\n.page-container .content-container .timeline.content-header li:not(:last-child) a:after {\\n content: '';\\n position: absolute;\\n z-index: 0;\\n top: 36px;\\n left: 50%;\\n width: 100%;\\n display: block;\\n height: 2px;\\n background-color: #A9A9A9;\\n}\\n.page-container .content-container .port-title {\\n margin: 20px auto;\\n margin-bottom: 0;\\n text-align: center;\\n font-size: 2em;\\n line-height: 2em;\\n /*font-weight: 300;*/\\n color: #333;\\n}\\n.page-container .content-container .map-actions {\\n width: 100%;\\n margin: 0 auto;\\n background-color: #ffffff;\\n padding: 40px;\\n padding-top: 20px;\\n padding-bottom: 0;\\n position: relative;\\n z-index: 200;\\n}\\n.page-container .content-container .map-actions .mat-title {\\n float: left;\\n margin-bottom: 0;\\n line-height: 36px;\\n}\\n.page-container .content-container .map-actions .mat-button {\\n float: right;\\n margin-right: 8px;\\n background-color: #DFE3E9;\\n color: #8D8D8D;\\n margin-bottom: 20px;\\n}\\n.page-container .content-container .map-actions .mat-button.active {\\n background-color: #114C85;\\n color: #ffffff;\\n}\\n.page-container .content-container .map-actions .mat-button.primary {\\n margin-right: 0;\\n}\\n.page-container .content-container .map-actions .mat-button.primary:not(:disabled) {\\n background-color: #21b528;\\n color: #ffffff;\\n float: right;\\n}\\n.page-container .content-container .map-actions.default .mat-button {\\n float: left;\\n}\\n.page-container .content-container .map-actions.default .mat-button.primary {\\n float: right;\\n}\\n.page-container .content-container .map-container {\\n width: 100%;\\n margin: 0 auto;\\n padding: 0 40px;\\n padding-bottom: 40px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n position: relative;\\n z-index: 200;\\n background-color: #ffffff;\\n}\\n.page-container .content-container .map-container .last-updated {\\n font-size: 12px;\\n font-style: italic;\\n color: #999;\\n}\\n.page-container .content-container .map-container .legend {\\n margin-top: 20px;\\n text-align: center;\\n}\\n.page-container .content-container .map-container .legend .project-type {\\n display: inline-block;\\n padding: 0 10px;\\n cursor: pointer;\\n}\\n.page-container .content-container .map-container .legend .project-type .color-block {\\n border: 1px solid #ffffff;\\n display: inline-block;\\n width: 15px;\\n height: 15px;\\n border-radius: 50%;\\n margin-right: 8px;\\n vertical-align: top;\\n}\\n.page-container .content-container .map-container .legend .project-type .color-block.off {\\n border: 1px solid #666666;\\n background-color: #fafafa;\\n}\\n.page-container .content-container .map-container .legend .project-type span {\\n font-weight: bold;\\n}\\n.page-container .content-container .map-container .legend .project-type span.off {\\n font-weight: normal;\\n}\\n.page-container .content-container .map-container .map img {\\n width: 100%;\\n}\\n.page-container .content-container .map-container .map .canvas-container {\\n position: absolute !important;\\n z-index: 1;\\n}\\n.page-container .content-container .map-container .uploader {\\n width: 100%;\\n height: 350px;\\n background-color: #DFE3E9;\\n cursor: pointer;\\n text-align: center;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-transition: border ease-in 100ms;\\n transition: border ease-in 100ms;\\n border: 0px solid #AFB2B7;\\n}\\n.page-container .content-container .map-container .uploader img {\\n width: 150px;\\n margin: 0 auto;\\n margin-bottom: 20px;\\n}\\n.page-container .content-container .map-container .uploader img.preview {\\n margin: 20px;\\n width: auto;\\n height: 200px;\\n}\\n.page-container .content-container .map-container .uploader h4 {\\n margin-bottom: 4px;\\n font-size: 1.4em;\\n font-weight: 500;\\n text-transform: uppercase;\\n color: #8D8D8D;\\n}\\n.page-container .content-container .map-container .uploader h6 {\\n font-size: 1.3em;\\n font-weight: 300;\\n color: #8D8D8D;\\n}\\n.page-container .content-container .map-container .uploader.hover {\\n border: 10px solid #AFB2B7;\\n -webkit-transition: border ease-out 100ms;\\n transition: border ease-out 100ms;\\n}\\n.page-container .side-container .search {\\n margin-top: 60px;\\n font-size: 14px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n}\\n.page-container .side-container .search.full {\\n width: 100%;\\n}\\n.page-container .side-container .search.search-project mat-form-field:first-child {\\n margin-right: 8px;\\n}\\n.page-container .side-container .search > * {\\n width: 100%;\\n}\\n.page-container .side-container .search input {\\n -webkit-box-flex: 1;\\n -ms-flex: auto;\\n flex: auto;\\n}\\n.page-container .side-container .sidebar-tab-container {\\n padding: 0;\\n}\\n.page-container .side-container .sidebar-tab-container nav {\\n margin: 0 auto;\\n margin-top: 15px;\\n}\\n.page-container .side-container .sidebar-tab-container nav .mat-tab-link {\\n font-size: 14px;\\n}\\n.page-container .side-container .content .facility-type {\\n margin-top: 8px;\\n}\\n.page-container .side-container .content .facility-type:first-child {\\n margin-top: 0;\\n}\\n.page-container .side-container .content .facility-type mat-list {\\n padding-top: 0;\\n}\\n.page-container .side-container .content .facility-type .facility-level-1,\\n.page-container .side-container .content .facility-type .facility-level-1-leaf,\\n.page-container .side-container .content .facility-type .facility-level-2,\\n.page-container .side-container .content .facility-type .facility-level-2-leaf,\\n.page-container .side-container .content .facility-type .facility-level-3-leaf {\\n font-size: 1.1em;\\n}\\n.page-container .side-container .content .facility-type .facility-level-1-leaf {\\n padding-left: 20px;\\n}\\n.page-container .side-container .content .facility-type .facility-level-1 {\\n background-color: #E1E1E1;\\n}\\n.page-container .side-container .content .facility-type .facility-level-2-leaf {\\n padding-left: 20px;\\n}\\n.page-container .side-container .content .facility-type .facility-level-2 .mat-expansion-panel-header {\\n padding-left: 40px;\\n}\\n.page-container .side-container .content .facility-type .facility-level-3-leaf {\\n padding-left: 40px;\\n}\\n.page-container .side-container .content .projects .empty {\\n padding: 20px;\\n padding-top: 0;\\n}\\n.page-container .side-container .content .projects .project {\\n clear: both;\\n position: relative;\\n}\\n.page-container .side-container .content .projects .project .mat-expansion-panel-header-title {\\n line-height: 17px;\\n}\\n.page-container .side-container .content .projects .project .panel-header {\\n min-height: 48px;\\n height: auto !important;\\n}\\n.page-container .side-container .content .projects .project .color-block {\\n border: 1px solid #ffffff;\\n display: inline-block;\\n width: 15px;\\n height: 15px;\\n border-radius: 50%;\\n margin-right: 8px;\\n}\\n.page-container .side-container .content .projects .project .mat-expansion-panel-body {\\n padding: 20px;\\n font-size: 1em;\\n}\\n.page-container .side-container .content .projects .project .mat-expansion-panel-body ul li {\\n margin-bottom: 8px;\\n}\\n.page-container .side-container .content .projects .project .project-actions {\\n margin: 0 auto;\\n text-align: center;\\n}\\n.page-container .side-container .content .projects .project .project-actions .action {\\n display: inline-block;\\n margin: 8px;\\n}\\n.page-container .side-container .content .projects .project .project-actions .action .mat-mini-fab {\\n display: block;\\n margin: 0 auto;\\n margin-bottom: 8px;\\n width: 32px;\\n height: 32px;\\n}\\n.page-container .side-container .content .projects .project .project-actions .action .mat-mini-fab .mat-button-wrapper {\\n padding: 4px 0;\\n}\\n.page-container .side-container .content .projects .project .project-actions .action span {\\n display: block;\\n text-align: center;\\n font-size: 11px;\\n}\\n.page-container .side-container .content mat-expansion-panel {\\n background-color: #EAEAEA;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n}\\n.page-container .side-container .content mat-expansion-panel .mat-expansion-panel-body {\\n background-color: #F4F4F4;\\n padding: 0;\\n margin: 0;\\n}\\n.page-container .side-container .content mat-expansion-panel .mat-expansion-panel-body .mat-expansion-panel-body-content {\\n padding: 20px;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/port/port.component.less\n// module id = ./Angular/app/port/port.component.less\n// module chunks = main","import { Component, OnInit, ViewChild, ElementRef, HostListener, ViewEncapsulation } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatDialog, MatSnackBar } from '@angular/material';\r\nimport { Subscription } from 'rxjs'\r\nimport { fabric } from 'fabric';\r\n\r\nimport { User } from '../_models/user.model';\r\nimport { AuthService } from '../_services/auth.service';\r\nimport { PortService } from '../_services/port.service';\r\nimport { ProjectService } from '../_services/project.service';\r\nimport { FacilityService } from '../_services/facility.service';\r\nimport { AddFacilityDialogComponent } from './add-facility/add-facility.component';\r\nimport { EditFacilityDialogComponent } from './edit-facility/edit-facility.component';\r\n\r\nimport { Slug } from 'ng2-slugify';\r\n\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n animate,\r\n transition\r\n} from '@angular/animations';\r\n\r\n// Save additional attributes in Serialization\r\nfabric.Object.prototype.toObject = (toObject => function (properties) {\r\n return fabric.util.object.extend(toObject.call(this, properties), {\r\n textID: this.textID\r\n });\r\n})(fabric.Object.prototype.toObject);\r\n\r\n@Component({\r\n templateUrl: './port.component.html',\r\n styleUrls: ['./port.component.less'],\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('sidebar', [\r\n state('void', style({ transform: 'translateX(100%)' })),\r\n transition(':enter', animate('150ms ease-in', style({ transform: 'translateX(0)' }))),\r\n transition(':leave', animate('200ms ease-out', style({ transform: 'translateX(100%)' })))\r\n ]),\r\n trigger('blanket', [\r\n state('void', style({ opacity: '0', zIndex: '-1' })),\r\n transition('void => *', animate('200ms ease-in', style({ opacity: '0.75', zIndex: '100' }))),\r\n transition('* => void', animate('200ms ease-out', style({ opacity: '0', zIndex: '-1' })))\r\n ])\r\n ]\r\n})\r\nexport class PortComponent implements OnInit {\r\n\r\n private busy: Boolean;\r\n private portId: number;\r\n private slug: string;\r\n private urlFacilityId: number;\r\n\r\n private slugify: Slug;\r\n\r\n private hasDropOver: boolean;\r\n\r\n private selectedType: string;\r\n private selectedYear: number;\r\n private currentYear: number;\r\n private years = [];\r\n private points = [];\r\n\r\n private port: any = {};\r\n\r\n // Add Facility-related properties\r\n private lastAddedFacilityPoint: any;\r\n\r\n // Edit Facility-related properties\r\n private oldFacilityX: number;\r\n private oldFacilityY: number;\r\n\r\n // Map uploader-related properties\r\n private mapUploadFormData: FormData;\r\n\r\n // Map-related properties\r\n private highlightMap: boolean;\r\n private mapMode: string = null;\r\n\r\n // Sidebar-related properties\r\n private sidebarTab: string = 'facilities';\r\n private sidebarMode: string = 'list-facilities';\r\n private sidebarBusy: boolean = false;\r\n private selectedFacility: any;\r\n private selectedProjectReposition: any;\r\n private searchFacilityKeyword: string;\r\n private filteredFacilities: any = null;\r\n private projectStatuses: any = [\"Bidding\", \"On-going\", \"Completed\"];\r\n private filteredProjects: any = null;\r\n private searchProjectKeyword: string;\r\n private searchProjectStatus: string;\r\n\r\n // Map canvas-related properties\r\n @ViewChild('map') map: ElementRef;\r\n private canvas: any;\r\n private radius: number;\r\n private initialW: number;\r\n private initialH: number;\r\n private scaleFactor: number;\r\n\r\n private selectedGroup: any;\r\n private defaultColorStops = ['#33A5EE', '#3087E6'];\r\n private selectedColorStops = ['#FE3F81', '#CE5D57'];\r\n private facilitiesFlat = [];\r\n private typesFlat = {};\r\n private mapPointCountdown: number = 2;\r\n\r\n private user: any;\r\n\r\n constructor(private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private portService: PortService,\r\n private projectService: ProjectService,\r\n private facilityService: FacilityService,\r\n private dialog: MatDialog,\r\n private snackBar: MatSnackBar,\r\n private authService: AuthService) {\r\n this.slugify = new Slug('');\r\n }\r\n\r\n ngOnInit() {\r\n this.busy = true;\r\n this.user = this.authService.getUser();\r\n\r\n let params = this.activatedRoute.snapshot.params;\r\n this.currentYear = new Date().getFullYear();\r\n\r\n this.portId = parseInt(params['portId']);\r\n this.slug = params['slug'];\r\n this.urlFacilityId = params['facilityId'];\r\n\r\n for (var i = this.currentYear - 5; i <= this.currentYear + 5; i++) {\r\n this.years.push(i);\r\n }\r\n\r\n this.activatedRoute.params.subscribe(params => {\r\n this.selectedYear = parseInt(params['year']) || this.currentYear;\r\n this.selectedType = params['type'] || 'planning';\r\n\r\n this.reloadPort();\r\n });\r\n }\r\n\r\n private noop() { }\r\n private hasPermission(permission) {\r\n }\r\n\r\n // Timeline-related\r\n public selectYear(year) {\r\n this.router.navigate(['/port', this.portId, this.slug, year]);\r\n }\r\n\r\n private reloadPort() {\r\n this.mapPointCountdown = 2;\r\n this.busy = true;\r\n\r\n this.portService.getPort(this.portId, this.selectedYear, this.selectedType).subscribe(\r\n response => {\r\n let result = response.json().Result;\r\n if (this.selectedType !== 'google') {\r\n this.initializePort(result);\r\n this.initializeMapPointCountdown();\r\n } else {\r\n this.port = result;\r\n }\r\n\r\n this.calculatePermissions();\r\n\r\n this.busy = false;\r\n }, error => {\r\n setTimeout(() => {\r\n this.initializePort(null);\r\n this.busy = false;\r\n }, 3000);\r\n });\r\n }\r\n\r\n private isAllowed: any = {};\r\n private calculatePermissions() {\r\n let portOfficeId = this.port.OfficeId + '';\r\n switch (this.user.Role) {\r\n case 'GlobalAdministrator':\r\n this.isAllowed['planning'] = true;\r\n this.isAllowed['navigation'] = true;\r\n this.isAllowed['sounding'] = true;\r\n this.isAllowed['google'] = true;\r\n break;\r\n case 'PPAExecutive':\r\n break;\r\n case 'PMOAdmin':\r\n if (this.user.OfficeIds != null && this.user.OfficeIds.indexOf(portOfficeId) != -1) {\r\n this.isAllowed['planning'] = true;\r\n this.isAllowed['navigation'] = true;\r\n this.isAllowed['sounding'] = true;\r\n this.isAllowed['google'] = true;\r\n }\r\n break;\r\n case 'PPAPlanning':\r\n this.isAllowed['planning'] = true;\r\n break;\r\n case 'PPADredging':\r\n this.isAllowed['navigation'] = true;\r\n this.isAllowed['sounding'] = true;\r\n break;\r\n case 'PPAPortConstruction':\r\n this.isAllowed['planning'] = true;\r\n break;\r\n }\r\n }\r\n\r\n private initializePort(port) {\r\n if (port == null) {\r\n this.port = {\r\n Id: null,\r\n MapUrl: null,\r\n Year: this.currentYear\r\n };\r\n\r\n return;\r\n }\r\n\r\n if (port.MapUrl) {\r\n port.MapUrl = port.MapUrl + '&' + new Date().getTime();\r\n }\r\n\r\n this.port = port;\r\n\r\n if (this.selectedType != 'navigation') {\r\n this.facilitiesFlat = [];\r\n this._foreachFacility((node) => {\r\n this.facilitiesFlat.push({ nest: node.nest, value: node.node });\r\n });\r\n } else {\r\n this.facilitiesFlat = [];\r\n }\r\n\r\n // Add stops to projects\r\n this.port.Projects.forEach((project) => {\r\n let type = project.Type;\r\n let color = '#' + type.Color;\r\n let lighter = this.shadeColor2(color, 0.3);\r\n type.Stops = [lighter, color];\r\n });\r\n\r\n this.typesFlat = {};\r\n this.port.ProjectTypes.forEach((type) => {\r\n let color = '#' + type.Color;\r\n let lighter = this.shadeColor2(color, 0.3);\r\n type.Stops = [lighter, color];\r\n\r\n if (type.Checked == undefined) {\r\n type.Checked = true;\r\n }\r\n\r\n this.typesFlat[type.Id] = type;\r\n });\r\n }\r\n\r\n // Facility-related\r\n private _foreachFacility(callback: Function) {\r\n let s = [];\r\n this.port.Facilities.slice().reverse().forEach((node) => {\r\n s.push({ nest: [], node: node });\r\n });\r\n\r\n while (s.length > 0) {\r\n let node = s.pop();\r\n callback(node);\r\n\r\n if (node.node.Children) {\r\n node.node.Children.slice().reverse().forEach((child) => {\r\n let nest = node.nest.slice();\r\n nest.push(node.node.Title);\r\n s.push({ nest: nest, node: child });\r\n });\r\n } else if (node.node.Facilities) {\r\n node.node.Facilities.slice().reverse().forEach((child) => {\r\n let nest = node.nest.slice();\r\n nest.push(node.node.Title);\r\n s.push({ nest: nest, node: child });\r\n });\r\n }\r\n }\r\n }\r\n\r\n private addFacility() {\r\n let dialogRef = this.dialog.open(AddFacilityDialogComponent,\r\n {\r\n disableClose: false,\r\n hasBackdrop: true,\r\n backdropClass: '',\r\n width: '500px',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n },\r\n data: {\r\n facilities: this.facilitiesFlat,\r\n portId: this.portId,\r\n mapId: this.port.MapId,\r\n year: this.selectedYear\r\n }\r\n });\r\n\r\n dialogRef.beforeClose().subscribe(result => {\r\n this.reloadPort();\r\n });\r\n }\r\n\r\n private cancelAddFacility() {\r\n this.canvas.remove(this.lastAddedFacilityPoint);\r\n this.lastAddedFacilityPoint = null;\r\n this._highlightMap(null);\r\n }\r\n\r\n private editFacility(item: any) {\r\n this.selectedFacility = item;\r\n let dialogRef = this.dialog.open(EditFacilityDialogComponent, {\r\n disableClose: false,\r\n hasBackdrop: true,\r\n backdropClass: '',\r\n width: '500px',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n },\r\n data: {\r\n facility: this.selectedFacility\r\n }\r\n });\r\n\r\n dialogRef.beforeClose().subscribe(result => {\r\n if (result) {\r\n this.selectedFacility.Title = result.Facility.Title;\r\n this.selectedFacility.Unit = result.Facility.Unit;\r\n this.selectedFacility.ParticularsToDate = result.Facility.ParticularsToDate;\r\n }\r\n });\r\n }\r\n\r\n private editProjectReposition(project) {\r\n this._highlightMap('edit-project');\r\n\r\n this.selectedProjectReposition = project;\r\n\r\n let groups = this.canvas.getObjects();\r\n let selectedGroup = groups.find(group => group.id == this.selectedProjectReposition.Id);\r\n\r\n this.selectedGroup = selectedGroup;\r\n this.selectProject(selectedGroup);\r\n this._toggleGroupObjects(selectedGroup, true);\r\n\r\n this._changeGroupColor(selectedGroup, this.selectedColorStops);\r\n selectedGroup.lockMovementX = false;\r\n selectedGroup.lockMovementY = false;\r\n\r\n this.oldFacilityX = selectedGroup.get('left');// + this.radius) / this.canvas.getWidth();\r\n this.oldFacilityY = selectedGroup.get('top');// + this.radius) / this.canvas.getHeight();\r\n\r\n this.port.Projects.forEach((project) => {\r\n if (project.Id != this.selectedProjectReposition.Id) {\r\n let otherGroup = groups.find(group => group.id == project.Id);\r\n if (otherGroup != null) {\r\n otherGroup.opacity = 0.3;\r\n }\r\n }\r\n });\r\n\r\n this.canvas.renderAll();\r\n }\r\n\r\n private nextEditProjectReposition() {\r\n let groups = this.canvas.getObjects();\r\n let selectedGroup = groups.find(group => group.id == this.selectedProjectReposition.Id);\r\n let selectedGroupPoint = selectedGroup.item(4);\r\n selectedGroup.lockMovementX = true;\r\n selectedGroup.lockMovementY = true;\r\n\r\n let x = (selectedGroupPoint.group.get('left')) / this.canvas.getWidth();\r\n let y = (selectedGroupPoint.group.get('top') - this.radius) / this.canvas.getHeight();\r\n\r\n this.busy = true;\r\n this.projectService.updateProjectPosition({\r\n ProjectId: this.selectedProjectReposition.Id,\r\n X: x,\r\n Y: y\r\n }).subscribe(response => {\r\n this.snackBar.open('Project was updated successfully.', null, { duration: 2000 });\r\n selectedGroup.project.X = x;\r\n selectedGroup.project.Y = y;\r\n\r\n this.busy = false;\r\n\r\n this.port.Projects.forEach((project) => {\r\n if (project.Id != this.selectedProjectReposition.Id) {\r\n let otherGroup = groups.find(group => group.id == project.Id);\r\n if (otherGroup != null) {\r\n otherGroup.opacity = 1;\r\n }\r\n }\r\n });\r\n\r\n this.selectedProjectReposition = null;\r\n this.canvas.renderAll();\r\n this._highlightMap(null);\r\n\r\n this.canvas.renderAll();\r\n }, errorResponse => {\r\n let error = errorResponse.Message;//.json();\r\n\r\n this.snackBar.open('Failed to updated project.', null, { duration: 2000 });\r\n this.busy = false;\r\n\r\n this.port.Projects.forEach((project) => {\r\n if (project.Id != this.selectedProjectReposition.Id) {\r\n let otherGroup = groups.find(group => group.id == project.Id);\r\n if (otherGroup != null) {\r\n otherGroup.opacity = 1;\r\n }\r\n }\r\n });\r\n\r\n this.selectedProjectReposition = null;\r\n this.canvas.renderAll();\r\n this._highlightMap(null);\r\n });\r\n }\r\n\r\n private cancelEditProjectReposition() {\r\n let groups = this.canvas.getObjects();\r\n let selectedGroup = groups.find(group => group.id == this.selectedProjectReposition.Id);\r\n selectedGroup.set({ left: this.oldFacilityX, top: this.oldFacilityY });\r\n selectedGroup.setCoords();\r\n groups.forEach(group => {\r\n group.opacity = 1;\r\n });\r\n\r\n this.lastAddedFacilityPoint = null;\r\n this.selectedProjectReposition = null;\r\n this.canvas.renderAll();\r\n this._highlightMap(null);\r\n }\r\n\r\n private searchFacility(keyword) {\r\n let groups = this.canvas.getObjects();\r\n\r\n // Set all to visible first\r\n this._foreachFacility((node) => {\r\n let otherGroup = groups.find(group => group.id == node.node.Id);\r\n if (otherGroup != null) {\r\n otherGroup.visible = true;\r\n }\r\n });\r\n\r\n this.filteredFacilities = null;\r\n if (keyword != null && keyword != '') {\r\n this.filteredFacilities = [];\r\n this._foreachFacility((node) => {\r\n if (node.node.Title.toLowerCase().indexOf(keyword.toLowerCase()) == -1) {\r\n let otherGroup = groups.find(group => group.id == node.node.Id);\r\n if (otherGroup != null) {\r\n otherGroup.visible = false;\r\n }\r\n } else {\r\n this.filteredFacilities.push(node.node);\r\n }\r\n });\r\n }\r\n\r\n this.canvas.renderAll();\r\n }\r\n\r\n // Project-related\r\n private addProject() {\r\n this._highlightMap('add-project');\r\n }\r\n\r\n private nextAddProject() {\r\n let x = this.lastAddedFacilityPoint == null ? null : this.lastAddedFacilityPoint.get('left');\r\n let y = this.lastAddedFacilityPoint == null ? null : this.lastAddedFacilityPoint.get('top');\r\n\r\n if (x != null && y != null) {\r\n x = x / this.canvas.getWidth();\r\n y = y / this.canvas.getHeight();\r\n }\r\n\r\n this.router.navigate(['/', this.portId, this.slug, 'map', this.selectedYear, this.selectedType, 0, 'projects', 'add-project', x, y]);\r\n }\r\n\r\n private cancelAddNavigationProject() {\r\n this.canvas.remove(this.lastAddedFacilityPoint);\r\n this.lastAddedFacilityPoint = null;\r\n this._highlightMap(null);\r\n }\r\n\r\n private selectProject(group) {\r\n if (this.sidebarBusy) {\r\n return;\r\n }\r\n\r\n this.sidebarTab = 'projects';\r\n group.project.Expanded = true;\r\n }\r\n\r\n private deselectProject() {\r\n if (this.selectedGroup != null) {\r\n this._toggleGroupObjects(this.selectedGroup, false);\r\n this._changeGroupColor(this.selectedGroup, this.selectedGroup.project.Type.Stops);\r\n this.selectedGroup.project.Expanded = false;\r\n }\r\n\r\n this.canvas.renderAll();\r\n this.selectedGroup = null;\r\n this.selectedFacility = null;\r\n }\r\n\r\n private uploadMap(files: File[]): Subscription {\r\n this.busy = true;\r\n let file = files.pop();\r\n\r\n return this.portService.uploadPortMap(this.portId, this.selectedYear, this.selectedType, file)\r\n .subscribe(response => {\r\n setTimeout(() => {\r\n this.reloadPort();\r\n }, 2000);\r\n });\r\n }\r\n\r\n private searchProject(keyword, status) {\r\n this.filteredProjects = [];\r\n if ((keyword != null && keyword != '') || (status != null && status.length > 0)) {\r\n this.filteredProjects = [];\r\n }\r\n\r\n this.port.Projects.forEach(project => {\r\n let addKeyword = false;\r\n let addStatus = false;\r\n\r\n // Show or hide object from map\r\n let checkType = this.typesFlat[project.Type.Id];\r\n let groups = this.canvas.getObjects();\r\n let group = groups.find(group => group.id == project.Id);\r\n\r\n group.visible = checkType.Checked;\r\n\r\n if (keyword != null && keyword != '' && project.Title.toLowerCase().indexOf(keyword.toLowerCase()) != -1) {\r\n addKeyword = true;\r\n }\r\n\r\n if (status != null && status.indexOf(project.Status) != -1) {\r\n addStatus = true;\r\n }\r\n\r\n if ((keyword != null && keyword != '') && (status != null && status.length > 0) && addKeyword && addStatus) {\r\n this.filteredProjects.push(project);\r\n } else if ((keyword != null && keyword != '') && (status == null || status.length == 0) && addKeyword) {\r\n this.filteredProjects.push(project);\r\n } else if ((status != null && status.length > 0) && (keyword == null || keyword == '') && addStatus) {\r\n this.filteredProjects.push(project);\r\n } else if ((keyword == null || keyword == '') && (status == null || status.length == 0) && group.visible) {\r\n this.filteredProjects.push(project);\r\n } else {\r\n group.visible = false;\r\n }\r\n });\r\n \r\n this.canvas.renderAll();\r\n }\r\n\r\n // Google Maps related\r\n private canEditGoogleMap: boolean = false;\r\n private oldGoogleMapUrl: String = '';\r\n private editGoogleMap() {\r\n this.canEditGoogleMap = true;\r\n this.oldGoogleMapUrl = this.port.MapUrl;\r\n this._highlightMap('edit-google-map');\r\n }\r\n\r\n private nextEditGoogleMap() {\r\n this.busy = true;\r\n this.portService.updateGoogleMap(this.portId, this.port.MapUrl)\r\n .subscribe(response => {\r\n let result = response.json().Result;\r\n this.snackBar.open('Google Map has successfully been updated.', null, { duration: 2000 });\r\n this.busy = false;\r\n\r\n this.canEditGoogleMap = false;\r\n this._highlightMap(null);\r\n },\r\n response => {\r\n this.port.MapUrl = this.oldGoogleMapUrl;\r\n this.snackBar.open('Failed to update Google Map.', null, { duration: 2000 });\r\n this.busy = false;\r\n });\r\n }\r\n\r\n private cancelEditGoogleMap() {\r\n this.canEditGoogleMap = false;\r\n this._highlightMap(null);\r\n }\r\n\r\n // Canvas-related methods\r\n private initializeMap() {\r\n let self = this;\r\n this.canvas = new fabric.Canvas('mapCanvas');\r\n\r\n this.canvas.selection = false;\r\n if (this.map.nativeElement) {\r\n this.canvas.setWidth(this.map.nativeElement.clientWidth);\r\n this.canvas.setHeight(this.map.nativeElement.clientHeight);\r\n\r\n this.initialW = this.map.nativeElement.clientWidth;\r\n this.initialH = this.map.nativeElement.clientHeight;\r\n }\r\n\r\n this.radius = this.initialW / 140;\r\n this.scaleFactor = 1;\r\n\r\n // piggyback on `canvas.findTarget`, to fire \"object:over\" and \"object:out\" events\r\n this.canvas.findTarget = (function (originalFn) {\r\n return function () {\r\n var target = originalFn.apply(this, arguments);\r\n if (target) {\r\n if (this._hoveredTarget !== target) {\r\n self.canvas.fire('object:over', { target: target });\r\n if (this._hoveredTarget) {\r\n self.canvas.fire('object:out', { target: this._hoveredTarget });\r\n }\r\n this._hoveredTarget = target;\r\n }\r\n }\r\n else if (this._hoveredTarget) {\r\n self.canvas.fire('object:out', { target: this._hoveredTarget });\r\n this._hoveredTarget = null;\r\n }\r\n return target;\r\n };\r\n })(this.canvas.findTarget);\r\n\r\n this.canvas.on('object:over', event => this._toggleGroupObjects(event.target, true));\r\n this.canvas.on('object:out', event => {\r\n if (event.target === this.selectedGroup) return;\r\n\r\n this._toggleGroupObjects(event.target, false);\r\n });\r\n \r\n this.canvas.on('mouse:down', (event) => { this._onCanvasClick(event) });\r\n this.canvas.on('object:selected', (event) => { this._onCanvasPointClicked(event); });\r\n this.canvas.on('before:selection:cleared', (event) => { this._onCanvasPointUnselected(event); });\r\n\r\n this.initializeMapPointCountdown();\r\n\r\n this.lastAddedFacilityPoint = null;\r\n }\r\n\r\n private _toggleGroupObjects(group, toggle) {\r\n if (!group.isType('group')) {\r\n return;\r\n }\r\n\r\n group.bringToFront();\r\n let objects = group.getObjects();\r\n objects.forEach(object => {\r\n if (!object.isType('circle')) {\r\n object.visible = toggle;\r\n }\r\n });\r\n\r\n this.canvas.renderAll();\r\n }\r\n\r\n private initializeMapPointCountdown() {\r\n this.mapPointCountdown--;\r\n if (this.mapPointCountdown <= 0) {\r\n this.port.Projects.forEach(project => {\r\n this._addProjectPoint(project.X * this.canvas.getWidth(), project.Y * this.canvas.getHeight(), project.Title, project);\r\n });\r\n }\r\n }\r\n\r\n // New stuff\r\n private switchSidebarTab(tab) {\r\n this.sidebarTab = tab;\r\n }\r\n\r\n private toggleProjectType(type) {\r\n type.Checked = !type.Checked;\r\n this.searchProject(this.searchProjectKeyword, this.searchProjectStatus);\r\n // Re-render projects\r\n //this.port.Projects.forEach(project => {\r\n // let checkType = this.typesFlat[project.Type.Id];\r\n // let groups = this.canvas.getObjects();\r\n // let group = groups.find(group => group.id == project.Id);\r\n\r\n // group.visible = checkType.Checked;\r\n //});\r\n\r\n //this.canvas.renderAll();\r\n }\r\n\r\n private _addProjectPoint(x, y, title, project) {\r\n this.lastAddedFacilityPoint = new fabric.Circle({\r\n originX: 'center',\r\n originY: 'center',\r\n radius: this.radius,\r\n fill: 'blue',\r\n stroke: 'white'\r\n });\r\n\r\n this.lastAddedFacilityPoint.setGradient('fill',\r\n {\r\n x1: 0,\r\n y1: 0,\r\n x2: 0,\r\n y2: this.lastAddedFacilityPoint.height,\r\n colorStops: project.Type.Stops\r\n }).setShadow({\r\n color: 'rgba(0,0,0,0.2)',\r\n blur: 1,\r\n strokeShadow: true\r\n });\r\n\r\n let text = new fabric.Text(title,\r\n {\r\n top: this.lastAddedFacilityPoint.get('top') - 35,\r\n originX: 'center',\r\n originY: 'center',\r\n fontSize: 16,\r\n fill: 'white',\r\n fontFamily: 'Roboto',\r\n visible: false\r\n });\r\n\r\n let rect = new fabric.Rect({\r\n originX: 'center',\r\n originY: 'center',\r\n width: text.get('width') + 12,\r\n height: text.get('height') + 12,\r\n left: text.get('left'),\r\n top: text.get('top'),\r\n stroke: 'white',\r\n rx: 3,\r\n ry: 3,\r\n visible: false\r\n });\r\n\r\n rect.setGradient('fill',\r\n {\r\n x1: 0,\r\n y1: 0,\r\n x2: 0,\r\n y2: rect.height,\r\n colorStops: project.Type.Stops\r\n }).setShadow({\r\n color: 'rgba(0,0,0,0.8)',\r\n offsetX: 0,\r\n offsetY: 2,\r\n blur: 2,\r\n strokeShadow: true\r\n });\r\n\r\n let tri = new fabric.Triangle({\r\n originX: 'center',\r\n originY: 'center',\r\n width: 20,\r\n height: 7,\r\n top: rect.get('top') + rect.get('height') / 2 + 3,\r\n fill: 'white',\r\n angle: 180,\r\n visible: false\r\n });\r\n\r\n tri.setShadow({\r\n color: 'rgba(0,0,0,0.8)',\r\n offsetX: 0,\r\n offsetY: 2,\r\n blur: 2,\r\n strokeShadow: true\r\n });\r\n\r\n let tri2 = new fabric.Triangle({\r\n originX: 'center',\r\n originY: 'center',\r\n width: 20,\r\n height: 7,\r\n top: rect.get('top') + rect.get('height') / 2 + 1,\r\n fill: project.Type.Stops[1],\r\n angle: 180,\r\n visible: false\r\n });\r\n\r\n let group = new fabric.Group([rect, tri, tri2, text, this.lastAddedFacilityPoint],\r\n {\r\n left: x + 2,\r\n top: y + this.radius + 2,\r\n originX: 'center',\r\n originY: 'bottom',\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n lockRotation: true,\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n hasControls: false,\r\n hasBorders: false,\r\n hoverCursor: 'pointer',\r\n perPixelTargetFind: true\r\n });\r\n\r\n group.project = project;\r\n group.id = project.Id;\r\n\r\n this.canvas.add(group);\r\n }\r\n\r\n private _onCanvasPointClicked(event) {\r\n if (this.mapMode != null) {\r\n return;\r\n }\r\n\r\n if (this.selectedProjectReposition != null) {\r\n return;\r\n }\r\n\r\n if (this.selectedGroup == event.target) {\r\n return;\r\n }\r\n\r\n let group = this.selectedGroup = event.target;\r\n this._changeGroupColor(group, this.selectedColorStops);\r\n this.selectProject(group);\r\n }\r\n\r\n private _onCanvasPointUnselected(event) {\r\n if (this.selectedProjectReposition != null) {\r\n return;\r\n }\r\n\r\n let group = this.selectedGroup;\r\n if (group != null) {\r\n this.deselectProject();\r\n }\r\n }\r\n\r\n private _onCanvasClick(event) {\r\n if (this.selectedProjectReposition != null) {\r\n return;\r\n }\r\n\r\n let evt = event.e;\r\n\r\n const pointer = this.canvas.getPointer(evt);\r\n const x = pointer.x;\r\n const y = pointer.y;\r\n \r\n if (this.mapMode === 'add-project') {\r\n if (event.target || this.lastAddedFacilityPoint != null) {\r\n return;\r\n }\r\n\r\n this.lastAddedFacilityPoint = new fabric.Circle({\r\n left: x,\r\n top: y,\r\n originX: 'center',\r\n originY: 'center',\r\n radius: this.radius,\r\n fill: 'blue',\r\n stroke: 'white',\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n lockRotation: true,\r\n hasControls: false,\r\n });\r\n\r\n this.lastAddedFacilityPoint.setGradient('fill',\r\n {\r\n x1: 0,\r\n y1: 0,\r\n x2: 0,\r\n y2: this.lastAddedFacilityPoint.height,\r\n colorStops: this.defaultColorStops \r\n }).setShadow({\r\n color: 'rgba(0,0,0,0.2)',\r\n blur: 1,\r\n strokeShadow: true\r\n });\r\n\r\n this.canvas.add(this.lastAddedFacilityPoint);\r\n\r\n return;\r\n }\r\n\r\n // For navigation\r\n if (this.selectedGroup !== event.target) {\r\n if (this.selectedGroup != null) {\r\n this.deselectProject();\r\n }\r\n\r\n if (event.target != null) {\r\n this._changeGroupColor(event.target, this.selectedColorStops);\r\n this.selectedGroup = event.target;\r\n this.selectProject(this.selectedGroup);\r\n }\r\n }\r\n }\r\n\r\n private shadeColor2(color, percent) {\r\n var f = parseInt(color.slice(1), 16), t = percent < 0 ? 0 : 255, p = percent < 0 ? percent * -1 : percent, R = f >> 16, G = f >> 8 & 0x00FF, B = f & 0x0000FF;\r\n return \"#\" + (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1);\r\n }\r\n\r\n private _changeGroupColor(group, colors) {\r\n let rect = group.item(0);\r\n rect.setGradient('fill',\r\n {\r\n x1: 0,\r\n y1: 0,\r\n x2: 0,\r\n y2: rect.height,\r\n colorStops: colors\r\n });\r\n\r\n let tri2 = group.item(2);\r\n tri2.set('fill', colors[1]);\r\n\r\n let circle = group.item(4);\r\n circle.setGradient('fill',\r\n {\r\n x1: 0,\r\n y1: 0,\r\n x2: 0,\r\n y2: circle.height,\r\n colorStops: colors\r\n });\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n private onResize(event) {\r\n this.canvas.setWidth(this.map.nativeElement.clientWidth);\r\n this.canvas.setHeight(this.map.nativeElement.clientHeight);\r\n this.scaleFactor = this.canvas.getWidth() / this.initialW;\r\n\r\n this.canvas.setZoom(this.scaleFactor);\r\n this.canvas.calcOffset();\r\n this.canvas.renderAll();\r\n }\r\n\r\n // Private methods\r\n private _highlightMap(mode: string) {\r\n if (mode) {\r\n this.highlightMap = true;\r\n this.mapMode = mode;\r\n return;\r\n }\r\n\r\n this.highlightMap = false;\r\n this.mapMode = null;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/port/port.component.ts","module.exports = \"
\\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 You must enter a project 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
{{projectType.Title}}
\\r\\n {{type.Title}}\\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 Php  \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n   days\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n You can only select an effectivity date within {{this.selectedYear}}.\\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 {{projectStatus.Title}}\\r\\n {{status.Title}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Drag and drop an image here to set as preview\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
= 0\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Review\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

Please fill up all required fields to proceed.

\\r\\n
    \\r\\n
  • \\r\\n

    Location:

    {{project.PortManagementOffice.Title}} - {{project.Port.Title}}\\r\\n
  • \\r\\n
  • \\r\\n

    Facility:

    {{project.Facility.Title}}\\r\\n
  • \\r\\n
  • \\r\\n

    Project Name:

    {{project.Title}}\\r\\n
  • \\r\\n
  • \\r\\n

    Project Cost:

    {{project.ContractAmount | currency:'PHP'}}\\r\\n
  • \\r\\n
  • \\r\\n

    Year Started:

    {{project.Year}}\\r\\n
  • \\r\\n
  • \\r\\n

    Scope:

    \\r\\n

    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/project/edit-project/edit-project.component.html\n// module id = ./Angular/app/project/edit-project/edit-project.component.html\n// module chunks = main","module.exports = \".edit-project .side-container .content .error {\\n color: #FE3F81;\\n padding: 20px;\\n font-weight: 500;\\n font-size: 14px;\\n}\\n.edit-project .side-container .content .project {\\n padding: 20px;\\n}\\n.edit-project .side-container .content .project li {\\n font-size: 14px;\\n line-height: 20px;\\n margin-bottom: 8px;\\n}\\n.edit-project .edit-project-form {\\n padding: 20px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n}\\n.edit-project .edit-project-form .full-width {\\n width: 100%;\\n}\\n.edit-project .edit-project-form .name {\\n width: 70%;\\n float: left;\\n padding-right: 10px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.edit-project .edit-project-form .year {\\n width: 30%;\\n float: left;\\n}\\n.edit-project .edit-project-form .amount {\\n width: 60%;\\n float: left;\\n padding-right: 10px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.edit-project .edit-project-form .duration {\\n width: 40%;\\n float: left;\\n}\\n.edit-project .edit-project-form .target {\\n padding-right: 10px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.edit-project .edit-project-form .percent {\\n width: 50%;\\n float: left;\\n}\\n.edit-project .edit-project-form .left {\\n border-right: 1px solid #F5F5F4;\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 0px;\\n flex: 1 1 0;\\n padding-right: 20px;\\n}\\n.edit-project .edit-project-form .right {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 0px;\\n flex: 1 1 0;\\n padding-left: 20px;\\n}\\n.edit-project .edit-project-form .color-block {\\n display: inline-block;\\n width: 32px;\\n height: 16px;\\n}\\n.edit-project .edit-project-form .image-preview {\\n height: 260px;\\n border: 10px solid transparent;\\n}\\n.edit-project .edit-project-form .image-preview.hover {\\n border: 10px solid #F5F5F4;\\n}\\n.edit-project .edit-project-form .image-preview div {\\n height: 200px;\\n background-repeat: no-repeat;\\n background-size: contain;\\n background-position: center center;\\n}\\n.edit-project .edit-project-form .image-preview div.image-preview-blurb {\\n height: 40px;\\n line-height: 40px;\\n text-align: center;\\n color: #555;\\n}\\nmat-option mat-icon {\\n margin-right: 0;\\n vertical-align: middle;\\n margin-top: -2px;\\n}\\n[mat-button] .mat-button-wrapper > *,\\n[mat-raised-button] .mat-button-wrapper > * {\\n vertical-align: middle;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/project/edit-project/edit-project.component.less\n// module id = ./Angular/app/project/edit-project/edit-project.component.less\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { Observable } from 'rxjs/Rx';\r\n\r\nimport { Slug } from 'ng2-slugify';\r\n\r\nimport { PortService } from '../../_services/port.service';\r\nimport { ProjectService } from '../../_services/project.service';\r\nimport { AdminService } from '../../_services/admin.service';\r\n@Component({\r\n selector: 'app-edit-project',\r\n templateUrl: './edit-project.component.html',\r\n styleUrls: ['./edit-project.component.less']\r\n})\r\nexport class EditProjectComponent implements OnInit {\r\n private isNaN: Function = Number.isNaN;\r\n private isInvalidNumber: Function = (num) => {\r\n return isNaN(num) || num == null;\r\n };\r\n\r\n private busy: boolean;\r\n private years = [];\r\n private project: any = {};\r\n\r\n private portId: number;\r\n private slug: string;\r\n private projectId: number;\r\n private selectedYear: number;\r\n private mapType: string;\r\n\r\n private pmo: any = {};\r\n private port: any = {};\r\n private projectTypes: any = [];\r\n private projectStatuses: any = [{ Id: 0, Title: 'Bidding', }, { Id: 1, Title: 'On-going' }, { Id: 2, Title: 'Completed'}];\r\n\r\n private minDate: Date;\r\n private maxDate: Date;\r\n\r\n private projectType: any;\r\n private projectStatus: any;\r\n private slugify: Slug;\r\n\r\n private files: any = [];\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private portService: PortService, private projectService: ProjectService, private adminService : AdminService, private snackBar: MatSnackBar) {\r\n let params = this.activatedRoute.snapshot.params;\r\n this.slugify = new Slug('');\r\n\r\n this.portId = parseInt(params['portId']);\r\n this.slug = params['slug'];\r\n this.projectId = parseInt(params['projectId']);\r\n }\r\n\r\n ngOnInit() {\r\n this.busy = true;\r\n Observable.forkJoin([\r\n this.adminService.get('projects/types'),\r\n this.projectService.getProject(this.projectId)\r\n ])\r\n .subscribe((response) => {\r\n let getProjectTypesResponse = response[0];\r\n let getProjectTypesResult = getProjectTypesResponse.json().Result;\r\n let projectTypes = getProjectTypesResult.ProjectTypes;\r\n projectTypes.forEach((type) => {\r\n if (type.Color == null) type.Color = '#000000';\r\n else type.Color = '#' + type.Color;\r\n });\r\n\r\n this.projectTypes = projectTypes;\r\n\r\n let getProjectResponse = response[1];\r\n let getProjectResponseResult = getProjectResponse.json().Result;\r\n\r\n let project = getProjectResponseResult.Project;\r\n if (project.Facility) {\r\n project.Facility.Slug = this.slugify.slugify(project.Facility.Title);\r\n }\r\n\r\n project.TypeId = project.Type.Id;\r\n project.Contractor = project.Contractor.Name;\r\n\r\n if (project.BiddedOn) {\r\n project.BiddedOn = new Date(project.BiddedOn);\r\n }\r\n\r\n if (project.NoticeAwardedOn) {\r\n project.NoticeAwardedOn = new Date(project.NoticeAwardedOn);\r\n }\r\n\r\n if (project.EffectiveOn) {\r\n project.EffectiveOn = new Date(project.EffectiveOn);\r\n }\r\n\r\n if (project.ExpiresOn) {\r\n project.ExpiresOn = new Date(project.ExpiresOn);\r\n }\r\n\r\n if (project.TargetCompletedOn) {\r\n project.TargetCompletedOn = new Date(project.TargetCompletedOn);\r\n }\r\n\r\n if (project.ActualCompletedOn) {\r\n project.ActualCompletedOn = new Date(project.ActualCompletedOn);\r\n }\r\n\r\n if (project.Facility == null) {\r\n this.selectedYear = project.Year;\r\n this.mapType = 'navigation';\r\n }\r\n\r\n projectTypes.forEach((type) => {\r\n if (type.Id == project.Type.Id) {\r\n this.projectType = type;\r\n }\r\n });\r\n\r\n this.projectStatus = this.projectStatuses.find((status) => status.Id == project.Status);\r\n this.project = project;\r\n\r\n this.busy = false;\r\n });\r\n }\r\n\r\n getProjectType(id: number) {\r\n return this.projectTypes.find((type) => type.Id == id);\r\n }\r\n\r\n getProjectStatus(id: number) {\r\n return this.projectStatuses.find((status) => status.Id == id);\r\n }\r\n\r\n editProject() {\r\n this.busy = true;\r\n\r\n let project: any = Object.assign({}, this.project);\r\n project.PortId = this.project.Port.Id;\r\n if (project.Facility) {\r\n project.FacilityId = this.project.Facility.Id;\r\n }\r\n\r\n if (project.BiddedOn) {\r\n project.BiddedOn = project.BiddedOn.toISOString();\r\n }\r\n\r\n if (project.NoticeAwardedOn) {\r\n project.NoticeAwardedOn = project.NoticeAwardedOn.toISOString();\r\n }\r\n\r\n if (project.EffectiveOn) {\r\n project.EffectiveOn = project.EffectiveOn.toISOString();\r\n }\r\n\r\n if (project.ExpiresOn) {\r\n project.ExpiresOn = project.ExpiresOn.toISOString();\r\n }\r\n\r\n if (project.TargetCompletedOn) {\r\n project.TargetCompletedOn = project.TargetCompletedOn.toISOString();\r\n }\r\n\r\n if (project.ActualCompletedOn) {\r\n project.ActualCompletedOn = project.ActualCompletedOn.toISOString();\r\n }\r\n\r\n delete project.PortManagementOffice;\r\n delete project.Port;\r\n delete project.Facility;\r\n delete project.Files;\r\n delete project.Type;\r\n \r\n this.projectService.updateProject(project).subscribe((response) => {\r\n this.busy = false;\r\n let result = response.json().Result;\r\n\r\n if (result.Project.Id) {\r\n this.snackBar.open('Project was updated successfully.', null, { duration: 2000 });\r\n this.router.navigate(['/', this.portId, this.slug, 'projects', this.project.Id]);\r\n } else {\r\n this.snackBar.open('Failed to updated project.', null, { duration: 2000 });\r\n }\r\n }, (error) => {\r\n this.busy = false;\r\n this.snackBar.open('Failed to update project: ' + error.Message, null, { duration: 5000 });\r\n });\r\n }\r\n\r\n validateFile($event) {\r\n let file = this.files.pop();\r\n this.project.ImagePreview = file;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/project/edit-project/edit-project.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n edit\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Project Name

\\r\\n

{{project.Title}}

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

Year

\\r\\n

{{project.Year}}

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

Port

\\r\\n

{{project.Port.Title}}

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

Facility

\\r\\n

{{project.Facility.Title}}

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

Project Type

\\r\\n
{{project.Type.Title}}
\\r\\n
\\r\\n
\\r\\n

Contractor

\\r\\n

{{project.Contractor.Name}}

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

Scope of Work

\\r\\n

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

Remarks

\\r\\n

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

Date of Bidding

\\r\\n

{{project.BiddedOn | date : 'MM/dd/yyyy'}}

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

Date of Notice of Award

\\r\\n

{{project.NoticeAwardedOn | date : 'MM/dd/yyyy'}}

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

Contract Amount

\\r\\n

{{project.ContractAmount | currency:'PHP' }}

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

Contract Duration

\\r\\n

{{project.ContractDuration}} days

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

Effectivity Date

\\r\\n

{{project.EffectiveOn | date : 'MM/dd/yyyy'}}

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

Expiry Date

\\r\\n

{{project.ExpiresOn | date : 'MM/dd/yyyy'}}

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

Target Completion Date

\\r\\n

{{project.TargetCompletedOn | date : 'MM/dd/yyyy'}}

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

Actual Completion Date

\\r\\n

{{project.ActualCompletedOn | date : 'MM/dd/yyyy'}}

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

Target Accomplished

\\r\\n

{{project.TargetPercentAccomplished | number : '1.2-2' }}%

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

Actual Accomplished

\\r\\n

{{project.ActualPercentAccomplished | number : '1.2-2' }}%

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

Status

\\r\\n

{{project.Status.Title}}

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

Image Preview

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Files\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

You can drag and drop files here to upload them.

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

{{group}}

\\r\\n \\r\\n \\r\\n \\r\\n {{file.Filename}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

You cannot update the files for this project.

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

{{group}}

\\r\\n \\r\\n \\r\\n \\r\\n {{file.Filename}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/project/project.component.html\n// module id = ./Angular/app/project/project.component.html\n// module chunks = main","module.exports = \".view-project .content-container .mat-mini-fab {\\n position: absolute;\\n bottom: -20px;\\n right: 20px;\\n}\\n.view-project .content-container .mat-mini-fab.disabled {\\n background-color: #B1B1B1;\\n color: #555;\\n cursor: not-allowed;\\n}\\n.view-project .content-container .mat-mini-fab .content {\\n background-color: #333333 !important;\\n color: #ffffff !important;\\n}\\n.view-project .side-container .content {\\n min-height: calc(100% - 128px);\\n border: 10px solid #F4F4F4;\\n -webkit-transition: border ease-in 100ms;\\n transition: border ease-in 100ms;\\n}\\n.view-project .side-container .content.hover {\\n border: 10px solid #AFB2B7;\\n -webkit-transition: border ease-out 100ms;\\n transition: border ease-out 100ms;\\n}\\n.view-project .side-container .content .error {\\n color: #FE3F81;\\n padding: 6px;\\n font-weight: 500;\\n font-size: 14px;\\n}\\n.view-project .side-container .content .files {\\n padding: 10px 0;\\n}\\n.view-project .side-container .content .files .mat-subheader {\\n padding: 10px 6px;\\n}\\n.view-project .side-container .content .files mat-list-item {\\n cursor: pointer;\\n}\\n.view-project .side-container .content .files mat-list-item .mat-list-item-content {\\n padding: 0 !important;\\n}\\n.view-project .side-container .content .files mat-list-item a.mat-button {\\n width: 100%;\\n display: inline-block;\\n line-height: 42px;\\n}\\n.view-project .side-container .content .files mat-list-item a.mat-button img.file-icon {\\n width: 32px;\\n height: 32px;\\n margin-right: 10px;\\n margin-top: 2px;\\n float: left;\\n}\\n.view-project .side-container .content .files mat-list-item a.mat-button span {\\n float: left;\\n}\\n.view-project .side-container .content .files mat-list-item mat-icon-button {\\n display: none;\\n float: left;\\n}\\n.view-project .side-container .content .files mat-list-item:hover {\\n background-color: #E1E1E1;\\n}\\n.view-project .side-container .content .files mat-list-item:hover mat-icon-button {\\n display: inline-block;\\n}\\n.view-project .view-project-details {\\n padding: 20px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n}\\n.view-project .view-project-details .full-width {\\n width: 100%;\\n}\\n.view-project .view-project-details .row {\\n line-height: 40px;\\n border-bottom: 1px solid #F5F5F4;\\n}\\n.view-project .view-project-details .row:last-child {\\n border-bottom: none;\\n}\\n.view-project .view-project-details .label {\\n float: left;\\n display: inline-block;\\n width: 40%;\\n font-weight: 300;\\n font-size: 14px;\\n margin-right: 10px;\\n}\\n.view-project .view-project-details .label.scope {\\n width: 100%;\\n}\\n.view-project .view-project-details .value {\\n float: left;\\n display: inline-block;\\n width: 55%;\\n}\\n.view-project .view-project-details .value.preview {\\n width: 100%;\\n height: 200px;\\n background-repeat: no-repeat;\\n background-position: left top;\\n background-size: contain;\\n}\\n.view-project .view-project-details .left {\\n border-right: 1px solid #F5F5F4;\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 0px;\\n flex: 1 1 0;\\n padding-right: 20px;\\n}\\n.view-project .view-project-details .right {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 0px;\\n flex: 1 1 0;\\n padding-left: 20px;\\n}\\n.view-project .view-project-details .color-block {\\n display: inline-block;\\n width: 32px;\\n height: 16px;\\n margin-bottom: -2px;\\n}\\nmat-option mat-icon {\\n margin-right: 0;\\n vertical-align: middle;\\n margin-top: -2px;\\n}\\n[mat-button] .mat-button-wrapper > *,\\n[mat-raised-button] .mat-button-wrapper > * {\\n vertical-align: middle;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/project/project.component.less\n// module id = ./Angular/app/project/project.component.less\n// module chunks = main","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuthService } from '../_services/auth.service';\r\nimport { ProjectService } from '../_services/project.service';\r\nimport { User } from '../_models/user.model';\r\nimport { ConfirmDialogService } from '../_common/confirm.dialog';\r\nimport { Slug } from 'ng2-slugify';\r\n\r\n@Component({\r\n selector: 'app-project',\r\n templateUrl: './project.component.html',\r\n styleUrls: ['./project.component.less'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ProjectComponent implements OnInit {\r\n\r\n private slugify: Slug;\r\n\r\n private busy: boolean;\r\n private sidebarBusy: boolean;\r\n\r\n private projectId: number;\r\n private project: any;\r\n private projectFiles: any;\r\n private fileTypes: any;\r\n private projectStatuses: any = [{ Id: 0, Title: 'Bidding', }, { Id: 1, Title: 'On-going' }, { Id: 2, Title: 'Completed' }];\r\n\r\n private portId: number;\r\n private slug: string;\r\n private selectedYear: number;\r\n private mapType: string;\r\n private facilityId: number;\r\n private facilitySlug: string;\r\n\r\n private user: User;\r\n\r\n constructor(private projectService: ProjectService, private activatedRoute: ActivatedRoute, private confirmDialog: ConfirmDialogService, private authService: AuthService) {\r\n this.slugify = new Slug('');\r\n\r\n let params = activatedRoute.snapshot.params;\r\n this.projectId = params['projectId'];\r\n this.projectFiles = {};\r\n this.fileTypes = {\r\n 'doc': 'Documents',\r\n 'docx': 'Documents',\r\n 'ppt': 'Presentations',\r\n 'pptx': 'Presentations',\r\n 'xls': 'Spreadsheets',\r\n 'xlsx': 'Spreadsheets',\r\n 'jpg': 'Images',\r\n 'png': 'Images',\r\n 'bmp': 'Images',\r\n 'pdf': 'PDF',\r\n '?': 'Unknown'\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n this.busy = true;\r\n this.user = this.authService.getUser();\r\n\r\n this.projectService.getProject(this.projectId)\r\n .subscribe((response) => {\r\n let result = response.json().Result;\r\n this.project = result.Project;\r\n this.busy = false;\r\n\r\n this.portId = this.project.Port.Id;\r\n this.slug = this.slugify.slugify(this.project.Port.Title);\r\n this.selectedYear = this.project.Year;\r\n this.mapType = 'navigation';\r\n if (this.project.Facility) {\r\n this.mapType = this.project.Facility.MapType == 0 ? 'planning' : 'sounding';\r\n this.facilityId = this.project.Facility.Id;\r\n this.facilitySlug = this.slugify.slugify(this.project.Facility.Title);\r\n }\r\n\r\n this.project.Status = this.projectStatuses.find((status) => status.Id == this.project.Status);\r\n\r\n if (this.project.Files) {\r\n this._redistributeFiles();\r\n }\r\n\r\n this.calculatePermissions();\r\n }, (error) => {\r\n this.busy = false;\r\n });\r\n }\r\n\r\n\r\n private uploadFile(files: File[]) {\r\n // Check if more than one file\r\n let file = files.pop();\r\n let shouldUpload = false;\r\n\r\n // Check if filename exists\r\n if (this.project.Files) {\r\n let existingFile = this.project.Files.find((projectFile) => {\r\n return (projectFile.Filename.toLowerCase() == file.name.toLowerCase());\r\n });\r\n\r\n if (existingFile != null) {\r\n // Show a dialog\r\n let message = existingFile.Filename + '\\nContinuing will overwrite files with existing filename. Would you like to proceed?';\r\n this.confirmDialog.confirm('Overwrite confirmation', message)\r\n .subscribe((shouldContinue) => {\r\n if (shouldContinue) {\r\n this.sidebarBusy = true;\r\n\r\n this.projectService.uploadProjectFile(this.projectId, file)\r\n .subscribe(response => {\r\n let result = response.json().Result;\r\n let newFile = result.File;\r\n\r\n this.sidebarBusy = false;\r\n\r\n if (this.project.Files == null) this.project.Files = [];\r\n\r\n this._redistributeFiles();\r\n });\r\n }\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.projectService.uploadProjectFile(this.projectId, file)\r\n .subscribe(response => {\r\n let result = response.json().Result;\r\n let newFile = result.File;\r\n\r\n this.sidebarBusy = false;\r\n\r\n if (this.project.Files == null) this.project.Files = [];\r\n\r\n this.project.Files.push(newFile);\r\n this._redistributeFiles();\r\n }, response => {\r\n \r\n });\r\n }\r\n\r\n private deleteFile(file: any) {\r\n let id = file.Id;\r\n this.projectService.deleteProjectFile(file.Id);\r\n\r\n let message = file.Filename + '\\nContinuing will delete this file. Would you like to proceed?';\r\n this.confirmDialog.confirm('Delete confirmation', message)\r\n .subscribe((shouldContinue) => {\r\n if (shouldContinue) {\r\n this.sidebarBusy = true;\r\n\r\n this.projectService.deleteProjectFile(id)\r\n .subscribe(response => {\r\n this.project.Files = this.project.Files.filter((existingFile) => {\r\n return existingFile.Id != id;\r\n });\r\n\r\n this.sidebarBusy = false;\r\n\r\n this._redistributeFiles();\r\n });\r\n }\r\n });\r\n\r\n return;\r\n }\r\n\r\n private _redistributeFiles() {\r\n this.projectFiles = {};\r\n\r\n this.project.Files.forEach((file) => {\r\n let lastIndexOfDot = file.Filename.lastIndexOf('.') + 1;\r\n let ext: string = '?';\r\n\r\n if (lastIndexOfDot != -1) {\r\n ext = file.Filename.substring(lastIndexOfDot).toLowerCase();\r\n }\r\n\r\n let group = this.fileTypes[ext];\r\n if (group == null) {\r\n ext = '?';\r\n group = this.fileTypes[ext];\r\n }\r\n\r\n if (this.projectFiles[group] == null) {\r\n this.projectFiles[group] = [];\r\n }\r\n\r\n this.projectFiles[group].push(file);\r\n });\r\n\r\n for (let key in this.projectFiles) {\r\n var group = this.projectFiles[key];\r\n group.sort((a, b) => {\r\n var nameA = a.Filename.toUpperCase(); // ignore upper and lowercase\r\n var nameB = b.Filename.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\r\n // names must be equal\r\n return 0;\r\n });\r\n }\r\n\r\n //Object.entries(this.projectFiles).forEach(([key, value]) => {\r\n // console.log(value);\r\n // //value.sort((a, b) => {\r\n // // var nameA = a.Filename.toUpperCase(); // ignore upper and lowercase\r\n // // var nameB = b.Filename.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\r\n // // // names must be equal\r\n // // return 0;\r\n // //});\r\n //});\r\n }\r\n\r\n private isAllowed: any = {};\r\n \r\n private calculatePermissions() {\r\n let portOfficeId = this.project.PortManagementOffice.Id + '';\r\n switch (this.user.Role) {\r\n case 'GlobalAdministrator':\r\n this.isAllowed['edit'] = true;\r\n this.isAllowed['files'] = true;\r\n break;\r\n case 'PPAExecutive':\r\n break;\r\n case 'PMOAdmin':\r\n if (this.user.OfficeIds != null && this.user.OfficeIds.indexOf(portOfficeId) != -1) {\r\n this.isAllowed['edit'] = true;\r\n this.isAllowed['files'] = true;\r\n }\r\n break;\r\n case 'PPAPlanning':\r\n this.isAllowed['edit'] = this.mapType === 'planning';\r\n this.isAllowed['files'] = this.mapType === 'planning';\r\n break;\r\n case 'PPADredging':\r\n this.isAllowed['edit'] = this.mapType === 'navigation' || this.mapType === 'sounding';\r\n this.isAllowed['files'] = this.mapType === 'navigation' || this.mapType === 'sounding';\r\n break;\r\n case 'PPAPortConstruction':\r\n this.isAllowed['edit'] = this.mapType === 'planning';\r\n this.isAllowed['files'] = this.mapType === 'planning';\r\n break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/project/project.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Current Projects

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
{{projectType.Title}}\\r\\n
\\r\\n {{type.Title}}\\r\\n
\\r\\n save Download PDF\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{year}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n keyboard_arrow_down\\r\\n Dredging Projects\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Facility
\\r\\n
To Date
\\r\\n
Unit
\\r\\n
Last Project Year
\\r\\n
{{year}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n keyboard_arrow_right\\r\\n keyboard_arrow_down\\r\\n {{item.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n \\r\\n
0\\\" class=\\\"facility-level-1 leaf table-row\\\" (click)=\\\"child.collapse = !child.collapse\\\">\\r\\n
\\r\\n keyboard_arrow_right\\r\\n keyboard_arrow_down\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n \\r\\n
0\\\" class=\\\"facility-level-2 leaf table-row\\\" (click)=\\\"child.collapse = !child.collapse\\\">\\r\\n
\\r\\n keyboard_arrow_right\\r\\n keyboard_arrow_down\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\" class=\\\"facility-level-2 table-row\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/projects/current/current.component.html\n// module id = ./Angular/app/projects/current/current.component.html\n// module chunks = main","module.exports = \".project-list {\\n background-color: #F4F4F4;\\n}\\n.project-list .full-width {\\n width: 100%;\\n}\\n.project-list .admin-title {\\n margin-left: 124px;\\n padding-top: 20px;\\n font-size: 2em;\\n}\\n.project-list nav.tabs {\\n position: absolute;\\n bottom: 0;\\n border-bottom: none;\\n}\\n.project-list div.search {\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n width: 50%;\\n padding: 20px;\\n background-color: #FFFFFF;\\n}\\n.project-list div.search a {\\n float: right;\\n text-decoration: none;\\n width: 35%;\\n vertical-align: middle;\\n color: #333333;\\n}\\n.project-list div.search a .mat-icon {\\n vertical-align: bottom;\\n}\\n.project-list div.search .mat-select {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n padding: 4px;\\n float: left;\\n width: 65%;\\n}\\n.project-list .content-container {\\n background-color: #F4F4F4;\\n}\\n.project-list .content-header {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\\n}\\n.project-list .content {\\n padding: 20px;\\n}\\n.project-list.dredging .table-row div.cell.year {\\n width: 33.3%;\\n}\\n.project-list .table-row {\\n /*min-height: 48px;*/\\n width: 100%;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n}\\n.project-list .table-row div.cell {\\n display: block;\\n padding: 16px;\\n background-color: #FFFFFF;\\n color: #7B8B9E;\\n}\\n.project-list .table-row div.cell.facility {\\n width: 30%;\\n}\\n.project-list .table-row div.cell.facility.full {\\n width: 100%;\\n cursor: pointer;\\n background-color: #7F8FA3;\\n color: #ffffff;\\n}\\n.project-list .table-row div.cell.particulars {\\n text-align: center;\\n width: 10%;\\n background-color: #F7F7F7;\\n}\\n.project-list .table-row div.cell.unit {\\n text-align: center;\\n width: 10%;\\n background-color: #F7F7F7;\\n}\\n.project-list .table-row div.cell.last-year {\\n text-align: center;\\n width: 10%;\\n background-color: #F7F7F7;\\n}\\n.project-list .table-row div.cell.year {\\n width: 40%;\\n}\\n.project-list .table-row div.cell.year .project {\\n display: block;\\n line-height: 1.6em;\\n}\\n.project-list .table-row div.cell.year:hover {\\n background-color: #F6FDFF !important;\\n}\\n.project-list .table-row div.cell mat-icon {\\n vertical-align: middle;\\n margin-top: -4px;\\n}\\n.project-list .table-row div.cell mat-icon.blank {\\n margin-right: 4px;\\n}\\n.project-list .table-row.leaf:hover {\\n cursor: pointer;\\n}\\n.project-list .table-row.leaf:hover .cell:not(.full) {\\n background-color: #FAFAFA;\\n}\\n.project-list .table-row.leaf:hover .cell.unit,\\n.project-list .table-row.leaf:hover .cell.particulars {\\n background-color: #F7F7F7 !important;\\n}\\n.project-list .collapser {\\n overflow-y: hidden;\\n}\\n.project-list .table-header.table-row {\\n width: 100%;\\n border: 1px solid #ECEDEF;\\n}\\n.project-list .table-header.table-row div {\\n position: relative;\\n text-transform: uppercase;\\n font-size: 13px;\\n font-weight: 500;\\n}\\n.project-list .facility-container div.leaf {\\n background-color: #FFFFFF;\\n}\\n.project-list .facility-container div.facility-level-1:not(.leaf),\\n.project-list .facility-container div.facility-level-2:not(.leaf),\\n.project-list .facility-container div.facility-level-3:not(.leaf) {\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n}\\n.project-list .facility-container div.facility-level-1 .cell.facility {\\n padding-left: 37px;\\n position: relative;\\n}\\n.project-list .facility-container div.facility-level-2 .cell.facility {\\n padding-left: 57px;\\n position: relative;\\n}\\n.project-list .facility-container div.facility-level-3 .cell.facility {\\n padding-left: 77px;\\n position: relative;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/projects/current/current.component.less\n// module id = ./Angular/app/projects/current/current.component.less\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ProjectService } from '../../_services/project.service';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material';\r\nimport { AdminService } from '../../_services/admin.service';\r\nimport { Observable } from 'rxjs/Rx';\r\n\r\nimport { EditParticularsDialogComponent } from '../edit-particulars/edit-particulars.component';\r\n\r\nimport {\r\n trigger,\r\n state,\r\n query,\r\n style,\r\n animate,\r\n transition\r\n} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-current',\r\n templateUrl: './current.component.html',\r\n styleUrls: ['./current.component.less'],\r\n animations: [\r\n trigger('collapse', [\r\n state('void', style({ height: '0px' })),\r\n transition(':enter', animate('150ms ease-in', style({ height: '*' }))),\r\n transition(':leave', animate('200ms ease-out', style({ height: '0px' })))\r\n ])\r\n ]\r\n})\r\nexport class CurrentComponent implements OnInit {\r\n\r\n config: MatDialogConfig = {\r\n disableClose: false,\r\n hasBackdrop: true,\r\n backdropClass: '',\r\n width: '500px',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n }\r\n };\r\n\r\n private currentYear: number;\r\n private years = [];\r\n private portId: number;\r\n private slug: string;\r\n private facilities: any;\r\n private state: any = {};\r\n private mapType: string;\r\n private mapTypeId: number;\r\n\r\n private projects: any;\r\n private projectTypes = [];\r\n private projectType: any;\r\n private projectTypeId: number;\r\n\r\n constructor(private projectService: ProjectService, private adminService: AdminService, private activatedRoute: ActivatedRoute, private dialog: MatDialog) {\r\n this.activatedRoute.params.subscribe(params => {\r\n this.portId = parseInt(params['portId']);\r\n this.slug = params['slug'];\r\n });\r\n\r\n this.activatedRoute.url.subscribe(url => {\r\n let currentUrl = window.location.href;\r\n let lastSlash = currentUrl.lastIndexOf('/') + 1;\r\n this.mapType = currentUrl.substr(lastSlash);\r\n this.mapTypeId = this.mapType == 'planning' ? 0 : this.mapType == 'navigation' ? 1 : 2;\r\n\r\n this.adminService.get('projects/types').subscribe(response => {\r\n let getProjectTypesResult = response.json().Result;\r\n let projectTypes = getProjectTypesResult.ProjectTypes;\r\n projectTypes.forEach((type) => {\r\n if (type.Color == null) type.Color = '#000000';\r\n else type.Color = '#' + type.Color;\r\n });\r\n\r\n this.projectTypes = projectTypes;\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.currentYear = new Date().getFullYear();\r\n this.years.push(this.currentYear);\r\n }\r\n\r\n loadProjects() {\r\n this.projectService.getCurrentProjects(this.portId, this.mapTypeId, this.projectTypeId)\r\n .subscribe(response => {\r\n let result = response.json().Result;\r\n\r\n if (this.mapTypeId != 1) {\r\n this.facilities = result.Facilities;\r\n this.facilities.forEach(facility => {\r\n facility.collapse = false;\r\n\r\n facility.Facilities.forEach(child => {\r\n child.collapse = false;\r\n child.Projects = this._transformProjects(child.Projects);\r\n child.Children.forEach(child => {\r\n child.collapse = false;\r\n child.Projects = this._transformProjects(child.Projects);\r\n\r\n child.Children.forEach(child => {\r\n child.Projects = this._transformProjects(child.Projects);\r\n });\r\n });\r\n });\r\n });\r\n\r\n return;\r\n }\r\n\r\n let yearProjects = {};\r\n this.years.forEach(year => {\r\n yearProjects[year] = [];\r\n });\r\n\r\n let projects = result.Projects;\r\n projects.forEach(project => {\r\n yearProjects[project.Year].push(project);\r\n });\r\n\r\n this.projects = yearProjects;\r\n });\r\n }\r\n\r\n editFacility(facility: any) {\r\n this.config.data = { facility: facility };\r\n\r\n let opened = this.dialog.open(EditParticularsDialogComponent, this.config);\r\n opened.afterClosed().subscribe(result => {\r\n if (result != null) {\r\n facility.ParticularsToDate = result.ParticularsToDate;\r\n }\r\n\r\n this.config.data = {};\r\n });\r\n\r\n return false;\r\n }\r\n\r\n _transformProjects(projects: any) {\r\n let transformed = {};\r\n this.years.forEach(year => transformed[year] = []);\r\n\r\n projects.forEach(project => {\r\n if (transformed[this.currentYear] == null) {\r\n transformed[this.currentYear] = [];\r\n }\r\n\r\n transformed[this.currentYear].push(project);\r\n });\r\n\r\n return transformed;\r\n }\r\n\r\n filterProjects() {\r\n this.projectType = this.getProjectType(this.projectTypeId);\r\n this.loadProjects();\r\n }\r\n\r\n getProjectType(id: number) {\r\n return this.projectTypes.find((type) => type.Id == id);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/projects/current/current.component.ts","module.exports = \"

Edit particulars to date

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n e.g. 3750\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/projects/edit-particulars/edit-particulars.component.html\n// module id = ./Angular/app/projects/edit-particulars/edit-particulars.component.html\n// module chunks = main","module.exports = \"mat-form-field {\\n width: 100%;\\n}\\nmat-option mat-icon {\\n margin-right: 0;\\n vertical-align: middle;\\n margin-top: -2px;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/projects/edit-particulars/edit-particulars.component.less\n// module id = ./Angular/app/projects/edit-particulars/edit-particulars.component.less\n// module chunks = main","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatSnackBar } from '@angular/material';\r\n\r\nimport { FacilityService } from '../../_services/facility.service'\r\n\r\n@Component({\r\n selector: 'app-edit-particulars-dialog',\r\n templateUrl: './edit-particulars.component.html',\r\n styleUrls: ['./edit-particulars.component.less']\r\n})\r\nexport class EditParticularsDialogComponent implements OnInit {\r\n\r\n private busy: boolean;\r\n private id: number;\r\n private title: string;\r\n private unit: string;\r\n private particularsToDate: number;\r\n\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any,\r\n private snackBar: MatSnackBar,\r\n private facilityService: FacilityService) {\r\n this.id = data.facility.Id;\r\n this.title = data.facility.Title;\r\n this.unit = data.facility.Unit;\r\n this.particularsToDate = data.facility.ParticularsToDate;\r\n }\r\n\r\n ngOnInit() {\r\n this.busy = false;\r\n }\r\n\r\n edit(form) {\r\n console.log(this);\r\n this.busy = true;\r\n this.dialogRef.disableClose = true;\r\n\r\n this.facilityService.editFacility({\r\n Id: this.id,\r\n Title: this.title,\r\n Unit: this.unit,\r\n ParticularsToDate:\r\n this.particularsToDate\r\n }).subscribe(response => {\r\n let result = response.json().Result;\r\n\r\n this.dialogRef.close({ Facility: result.Facility });\r\n\r\n this.snackBar.open('Facility was updated successfully.', null, { duration: 2000 });\r\n },\r\n errorResponse => {\r\n let error = errorResponse.Message;//.json();\r\n\r\n this.snackBar.open('Failed to update facility.', null, { duration: 2000 });\r\n this.busy = false;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/projects/edit-particulars/edit-particulars.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Future Projects

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
{{projectType.Title}}\\r\\n
\\r\\n {{type.Title}}\\r\\n
\\r\\n save Download PDF\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{year}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n keyboard_arrow_down\\r\\n Dredging Projects\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Facility
\\r\\n
To Date
\\r\\n
Unit
\\r\\n
Last Project Year
\\r\\n
{{year}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n keyboard_arrow_right\\r\\n keyboard_arrow_down\\r\\n {{item.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n \\r\\n
0\\\" class=\\\"facility-level-1 leaf table-row\\\" (click)=\\\"child.collapse = !child.collapse\\\">\\r\\n
\\r\\n keyboard_arrow_right\\r\\n keyboard_arrow_down\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n \\r\\n
0\\\" class=\\\"facility-level-2 leaf table-row\\\" (click)=\\\"child.collapse = !child.collapse\\\">\\r\\n
\\r\\n keyboard_arrow_right\\r\\n keyboard_arrow_down\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\" class=\\\"facility-level-2 table-row\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/projects/future/future.component.html\n// module id = ./Angular/app/projects/future/future.component.html\n// module chunks = main","module.exports = \".project-list {\\n background-color: #F4F4F4;\\n}\\n.project-list .full-width {\\n width: 100%;\\n}\\n.project-list .admin-title {\\n margin-left: 124px;\\n padding-top: 20px;\\n font-size: 2em;\\n}\\n.project-list nav.tabs {\\n position: absolute;\\n bottom: 0;\\n border-bottom: none;\\n}\\n.project-list div.search {\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n width: 50%;\\n padding: 20px;\\n background-color: #FFFFFF;\\n}\\n.project-list div.search a {\\n float: right;\\n text-decoration: none;\\n width: 35%;\\n vertical-align: middle;\\n color: #333333;\\n}\\n.project-list div.search a .mat-icon {\\n vertical-align: bottom;\\n}\\n.project-list div.search .mat-select {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n padding: 4px;\\n float: left;\\n width: 65%;\\n}\\n.project-list .content-container {\\n background-color: #F4F4F4;\\n}\\n.project-list .content-header {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\\n}\\n.project-list .content {\\n padding: 20px;\\n}\\n.project-list.dredging .table-row div.cell.year {\\n width: 33.3%;\\n}\\n.project-list .table-row {\\n /*min-height: 48px;*/\\n width: 100%;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n}\\n.project-list .table-row div.cell {\\n overflow: hidden;\\n display: block;\\n padding: 16px;\\n background-color: #FFFFFF;\\n color: #7B8B9E;\\n}\\n.project-list .table-row div.cell.facility {\\n width: 25%;\\n}\\n.project-list .table-row div.cell.facility.full {\\n width: 100%;\\n cursor: pointer;\\n background-color: #7F8FA3;\\n color: #ffffff;\\n}\\n.project-list .table-row div.cell.particulars {\\n text-align: center;\\n width: 10%;\\n background-color: #F7F7F7;\\n}\\n.project-list .table-row div.cell.unit {\\n text-align: center;\\n width: 10%;\\n background-color: #F7F7F7;\\n}\\n.project-list .table-row div.cell.last-year {\\n text-align: center;\\n width: 10%;\\n background-color: #F7F7F7;\\n}\\n.project-list .table-row div.cell.year {\\n width: 9%;\\n}\\n.project-list .table-row div.cell.year .project {\\n display: block;\\n line-height: 1.6em;\\n}\\n.project-list .table-row div.cell.year:hover {\\n background-color: #F6FDFF !important;\\n}\\n.project-list .table-row div.cell mat-icon {\\n vertical-align: middle;\\n margin-top: -4px;\\n}\\n.project-list .table-row div.cell mat-icon.blank {\\n margin-right: 4px;\\n}\\n.project-list .table-row.leaf:hover {\\n cursor: pointer;\\n}\\n.project-list .table-row.leaf:hover .cell:not(.full) {\\n background-color: #FAFAFA;\\n}\\n.project-list .table-row.leaf:hover .cell.unit,\\n.project-list .table-row.leaf:hover .cell.particulars {\\n background-color: #F7F7F7 !important;\\n}\\n.project-list .collapser {\\n overflow-y: hidden;\\n}\\n.project-list .table-header.table-row {\\n width: 100%;\\n border: 1px solid #ECEDEF;\\n}\\n.project-list .table-header.table-row div {\\n position: relative;\\n text-transform: uppercase;\\n font-size: 13px;\\n font-weight: 500;\\n}\\n.project-list .facility-container div.leaf {\\n background-color: #FFFFFF;\\n}\\n.project-list .facility-container div.facility-level-1:not(.leaf),\\n.project-list .facility-container div.facility-level-2:not(.leaf),\\n.project-list .facility-container div.facility-level-3:not(.leaf) {\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n}\\n.project-list .facility-container div.facility-level-1 .cell.facility {\\n padding-left: 37px;\\n position: relative;\\n}\\n.project-list .facility-container div.facility-level-2 .cell.facility {\\n padding-left: 57px;\\n position: relative;\\n}\\n.project-list .facility-container div.facility-level-3 .cell.facility {\\n padding-left: 77px;\\n position: relative;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/projects/future/future.component.less\n// module id = ./Angular/app/projects/future/future.component.less\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ProjectService } from '../../_services/project.service';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material';\r\nimport { AdminService } from '../../_services/admin.service';\r\nimport { Observable } from 'rxjs/Rx';\r\n\r\nimport { EditParticularsDialogComponent } from '../edit-particulars/edit-particulars.component';\r\n\r\nimport {\r\n trigger,\r\n state,\r\n query,\r\n style,\r\n animate,\r\n transition\r\n} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-past',\r\n templateUrl: './future.component.html',\r\n styleUrls: ['./future.component.less'],\r\n animations: [\r\n trigger('collapse', [\r\n state('void', style({ height: '0px' })),\r\n transition(':enter', animate('150ms ease-in', style({ height: '*' }))),\r\n transition(':leave', animate('200ms ease-out', style({ height: '0px' })))\r\n ])\r\n ]\r\n})\r\nexport class FutureComponent implements OnInit {\r\n config: MatDialogConfig = {\r\n disableClose: false,\r\n hasBackdrop: true,\r\n backdropClass: '',\r\n width: '500px',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n }\r\n };\r\n\r\n private currentYear: number;\r\n private years = [];\r\n private portId: number;\r\n private slug: string;\r\n private facilities: any;\r\n private state: any = {};\r\n private mapType: string;\r\n private mapTypeId: number;\r\n\r\n private projects: any;\r\n private projectTypes = [];\r\n private projectType: any;\r\n private projectTypeId: number;\r\n\r\n constructor(private projectService: ProjectService, private adminService: AdminService, private activatedRoute: ActivatedRoute, private dialog: MatDialog) {\r\n this.activatedRoute.params.subscribe(params => {\r\n this.portId = parseInt(params['portId']);\r\n this.slug = params['slug'];\r\n });\r\n\r\n this.activatedRoute.url.subscribe(url => {\r\n let currentUrl = window.location.href;\r\n let lastSlash = currentUrl.lastIndexOf('/') + 1;\r\n this.mapType = currentUrl.substr(lastSlash);\r\n this.mapTypeId = this.mapType == 'planning' ? 0 : this.mapType == 'navigation' ? 1 : 2;\r\n\r\n this.adminService.get('projects/types').subscribe(response => {\r\n let getProjectTypesResult = response.json().Result;\r\n let projectTypes = getProjectTypesResult.ProjectTypes;\r\n projectTypes.forEach((type) => {\r\n if (type.Color == null) type.Color = '#000000';\r\n else type.Color = '#' + type.Color;\r\n });\r\n\r\n this.projectTypes = projectTypes;\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.currentYear = new Date().getFullYear();\r\n for (let i = this.currentYear + 1; i <= this.currentYear + 5; i++) {\r\n this.years.push(i);\r\n }\r\n }\r\n\r\n loadProjects() {\r\n this.projectService.getFutureProjects(this.portId, this.mapTypeId, this.projectTypeId).subscribe(response => {\r\n let result = response.json().Result;\r\n\r\n if (this.mapTypeId != 1) {\r\n this.facilities = result.Facilities;\r\n this.facilities.forEach(facility => {\r\n facility.collapse = false;\r\n\r\n facility.Facilities.forEach(child => {\r\n child.collapse = false;\r\n child.Projects = this._transformProjects(child.Projects);\r\n child.Children.forEach(child => {\r\n child.collapse = false;\r\n child.Projects = this._transformProjects(child.Projects);\r\n\r\n child.Children.forEach(child => {\r\n child.Projects = this._transformProjects(child.Projects);\r\n });\r\n });\r\n });\r\n });\r\n\r\n return;\r\n }\r\n\r\n let yearProjects = {};\r\n this.years.forEach(year => {\r\n yearProjects[year] = [];\r\n });\r\n\r\n let projects = result.Projects;\r\n projects.forEach(project => {\r\n if (yearProjects[project.Year] == null) {\r\n yearProjects[project.Year] = [];\r\n }\r\n\r\n if (project.Year <= this.currentYear) {\r\n yearProjects[this.currentYear + 1].push(project);\r\n }\r\n });\r\n\r\n this.projects = yearProjects;\r\n });\r\n }\r\n\r\n editFacility(facility: any) {\r\n this.config.data = { facility: facility };\r\n\r\n let opened = this.dialog.open(EditParticularsDialogComponent, this.config);\r\n opened.afterClosed().subscribe(result => {\r\n if (result != null) {\r\n facility.ParticularsToDate = result.ParticularsToDate;\r\n }\r\n\r\n this.config.data = {};\r\n });\r\n\r\n return false;\r\n }\r\n\r\n _transformProjects(projects: any) {\r\n let transformed = {};\r\n this.years.forEach(year => transformed[year] = []);\r\n\r\n projects.forEach(project => {\r\n if (transformed[project.Year] == null) {\r\n transformed[project.Year] = [];\r\n }\r\n\r\n if (project.Year <= this.currentYear) {\r\n transformed[this.currentYear + 1].push(project);\r\n }\r\n\r\n transformed[project.Year].push(project);\r\n });\r\n\r\n return transformed;\r\n }\r\n\r\n filterProjects() {\r\n this.projectType = this.getProjectType(this.projectTypeId);\r\n this.loadProjects();\r\n }\r\n\r\n getProjectType(id: number) {\r\n return this.projectTypes.find((type) => type.Id == id);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/projects/future/future.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Past Projects

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
{{projectType.Title}}\\r\\n
\\r\\n {{type.Title}}\\r\\n
\\r\\n save Download PDF\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{year}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n keyboard_arrow_down\\r\\n Dredging Projects\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Facility
\\r\\n
To Date
\\r\\n
Unit
\\r\\n
Last Project Year
\\r\\n
{{year}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n keyboard_arrow_right\\r\\n keyboard_arrow_down\\r\\n {{item.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n \\r\\n
0\\\" class=\\\"facility-level-1 leaf table-row\\\" (click)=\\\"child.collapse = !child.collapse\\\">\\r\\n
\\r\\n keyboard_arrow_right\\r\\n keyboard_arrow_down\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n \\r\\n
0\\\" class=\\\"facility-level-2 leaf table-row\\\" (click)=\\\"child.collapse = !child.collapse\\\">\\r\\n
\\r\\n keyboard_arrow_right\\r\\n keyboard_arrow_down\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\" class=\\\"facility-level-2 table-row\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n {{child.Title}}\\r\\n
\\r\\n
{{child.ParticularsToDate}}
\\r\\n
{{child.Unit}}
\\r\\n
{{child.LastProjectCompletedOnYear == 0 ? '-' : child.LastProjectCompletedOnYear}}
\\r\\n
\\r\\n {{project.Title}}\\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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/projects/past/past.component.html\n// module id = ./Angular/app/projects/past/past.component.html\n// module chunks = main","module.exports = \".project-list {\\n background-color: #F4F4F4;\\n}\\n.project-list .full-width {\\n width: 100%;\\n}\\n.project-list .admin-title {\\n margin-left: 124px;\\n padding-top: 20px;\\n font-size: 2em;\\n}\\n.project-list nav.tabs {\\n position: absolute;\\n bottom: 0;\\n border-bottom: none;\\n}\\n.project-list div.search {\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n width: 50%;\\n padding: 20px;\\n background-color: #FFFFFF;\\n}\\n.project-list div.search a {\\n float: right;\\n text-decoration: none;\\n width: 35%;\\n vertical-align: middle;\\n color: #333333;\\n}\\n.project-list div.search a .mat-icon {\\n vertical-align: bottom;\\n}\\n.project-list div.search .mat-select {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n padding: 4px;\\n float: left;\\n width: 65%;\\n}\\n.project-list .content-container {\\n background-color: #F4F4F4;\\n}\\n.project-list .content-header {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\\n}\\n.project-list .content {\\n padding: 20px;\\n}\\n.project-list.dredging .table-row div.cell.year {\\n width: 33.3%;\\n}\\n.project-list .table-row {\\n /*min-height: 48px;*/\\n width: 100%;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n}\\n.project-list .table-row div.cell {\\n display: block;\\n padding: 16px;\\n background-color: #FFFFFF;\\n color: #7B8B9E;\\n}\\n.project-list .table-row div.cell.facility {\\n width: 25%;\\n}\\n.project-list .table-row div.cell.facility.full {\\n width: 100%;\\n cursor: pointer;\\n background-color: #7F8FA3;\\n color: #ffffff;\\n}\\n.project-list .table-row div.cell.particulars {\\n text-align: center;\\n width: 10%;\\n background-color: #F7F7F7;\\n}\\n.project-list .table-row div.cell.unit {\\n text-align: center;\\n width: 10%;\\n background-color: #F7F7F7;\\n}\\n.project-list .table-row div.cell.last-year {\\n text-align: center;\\n width: 10%;\\n background-color: #F7F7F7;\\n}\\n.project-list .table-row div.cell.year {\\n width: 15%;\\n}\\n.project-list .table-row div.cell.year .project {\\n display: block;\\n line-height: 1.6em;\\n}\\n.project-list .table-row div.cell.year:hover {\\n background-color: #F6FDFF !important;\\n}\\n.project-list .table-row div.cell mat-icon {\\n vertical-align: middle;\\n margin-top: -4px;\\n}\\n.project-list .table-row div.cell mat-icon.blank {\\n margin-right: 4px;\\n}\\n.project-list .table-row.leaf:hover {\\n cursor: pointer;\\n}\\n.project-list .table-row.leaf:hover .cell:not(.full) {\\n background-color: #FAFAFA;\\n}\\n.project-list .table-row.leaf:hover .cell.unit,\\n.project-list .table-row.leaf:hover .cell.particulars {\\n background-color: #F7F7F7 !important;\\n}\\n.project-list .collapser {\\n overflow-y: hidden;\\n}\\n.project-list .table-header.table-row {\\n width: 100%;\\n border: 1px solid #ECEDEF;\\n}\\n.project-list .table-header.table-row div {\\n position: relative;\\n text-transform: uppercase;\\n font-size: 13px;\\n font-weight: 500;\\n}\\n.project-list .facility-container div.leaf {\\n background-color: #FFFFFF;\\n}\\n.project-list .facility-container div.facility-level-1:not(.leaf),\\n.project-list .facility-container div.facility-level-2:not(.leaf),\\n.project-list .facility-container div.facility-level-3:not(.leaf) {\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n}\\n.project-list .facility-container div.facility-level-1 .cell.facility {\\n padding-left: 37px;\\n position: relative;\\n}\\n.project-list .facility-container div.facility-level-2 .cell.facility {\\n padding-left: 57px;\\n position: relative;\\n}\\n.project-list .facility-container div.facility-level-3 .cell.facility {\\n padding-left: 77px;\\n position: relative;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Angular/app/projects/past/past.component.less\n// module id = ./Angular/app/projects/past/past.component.less\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ProjectService } from '../../_services/project.service';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material';\r\nimport { AdminService } from '../../_services/admin.service';\r\nimport { Observable } from 'rxjs/Rx';\r\n\r\nimport { EditParticularsDialogComponent } from '../edit-particulars/edit-particulars.component';\r\n\r\nimport {\r\n trigger,\r\n state,\r\n query,\r\n style,\r\n animate,\r\n transition\r\n} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-past',\r\n templateUrl: './past.component.html',\r\n styleUrls: ['./past.component.less'],\r\n animations: [\r\n trigger('collapse', [\r\n state('void', style({ height: '0px' })),\r\n transition(':enter', animate('150ms ease-in', style({ height: '*' }))),\r\n transition(':leave', animate('200ms ease-out', style({ height: '0px' })))\r\n ])\r\n ]\r\n})\r\nexport class PastComponent implements OnInit {\r\n \r\n config: MatDialogConfig = {\r\n disableClose: false,\r\n hasBackdrop: true,\r\n backdropClass: '',\r\n width: '500px',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n }\r\n };\r\n\r\n private years = [];\r\n private portId: number;\r\n private slug: string;\r\n private facilities: any;\r\n private state: any = {};\r\n private mapType: string;\r\n private mapTypeId: number;\r\n\r\n private projects: any;\r\n private projectTypes = [];\r\n private projectType: any;\r\n private projectTypeId: number;\r\n\r\n constructor(private projectService: ProjectService, private adminService: AdminService, private activatedRoute: ActivatedRoute, private dialog : MatDialog) {\r\n this.activatedRoute.params.subscribe(params => {\r\n this.portId = parseInt(params['portId']);\r\n this.slug = params['slug'];\r\n });\r\n\r\n this.activatedRoute.url.subscribe(url => {\r\n let currentUrl = window.location.href;\r\n let lastSlash = currentUrl.lastIndexOf('/') + 1;\r\n this.mapType = currentUrl.substr(lastSlash);\r\n this.mapTypeId = this.mapType == 'planning' ? 0 : this.mapType == 'navigation' ? 1 : 2;\r\n\r\n this.adminService.get('projects/types').subscribe(response => {\r\n let getProjectTypesResult = response.json().Result;\r\n let projectTypes = getProjectTypesResult.ProjectTypes;\r\n projectTypes.forEach((type) => {\r\n if (type.Color == null) type.Color = '#000000';\r\n else type.Color = '#' + type.Color;\r\n });\r\n\r\n this.projectTypes = projectTypes;\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() {let currentYear = new Date().getFullYear();\r\n for (let i = currentYear - 3; i < currentYear; i++) {\r\n this.years.push(i);\r\n }\r\n }\r\n\r\n loadProjects() {\r\n this.projectService.getPastProjects(this.portId, this.mapTypeId, this.projectTypeId).subscribe(response => {\r\n let result = response.json().Result;\r\n\r\n if (this.mapTypeId != 1) {\r\n this.facilities = result.Facilities;\r\n this.facilities.forEach(facility => {\r\n facility.collapse = false;\r\n\r\n facility.Facilities.forEach(child => {\r\n child.collapse = false;\r\n child.Projects = this._transformProjects(child.Projects);\r\n child.Children.forEach(child => {\r\n child.collapse = false;\r\n child.Projects = this._transformProjects(child.Projects);\r\n\r\n child.Children.forEach(child => {\r\n child.Projects = this._transformProjects(child.Projects);\r\n });\r\n });\r\n });\r\n });\r\n\r\n return;\r\n }\r\n\r\n let yearProjects = {};\r\n this.years.forEach(year => {\r\n yearProjects[year] = [];\r\n });\r\n\r\n let projects = result.Projects;\r\n projects.forEach(project => {\r\n yearProjects[project.Year].push(project);\r\n });\r\n\r\n this.projects = yearProjects;\r\n });\r\n }\r\n\r\n editFacility(facility: any) {\r\n this.config.data = { facility: facility };\r\n\r\n let opened = this.dialog.open(EditParticularsDialogComponent, this.config);\r\n opened.afterClosed().subscribe(result => {\r\n if (result != null) {\r\n facility.ParticularsToDate = result.ParticularsToDate;\r\n }\r\n\r\n this.config.data = {};\r\n });\r\n\r\n return false;\r\n }\r\n\r\n _transformProjects(projects: any) {\r\n let transformed = {};\r\n this.years.forEach(year => transformed[year] = []);\r\n\r\n projects.forEach(project => {\r\n transformed[project.Year].push(project);\r\n });\r\n\r\n return transformed;\r\n }\r\n\r\n filterProjects() {\r\n this.projectType = this.getProjectType(this.projectTypeId);\r\n this.loadProjects();\r\n }\r\n\r\n getProjectType(id: number) {\r\n return this.projectTypes.find((type) => type.Id == id);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/app/projects/past/past.component.ts","export const environment = {\r\n production: true,\r\n apiUrl: 'https://pidb.ppa.com.ph'\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./Angular/environments/environment.ts","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\n\n\n// WEBPACK FOOTER //\n// ./Angular/main.ts","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale recursive ^\\\\.\\\\/.*$\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/moment/locale ^\\.\\/.*$\n// module id = ./node_modules/moment/locale recursive ^\\.\\/.*$\n// module chunks = main","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// jsdom (ignored)\n// module id = 1\n// module chunks = main","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// jsdom/lib/jsdom/living/generated/utils (ignored)\n// module id = 2\n// module chunks = main","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// jsdom/lib/jsdom/utils (ignored)\n// module id = 3\n// module chunks = main","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// xmldom (ignored)\n// module id = 4\n// module chunks = main"],"sourceRoot":"webpack:///"}