opt-cc/opt-cc-api/public/main.bundle.js.map

1 line
206 KiB
Plaintext

{"version":3,"sources":["webpack:///./src/app/app.config.ts","webpack:///./src/app/services/http-client.ts","webpack:///./src/app/services/decoration-service/decoration.service.ts","webpack:///./src/app/services/squad-service/squad.service.ts","webpack:///./src/app/services/user-service/user.service.ts","webpack:///./src/app/services/login-service/login-service.ts","webpack:///./src/app/style/overview.css","webpack:///./src/app/app.tokens.ts","webpack:///./src/app/login/login.guard.ts","webpack:///./src/app/services/rank-service/rank.service.ts","webpack:///./src/app/services/stores/decoration.store.ts","webpack:///./src/app/style/new-entry-form.css","webpack:///./src/app/decorations/decoration.component.ts","webpack:///./src/app/services/awarding-service/awarding.service.ts","webpack:///./src/app/services/stores/rank.store.ts","webpack:///./src/app/services/stores/squad.store.ts","webpack:///./src/app/services/stores/user.store.ts","webpack:///./src async","webpack:///./src/main.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.ts","webpack:///./src/app/decorations/decoration-list/decoration-item.component.ts","webpack:///./src/app/decorations/decoration-list/decoration-list.component.ts","webpack:///./src/app/decorations/decoration-overview/decoration-overview.component.ts","webpack:///./src/app/decorations/decoration.routing.ts","webpack:///./src/app/decorations/new-decoration/new-decoration.component.ts","webpack:///./src/app/login/index.ts","webpack:///./src/app/login/login.component.ts","webpack:///./src/app/models/app-validators.ts","webpack:///./src/app/models/model-interfaces.ts","webpack:///./src/app/not-found/not-found.component.ts","webpack:///./src/app/ranks/rank-list/rank-item.component.ts","webpack:///./src/app/ranks/rank-list/rank-list.component.ts","webpack:///./src/app/ranks/rank-overview/rank-overview.component.ts","webpack:///./src/app/ranks/ranks.component.ts","webpack:///./src/app/ranks/ranks.routing.ts","webpack:///./src/app/show-error/show-error.component.ts","webpack:///./src/app/squads/new-squad/new-squad.component.ts","webpack:///./src/app/squads/squad-list/squad-item.component.ts","webpack:///./src/app/squads/squad-list/squad-list.component.ts","webpack:///./src/app/squads/squad-overview/squad-overview.component.ts","webpack:///./src/app/squads/squads.component.ts","webpack:///./src/app/squads/squads.routing.ts","webpack:///./src/app/users/new-user/new-user.component.ts","webpack:///./src/app/users/user-list/user-item.component.ts","webpack:///./src/app/users/user-list/user-list.component.ts","webpack:///./src/app/users/user-overview/user-overview.component.ts","webpack:///./src/app/users/users.component.ts","webpack:///./src/app/users/users.routing.ts","webpack:///./src/environments/environment.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/decorations/decoration-list/decoration-item.component.css","webpack:///./src/app/decorations/decoration-list/decoration-list.component.css","webpack:///./src/app/decorations/decoration-overview/decoration-overview.component.css","webpack:///./src/app/decorations/decoration.component.css","webpack:///./src/app/decorations/new-decoration/new-decoration.component.css","webpack:///./src/app/login/login.component.css","webpack:///./src/app/not-found/not-found.component.css","webpack:///./src/app/ranks/rank-list/rank-item.component.css","webpack:///./src/app/ranks/rank-list/rank-list.component.css","webpack:///./src/app/ranks/rank-overview/rank-overview.component.css","webpack:///./src/app/ranks/ranks.component.css","webpack:///./src/app/squads/new-squad/new-squad.component.css","webpack:///./src/app/squads/squad-list/squad-item.component.css","webpack:///./src/app/squads/squad-list/squad-list.component.css","webpack:///./src/app/squads/squad-overview/squad-overview.component.css","webpack:///./src/app/squads/squads.component.css","webpack:///./src/app/users/new-user/new-user.component.css","webpack:///./src/app/users/user-list/user-item.component.css","webpack:///./src/app/users/user-list/user-list.component.css","webpack:///./src/app/users/user-overview/user-overview.component.css","webpack:///./src/app/users/users.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/decorations/decoration-list/decoration-item.component.html","webpack:///./src/app/decorations/decoration-list/decoration-list.component.html","webpack:///./src/app/decorations/decoration-overview/decoration-overview.component.html","webpack:///./src/app/decorations/decoration.component.html","webpack:///./src/app/decorations/new-decoration/new-decoration.component.html","webpack:///./src/app/login/login.component.html","webpack:///./src/app/not-found/not-found.component.html","webpack:///./src/app/ranks/rank-list/rank-item.component.html","webpack:///./src/app/ranks/rank-list/rank-list.component.html","webpack:///./src/app/ranks/rank-overview/rank-overview.component.html","webpack:///./src/app/ranks/ranks.component.html","webpack:///./src/app/squads/new-squad/new-squad.component.html","webpack:///./src/app/squads/squad-list/squad-item.component.html","webpack:///./src/app/squads/squad-list/squad-list.component.html","webpack:///./src/app/squads/squad-overview/squad-overview.component.html","webpack:///./src/app/squads/squads.component.html","webpack:///./src/app/users/new-user/new-user.component.html","webpack:///./src/app/users/user-list/user-item.component.html","webpack:///./src/app/users/user-list/user-list.component.html","webpack:///./src/app/users/user-overview/user-overview.component.html","webpack:///./src/app/users/users.component.html"],"names":[],"mappings":"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","file":"main.bundle.js","sourcesContent":["import {Headers} from \"@angular/http\";\n\nexport class AppConfig {\n\n public readonly apiUrl = '';\n\n public readonly apiAwardPath = '/awardings/';\n public readonly apiDecorationPath = '/decorations/';\n public readonly apiAuthenticationPath = '/authenticate';\n public readonly apiRankPath = '/ranks/';\n public readonly apiSquadPath = '/squads/';\n public readonly apiUserPath = '/users/';\n\n public getAuthenticationHeader() :Headers {\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\n let headers = new Headers();\n headers.append('x-access-token', currentUser.token);\n return headers;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.config.ts","import {Injectable} from \"@angular/core\";\nimport {Headers, Http, RequestMethod} from \"@angular/http\";\nimport {Router} from \"@angular/router\";\nimport {LoginService} from \"./login-service/login-service\";\n\n@Injectable()\nexport class HttpClient {\n\n constructor(private router: Router,\n private loginService: LoginService,\n private http: Http) {\n }\n\n createAuthorizationHeader() {\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\n if (new Date().getTime() <= Date.parse(currentUser.tokenExpireDate)) {\n let headers = new Headers();\n headers.append('x-access-token', currentUser.token);\n return headers;\n } else {\n this.loginService.logout();\n this.router.navigate(['/login'])\n }\n }\n\n get(url, searchParams?) {\n let headers = this.createAuthorizationHeader();\n let options:any = {headers: headers};\n if (searchParams) {\n options.search = searchParams;\n }\n return this.http.get(url, options);\n }\n\n post(url, data) {\n let headers = this.createAuthorizationHeader();\n return this.http.post(url, data, {\n headers: headers\n });\n }\n\n patch(url, data) {\n let headers = this.createAuthorizationHeader();\n return this.http.patch(url, data, {\n headers: headers\n });\n }\n\n delete(url) {\n let headers = this.createAuthorizationHeader();\n return this.http.delete(url, {\n headers: headers\n });\n }\n\n request(requestUrl, options) {\n if (options.method === RequestMethod.Post) {\n return this.post(requestUrl, options.body);\n }\n if (options.method === RequestMethod.Patch) {\n return this.patch(requestUrl, options.body);\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/http-client.ts","import {Injectable} from \"@angular/core\";\nimport {Decoration} from \"../../models/model-interfaces\";\nimport {RequestMethod, RequestOptions, URLSearchParams} from \"@angular/http\";\nimport {Observable} from \"rxjs/Observable\";\nimport {ADD, DecorationStore, EDIT, LOAD, REMOVE} from \"../stores/decoration.store\";\nimport {AppConfig} from \"../../app.config\";\nimport {HttpClient} from \"../http-client\";\n\n\n@Injectable()\nexport class DecorationService {\n\n decorations$: Observable<Decoration[]>;\n\n constructor(private http: HttpClient,\n private decorationStore: DecorationStore,\n private config: AppConfig) {\n this.decorations$ = decorationStore.items$;\n }\n\n\n findDecorations(query = '', fractionFilter?) {\n const searchParams = new URLSearchParams();\n searchParams.append('q', query);\n if (fractionFilter) {\n searchParams.append('fractFilter', fractionFilter);\n }\n\n this.http.get(this.config.apiUrl + this.config.apiDecorationPath, searchParams)\n .map(res => res.json())\n .do((squads) => {\n this.decorationStore.dispatch({type: LOAD, data: squads});\n }).subscribe(_ => {\n });\n\n return this.decorations$;\n }\n\n getDecoration(id: number | string): Observable<Decoration> {\n return this.http.get(this.config.apiUrl + this.config.apiDecorationPath + id)\n .map(res => res.json());\n }\n\n /**\n * For creating new data with POST or\n * update existing with patch PATCH\n */\n submitDecoration(decoration: Decoration, imageFile?) {\n let requestUrl = this.config.apiUrl + this.config.apiDecorationPath;\n let requestMethod: RequestMethod;\n let accessType;\n let body;\n\n if (decoration._id) {\n requestUrl += decoration._id;\n requestMethod = RequestMethod.Patch;\n accessType = EDIT;\n } else {\n requestMethod = RequestMethod.Post;\n accessType = ADD;\n }\n\n if (imageFile) {\n body = new FormData();\n Object.keys(decoration).map((objectKey) => {\n if (decoration[objectKey]) {\n body.append(objectKey, decoration[objectKey]);\n }\n });\n body.append('image', imageFile, imageFile.name);\n } else {\n body = decoration;\n }\n\n\n const options = new RequestOptions({\n body: body,\n method: requestMethod,\n });\n\n return this.http.request(requestUrl, options)\n .map(res => res.json())\n .do(savedDecoration => {\n const action = {type: accessType, data: savedDecoration};\n this.decorationStore.dispatch(action);\n });\n }\n\n\n deleteDecoration(decoration: Decoration) {\n return this.http.delete(this.config.apiUrl + this.config.apiDecorationPath + decoration._id)\n .do(res => {\n this.decorationStore.dispatch({type: REMOVE, data: decoration});\n });\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/decoration-service/decoration.service.ts","import {Injectable} from \"@angular/core\";\nimport {Squad} from \"../../models/model-interfaces\";\nimport {RequestMethod, RequestOptions, URLSearchParams} from \"@angular/http\";\nimport {Observable} from \"rxjs/Observable\";\n\nimport {SquadStore, ADD, EDIT, LOAD, REMOVE} from \"../stores/squad.store\";\nimport {AppConfig} from \"../../app.config\";\nimport {HttpClient} from \"../http-client\";\n\n@Injectable()\nexport class SquadService {\n\n squads$: Observable<Squad[]>;\n\n constructor(private http: HttpClient,\n private squadStore: SquadStore,\n private config: AppConfig) {\n this.squads$ = squadStore.items$;\n }\n\n findSquads(query = '', fractionFilter='') {\n const searchParams = new URLSearchParams();\n searchParams.append('q', query);\n searchParams.append('fractFilter', fractionFilter);\n\n this.http.get(this.config.apiUrl + this.config.apiSquadPath, searchParams)\n .map(res => res.json())\n .do((squads) => {\n this.squadStore.dispatch({type: LOAD, data: squads});\n }).subscribe(_ => {\n });\n\n return this.squads$;\n }\n\n\n getSquad(id: number | string): Observable<Squad> {\n return this.http.get(this.config.apiUrl + this.config.apiSquadPath + id)\n .map(res => res.json());\n }\n\n\n /**\n * For creating new data with POST or\n * update existing with patch PATCH\n */\n submitSquad(squad: Squad, imageFile?) {\n let requestUrl = this.config.apiUrl + this.config.apiSquadPath;\n let requestMethod: RequestMethod;\n let accessType;\n let body;\n\n if (squad._id) {\n requestUrl += squad._id;\n requestMethod = RequestMethod.Patch;\n accessType = EDIT;\n } else {\n requestMethod = RequestMethod.Post;\n accessType = ADD;\n }\n\n if (imageFile) {\n body = new FormData();\n Object.keys(squad).map((objectKey) => {\n if (squad[objectKey]) {\n body.append(objectKey, squad[objectKey]);\n }\n });\n body.append('image', imageFile, imageFile.name);\n } else {\n body = squad;\n }\n\n const options = new RequestOptions({\n body: body,\n method: requestMethod\n });\n\n return this.http.request(requestUrl, options)\n .map(res => res.json())\n .do(savedSquad => {\n const action = {type: accessType, data: savedSquad};\n this.squadStore.dispatch(action);\n });\n }\n\n deleteSquad(squad: Squad) {\n return this.http.delete(this.config.apiUrl + this.config.apiSquadPath + squad._id)\n .do(res => {\n this.squadStore.dispatch({type: REMOVE, data: squad});\n });\n }\n\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/squad-service/squad.service.ts","import {Injectable} from \"@angular/core\";\nimport {User} from \"../../models/model-interfaces\";\nimport {URLSearchParams} from \"@angular/http\";\nimport {Observable} from \"rxjs/Observable\";\nimport {ADD, EDIT, LOAD, REMOVE, UserStore} from \"../stores/user.store\";\nimport {AppConfig} from \"../../app.config\";\nimport {HttpClient} from \"../http-client\";\n\n@Injectable()\nexport class UserService {\n\n users$: Observable<User[]>;\n\n constructor(private http: HttpClient,\n private userStore: UserStore,\n private config: AppConfig) {\n this.users$ = userStore.items$;\n }\n\n findUsers(query = '', fractionFilter?) {\n const searchParams = new URLSearchParams();\n searchParams.append('q', query);\n if (fractionFilter) {\n searchParams.append('fractFilter', fractionFilter);\n }\n this.http.get(this.config.apiUrl + this.config.apiUserPath, searchParams)\n .map(res => res.json())\n .do((users) => {\n this.userStore.dispatch({type: LOAD, data: users});\n }).subscribe(_ => {\n });\n\n return this.users$;\n }\n\n getUser(_id: number | string): Observable<User> {\n return this.http.get(this.config.apiUrl + this.config.apiUserPath + _id)\n .map(res => res.json());\n }\n\n submitUser(user) {\n return this.http.post(this.config.apiUrl + this.config.apiUserPath, user)\n .map(res => res.json())\n .do(savedUser => {\n const action = {type: ADD, data: savedUser};\n this.userStore.dispatch(action);\n });\n }\n\n updateUser(user) {\n return this.http.patch(this.config.apiUrl + this.config.apiUserPath + user._id, user)\n .map(res => res.json())\n .do(savedUser => {\n const action = {type: EDIT, data: savedUser};\n this.userStore.dispatch(action);\n });\n }\n\n deleteUser(user) {\n return this.http.delete(this.config.apiUrl + this.config.apiUserPath + user._id)\n .do(res => {\n this.userStore.dispatch({type: REMOVE, data: user});\n });\n }\n\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/user-service/user.service.ts","import {Inject, Injectable, Optional} from \"@angular/core\";\nimport {Http, Response} from \"@angular/http\";\nimport \"rxjs/add/operator/map\";\n\nimport {AppConfig} from \"../../app.config\";\nimport {AUTH_ENABLED} from \"../../app.tokens\";\n\n@Injectable()\nexport class LoginService {\n constructor(@Optional() @Inject(AUTH_ENABLED) public authEnabled = false,\n private http: Http,\n private config: AppConfig) {\n }\n\n login(username: string, password: string) {\n return this.http.post(this.config.apiUrl + this.config.apiAuthenticationPath, {username: username, password: password})\n .map((response: Response) => {\n // login successful if there's a jwt token in the response\n let user = response.json();\n if (user && user.token) {\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n localStorage.setItem('currentUser', JSON.stringify(user));\n }\n });\n }\n\n logout() {\n // remove user from local storage\n localStorage.removeItem('currentUser');\n }\n\n isLoggedIn() {\n return !this.authEnabled || localStorage.getItem('currentUser') != null;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/login-service/login-service.ts","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"h3 {\\n margin-left: 4%;\\n margin-top: 60px;\\n}\\n\\n.overview {\\n position:fixed;\\n overflow-y:scroll;\\n overflow-x:hidden;\\n bottom: 10px;\\n width: 100%;\\n border-left: thin solid lightgrey;\\n padding-left: 10px;\\n padding-top: 20px;\\n margin-left: 10px;\\n height: 100vh;\\n}\\n\\n.fraction-blufor {\\n font-size: large;\\n color: mediumblue;\\n font-weight: bold;\\n}\\n\\n.fraction-opfor {\\n font-size: large;\\n color: red;\\n font-weight: bold;\\n}\\n\\n.div-table {\\n display: table;\\n border-radius: 10px;\\n margin-left: 8%;\\n width: auto;\\n background-color: rgba(240, 248, 255, 0.29);\\n border-spacing: 5px; /* cellspacing:poor IE support for this */\\n}\\n\\n.div-table-row {\\n display: table-row;\\n width: auto;\\n clear: both;\\n}\\n\\n.div-table-col {\\n float: left; /* fix for buggy browsers */\\n display: table-column;\\n padding: 5px 15px 5px 15px;\\n}\\n\\n.div-table-head {\\n font-weight: bold;\\n}\\n\\n.content {\\n font-size: large;\\n}\\n\\n.content-xs {\\n width: 100px;\\n}\\n\\n.content-s {\\n width: 150px;\\n}\\n\\n.content-m {\\n width: 200px;\\n}\\n\\n.content-m-flex {\\n min-width: 200px;\\n max-width: 600px;\\n}\\n\\n.content-l {\\n width: 300px;\\n}\\n\\n.content-xl {\\n width: 350px;\\n}\\n\\n.content-xxl {\\n width: 500px;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/style/overview.css\n// module id = 45\n// module chunks = 1","import {OpaqueToken} from '@angular/core';\n\nexport const AUTH_ENABLED = new OpaqueToken('AUTH_ENABLED');\n\nexport const SOCKET_IO = new OpaqueToken('socket-io');\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.tokens.ts","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\n@Injectable()\nexport class LoginGuard implements CanActivate {\n\n constructor(private router: Router) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n if (localStorage.getItem('currentUser')) {\n // logged in so return true\n return true;\n }\n\n // not logged in so redirect to login page with the return url\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url }});\n return false;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/login/login.guard.ts","import {Injectable} from \"@angular/core\";\nimport {Decoration, Rank} from \"../../models/model-interfaces\";\nimport {RequestMethod, RequestOptions, URLSearchParams} from \"@angular/http\";\nimport {Observable} from \"rxjs/Observable\";\nimport {LOAD} from \"../stores/decoration.store\";\nimport {EDIT, RankStore} from \"../stores/rank.store\";\nimport {AppConfig} from \"../../app.config\";\nimport {HttpClient} from \"../http-client\";\n\n\n@Injectable()\nexport class RankService {\n\n ranks$: Observable<Rank[]>;\n\n constructor(private http: HttpClient,\n private rankStore: RankStore,\n private config: AppConfig) {\n this.ranks$ = rankStore.items$;\n }\n\n\n findRanks(query = '', fractionFilter?) {\n const searchParams = new URLSearchParams();\n searchParams.append('q', query);\n if (fractionFilter) {\n searchParams.append('fractFilter', fractionFilter);\n }\n\n this.http.get(this.config.apiUrl + this.config.apiRankPath, searchParams)\n .map(res => res.json())\n .do((squads) => {\n this.rankStore.dispatch({type: LOAD, data: squads});\n }).subscribe(_ => {\n });\n\n return this.ranks$;\n }\n\n getRank(id: number | string): Observable<Decoration> {\n return this.http.get(this.config.apiUrl + this.config.apiRankPath + id)\n .map(res => res.json());\n }\n\n /**\n * send PATCH request to update db entry\n *\n * @param rank - Rank object with data to update, must contain _id\n * @returns {Observable<T>}\n */\n updateRank(rank: Rank) {\n const options = new RequestOptions({\n body: rank,\n method: RequestMethod.Patch\n });\n\n return this.http.request(this.config.apiUrl + this.config.apiRankPath + rank._id, options)\n .map(res => res.json())\n .do(savedRank => {\n const action = {type: EDIT, data: savedRank};\n this.rankStore.dispatch(action);\n });\n }\n\n /**\n * sends PATCH with multiform data to\n * update rank graphic with newly provided file\n *\n * @param rankID - id of rank to be updated\n * @param imageFile - new image file to upload\n */\n updateRankGraphic(rankId: string, imageFile: File) {\n let formData: FormData = new FormData();\n formData.append('_id', rankId);\n formData.append('image', imageFile, imageFile.name);\n\n // provide token as query value, because there is no actual body\n // and x-access-token is ignored in multipart request\n return this.http.patch(this.config.apiUrl + this.config.apiRankPath + rankId, formData)\n .map(res => res.json())\n .do(savedDecoration => {\n const action = {type: EDIT, data: savedDecoration};\n this.rankStore.dispatch(action);\n });\n }\n\n\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/rank-service/rank.service.ts","import {BehaviorSubject} from 'rxjs/BehaviorSubject';\nimport {Decoration, Squad, User} from '../../models/model-interfaces';\n\nexport const LOAD = 'LOAD';\nexport const ADD = 'ADD';\nexport const EDIT = 'EDIT';\nexport const REMOVE = 'REMOVE';\n\nexport class DecorationStore {\n\n private decorations: Decoration[] = [];\n\n items$ = new BehaviorSubject<Decoration[]>([]);\n\n dispatch(action) {\n this.decorations = this._reduce(this.decorations, action);\n this.items$.next(this.decorations);\n }\n\n _reduce(decorations: Decoration[], action) {\n switch (action.type) {\n case LOAD:\n return [...action.data];\n case ADD:\n return [...decorations, action.data];\n case EDIT:\n return decorations.map(decoration => {\n const editedDecoration = action.data;\n if (decoration._id !== editedDecoration._id) {\n return decoration;\n }\n return editedDecoration;\n });\n case REMOVE:\n return decorations.filter(decoration => decoration._id !== action.data._id);\n default:\n return decorations;\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/stores/decoration.store.ts","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"h3 {\\n margin-left: -20px;\\n}\\n\\nlabel {\\n display: block;\\n}\\n\\n.ng-touched.ng-invalid {\\n border-color: red;\\n}\\n\\n.overview {\\n position: fixed;\\n width: 25%;\\n border-left: thin solid lightgrey;\\n padding-left: 50px;\\n padding-top: 20px;\\n margin-left: 10px;\\n height: 100vh;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/style/new-entry-form.css\n// module id = 72\n// module chunks = 1","import {Component} from \"@angular/core\";\n\n@Component({\n selector: 'decorations',\n templateUrl: './decoration.component.html',\n styleUrls: ['./decoration.component.css']\n})\nexport class DecorationComponent {\n constructor() {\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/decorations/decoration.component.ts","import {Injectable} from \"@angular/core\";\nimport {User} from \"../../models/model-interfaces\";\nimport {Headers, Http} from \"@angular/http\";\nimport {Observable} from \"rxjs/Observable\";\nimport {AppConfig} from \"../../app.config\";\nimport {HttpClient} from \"../http-client\";\n\n@Injectable()\nexport class AwardingService {\n\n users$: Observable<User[]>;\n\n\n constructor(private http: HttpClient,\n private config: AppConfig) {\n }\n\n /**\n * get awards array with populated decorations\n */\n getUserAwardings(userId: string) {\n return this.http.get(this.config.apiUrl + this.config.apiAwardPath + '?userId=' + userId)\n }\n\n addAwarding(award) {\n return this.http.post(this.config.apiUrl + this.config.apiAwardPath, award)\n }\n\n deleteAwarding(awardingId) {\n return this.http.delete(this.config.apiUrl + this.config.apiAwardPath + awardingId)\n }\n\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/awarding-service/awarding.service.ts","import {BehaviorSubject} from 'rxjs/BehaviorSubject';\nimport {Decoration, Rank, Squad, User} from '../../models/model-interfaces';\n\nexport const LOAD = 'LOAD';\nexport const ADD = 'ADD';\nexport const EDIT = 'EDIT';\nexport const REMOVE = 'REMOVE';\n\nexport class RankStore {\n\n private ranks: Rank[] = [];\n\n items$ = new BehaviorSubject<Rank[]>([]);\n\n dispatch(action) {\n this.ranks = this._reduce(this.ranks, action);\n this.items$.next(this.ranks);\n }\n\n _reduce(ranks: Rank[], action) {\n switch (action.type) {\n case LOAD:\n return [...action.data];\n case ADD:\n return [...ranks, action.data];\n case EDIT:\n return ranks.map(decoration => {\n const editedRank = action.data;\n if (decoration._id !== editedRank._id) {\n return decoration;\n }\n return editedRank;\n });\n case REMOVE:\n return ranks.filter(decoration => decoration._id !== action.data._id);\n default:\n return ranks;\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/stores/rank.store.ts","import {BehaviorSubject} from 'rxjs/BehaviorSubject';\nimport {Squad} from '../../models/model-interfaces';\n\nexport const LOAD = 'LOAD';\nexport const ADD = 'ADD';\nexport const EDIT = 'EDIT';\nexport const REMOVE = 'REMOVE';\n\nexport class SquadStore {\n\n private squads: Squad[] = [];\n\n items$ = new BehaviorSubject<Squad[]>([]);\n\n dispatch(action) {\n this.squads = this._reduce(this.squads, action);\n this.items$.next(this.squads);\n }\n\n _reduce(squads: Squad[], action) {\n switch (action.type) {\n case LOAD:\n return [...action.data];\n case ADD:\n return [...squads, action.data];\n case EDIT:\n return squads.map(squad => {\n const editedSquad = action.data;\n if (squad._id !== editedSquad._id) {\n return squad;\n }\n return editedSquad;\n });\n case REMOVE:\n return squads.filter(squad => squad._id !== action.data._id);\n default:\n return squads;\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/stores/squad.store.ts","import {BehaviorSubject} from 'rxjs/BehaviorSubject';\nimport {User} from '../../models/model-interfaces';\n\nexport const LOAD = 'LOAD';\nexport const ADD = 'ADD';\nexport const EDIT = 'EDIT';\nexport const REMOVE = 'REMOVE';\n\nexport class UserStore {\n\n private users: User[] = [];\n\n items$ = new BehaviorSubject<User[]>([]);\n\n dispatch(action) {\n this.users = this._reduce(this.users, action);\n this.items$.next(this.users);\n }\n\n _reduce(users: User[], action) {\n switch (action.type) {\n case LOAD:\n return [...action.data];\n case ADD:\n return [...users, action.data];\n case EDIT:\n return users.map(user => {\n const editedUser = action.data;\n if (user._id !== editedUser._id) {\n return user;\n }\n return editedUser;\n });\n case REMOVE:\n return users.filter(user => user._id !== action.data._id);\n default:\n return users;\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/stores/user.store.ts","function webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 120;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src async\n// module id = 120\n// module chunks = 1","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\n\nimport 'rxjs/add/observable/of';\nimport 'rxjs/add/operator/retryWhen';\nimport 'rxjs/add/observable/fromEvent';\nimport 'rxjs/add/observable/from';\nimport 'rxjs/add/observable/range';\nimport 'rxjs/add/observable/timer';\nimport 'rxjs/add/observable/merge';\nimport 'rxjs/add/observable/interval';\n\nimport 'rxjs/add/operator/filter';\nimport 'rxjs/add/operator/debounceTime';\nimport 'rxjs/add/operator/distinctUntilChanged';\nimport 'rxjs/add/operator/mergeMap';\nimport 'rxjs/add/operator/switchMap';\nimport 'rxjs/add/operator/do';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/retry';\nimport 'rxjs/add/operator/bufferCount';\nimport 'rxjs/add/operator/bufferTime';\nimport 'rxjs/add/operator/take';\nimport 'rxjs/add/operator/delay';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","import {Component, Inject, Optional} from '@angular/core';\nimport {\n Router,\n NavigationEnd,\n ActivatedRoute,\n} from '@angular/router';\nimport {LoginService} from './services/login-service/login-service';\nimport {Title} from '@angular/platform-browser';\nimport {AUTH_ENABLED} from './app.tokens';\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n styleUrls: ['app.component.css']\n})\nexport class AppComponent {\n\n defaultTitle: string;\n\n constructor(@Optional() @Inject(AUTH_ENABLED) public authEnabled,\n private loginService: LoginService,\n private activatedRoute: ActivatedRoute,\n private router: Router,\n private titleService: Title) {\n }\n\n\n ngOnInit() {\n this.defaultTitle = this.titleService.getTitle();\n this.router.events\n .filter(event => event instanceof NavigationEnd)\n .subscribe(event => {\n this.setBrowserTitle();\n })\n }\n\n setBrowserTitle() {\n let title = this.defaultTitle;\n let route = this.activatedRoute;\n // firstChild gibt die Haupt-Kindroute der übergebenen Route zurück\n while (route.firstChild) {\n route = route.firstChild;\n title = route.snapshot.data['title'] || title;\n }\n this.titleService.setTitle(title);\n }\n\n logout() {\n this.loginService.logout();\n this.router.navigate(['login']);\n return false;\n }\n\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import {NgModule} from '@angular/core';\nimport {Title, BrowserModule} from \"@angular/platform-browser\";\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {HttpModule} from '@angular/http';\nimport {AppComponent} from './app.component';\nimport {LoginService} from \"./services/login-service/login-service\";\nimport {UserStore} from \"./services/stores/user.store\";\nimport {ShowErrorComponent} from './show-error/show-error.component';\nimport {APPLICATION_VALIDATORS} from './models/app-validators';\nimport {appRouting, routingComponents, routingProviders} from './app.routing';\nimport {AUTH_ENABLED} from './app.tokens';\nimport {UserService} from \"./services/user-service/user.service\";\nimport {UserItemComponent} from \"./users/user-list/user-item.component\";\nimport {SquadService} from \"./services/squad-service/squad.service\";\nimport {SquadStore} from \"./services/stores/squad.store\";\nimport {DecorationStore} from \"./services/stores/decoration.store\";\nimport {DecorationService} from \"./services/decoration-service/decoration.service\";\nimport {SquadItemComponent} from \"./squads/squad-list/squad-item.component\";\nimport {DecorationComponent} from \"./decorations/decoration.component\";\nimport {RankItemComponent} from \"./ranks/rank-list/rank-item.component\";\nimport {RankStore} from \"./services/stores/rank.store\";\nimport {RankService} from \"./services/rank-service/rank.service\";\nimport {DecorationItemComponent} from \"./decorations/decoration-list/decoration-item.component\";\nimport {AppConfig} from \"./app.config\";\nimport {LoginGuard} from \"./login/login.guard\";\nimport {AwardingService} from \"./services/awarding-service/awarding.service\";\nimport {HttpClient} from \"./services/http-client\";\n\n@NgModule({\n imports: [BrowserModule, FormsModule, ReactiveFormsModule, appRouting, HttpModule],\n providers: [\n HttpClient,\n LoginService,\n LoginGuard,\n UserService,\n UserStore,\n SquadService,\n SquadStore,\n DecorationService,\n DecorationStore,\n RankService,\n RankStore,\n AwardingService,\n AppConfig,\n Title,\n routingProviders,\n {provide: AUTH_ENABLED, useValue: true}\n ],\n declarations: [\n AppComponent,\n routingComponents,\n DecorationComponent,\n DecorationItemComponent,\n RankItemComponent,\n UserItemComponent,\n SquadItemComponent,\n ShowErrorComponent,\n APPLICATION_VALIDATORS],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import {Routes, RouterModule} from '@angular/router';\nimport {LoginComponent} from './login/index';\nimport {NotFoundComponent} from './not-found/not-found.component';\nimport {LoginGuard} from './login/login.guard';\nimport {usersRoutes, usersRoutingComponents} from \"./users/users.routing\";\nimport {squadsRoutes, squadsRoutingComponents} from \"./squads/squads.routing\";\nimport {decorationsRoutes, decorationsRoutingComponents} from \"./decorations/decoration.routing\";\nimport {ranksRoutes, ranksRoutingComponents} from \"./ranks/ranks.routing\";\n\n\nexport const appRoutes: Routes = [\n\n {path: 'login', component: LoginComponent},\n {path: 'cc-users', children: usersRoutes, canActivate: [LoginGuard]},\n {path: '', redirectTo: '/cc-users', pathMatch: 'full'},\n\n {path: 'cc-squads', children: squadsRoutes, canActivate: [LoginGuard]},\n {path: 'cc-decorations', children: decorationsRoutes, canActivate: [LoginGuard]},\n {path: 'cc-ranks', children: ranksRoutes, canActivate: [LoginGuard]},\n\n\n /** Redirect Konfigurationen **/\n\n\n {path: '404', component: NotFoundComponent},\n\n {path: '**', redirectTo: '/404'}, // immer als letztes konfigurieren - erste Route die matched wird angesteuert\n];\n\nexport const appRouting = RouterModule.forRoot(appRoutes);\n\nexport const routingComponents = [LoginComponent, NotFoundComponent, ...usersRoutingComponents,\n ...squadsRoutingComponents, ...decorationsRoutingComponents, ...ranksRoutingComponents];\n\nexport const routingProviders = [LoginGuard];\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.routing.ts","import {ChangeDetectionStrategy, Component, EventEmitter} from \"@angular/core\";\nimport {Router} from \"@angular/router\";\nimport {Decoration} from \"../../models/model-interfaces\";\n\n@Component({\n selector: 'pjm-decoration-item',\n templateUrl: './decoration-item.component.html',\n styleUrls: ['./decoration-item.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['decoration', 'selected'],\n outputs: ['decorationSelected'],\n})\nexport class DecorationItemComponent {\n\n selected: boolean;\n decoration: Decoration;\n\n decorationSelected = new EventEmitter();\n\n\n constructor(private router: Router) {\n\n }\n\n select() {\n this.decorationSelected.emit(this.decoration._id)\n }\n\n ngAfterViewChecked() {\n //var taskId = (this.task ? this.task.id : '');\n // console.log(`Task ${taskId} checked ${++this.checkCounter} times`)\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/decorations/decoration-list/decoration-item.component.ts","import {Component, OnInit} from \"@angular/core\";\nimport {Location} from \"@angular/common\";\n\nimport {FormControl} from \"@angular/forms\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {Observable} from \"rxjs/Observable\";\nimport {Decoration} from \"../../models/model-interfaces\";\nimport {DecorationService} from \"../../services/decoration-service/decoration.service\";\n\n@Component({\n selector: 'decoration-list',\n templateUrl: './decoration-list.component.html',\n styleUrls: ['./decoration-list.component.css']\n})\nexport class DecorationListComponent implements OnInit {\n\n selectedDecorationId: string | number = null;\n\n decorations$: Observable<Decoration[]>;\n\n searchTerm = new FormControl();\n\n fractionRadioSelect: string;\n\n constructor(private decorationService: DecorationService,\n private router: Router,\n private route: ActivatedRoute,\n private location: Location) {\n }\n\n ngOnInit() {\n\n this.decorations$ = this.decorationService.decorations$;\n\n const paramsStream = this.route.queryParams\n .map(params => decodeURI(params['query'] || ''))\n .do(query => this.searchTerm.setValue(query));\n\n const searchTermStream = this.searchTerm.valueChanges\n .debounceTime(400)\n .do(query => this.adjustBrowserUrl(query));\n\n Observable.merge(paramsStream, searchTermStream)\n .distinctUntilChanged()\n .switchMap(query => this.decorationService.findDecorations(query, this.fractionRadioSelect))\n .subscribe();\n\n }\n\n openNewSquadForm() {\n this.router.navigate([{outlets: {'right': ['new']}}], {relativeTo: this.route});\n }\n\n selectDecoration(decorationId: string | number) {\n this.selectedDecorationId = decorationId;\n this.router.navigate([{outlets: {'right': ['overview', decorationId]}}], {relativeTo: this.route});\n }\n\n filterSquadsByFraction(query = '', fractionFilter) {\n this.decorations$ = this.decorationService.findDecorations(query, fractionFilter);\n }\n\n adjustBrowserUrl(queryString = '') {\n const absoluteUrl = this.location.path().split('?')[0];\n const queryPart = queryString !== '' ? `query=${queryString}` : '';\n\n this.location.replaceState(absoluteUrl, queryPart);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/decorations/decoration-list/decoration-list.component.ts","import {Component} from \"@angular/core\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {Decoration} from \"../../models/model-interfaces\";\nimport {DecorationService} from \"../../services/decoration-service/decoration.service\";\n\n@Component({\n templateUrl: './decoration-overview.component.html',\n styleUrls: ['./decoration-overview.component.css', '../../style/overview.css'],\n})\nexport class DecorationOverviewComponent {\n\n id: string;\n\n showSuccessLabel = false;\n\n showImageError = false;\n\n decoration: Decoration;\n\n fileList: FileList;\n\n previewImage;\n\n constructor(private router: Router,\n private route: ActivatedRoute,\n private decorationService: DecorationService) {\n }\n\n ngOnInit() {\n this.route.params.subscribe((params) => {\n this.decorationService.getDecoration(params['id']).subscribe(decoration => {\n this.decoration = decoration;\n this.previewImage = 'resource/decoration/' + this.decoration._id + '.png?' + Date.now();\n })\n })\n }\n\n // register file change and save to fileList\n fileChange(event) {\n if (!event.target.files[0].name.endsWith('.png')) {\n this.showImageError = true;\n this.fileList = undefined;\n } else {\n this.showImageError = false;\n this.fileList = event.target.files;\n }\n }\n\n update(attrName, inputField) {\n const inputValue = inputField.value;\n if (inputValue.length > 0 && (this.decoration[attrName] !== inputValue || attrName === 'description')) {\n const updateObject = {_id: this.decoration._id};\n updateObject[attrName] = inputValue;\n this.decorationService.submitDecoration(updateObject)\n .subscribe(decoration => {\n this.decoration = decoration;\n if (attrName != 'description') {\n inputField.value = '';\n }\n this.showSuccessLabel = true;\n setTimeout(() => {\n this.showSuccessLabel = false;\n }, 2000)\n })\n }\n }\n\n updateGraphic(fileInput) {\n if (this.fileList && this.fileList.length > 0) {\n let file: File = this.fileList[0];\n this.decorationService.submitDecoration({_id: this.decoration._id}, file)\n .subscribe((res) => {\n setTimeout(() => {\n this.previewImage = 'resource/decoration/' + this.decoration._id + '.png?' + Date.now();\n }, 300);\n fileInput.value = '';\n this.showSuccessLabel = true;\n setTimeout(() => {\n this.showSuccessLabel = false;\n }, 2000)\n })\n }\n }\n\n deleteDecoration(confirm) {\n if (confirm.toLowerCase() === this.decoration.name.toLocaleLowerCase()) {\n this.decorationService.deleteDecoration(this.decoration)\n .subscribe((res) => {\n this.router.navigate(['../..'], {relativeTo: this.route});\n })\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/decorations/decoration-overview/decoration-overview.component.ts","import {Routes} from \"@angular/router\";\nimport {DecorationComponent} from \"./decoration.component\";\nimport {DecorationListComponent} from \"./decoration-list/decoration-list.component\";\nimport {CreateDecorationComponent} from \"./new-decoration/new-decoration.component\";\nimport {DecorationOverviewComponent} from \"./decoration-overview/decoration-overview.component\";\n\nexport const decorationsRoutes: Routes = [{\n path: '', component: DecorationComponent,\n children: [\n {\n path: '',\n component: DecorationListComponent\n }\n ]\n},\n {\n path: 'new',\n component: CreateDecorationComponent,\n outlet: 'right'\n },\n {\n path: 'overview/:id',\n component: DecorationOverviewComponent,\n outlet: 'right'\n }];\n\nexport const decorationsRoutingComponents = [DecorationComponent, DecorationListComponent, DecorationOverviewComponent, CreateDecorationComponent];\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/decorations/decoration.routing.ts","import {Component, ViewChild} from \"@angular/core\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {NgForm} from \"@angular/forms\";\nimport * as model from \"../../models/model-interfaces\";\nimport {Decoration} from \"../../models/model-interfaces\";\nimport {DecorationService} from \"../../services/decoration-service/decoration.service\";\n\n@Component({\n templateUrl: './new-decoration.component.html',\n styleUrls: ['./new-decoration.component.css', '../../style/new-entry-form.css']\n})\nexport class CreateDecorationComponent {\n\n decoration: Decoration = {name: '', fraction: '', sortingNumber: 0};\n\n fileList: FileList;\n\n saved = false;\n\n showImageError = false;\n\n @ViewChild(NgForm) form: NgForm;\n\n constructor(private route: ActivatedRoute,\n private router: Router,\n private decorationService: DecorationService) {\n }\n\n ngOnInit() {\n\n }\n\n fileChange(event) {\n if (!event.target.files[0].name.endsWith('.png')) {\n this.showImageError = true;\n this.fileList = undefined;\n } else {\n this.showImageError = false;\n this.fileList = event.target.files;\n }\n }\n\n saveDecoration() {\n if (this.fileList) {\n let file: File = this.fileList[0];\n this.decorationService.submitDecoration(this.decoration, file)\n .subscribe(decoration => {\n this.saved = true;\n this.router.navigate(['../overview', decoration._id], {relativeTo: this.route});\n })\n } else {\n return window.alert(`Bild ist ein Pflichtfeld`);\n }\n }\n\n cancel() {\n //this.location.back();\n this.router.navigate(['/cc-decorations']);\n return false;\n }\n\n canDeactivate(): boolean {\n if (this.saved || !this.form.dirty) {\n return true;\n }\n return window.confirm(`Ihr Formular besitzt ungespeicherte Änderungen, möchten Sie die Seite wirklich verlassen?`);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/decorations/new-decoration/new-decoration.component.ts","export * from './login.component';\nexport * from './login.guard';\n\n\n// WEBPACK FOOTER //\n// ./src/app/login/index.ts","import {Component, OnInit} from \"@angular/core\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {LoginService} from \"../services/login-service/login-service\";\n\n\n@Component({\n moduleId: module.id,\n templateUrl: 'login.component.html',\n styleUrls: ['login.component.css']\n})\n\nexport class LoginComponent implements OnInit {\n\n showErrorLabel = false;\n\n loading = false;\n\n returnUrl: string;\n\n constructor(private route: ActivatedRoute,\n private router: Router,\n private loginService: LoginService) {\n }\n\n ngOnInit() {\n // reset login status\n this.loginService.logout();\n // get return url from route parameters or default to '/'\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\n }\n\n login(username: string, password: string) {\n if (username.length > 0 && password.length > 0) {\n this.loading = true;\n this.loginService.login(username, password)\n .subscribe(\n data => {\n this.router.navigate([this.returnUrl]);\n },\n error => {\n this.showErrorLabel = true;\n setTimeout(() => {\n this.showErrorLabel = false;\n }, 4000)\n this.loading = false;\n });\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/login/login.component.ts","import {Directive, forwardRef} from '@angular/core';\nimport {\n FormControl,\n AbstractControl,\n NG_VALIDATORS, NG_ASYNC_VALIDATORS\n} from '@angular/forms';\nimport {UserService} from \"../services/user-service/user.service\";\nimport {Observable} from \"rxjs\";\n\nexport function asyncIfNotBacklogThenAssignee(control): Promise<any> {\n const promise = new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(ifNotBacklogThanAssignee(control));\n }, 500);\n });\n return promise;\n}\n\nexport function ifNotBacklogThanAssignee(formGroup: FormControl): { [key: string]: any } {\n const nameControl = formGroup.get('assignee.name');\n const stateControl = formGroup.get('state');\n if (!nameControl || !stateControl) {\n return null;\n }\n if (stateControl.value !== 'BACKLOG' &&\n (!nameControl.value || nameControl.value === '')) {\n return {'assigneeRequired': true};\n }\n return null;\n}\n\n@Directive({\n selector: '[ifNotBacklogThanAssignee]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: IfNotBacklogThanAssigneeValidatorDirective, multi: true\n }]\n})\nexport class IfNotBacklogThanAssigneeValidatorDirective {\n\n public validate(formGroup: AbstractControl): { [key: string]: any } {\n const nameControl = formGroup.get('assignee.name');\n const stateControl = formGroup.get('state');\n if (!nameControl || !stateControl) {\n return null;\n }\n if (stateControl.value !== 'BACKLOG' &&\n (!nameControl.value || nameControl.value === '')) {\n return {'assigneeRequired': true};\n }\n return null;\n }\n}\n\n@Directive({\n selector: '[emailValidator]',\n providers: [{\n provide: NG_VALIDATORS,\n useExisting: EmailValidatorDirective, multi: true\n }]\n})\nexport class EmailValidatorDirective {\n validate(control: AbstractControl): { [key: string]: any } {\n const re = /^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$/i;\n if (!control.value || control.value === '' || re.test(control.value)) {\n return null;\n } else {\n return {'invalidEMail': true};\n }\n }\n}\n\nexport function emailValidator(control): { [key: string]: any } {\n return new EmailValidatorDirective().validate(control);\n}\n\nexport function emailValidator2(control): { [key: string]: any } {\n const re = /^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$/i;\n if (!control.value || control.value === '' || re.test(control.value)) {\n return null;\n } else {\n return {'invalidEMail': true};\n }\n}\n\n@Directive({\n selector: '[pjmUserExistsValidator]',\n providers: [\n {\n provide: NG_ASYNC_VALIDATORS,\n useExisting: forwardRef(() => UserExistsValidatorDirective), multi: true\n }\n ]\n})\nexport class UserExistsValidatorDirective {\n constructor(private userService: UserService) {\n }\n\n // validate(control: AbstractControl): Observable<any> {\n // return this.userService.checkUserExists(control.value)\n // .map(userExists => {\n // return (userExists === false) ? {userNotFound: true} : null;\n // });\n // }\n}\n\n@Directive({\n selector: '[emailValidator]',\n providers: [\n {provide: NG_VALIDATORS, useValue: emailValidator, multi: true}\n ]\n})\nexport class EmailValidatorWithFunctionDirective {\n}\n\n\nexport const APPLICATION_VALIDATORS = [IfNotBacklogThanAssigneeValidatorDirective,\n EmailValidatorDirective];\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/app-validators.ts","export interface User {\n _id?: string;\n boardUserId?: number;\n username?: string;\n squad?: Squad;\n rank?: Rank;\n awards?: Award[];\n}\n\nexport interface Squad {\n _id?: string;\n name?: string;\n fraction?: string;\n sortingNumber?: number;\n}\n\nexport interface Rank {\n _id?: string;\n name?: string;\n fraction?: string;\n level?: number;\n}\n\nexport interface Award {\n _id?: string,\n userId: string,\n decorationId?: Decoration;\n reason?: string;\n date?: number; // since Date.now() returns a number\n confirmed?: boolean;\n}\n\nexport interface Decoration {\n _id?: string;\n name?: string;\n description?: string;\n fraction?: string;\n sortingNumber?: number;\n isMedal?: boolean;\n}\n\nexport interface Tag {\n label: string;\n}\nexport interface Assignee {\n name?: string;\n email?: string;\n}\nexport interface Task {\n id?: number;\n title?: string;\n description?: string;\n tags?: Tag[];\n favorite?: boolean;\n state?: string;\n assignee?: Assignee;\n}\n\nexport const states = ['BACKLOG', 'IN_PROGRESS', 'TEST', 'COMPLETED'];\n\nexport function createInitialTask(): Task {\n return {\n assignee: {},\n tags: [],\n state: states[0]\n };\n}\n\n\nexport const stateGroups = [\n {\n label: 'Planung',\n states: ['BACKLOG']\n },\n {\n label: 'Entwicklung',\n states: ['IN_PROGRESS', 'TEST']\n },\n {\n label: 'In Produktion',\n states: ['COMPLETED']\n }\n];\n\nexport const stateTexts = {\n 'BACKLOG': 'Backlog',\n 'IN_PROGRESS': 'In Bearbeitung',\n 'TEST': 'Im Test',\n 'COMPLETED': 'Abgeschlossen'\n};\n\nexport const statesAsObjects = [{name: 'BACKLOG', text: 'Backlog'},\n {name: 'IN_PROGRESS', text: 'In Bearbeitung'},\n {name: 'TEST', text: 'Test'},\n {name: 'COMPLETED', text: 'Abgeschlossen'}];\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/models/model-interfaces.ts","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'app-not-found',\n templateUrl: 'not-found.component.html',\n styleUrls: ['not-found.component.css']\n})\nexport class NotFoundComponent implements OnInit {\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/not-found/not-found.component.ts","import {ChangeDetectionStrategy, Component, EventEmitter} from \"@angular/core\";\nimport {Router} from \"@angular/router\";\nimport {Rank} from \"../../models/model-interfaces\";\n\n@Component({\n selector: 'pjm-rank-item',\n templateUrl: './rank-item.component.html',\n styleUrls: ['./rank-item.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['rank', 'selected'],\n outputs: ['rankSelected', 'rankDelete'],\n})\nexport class RankItemComponent {\n\n selected: boolean;\n rank: Rank;\n\n rankSelected = new EventEmitter();\n rankDelete = new EventEmitter();\n\n constructor(private router: Router) {\n\n }\n\n select() {\n this.rankSelected.emit(this.rank._id)\n }\n\n delete() {\n this.rankSelected.emit(this.rank);\n }\n\n ngAfterViewChecked() {\n //var taskId = (this.task ? this.task.id : '');\n // console.log(`Task ${taskId} checked ${++this.checkCounter} times`)\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/ranks/rank-list/rank-item.component.ts","import {Component, OnInit} from \"@angular/core\";\nimport {Location} from \"@angular/common\";\n\nimport {FormControl} from \"@angular/forms\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {Observable} from \"rxjs/Observable\";\nimport {Rank} from \"../../models/model-interfaces\";\nimport {RankService} from \"../../services/rank-service/rank.service\";\n\n@Component({\n selector: 'rank-list',\n templateUrl: './rank-list.component.html',\n styleUrls: ['./rank-list.component.css']\n})\nexport class RankListComponent implements OnInit {\n\n selectedRankId: string | number = null;\n\n ranks$: Observable<Rank[]>;\n\n searchTerm = new FormControl();\n\n fractionRadioSelect: string;\n\n constructor(private rankService: RankService,\n private router: Router,\n private route: ActivatedRoute,\n private location: Location) {\n }\n\n ngOnInit() {\n\n this.ranks$ = this.rankService.ranks$;\n\n const paramsStream = this.route.queryParams\n .map(params => decodeURI(params['query'] || ''))\n .do(query => this.searchTerm.setValue(query));\n\n const searchTermStream = this.searchTerm.valueChanges\n .debounceTime(400)\n .do(query => this.adjustBrowserUrl(query));\n\n Observable.merge(paramsStream, searchTermStream)\n .distinctUntilChanged()\n .switchMap(query => this.rankService.findRanks(query, this.fractionRadioSelect))\n .subscribe();\n\n }\n\n openNewRankForm() {\n this.router.navigate([{outlets: {'right': ['new']}}], {relativeTo: this.route});\n }\n\n selectRank(rankId: string | number) {\n this.selectedRankId = rankId;\n this.router.navigate([{outlets: {'right': ['overview', rankId]}}], {relativeTo: this.route});\n }\n\n filterRanksByFraction(query = '', fractionFilter) {\n this.ranks$ = this.rankService.findRanks(query, fractionFilter);\n }\n\n adjustBrowserUrl(queryString = '') {\n const absoluteUrl = this.location.path().split('?')[0];\n const queryPart = queryString !== '' ? `query=${queryString}` : '';\n\n this.location.replaceState(absoluteUrl, queryPart);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/ranks/rank-list/rank-list.component.ts","import {Component} from \"@angular/core\";\nimport {ActivatedRoute} from \"@angular/router\";\nimport {Rank} from \"../../models/model-interfaces\";\nimport {RankService} from \"../../services/rank-service/rank.service\";\n\n\n@Component({\n templateUrl: './rank-overview.component.html',\n styleUrls: ['./rank-overview.component.css', '../../style/overview.css'],\n})\nexport class RankOverviewComponent {\n\n showSuccessLabel = false;\n\n showImageError = false;\n\n rank: Rank;\n\n fileList: FileList;\n\n imagePreview;\n\n constructor(private route: ActivatedRoute,\n private rankService: RankService) {\n }\n\n ngOnInit() {\n this.route.params.subscribe((params) => {\n this.rankService.getRank(params['id']).subscribe(rank => {\n this.rank = rank;\n this.imagePreview = 'resource/rank/' + rank._id + '.png?' + Date.now();\n })\n })\n }\n\n /**\n * register change on file input and save to local fileList\n * @param event\n */\n fileChange(event) {\n if (!event.target.files[0].name.endsWith('.png')) {\n this.showImageError = true;\n this.fileList = undefined;\n } else {\n this.showImageError = false;\n this.fileList = event.target.files;\n }\n }\n\n\n update(attrName, inputField) {\n const inputValue = inputField.value;\n if (inputValue.length > 0 && this.rank[attrName] !== inputValue) {\n const updateObject = {_id: this.rank._id};\n updateObject[attrName] = inputValue;\n this.rankService.updateRank(updateObject)\n .subscribe(rank => {\n this.rank = rank;\n inputField.value = '';\n this.showSuccessLabel = true;\n setTimeout(() => {\n this.showSuccessLabel = false;\n }, 2000)\n })\n }\n }\n\n updateGraphic(fileInput) {\n if (this.fileList && this.fileList.length > 0) {\n let file: File = this.fileList[0];\n this.rankService.updateRankGraphic(this.rank._id, file)\n .subscribe((res) => {\n setTimeout(() => {\n this.imagePreview = 'resource/rank/' + this.rank._id + '.png?' + Date.now();\n }, 300);\n fileInput.value = '';\n this.showSuccessLabel = true;\n setTimeout(() => {\n this.showSuccessLabel = false;\n }, 2000)\n })\n }\n }\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/ranks/rank-overview/rank-overview.component.ts","import {Component} from \"@angular/core\";\n\n@Component({\n selector: 'ranks',\n templateUrl: './ranks.component.html',\n styleUrls: ['./ranks.component.css']\n})\nexport class RankComponent {\n constructor() {\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/ranks/ranks.component.ts","import {Routes} from \"@angular/router\";\nimport {RankComponent} from \"./ranks.component\";\nimport {RankListComponent} from \"./rank-list/rank-list.component\";\nimport {RankOverviewComponent} from \"./rank-overview/rank-overview.component\";\n\n\nexport const ranksRoutes: Routes = [{\n path: '', component: RankComponent,\n children: [\n {\n path: '',\n component: RankListComponent\n }\n ]\n},\n {\n path: 'overview/:id',\n component: RankOverviewComponent,\n outlet: 'right'\n }];\n\nexport const ranksRoutingComponents = [RankComponent, RankListComponent, RankOverviewComponent];\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/ranks/ranks.routing.ts","import {Component, Input, Optional} from '@angular/core';\nimport {NgForm, FormGroup} from '@angular/forms';\n\n@Component({\n selector: 'show-error',\n template: `\n <div *ngIf=\"errorMessages\" class=\"alert alert-danger\">\n <div *ngFor=\"let errorMessage of errorMessages\">\n {{errorMessage}}\n </div>\n </div>`\n})\nexport class ShowErrorComponent {\n\n @Input('path') controlPath;\n @Input('text') displayName = '';\n\n private form: FormGroup;\n\n constructor(ngForm: NgForm) {\n this.form = ngForm.form;\n }\n\n get errorMessages(): string[] {\n const control = this.form.get(this.controlPath);\n const messages = [];\n if (!control || !(control.touched) || !control.errors) {\n return null;\n }\n for (const code in control.errors) {\n // Berechnung der lesbaren Fehlermeldungen\n if (control.errors.hasOwnProperty(code)) {\n const error = control.errors[code];\n let message = '';\n switch (code) {\n case 'required':\n message = `${this.displayName} ist ein Pflichtfeld`;\n break;\n case 'minlength':\n message = `${this.displayName} muss mindestens ${error.requiredLength} Zeichen enthalten`;\n break;\n case 'maxlength':\n message = `${this.displayName} darf maximal ${error.requiredLength} Zeichen enthalten`;\n break;\n case 'invalidEMail':\n message = `Bitte geben Sie eine gültige E-Mail Adresse an`;\n break;\n case 'userNotFound':\n message = `Der eingetragene Benutzer existiert nicht.`;\n break;\n default:\n message = `${name} ist nicht valide`;\n }\n messages.push(message);\n }\n }\n return messages;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/show-error/show-error.component.ts","import {Component, ViewChild} from \"@angular/core\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {NgForm} from \"@angular/forms\";\nimport {Squad} from \"../../models/model-interfaces\";\nimport {SquadService} from \"../../services/squad-service/squad.service\";\n\n\n@Component({\n templateUrl: './new-squad.component.html',\n styleUrls: ['./new-squad.component.css', '../../style/new-entry-form.css']\n})\nexport class CreateSquadComponent {\n\n squad: Squad = {name: '', fraction: '', sortingNumber: 0};\n\n fileList: FileList;\n\n saved = false;\n\n showImageError = false;\n\n @ViewChild(NgForm) form: NgForm;\n\n constructor(private route: ActivatedRoute,\n private router: Router,\n private squadService : SquadService) {\n }\n\n ngOnInit() {\n\n }\n\n fileChange(event) {\n if (!event.target.files[0].name.endsWith('.png')) {\n this.showImageError = true;\n this.fileList = undefined;\n } else {\n this.showImageError = false;\n this.fileList = event.target.files;\n }\n }\n\n saveSquad() {\n if (this.fileList) {\n let file: File = this.fileList[0];\n this.squadService.submitSquad(this.squad, file)\n .subscribe(squad => {\n this.saved = true;\n this.router.navigate(['../overview', squad._id], {relativeTo: this.route});\n })\n } else {\n return window.alert(`Bild ist ein Pflichtfeld`);\n }\n }\n\n cancel() {\n //this.location.back();\n this.router.navigate(['/cc-squads']);\n return false;\n }\n\n canDeactivate(): boolean {\n if (this.saved || !this.form.dirty) {\n return true;\n }\n return window.confirm(`Ihr Formular besitzt ungespeicherte Änderungen, möchten Sie die Seite wirklich verlassen?`);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/squads/new-squad/new-squad.component.ts","import {ChangeDetectionStrategy, Component, EventEmitter} from \"@angular/core\";\nimport {Router} from \"@angular/router\";\nimport {Squad, User} from \"../../models/model-interfaces\";\n\n@Component({\n selector: 'pjm-squad-item',\n templateUrl: './squad-item.component.html',\n styleUrls: ['./squad-item.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['squad', 'selected'],\n outputs: ['squadSelected', 'squadDelete'],\n})\nexport class SquadItemComponent {\n\n selected: boolean;\n squad: Squad;\n\n squadSelected = new EventEmitter();\n squadDelete = new EventEmitter();\n\n constructor(private router: Router) {\n\n }\n\n select() {\n this.squadSelected.emit(this.squad._id)\n }\n\n delete() {\n this.squadDelete.emit(this.squad);\n }\n\n ngAfterViewChecked() {\n //var taskId = (this.task ? this.task.id : '');\n // console.log(`Task ${taskId} checked ${++this.checkCounter} times`)\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/squads/squad-list/squad-item.component.ts","import {Component, OnInit} from \"@angular/core\";\nimport {Location} from \"@angular/common\";\n\nimport {FormControl} from \"@angular/forms\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {Observable} from \"rxjs/Observable\";\nimport {Squad} from \"../../models/model-interfaces\";\nimport {SquadService} from \"../../services/squad-service/squad.service\";\n\n@Component({\n selector: 'squad-list',\n templateUrl: './squad-list.component.html',\n styleUrls: ['./squad-list.component.css']\n})\nexport class SquadListComponent implements OnInit {\n\n selectedSquadId: string | number = null;\n\n squads$: Observable<Squad[]>;\n\n searchTerm = new FormControl();\n\n fractionRadioSelect: string;\n\n constructor(private squadService: SquadService,\n private router: Router,\n private route: ActivatedRoute,\n private location: Location) {\n }\n\n ngOnInit() {\n\n this.squads$ = this.squadService.squads$;\n\n const paramsStream = this.route.queryParams\n .map(params => decodeURI(params['query'] || ''))\n .do(query => this.searchTerm.setValue(query));\n\n const searchTermStream = this.searchTerm.valueChanges\n .debounceTime(400)\n .do(query => this.adjustBrowserUrl(query));\n\n Observable.merge(paramsStream, searchTermStream)\n .distinctUntilChanged()\n .switchMap(query => this.squadService.findSquads(query, this.fractionRadioSelect))\n .subscribe();\n\n }\n\n openNewSquadForm() {\n this.router.navigate([{outlets: {'right': ['new']}}], {relativeTo: this.route});\n }\n\n selectSquad(squadId: string | number) {\n this.selectedSquadId = squadId;\n this.router.navigate([{outlets: {'right': ['overview', squadId]}}], {relativeTo: this.route});\n }\n\n filterSquadsByFraction(query = '', fractionFilter) {\n this.squads$ = this.squadService.findSquads(query, fractionFilter);\n }\n\n adjustBrowserUrl(queryString = '') {\n const absoluteUrl = this.location.path().split('?')[0];\n const queryPart = queryString !== '' ? `query=${queryString}` : '';\n\n this.location.replaceState(absoluteUrl, queryPart);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/squads/squad-list/squad-list.component.ts","import {Component} from \"@angular/core\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {Squad} from \"../../models/model-interfaces\";\nimport {SquadService} from \"../../services/squad-service/squad.service\";\n\n@Component({\n templateUrl: './squad-overview.component.html',\n styleUrls: ['./squad-overview.component.css', '../../style/overview.css'],\n})\nexport class SquadOverviewComponent {\n\n showSuccessLabel = false;\n\n showImageError = false;\n\n squad: Squad;\n\n fileList: FileList;\n\n imagePreview;\n\n constructor(private router: Router,\n private route: ActivatedRoute,\n private squadService: SquadService) {\n }\n\n ngOnInit() {\n this.route.params.subscribe((params) => {\n this.squadService.getSquad(params['id']).subscribe(squad => {\n this.squad = squad;\n this.imagePreview = 'resource/squad/' + squad._id + '.png?' + Date.now();\n })\n })\n }\n\n /**\n * register file change and save to fileList\n */\n fileChange(event) {\n if (!event.target.files[0].name.endsWith('.png')) {\n this.showImageError = true;\n this.fileList = undefined;\n } else {\n this.showImageError = false;\n this.fileList = event.target.files;\n }\n }\n\n update(attrName, inputField) {\n const inputValue = inputField.value;\n if (inputValue.length > 0 && this.squad[attrName] !== inputValue) {\n const updateObject = {_id: this.squad._id};\n updateObject[attrName] = inputValue;\n this.squadService.submitSquad(updateObject)\n .subscribe(squad => {\n this.squad = squad;\n inputField.value = '';\n this.showSuccessLabel = true;\n setTimeout(() => {\n this.showSuccessLabel = false;\n }, 2000)\n })\n }\n }\n\n updateGraphic(fileInput) {\n if (this.fileList && this.fileList.length > 0) {\n let file: File = this.fileList[0];\n this.squadService.submitSquad({_id: this.squad._id}, file)\n .subscribe((res) => {\n setTimeout(() => {\n this.imagePreview = 'resource/squad/' + this.squad._id + '.png?' + Date.now();\n }, 300);\n fileInput.value = '';\n this.showSuccessLabel = true;\n setTimeout(() => {\n this.showSuccessLabel = false;\n }, 2000)\n })\n }\n }\n\n deleteSquad(confirm) {\n if (confirm.toLowerCase() === this.squad.name.toLocaleLowerCase()) {\n this.squadService.deleteSquad(this.squad)\n .subscribe((res) => {\n this.router.navigate(['../..'], {relativeTo: this.route});\n })\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/squads/squad-overview/squad-overview.component.ts","import {Component} from \"@angular/core\";\n\n@Component({\n selector: 'users',\n templateUrl: './squads.component.html',\n styleUrls: ['./squads.component.css']\n})\nexport class SquadComponent {\n constructor() {\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/squads/squads.component.ts","import {Routes} from \"@angular/router\";\nimport {SquadComponent} from \"./squads.component\";\nimport {SquadOverviewComponent} from \"./squad-overview/squad-overview.component\";\nimport {SquadListComponent} from \"./squad-list/squad-list.component\";\nimport {CreateSquadComponent} from \"./new-squad/new-squad.component\";\n\nexport const squadsRoutes: Routes = [{\n path: '', component: SquadComponent,\n children: [\n {\n path: '',\n component: SquadListComponent\n }\n ]\n},\n {\n path: 'new',\n component: CreateSquadComponent,\n outlet: 'right'\n },\n {\n path: 'overview/:id',\n component: SquadOverviewComponent,\n outlet: 'right'\n }];\n\nexport const squadsRoutingComponents = [SquadComponent, SquadListComponent, SquadOverviewComponent, CreateSquadComponent];\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/squads/squads.routing.ts","import {Component, ViewChild} from \"@angular/core\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {NgForm} from \"@angular/forms\";\nimport {User} from \"../../models/model-interfaces\";\nimport {UserService} from \"../../services/user-service/user.service\";\n\n\n@Component({\n templateUrl: './new-user.component.html',\n styleUrls: ['./new-user.component.css', '../../style/new-entry-form.css']\n})\nexport class CreateUserComponent {\n\n user: User = {};\n\n saved = false;\n\n @ViewChild(NgForm) form: NgForm;\n\n constructor(private route: ActivatedRoute,\n private router: Router,\n private userService: UserService) {\n }\n\n ngOnInit() {\n\n }\n\n saveUser() {\n this.userService.submitUser(this.user)\n .subscribe(user => {\n this.saved = true;\n this.router.navigate(['../overview', user._id], {relativeTo: this.route});\n })\n }\n\n cancel() {\n //this.location.back();\n this.router.navigate(['/cc-users']);\n return false;\n }\n\n canDeactivate(): boolean {\n if (this.saved || !this.form.dirty) {\n return true;\n }\n return window.confirm(`Ihr Formular besitzt ungespeicherte Änderungen, möchten Sie die Seite wirklich verlassen?`);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/users/new-user/new-user.component.ts","import {ChangeDetectionStrategy, Component, EventEmitter} from \"@angular/core\";\nimport {Router} from \"@angular/router\";\nimport {User} from \"../../models/model-interfaces\";\n\n@Component({\n selector: 'pjm-user-item',\n templateUrl: './user-item.component.html',\n styleUrls: ['./user-item.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['user', 'selected'],\n outputs: ['userSelected', 'userDelete']\n})\nexport class UserItemComponent {\n\n selected: boolean;\n user: User;\n\n userSelected = new EventEmitter();\n userDelete = new EventEmitter();\n\n constructor(private router: Router) {\n\n }\n\n select() {\n this.userSelected.emit(this.user._id)\n }\n\n delete() {\n this.userDelete.emit(this.user);\n }\n\n ngAfterViewChecked() {\n //var taskId = (this.task ? this.task.id : '');\n // console.log(`Task ${taskId} checked ${++this.checkCounter} times`)\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/users/user-list/user-item.component.ts","import {Component, OnInit} from \"@angular/core\";\nimport {Location} from \"@angular/common\";\n\nimport {FormControl} from \"@angular/forms\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {Observable} from \"rxjs/Observable\";\nimport {UserService} from \"../../services/user-service/user.service\";\nimport {User} from \"../../models/model-interfaces\";\n\n@Component({\n selector: 'squad-list',\n templateUrl: './user-list.component.html',\n styleUrls: ['./user-list.component.css']\n})\nexport class UserListComponent implements OnInit {\n\n selectedUserId: string | number = null;\n\n users$: Observable<User[]>;\n\n searchTerm = new FormControl();\n\n fractionRadioSelect: string;\n\n constructor(private userService: UserService,\n private router: Router,\n private route: ActivatedRoute,\n private location: Location) {\n }\n\n ngOnInit() {\n\n this.users$ = this.userService.users$;\n\n const paramsStream = this.route.queryParams\n .map(params => decodeURI(params['query'] || ''))\n .do(query => this.searchTerm.setValue(query));\n\n const searchTermStream = this.searchTerm.valueChanges\n .debounceTime(400)\n .do(query => this.adjustBrowserUrl(query));\n\n Observable.merge(paramsStream, searchTermStream)\n .distinctUntilChanged()\n .switchMap(query => this.userService.findUsers(query, this.fractionRadioSelect))\n .subscribe();\n\n }\n\n openNewUserForm() {\n this.router.navigate([{outlets: {'right': ['new']}}], {relativeTo: this.route});\n }\n\n selectUser(userId: string | number) {\n this.selectedUserId = userId;\n this.router.navigate([{outlets: {'right': ['overview', userId]}}], {relativeTo: this.route});\n }\n\n filterUsersByFraction(query = '', fractionFilter) {\n this.users$ = this.userService.findUsers(query, fractionFilter);\n }\n\n adjustBrowserUrl(queryString = '') {\n const absoluteUrl = this.location.path().split('?')[0];\n const queryPart = queryString !== '' ? `query=${queryString}` : '';\n\n this.location.replaceState(absoluteUrl, queryPart);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/users/user-list/user-list.component.ts","import {Component} from \"@angular/core\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport * as model from \"../../models/model-interfaces\";\nimport {Decoration, Squad, User} from \"../../models/model-interfaces\";\nimport {UserService} from \"../../services/user-service/user.service\";\nimport {SquadService} from \"../../services/squad-service/squad.service\";\nimport {DecorationService} from \"../../services/decoration-service/decoration.service\";\nimport {AwardingService} from \"../../services/awarding-service/awarding.service\";\n\n\n@Component({\n templateUrl: './user-overview.component.html',\n styleUrls: ['./user-overview.component.css', '../../style/overview.css'],\n})\nexport class UserOverviewComponent {\n\n id: string;\n\n model = model;\n\n showSuccessLabel = false;\n\n decoPreviewDisplay = 'none';\n\n user: User;\n\n squads: Squad[];\n\n decorations: Decoration[];\n\n constructor(private router: Router,\n private route: ActivatedRoute,\n private userService: UserService,\n private squadService: SquadService,\n private decorationService: DecorationService,\n private awardingService: AwardingService) {\n }\n\n ngOnInit() {\n this.route.params.subscribe((params) => {\n this.userService.getUser(params['id']).subscribe(user => {\n this.user = user;\n });\n });\n\n this.squadService.findSquads().subscribe(squads => {\n this.squads = squads;\n });\n\n this.decorationService.findDecorations().subscribe(decorations => {\n this.decorations = decorations;\n });\n }\n\n toggleDecoPreview(descriptionField, decorationId, image) {\n this.decoPreviewDisplay = 'flex'; // visible & keep same height for all children\n\n const description = this.decorations.find(\n decoration => decoration._id === decorationId\n ).description;\n\n image.src = 'resource/decoration/' + decorationId + '.png';\n descriptionField.innerHTML = description;\n\n }\n\n update(attrName, value, inputField?) {\n if (attrName === 'squadId' && value === '---') {\n value = null;\n }\n if (value !== '' && (attrName !== 'rankLvl' || attrName === 'rankLvl' && value >= 0 && value <= 22)) {\n const updateObject = {_id: this.user._id};\n updateObject[attrName] = value;\n this.userService.updateUser(updateObject)\n .subscribe(user => {\n this.user = user;\n if (inputField) {\n inputField.value = '';\n }\n this.showSuccessLabel = true;\n setTimeout(() => {\n this.showSuccessLabel = false;\n }, 2000)\n })\n }\n }\n\n deleteUser(confirm) {\n if (confirm.toLowerCase() === this.user.username.toLocaleLowerCase()) {\n this.userService.deleteUser(this.user)\n .subscribe((res) => {\n this.router.navigate(['../..'], {relativeTo: this.route});\n })\n }\n }\n\n deleteAwarding(awardingId) {\n this.awardingService.deleteAwarding(awardingId).subscribe((res) => {\n this.awardingService.getUserAwardings(this.user._id)\n .map((res) => res.json())\n .subscribe((awards) => {\n this.user.awards = awards;\n this.showSuccessLabel = true;\n setTimeout(() => {\n this.showSuccessLabel = false;\n }, 2000)\n })\n })\n }\n\n addAwarding(decorationField, reasonField, previewImage, descriptionField) {\n const decorationId = decorationField.value;\n const reason = reasonField.value;\n if (decorationId && reason.length > 0) {\n const award = {\n \"userId\": this.user._id,\n \"decorationId\": decorationId,\n \"reason\": reason,\n \"date\": Date.now()\n };\n this.awardingService.addAwarding(award).subscribe(() => {\n this.awardingService.getUserAwardings(this.user._id)\n .map((res) => res.json())\n .subscribe(awards => {\n this.user.awards = awards;\n this.decoPreviewDisplay = 'none';\n decorationField.value = undefined;\n reasonField.value = '';\n previewImage.src = '';\n descriptionField.innerHTML = '';\n this.showSuccessLabel = true;\n setTimeout(() => {\n this.showSuccessLabel = false;\n }, 2000)\n })\n })\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/users/user-overview/user-overview.component.ts","import {Component} from \"@angular/core\";\n\n@Component({\n selector: 'users',\n templateUrl: 'users.component.html',\n styleUrls: ['users.component.css']\n})\nexport class UsersComponent {\n constructor() {\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/users/users.component.ts","import {Routes} from \"@angular/router\";\nimport {UsersComponent} from \"./users.component\";\nimport {UserOverviewComponent} from \"./user-overview/user-overview.component\";\nimport {UserListComponent} from \"./user-list/user-list.component\";\nimport {CreateUserComponent} from \"./new-user/new-user.component\";\n\nexport const usersRoutes: Routes = [{\n path: '', component: UsersComponent,\n children: [\n {\n path: '',\n component: UserListComponent\n }\n ]\n},\n {\n path: 'new',\n component: CreateUserComponent,\n outlet: 'right'\n },\n {\n path: 'overview/:id',\n component: UserOverviewComponent,\n outlet: 'right'\n }];\n\nexport const usersRoutingComponents = [UsersComponent, UserListComponent, UserOverviewComponent, CreateUserComponent];\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/users/users.routing.ts","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n production: false,\n e2eMode: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"ul {\\n list-style-type: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\nli {\\n display: inline;\\n}\\n\\n.content {\\n padding-left: 15px;\\n padding-right: 15px;\\n}\\n\\n.right {\\n float: right;\\n width: 300px;\\n}\\n\\n.left {\\n float: left;\\n width: calc(100% - 300px);\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.css\n// module id = 217\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"div.squad-list-entry, a.squad-list-entry {\\n padding: 8px;\\n width: 475px;\\n border-radius: 2px;\\n border: lightgrey solid 1px;\\n cursor: pointer;\\n margin-bottom: -1px;\\n}\\n\\n.marked {\\n background: lightgrey;\\n}\\n\\nspan {\\n cursor: pointer;\\n}\\n\\na {\\n font-size: x-large;\\n font-weight: 700;\\n}\\n\\nsmall {\\n color: grey;\\n}\\n\\n.trash {\\n padding-top: 18px;\\n font-size: 17px;\\n margin-left: -10px;\\n}\\n\\n.selected {\\n background-color: aliceblue;\\n}\\n\\n@-webkit-keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n.fade-in {\\n opacity: 0; /* make things invisible upon start */\\n -webkit-animation: fadeIn ease-in 1; /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */\\n animation: fadeIn ease-in 1;\\n\\n -webkit-animation-fill-mode: forwards; /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/\\n animation-fill-mode: forwards;\\n\\n -webkit-animation-duration: 0.5s;\\n animation-duration: 0.5s;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/decorations/decoration-list/decoration-item.component.css\n// module id = 218\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".search-bar {\\n padding-top: 20px;\\n padding-bottom: 20px;\\n}\\n\\n.decoration-list {\\n width: 100%;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/decorations/decoration-list/decoration-list.component.css\n// module id = 219\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/decorations/decoration-overview/decoration-overview.component.css\n// module id = 220\n// module chunks = 1","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/decorations/decoration.component.css\n// module id = 221\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/decorations/new-decoration/new-decoration.component.css\n// module id = 222\n// module chunks = 1","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".form-signin {\\n max-width: 330px;\\n padding: 15px;\\n margin: 0 auto;\\n}\\n\\n.form-signin .form-signin-heading, .form-signin .checkbox {\\n margin-bottom: 10px;\\n}\\n\\n.form-signin .checkbox {\\n font-weight: normal;\\n}\\n\\n.form-signin .form-control {\\n position: relative;\\n font-size: 16px;\\n height: auto;\\n padding: 10px;\\n box-sizing: border-box;\\n}\\n\\n.form-signin .form-control:focus {\\n z-index: 2;\\n}\\n\\n.form-signin input[type=\\\"text\\\"] {\\n margin-bottom: 5px;\\n border-bottom-left-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.form-signin input[type=\\\"password\\\"] {\\n margin-bottom: 10px;\\n border-top-left-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.account-wall {\\n margin-top: 20px;\\n padding: 40px 0px 20px 0px;\\n background-color: #f7f7f7;\\n box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\\n}\\n\\n.login-title {\\n color: #555;\\n font-size: 18px;\\n font-weight: 400;\\n display: block;\\n}\\n\\n.profile-img {\\n width: 96px;\\n height: 96px;\\n margin: 0 auto 10px;\\n display: block;\\n border-radius: 50%;\\n}\\n\\n.need-help {\\n margin-top: 10px;\\n}\\n\\n.new-account {\\n display: block;\\n margin-top: 10px;\\n}\\n\\n/* Loading Animation */\\n.glyphicon-refresh-animate {\\n -webkit-animation: spin 0.9s linear infinite;\\n animation: spin 0.9s linear infinite;\\n}\\n\\n@-webkit-keyframes spin {\\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\\n}\\n\\n@keyframes spin {\\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/login/login.component.css\n// module id = 223\n// module chunks = 1","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/not-found/not-found.component.css\n// module id = 224\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"div.rank-list-entry, a.rank-list-entry {\\n padding: 8px;\\n width: 475px;\\n border-radius: 2px;\\n border: lightgrey solid 1px;\\n cursor: pointer;\\n margin-bottom: -1px;\\n}\\n\\n.marked {\\n background: lightgrey;\\n}\\n\\nspan {\\n cursor: pointer;\\n}\\n\\na {\\n font-size: x-large;\\n font-weight: 700;\\n}\\n\\nsmall {\\n color: grey;\\n}\\n\\n.trash {\\n padding-top: 18px;\\n font-size: 17px;\\n margin-left: -10px;\\n}\\n\\n.selected {\\n background-color: aliceblue;\\n}\\n\\n@-webkit-keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n.fade-in {\\n opacity: 0; /* make things invisible upon start */\\n -webkit-animation: fadeIn ease-in 1; /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */\\n animation: fadeIn ease-in 1;\\n\\n -webkit-animation-fill-mode: forwards; /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/\\n animation-fill-mode: forwards;\\n\\n -webkit-animation-duration: 0.5s;\\n animation-duration: 0.5s;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/ranks/rank-list/rank-item.component.css\n// module id = 225\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".search-bar {\\n padding-top: 20px;\\n padding-bottom: 20px;\\n}\\n\\n.rank-list {\\n width: 100%;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/ranks/rank-list/rank-list.component.css\n// module id = 226\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/ranks/rank-overview/rank-overview.component.css\n// module id = 227\n// module chunks = 1","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"#left {\\n width: 320px;\\n float: left;\\n padding-right: 10px;\\n}\\n\\n#right {\\n overflow: hidden\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/ranks/ranks.component.css\n// module id = 228\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/squads/new-squad/new-squad.component.css\n// module id = 229\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"div.squad-list-entry, a.squad-list-entry {\\n padding: 8px;\\n width: 475px;\\n border-radius: 2px;\\n border: lightgrey solid 1px;\\n cursor: pointer;\\n margin-bottom: -1px;\\n}\\n\\n.marked {\\n background: lightgrey;\\n}\\n\\nspan {\\n cursor: pointer;\\n}\\n\\na {\\n font-size: x-large;\\n font-weight: 700;\\n}\\n\\nsmall {\\n color: grey;\\n}\\n\\n.trash {\\n padding-top: 18px;\\n font-size: 17px;\\n margin-left: -10px;\\n}\\n\\n.selected {\\n background-color: aliceblue;\\n}\\n\\n@-webkit-keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n.fade-in {\\n opacity: 0; /* make things invisible upon start */\\n -webkit-animation: fadeIn ease-in 1; /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */\\n animation: fadeIn ease-in 1;\\n\\n -webkit-animation-fill-mode: forwards; /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/\\n animation-fill-mode: forwards;\\n\\n -webkit-animation-duration: 0.5s;\\n animation-duration: 0.5s;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/squads/squad-list/squad-item.component.css\n// module id = 230\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".search-bar {\\n padding-top: 20px;\\n padding-bottom: 20px;\\n}\\n\\n.squad-list {\\n width: 100%;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/squads/squad-list/squad-list.component.css\n// module id = 231\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/squads/squad-overview/squad-overview.component.css\n// module id = 232\n// module chunks = 1","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"#left {\\n width: 320px;\\n float: left;\\n padding-right: 10px;\\n}\\n\\n#right {\\n overflow: hidden\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/squads/squads.component.css\n// module id = 233\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/users/new-user/new-user.component.css\n// module id = 234\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"div.user-list-entry, a.user-list-entry {\\n padding: 8px;\\n width: 475px;\\n border-radius: 2px;\\n border: lightgrey solid 1px;\\n cursor: pointer;\\n margin-bottom: -1px;\\n}\\n\\n.marked {\\n background: lightgrey;\\n}\\n\\nspan {\\n cursor: pointer;\\n}\\n\\na {\\n font-size: x-large;\\n font-weight: 700;\\n}\\n\\nsmall {\\n color: grey;\\n}\\n\\n.trash {\\n padding-top: 18px;\\n font-size: 17px;\\n margin-left: -10px;\\n}\\n\\n.selected {\\n background-color: aliceblue;\\n}\\n\\n@-webkit-keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n.fade-in {\\n opacity: 0; /* make things invisible upon start */\\n -webkit-animation: fadeIn ease-in 1; /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */\\n animation: fadeIn ease-in 1;\\n\\n -webkit-animation-fill-mode: forwards; /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/\\n animation-fill-mode: forwards;\\n\\n -webkit-animation-duration: 0.5s;\\n animation-duration: 0.5s;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/users/user-list/user-item.component.css\n// module id = 235\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".search-bar {\\n padding-top: 20px;\\n padding-bottom: 20px;\\n}\\n\\n.user-list {\\n width: 100%;\\n}\\n\\n.fraction-blufor {\\n color: mediumblue;\\n font-weight: bold;\\n}\\n\\n.fraction-opfor {\\n color: red;\\n font-weight: bold;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/users/user-list/user-list.component.css\n// module id = 236\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".decoration-preview {\\n background-color: white;\\n padding: 5px;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/users/user-overview/user-overview.component.css\n// module id = 237\n// module chunks = 1","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/users/users.component.css\n// module id = 238\n// module chunks = 1","module.exports = \"<div class=\\\"container\\\">\\n <nav class=\\\"navbar navbar-inverse navbar-fixed-top\\\">\\n <div class=\\\"container-fluid\\\">\\n\\n <div class=\\\"navbar-header\\\">\\n <button type=\\\"button\\\" class=\\\"navbar-toggle\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#mynavbar\\\">\\n <span class=\\\"icon-bar\\\"></span>\\n <span class=\\\"icon-bar\\\"></span>\\n <span class=\\\"icon-bar\\\"></span>\\n </button>\\n <a class=\\\"navbar-brand\\\" href=\\\"#\\\" style=\\\"padding-top: 2px\\\">\\n <img height=\\\"40px\\\" src=\\\"assets/opt-logo-klein.png\\\">\\n </a>\\n </div>\\n <div class=\\\"collapse navbar-collapse\\\" id=\\\"mynavbar\\\">\\n\\n <ul class=\\\"nav navbar-nav\\\">\\n <li *ngIf=\\\"loginService.isLoggedIn()\\\" routerLinkActive=\\\"active\\\">\\n <a routerLink='/cc-users' class=\\\"link\\\">Teilnehmer</a>\\n </li>\\n <li *ngIf=\\\"loginService.isLoggedIn()\\\" routerLinkActive=\\\"active\\\">\\n <a routerLink='/cc-squads' class=\\\"link\\\">Squads</a>\\n </li>\\n <li *ngIf=\\\"loginService.isLoggedIn()\\\" routerLinkActive=\\\"active\\\">\\n <a routerLink='/cc-decorations' class=\\\"link\\\">Auszeichnungen</a>\\n </li>\\n <li *ngIf=\\\"loginService.isLoggedIn()\\\" routerLinkActive=\\\"active\\\">\\n <a routerLink='/cc-ranks' class=\\\"link\\\">Ränge</a>\\n </li>\\n <!--<li routerLinkActive=\\\"active\\\">-->\\n <!--<a routerLink='/settings' class=\\\"link\\\">Einstellungen</a>-->\\n <!--</li>-->\\n </ul>\\n\\n <ul class=\\\"nav navbar-nav\\\" style=\\\"float: right\\\">\\n <li *ngIf=\\\"authEnabled\\\" class=\\\"link\\\" style=\\\"cursor: pointer\\\">\\n <a *ngIf=\\\"loginService.isLoggedIn()\\\" (click)=\\\"logout()\\\" >Abmelden</a>\\n </li>\\n </ul>\\n </div>\\n </div>\\n </nav>\\n\\n</div>\\n<div class=\\\"content\\\">\\n <div id=\\\"left\\\">\\n <router-outlet></router-outlet>\\n </div>\\n <div id=\\\"right\\\">\\n <router-outlet name=\\\"right\\\"></router-outlet>\\n </div>\\n <div id=\\\"footer\\\">\\n <router-outlet name=\\\"bottom\\\"></router-outlet>\\n </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.html\n// module id = 243\n// module chunks = 1","module.exports = \"<div class=\\\"fade-in squad-list-entry\\\" [ngClass]=\\\"{selected : selected}\\\" (click)=\\\"select()\\\">\\n\\n <div class=\\\"row\\\">\\n <div class=\\\"col-xs-11\\\">\\n <span>\\n <a>{{decoration.name}}</a>\\n </span>\\n <br>\\n <small *ngIf=\\\"decoration.fraction == 'OPFOR'\\\">CSAT</small>\\n <small *ngIf=\\\"decoration.fraction == 'BLUFOR'\\\">NATO</small>\\n <small *ngIf=\\\"decoration.fraction == 'GLOBAL'\\\">Global</small>\\n <small> - Sortierung: {{decoration.sortingNumber}}</small>\\n </div>\\n </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/decorations/decoration-list/decoration-item.component.html\n// module id = 244\n// module chunks = 1","module.exports = \"<div class=\\\"decoration-list\\\">\\n <h2>Übersicht</h2>\\n <div class=\\\"input-group search-bar\\\" style=\\\"padding-bottom: 5px; width:100%\\\">\\n <form class=\\\"pull-left form-group\\\">\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\"\\n [checked]=\\\"(fractionRadioSelect == undefined) ? 'true' : 'false'\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n (change)=\\\"filterSquadsByFraction(query.value)\\\">Alle\\n </label>\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\" value=\\\"blufor\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n #fractRadioBufor\\n (change)=\\\"filterSquadsByFraction(query.value, fractRadioBufor.value)\\\">NATO\\n </label>\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\" value=\\\"opfor\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n #fractRadioOpfor\\n (change)=\\\"filterSquadsByFraction(query.value, fractRadioOpfor.value)\\\">CSAT\\n </label>\\n </form>\\n <a class=\\\"pull-right btn btn-success\\\" (click)=\\\"openNewSquadForm()\\\">\\n Neue Auszeichnung hinzufügen\\n </a>\\n </div>\\n\\n <div class=\\\"input-group search-bar\\\" style=\\\"padding-top: 0;\\\">\\n <input id=\\\"search-tasks\\\"\\n type=\\\"text\\\" #query class=\\\"form-control\\\"\\n (keyup.enter)=\\\"findSquads(query.value)\\\"\\n [formControl]=\\\"searchTerm\\\">\\n <span class=\\\"input-group-btn\\\">\\n <button class=\\\"btn btn-default\\\" type=\\\"button\\\"\\n (click)=\\\"findSquads(query.value)\\\">\\n Suchen\\n </button>\\n </span>\\n </div>\\n\\n <div>\\n <pjm-decoration-item *ngFor=\\\"let decoration of decorations$ | async\\\"\\n [decoration]=\\\"decoration\\\"\\n (decorationSelected)=\\\"selectDecoration($event)\\\"\\n [selected]=\\\"decoration._id == selectedDecorationId\\\">\\n </pjm-decoration-item>\\n </div>\\n\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/decorations/decoration-list/decoration-list.component.html\n// module id = 245\n// module chunks = 1","module.exports = \"<div class=\\\"overview\\\">\\n <h3 style=\\\"margin-bottom: 25px\\\">Auszeichnung-Details\\n <span *ngIf=\\\"showSuccessLabel\\\"\\n class=\\\"label label-success label-small\\\"\\n style=\\\"margin-left: inherit\\\">\\n Erfolgreich gespeichert\\n </span>\\n </h3>\\n <div *ngIf=\\\"decoration\\\">\\n <div class=\\\"col-xs-12\\\">\\n\\n\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Name:</label>\\n </div>\\n <div class=\\\"div-table-col content content-m\\\">\\n {{decoration.name}}\\n </div>\\n <div class=\\\"div-table-col content-l\\\">\\n <input class=\\\"form-control\\\" type=\\\"text\\\" width=\\\"250px\\\" placeholder=\\\"Neuer Name\\\" #newNameInput>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\" (click)=\\\"update('name', newNameInput)\\\">Bestätigen</a>\\n </div>\\n </div>\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Fraktion:</label>\\n </div>\\n <div class=\\\"div-table-col fraction-opfor content-m\\\" *ngIf=\\\"decoration.fraction == 'OPFOR'\\\">\\n CSAT\\n </div>\\n <div class=\\\"div-table-col fraction-blufor content-m\\\" *ngIf=\\\"decoration.fraction == 'BLUFOR'\\\">\\n NATO\\n </div>\\n <div class=\\\"div-table-col\\\">\\n </div>\\n </div>\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Art:</label>\\n </div>\\n <div class=\\\"div-table-col content content-m\\\" *ngIf=\\\"decoration.isMedal\\\">\\n Orden\\n </div>\\n <div class=\\\"div-table-col content content-m\\\" *ngIf=\\\"!decoration.isMedal\\\">\\n Ribbon\\n </div>\\n <div class=\\\"div-table-col\\\">\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Sortierung:</label>\\n </div>\\n <div class=\\\"div-table-col content content-m\\\">\\n {{decoration.sortingNumber}}\\n </div>\\n <div class=\\\"div-table-col content-l\\\">\\n <input type=\\\"number\\\" class=\\\"form-control\\\" width=\\\"250px\\\" placeholder=\\\"Neue Sortierung\\\" #sortingNumberInput>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\" (click)=\\\"update('sortingNumber', sortingNumberInput)\\\">Bestätigen</a>\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Beschreibung:</label>\\n </div>\\n <div class=\\\"div-table-col\\\" style=\\\"width: 500px;\\\">\\n <textarea #inputDescription [(ngModel)]=\\\"decoration.description\\\" class=\\\"form-control\\\" rows=\\\"2\\\" cols=\\\"53\\\">{{decoration.description}}</textarea>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\" (click)=\\\"update('description', inputDescription)\\\">Bestätigen</a>\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Bild:</label>\\n </div>\\n <div class=\\\"div-table-col content-m-flex\\\">\\n <img src=\\\"{{previewImage}}\\\">\\n </div>\\n <div class=\\\"div-table-col content-l\\\">\\n <label class=\\\"control-label\\\">Neues Bild</label>\\n <input class=\\\"form-control\\\" type=\\\"file\\\"\\n accept=\\\"image/png\\\"\\n #newLogoInput\\n (change)=\\\"fileChange($event)\\\">\\n <span class=\\\"label label-bg label-danger center-block\\\" style=\\\"font-size:small\\\" *ngIf=\\\"showImageError\\\">\\n Bild muss im PNG Format vorliegen\\n </span>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <label>&nbsp;</label>\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\"(click)=\\\"updateGraphic(newLogoInput)\\\">Bestätigen</a>\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Löschen:</label>\\n </div>\\n <div class=\\\"div-table-col content-xl\\\">\\n <input class=\\\"form-control\\\" #confirmInput placeholder=\\\"Auszeichnungsnamen zur Bestätigung eingeben\\\" style=\\\"width:330px\\\">\\n </div>\\n <div class=\\\"div-table-col content-l\\\">\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\" (click)=\\\"deleteDecoration(confirmInput.value)\\\">Auszeichnung Löschen</a>\\n </div>\\n\\n </div>\\n </div>\\n\\n\\n </div>\\n </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/decorations/decoration-overview/decoration-overview.component.html\n// module id = 246\n// module chunks = 1","module.exports = \"<router-outlet></router-outlet>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/decorations/decoration.component.html\n// module id = 247\n// module chunks = 1","module.exports = \"<form #form=\\\"ngForm\\\" class=\\\"overview\\\">\\n <h3 >Neue Auszeichnung hinzufügen</h3>\\n\\n <div class=\\\"form-group\\\">\\n <label for=\\\"title\\\">Name</label>\\n <input type=\\\"text\\\" class=\\\"form-control\\\"\\n [(ngModel)]=\\\"decoration.name\\\"\\n name=\\\"title\\\"\\n id=\\\"title\\\"\\n required maxlength=\\\"50\\\"/>\\n <show-error text=\\\"Name\\\" path=\\\"title\\\"></show-error>\\n </div>\\n\\n <div class=\\\"form-group\\\">\\n <label for=\\\"fraction\\\">Fraktion</label>\\n <select id=\\\"fraction\\\" name=\\\"fraction\\\" class=\\\"form-control btn dropdown-toggle\\\"\\n required\\n [(ngModel)]=\\\"decoration.fraction\\\">\\n <option value=\\\"OPFOR\\\">CSAT</option>\\n <option value=\\\"BLUFOR\\\">NATO</option>\\n <option value=\\\"GLOBAL\\\">Global</option>\\n </select>\\n <show-error text=\\\"Fraktion\\\" path=\\\"fraction\\\"></show-error>\\n </div>\\n\\n <div class=\\\"form-group\\\">\\n <label for=\\\"type\\\">Art</label>\\n <select id=\\\"type\\\" name=\\\"type\\\" class=\\\"form-control btn dropdown-toggle\\\"\\n required\\n [(ngModel)]=\\\"decoration.isMedal\\\">\\n <option value=\\\"true\\\">Orden</option>\\n <option value=\\\"false\\\">Ribbon</option>\\n </select>\\n <show-error text=\\\"Art\\\" path=\\\"type\\\"></show-error>\\n </div>\\n\\n <div class=\\\"form-group\\\">\\n <label for=\\\"sort\\\">Sortierung</label>\\n <input id=\\\"sort\\\" name=\\\"sort\\\" type=\\\"number\\\" class=\\\"form-control btn dropdown-toggle\\\"\\n [(ngModel)]=\\\"decoration.sortingNumber\\\">\\n <show-error text=\\\"Sortierung\\\" path=\\\"sort\\\"></show-error>\\n </div>\\n\\n <div class=\\\"form-group\\\">\\n <label for=\\\"description\\\">Beschreibung</label>\\n <textarea id=\\\"description\\\" name=\\\"description\\\" class=\\\"form-control\\\" rows=\\\"5\\\"\\n required\\n [(ngModel)]=\\\"decoration.description\\\">></textarea>\\n <show-error text=\\\"Beschreibung\\\" path=\\\"description\\\"></show-error>\\n </div>\\n\\n <div class=\\\"form-group\\\">\\n <label for=\\\"graphic\\\">Bild</label>\\n <input id=\\\"graphic\\\" name=\\\"graphic\\\" class=\\\"ui-button form-control\\\" type=\\\"file\\\"\\n accept=\\\"image/png\\\"\\n (change)=\\\"fileChange($event)\\\">\\n <span class=\\\"label label-bg label-danger center-block\\\" style=\\\"font-size:small\\\" *ngIf=\\\"showImageError\\\">\\n Bild muss im PNG Format vorliegen\\n </span>\\n </div>\\n\\n <button id=\\\"cancel\\\"\\n (click)=\\\"cancel()\\\"\\n class=\\\"btn btn-default\\\">\\n Abbrechen\\n </button>\\n <button id=\\\"save\\\"\\n (click)=\\\"saveDecoration()\\\"\\n class=\\\"btn btn-default\\\"\\n [disabled]=\\\"!form.valid\\\">\\n Auszeichnung speichern\\n </button>\\n</form>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/decorations/new-decoration/new-decoration.component.html\n// module id = 248\n// module chunks = 1","module.exports = \"<form class=\\\"form-signin\\\" (ngSubmit)=\\\"login(userName.value, password.value)\\\">\\n\\n <div class=\\\"row\\\">\\n <h2 style=\\\"text-align: center;\\\" class=\\\"form-signin-heading\\\">Anmelden</h2>\\n\\n <label for=\\\"inputEmail\\\" class=\\\"sr-only\\\">Benutzername</label>\\n <input #userName id=\\\"inputEmail\\\" class=\\\"form-control\\\" placeholder=\\\"Benutzername\\\" required=\\\"\\\" autofocus=\\\"\\\">\\n\\n <label for=\\\"inputPassword\\\" class=\\\"sr-only\\\">Passwort</label>\\n <input #password type=\\\"password\\\" id=\\\"inputPassword\\\" class=\\\"form-control\\\" placeholder=\\\"Passwort\\\" required=\\\"\\\">\\n\\n\\n <div class=\\\"form-group\\\">\\n <button type=\\\"submit\\\" class=\\\"btn btn-lg btn-block btn-primary\\\">\\n <span *ngIf=\\\"!loading\\\">Anmelden</span>\\n <span *ngIf=\\\"loading\\\" class=\\\"glyphicon glyphicon-refresh glyphicon-refresh-animate\\\"></span>\\n </button>\\n <span *ngIf=\\\"showErrorLabel\\\"\\n class=\\\"center-block label label-danger\\\" style=\\\"font-size: medium; padding: 2px; margin-top: 2px\\\">\\n Login fehlgeschlagen\\n </span>\\n </div>\\n\\n\\n </div>\\n\\n\\n</form>\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/login/login.component.html\n// module id = 249\n// module chunks = 1","module.exports = \"<h1>Oops, diese Seite kennen wir nicht...</h1>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/not-found/not-found.component.html\n// module id = 250\n// module chunks = 1","module.exports = \"<div class=\\\"fade-in rank-list-entry\\\" [ngClass]=\\\"{selected : selected}\\\" (click)=\\\"select()\\\">\\n\\n <div class=\\\"row\\\">\\n <div class=\\\"col-xs-11\\\">\\n <span>\\n <a>{{rank.name}}</a>\\n </span>\\n <br>\\n <small *ngIf=\\\"rank.fraction == 'OPFOR'\\\">CSAT</small>\\n <small *ngIf=\\\"rank.fraction == 'BLUFOR'\\\">NATO</small>\\n <small> - Stufe {{rank.level}}</small>\\n </div>\\n </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/ranks/rank-list/rank-item.component.html\n// module id = 251\n// module chunks = 1","module.exports = \"<div class=\\\"rank-list\\\">\\n <h2>Übersicht</h2>\\n <div class=\\\"input-group search-bar\\\" style=\\\"padding-bottom: 5px; width:100%\\\">\\n <form class=\\\"pull-left form-group\\\">\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\"\\n [checked]=\\\"(fractionRadioSelect == undefined) ? 'true' : 'false'\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n (change)=\\\"filterRanksByFraction(query.value)\\\">Alle\\n </label>\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\" value=\\\"blufor\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n #fractRadioBufor\\n (change)=\\\"filterRanksByFraction(query.value, fractRadioBufor.value)\\\">NATO\\n </label>\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\" value=\\\"opfor\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n #fractRadioOpfor\\n (change)=\\\"filterRanksByFraction(query.value, fractRadioOpfor.value)\\\">CSAT\\n </label>\\n </form>\\n </div>\\n\\n <div class=\\\"input-group search-bar\\\" style=\\\"padding-top: 0;\\\">\\n <input id=\\\"search-tasks\\\"\\n type=\\\"text\\\" #query class=\\\"form-control\\\"\\n (keyup.enter)=\\\"findRanks(query.value)\\\"\\n [formControl]=\\\"searchTerm\\\">\\n <span class=\\\"input-group-btn\\\">\\n <button class=\\\"btn btn-default\\\" type=\\\"button\\\"\\n (click)=\\\"findRanks(query.value)\\\">\\n Suchen\\n </button>\\n </span>\\n </div>\\n\\n <div>\\n <pjm-rank-item *ngFor=\\\"let rank of ranks$ | async\\\"\\n [rank]=\\\"rank\\\"\\n (rankDelete)=\\\"deleteRank(rank)\\\"\\n (rankSelected)=\\\"selectRank($event)\\\"\\n [selected]=\\\"rank._id == selectedRankId\\\">\\n </pjm-rank-item>\\n </div>\\n\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/ranks/rank-list/rank-list.component.html\n// module id = 252\n// module chunks = 1","module.exports = \"<div class=\\\"overview\\\">\\n <h3 style=\\\"margin-bottom: 25px\\\">Rang-Details\\n <span *ngIf=\\\"showSuccessLabel\\\"\\n class=\\\"label label-success label-small\\\"\\n style=\\\"margin-left: inherit\\\">\\n Erfolgreich gespeichert\\n </span>\\n </h3>\\n <div *ngIf=\\\"rank\\\">\\n <div class=\\\"col-xs-12\\\">\\n\\n\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Name:</label>\\n </div>\\n <div class=\\\"div-table-col content content-m\\\">\\n {{rank.name}}\\n </div>\\n <div class=\\\"div-table-col content-l\\\">\\n <input class=\\\"form-control\\\" width=\\\"250px\\\" placeholder=\\\"Neuer Name\\\" #newNameInput>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\" (click)=\\\"update('name', newNameInput)\\\">Bestätigen</a>\\n </div>\\n </div>\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Fraktion:</label>\\n </div>\\n <div class=\\\"div-table-col fraction-opfor content-m\\\" *ngIf=\\\"rank.fraction == 'OPFOR'\\\">\\n CSAT\\n </div>\\n <div class=\\\"div-table-col fraction-blufor content-m\\\" *ngIf=\\\"rank.fraction == 'BLUFOR'\\\">\\n NATO\\n </div>\\n <div class=\\\"div-table-col\\\">\\n </div>\\n </div>\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Stufe:</label>\\n </div>\\n <div class=\\\"div-table-col content content-m\\\">\\n {{rank.level}}\\n </div>\\n <div class=\\\"div-table-col\\\">\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Bild:</label>\\n </div>\\n <div class=\\\"div-table-col content-m-flex\\\">\\n <img src=\\\"{{imagePreview}}\\\">\\n </div>\\n <div class=\\\"div-table-col content-l\\\">\\n <label class=\\\"control-label\\\">Neues Logo</label>\\n <input class=\\\"form-control\\\" type=\\\"file\\\" accept=\\\"image/png\\\" #newGraphicInput (change)=\\\"fileChange($event)\\\">\\n <span class=\\\"label label-bg label-danger center-block\\\" style=\\\"font-size:small\\\" *ngIf=\\\"showImageError\\\">\\n Bild muss im PNG Format vorliegen\\n </span>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <label>&nbsp;</label>\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\" (click)=\\\"updateGraphic(newGraphicInput)\\\">Bestätigen</a>\\n </div>\\n </div>\\n </div>\\n\\n\\n </div>\\n </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/ranks/rank-overview/rank-overview.component.html\n// module id = 253\n// module chunks = 1","module.exports = \"<router-outlet></router-outlet>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/ranks/ranks.component.html\n// module id = 254\n// module chunks = 1","module.exports = \"<form #form=\\\"ngForm\\\" class=\\\"overview\\\">\\n <h3>Neues Squad hinzufügen</h3>\\n\\n <div class=\\\"form-group\\\">\\n <label for=\\\"title\\\">Name</label>\\n <input type=\\\"text\\\" class=\\\"form-control\\\"\\n [(ngModel)]=\\\"squad.name\\\"\\n name=\\\"title\\\"\\n id=\\\"title\\\"\\n required maxlength=\\\"50\\\"/>\\n\\n <show-error text=\\\"Name\\\" path=\\\"title\\\"></show-error>\\n </div>\\n\\n <div class=\\\"form-group\\\">\\n <label for=\\\"fraction\\\">Fraktion</label>\\n <select id=\\\"fraction\\\" name=\\\"fraction\\\" class=\\\"form-control btn dropdown-toggle\\\"\\n required\\n [(ngModel)]=\\\"squad.fraction\\\">\\n <option value=\\\"OPFOR\\\">CSAT</option>\\n <option value=\\\"BLUFOR\\\">NATO</option>\\n </select>\\n <show-error text=\\\"Fraktion\\\" path=\\\"fraction\\\"></show-error>\\n </div>\\n\\n <div class=\\\"form-group\\\">\\n <label for=\\\"sort\\\">Sortierung</label>\\n <input id=\\\"sort\\\" name=\\\"sort\\\" type=\\\"number\\\" class=\\\"form-control btn dropdown-toggle\\\"\\n [(ngModel)]=\\\"squad.sortingNumber\\\">\\n <show-error text=\\\"Sortierung\\\" path=\\\"sort\\\"></show-error>\\n </div>\\n\\n <div class=\\\"form-group\\\">\\n <label for=\\\"logo\\\">Logo</label>\\n <input id=\\\"logo\\\" name=\\\"logo\\\" class=\\\"ui-button form-control\\\" type=\\\"file\\\"\\n accept=\\\"image/png\\\"\\n (change)=\\\"fileChange($event)\\\">\\n <span class=\\\"label label-bg label-danger center-block\\\" style=\\\"font-size:small\\\" *ngIf=\\\"showImageError\\\">\\n Bild muss im PNG Format vorliegen\\n </span>\\n </div>\\n\\n <button id=\\\"cancel\\\"\\n (click)=\\\"cancel()\\\"\\n class=\\\"btn btn-default\\\">\\n Abbrechen\\n </button>\\n <!--\\n <a class=\\\"btn btn-default\\\"\\n [routerLink]=\\\"task.id ? '../..' : '../'\\\">\\n Abbrechen\\n </a>\\n -->\\n <button id=\\\"save\\\"\\n (click)=\\\"saveSquad()\\\"\\n class=\\\"btn btn-default\\\"\\n [disabled]=\\\"!form.valid\\\">\\n Squad speichern\\n </button>\\n</form>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/squads/new-squad/new-squad.component.html\n// module id = 255\n// module chunks = 1","module.exports = \"<div class=\\\"fade-in squad-list-entry\\\" [ngClass]=\\\"{selected : selected}\\\" (click)=\\\"select()\\\">\\n\\n <div class=\\\"row\\\">\\n <div class=\\\"col-xs-11\\\">\\n <span>\\n <a>{{squad.name}}</a>\\n </span>\\n <br>\\n <small *ngIf=\\\"squad.fraction == 'OPFOR'\\\">CSAT</small>\\n <small *ngIf=\\\"squad.fraction == 'BLUFOR'\\\">NATO</small>\\n </div>\\n </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/squads/squad-list/squad-item.component.html\n// module id = 256\n// module chunks = 1","module.exports = \"<div class=\\\"squad-list\\\">\\n <h2>Übersicht</h2>\\n <div class=\\\"input-group search-bar\\\" style=\\\"padding-bottom: 5px; width:100%\\\">\\n <form class=\\\"pull-left form-group\\\">\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\"\\n [checked]=\\\"(fractionRadioSelect == undefined) ? 'true' : 'false'\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n (change)=\\\"filterSquadsByFraction(query.value)\\\">Alle\\n </label>\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\" value=\\\"blufor\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n #fractRadioBufor\\n (change)=\\\"filterSquadsByFraction(query.value, fractRadioBufor.value)\\\">NATO\\n </label>\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\" value=\\\"opfor\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n #fractRadioOpfor\\n (change)=\\\"filterSquadsByFraction(query.value, fractRadioOpfor.value)\\\">CSAT\\n </label>\\n </form>\\n <a class=\\\"pull-right btn btn-success\\\" (click)=\\\"openNewSquadForm()\\\">\\n Neues Squad hinzufügen\\n </a>\\n </div>\\n\\n <div class=\\\"input-group search-bar\\\" style=\\\"padding-top: 0;\\\">\\n <input id=\\\"search-tasks\\\"\\n type=\\\"text\\\" #query class=\\\"form-control\\\"\\n (keyup.enter)=\\\"findSquads(query.value)\\\"\\n [formControl]=\\\"searchTerm\\\">\\n <span class=\\\"input-group-btn\\\">\\n <button class=\\\"btn btn-default\\\" type=\\\"button\\\"\\n (click)=\\\"findSquads(query.value)\\\">\\n Suchen\\n </button>\\n </span>\\n </div>\\n\\n <div>\\n <pjm-squad-item *ngFor=\\\"let squad of squads$ | async\\\"\\n [squad]=\\\"squad\\\"\\n (squadDelete)=\\\"deleteUser(squad)\\\"\\n (squadSelected)=\\\"selectSquad($event)\\\"\\n [selected]=\\\"squad._id == selectedSquadId\\\">\\n </pjm-squad-item>\\n </div>\\n\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/squads/squad-list/squad-list.component.html\n// module id = 257\n// module chunks = 1","module.exports = \"<div class=\\\"overview\\\">\\n <h3 style=\\\"margin-bottom: 25px\\\">Squad-Details\\n <span *ngIf=\\\"showSuccessLabel\\\"\\n class=\\\"label label-success label-small\\\"\\n style=\\\"margin-left: inherit\\\">\\n Erfolgreich gespeichert\\n </span>\\n </h3>\\n <div *ngIf=\\\"squad\\\">\\n <div class=\\\"col-xs-12\\\">\\n\\n\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Name:</label>\\n </div>\\n <div class=\\\"div-table-col content content-m\\\">\\n {{squad.name}}\\n </div>\\n <div class=\\\"div-table-col content-l\\\">\\n <input class=\\\"form-control\\\" width=\\\"250px\\\" placeholder=\\\"Neuer Name\\\" #newNameInput>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\" (click)=\\\"update('name',newNameInput)\\\">Bestätigen</a>\\n </div>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Fraktion:</label>\\n </div>\\n <div class=\\\"div-table-col fraction-opfor content-m\\\" *ngIf=\\\"squad.fraction == 'OPFOR'\\\">\\n CSAT\\n </div>\\n <div class=\\\"div-table-col fraction-blufor content-m\\\" *ngIf=\\\"squad.fraction == 'BLUFOR'\\\">\\n NATO\\n </div>\\n <div class=\\\"div-table-col\\\">\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Sortierung:</label>\\n </div>\\n <div class=\\\"div-table-col content content-m\\\">\\n {{squad.sortingNumber}}\\n </div>\\n <div class=\\\"div-table-col content-l\\\">\\n <input type=\\\"number\\\" class=\\\"form-control\\\" width=\\\"250px\\\" placeholder=\\\"Neue Sortierung\\\" #sortingNumberInput>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\"\\n (click)=\\\"update('sortingNumber', sortingNumberInput)\\\">Bestätigen</a>\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Logo:</label>\\n </div>\\n <div class=\\\"div-table-col content-m-flex\\\">\\n <img src=\\\"{{imagePreview}}\\\">\\n </div>\\n <div class=\\\"div-table-col content-l\\\">\\n <label class=\\\"control-label\\\">Neues Logo</label>\\n <input class=\\\"form-control\\\" type=\\\"file\\\" accept=\\\"image/png\\\" #newLogoInput (change)=\\\"fileChange($event)\\\">\\n <span class=\\\"label label-bg label-danger center-block\\\" style=\\\"font-size:small\\\" *ngIf=\\\"showImageError\\\">\\n Bild muss im PNG Format vorliegen\\n </span>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\"\\n (click)=\\\"updateGraphic(newLogoInput)\\\">Bestätigen</a>\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Löschen:</label>\\n </div>\\n <div class=\\\"div-table-col content-l\\\" align=\\\"center\\\">\\n <input class=\\\"form-control\\\" #confirmInput placeholder=\\\"Squadnamen zur Bestätigung eingeben\\\"\\n style=\\\"width:290px\\\">\\n </div>\\n <div class=\\\"div-table-col content-m\\\">\\n &nbsp;\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\" (click)=\\\"deleteSquad(confirmInput.value)\\\">Squad\\n Löschen</a>\\n </div>\\n\\n </div>\\n </div>\\n\\n\\n </div>\\n </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/squads/squad-overview/squad-overview.component.html\n// module id = 258\n// module chunks = 1","module.exports = \"<router-outlet></router-outlet>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/squads/squads.component.html\n// module id = 259\n// module chunks = 1","module.exports = \"<form #form=\\\"ngForm\\\" class=\\\"overview\\\">\\n <h3>Neuen Teilnehmer hinzufügen</h3>\\n\\n <div class=\\\"form-group\\\">\\n <label for=\\\"title\\\">Name</label>\\n <input type=\\\"text\\\" class=\\\"form-control\\\"\\n [(ngModel)]=\\\"user.username\\\"\\n name=\\\"title\\\"\\n id=\\\"title\\\"\\n required maxlength=\\\"50\\\"/>\\n\\n <show-error text=\\\"Name\\\" path=\\\"title\\\"></show-error>\\n </div>\\n\\n <button id=\\\"cancel\\\"\\n (click)=\\\"cancel()\\\"\\n class=\\\"btn btn-default\\\">\\n Abbrechen\\n </button>\\n\\n <button id=\\\"save\\\"\\n (click)=\\\"saveUser()\\\"\\n class=\\\"btn btn-default\\\"\\n [disabled]=\\\"!form.valid\\\">\\n Teilnehmer hinzufügen\\n </button>\\n</form>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/users/new-user/new-user.component.html\n// module id = 260\n// module chunks = 1","module.exports = \"<div class=\\\"fade-in user-list-entry\\\" [ngClass]=\\\"{selected : selected}\\\" (click)=\\\"select()\\\">\\n\\n <div class=\\\"row\\\">\\n <div class=\\\"col-xs-11\\\">\\n <span>\\n <a>{{user.username}}</a>\\n </span>\\n <br>\\n <small *ngIf=\\\"user.squad && user.squad.fraction == 'OPFOR'\\\">CSAT - {{user.squad.name}}</small>\\n <small *ngIf=\\\"user.squad && user.squad.fraction == 'BLUFOR'\\\">NATO - {{user.squad.name}}</small>\\n <small *ngIf=\\\"!user.squad\\\">ohne Squad/Fraktion</small>\\n </div>\\n </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/users/user-list/user-item.component.html\n// module id = 261\n// module chunks = 1","module.exports = \"<div class=\\\"user-list\\\">\\n <h2>Übersicht</h2>\\n <div class=\\\"input-group search-bar\\\" style=\\\"padding-bottom: 5px; width:100%\\\">\\n <form class=\\\"pull-left form-group\\\">\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\"\\n [checked]=\\\"(fractionRadioSelect == undefined) ? 'true' : 'false'\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n (change)=\\\"filterUsersByFraction(query.value)\\\">Alle\\n </label>\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\" value=\\\"blufor\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n #fractRadioBufor\\n (change)=\\\"filterUsersByFraction(query.value, fractRadioBufor.value)\\\">NATO\\n </label>\\n <label class=\\\"radio-inline\\\">\\n <input type=\\\"radio\\\" name=\\\"fractSelect\\\" value=\\\"opfor\\\"\\n [(ngModel)]=\\\"fractionRadioSelect\\\"\\n #fractRadioOpfor\\n (change)=\\\"filterUsersByFraction(query.value, fractRadioOpfor.value)\\\">CSAT\\n </label>\\n </form>\\n <a class=\\\"pull-right btn btn-success\\\" (click)=\\\"openNewUserForm()\\\">\\n Neuen Teilnehmer hinzufügen\\n </a>\\n </div>\\n\\n <div class=\\\"input-group search-bar\\\" style=\\\"padding-top: 0;\\\">\\n <input id=\\\"search-tasks\\\"\\n type=\\\"text\\\" #query class=\\\"form-control\\\"\\n (keyup.enter)=\\\"findUsers(query.value)\\\"\\n [formControl]=\\\"searchTerm\\\">\\n <span class=\\\"input-group-btn\\\">\\n <button class=\\\"btn btn-default\\\" type=\\\"button\\\"\\n (click)=\\\"findUsers(query.value)\\\">\\n Suchen\\n </button>\\n </span>\\n </div>\\n\\n <div>\\n <pjm-user-item *ngFor=\\\"let user of users$ | async\\\"\\n [user]=\\\"user\\\"\\n (userDelete)=\\\"deleteUser(user)\\\"\\n (userSelected)=\\\"selectUser($event)\\\"\\n [selected]=\\\"user._id == selectedUserId\\\">\\n </pjm-user-item>\\n </div>\\n <br>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/users/user-list/user-list.component.html\n// module id = 262\n// module chunks = 1","module.exports = \"<div class=\\\"overview\\\">\\n <h3 style=\\\"margin-bottom: 25px\\\">Teilnehmer-Details\\n <span *ngIf=\\\"showSuccessLabel\\\"\\n class=\\\"label label-success label-small\\\"\\n style=\\\"margin-left: inherit\\\">\\n Erfolgreich gespeichert\\n </span>\\n </h3>\\n <div *ngIf=\\\"user\\\">\\n <div class=\\\"col-xs-12\\\">\\n\\n\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Name:</label>\\n </div>\\n <div class=\\\"div-table-col content content-m\\\" >\\n {{user.username}}\\n </div>\\n <div class=\\\"div-table-col content-l\\\">\\n <input class=\\\"form-control\\\" width=\\\"250px\\\" placeholder=\\\"Neuer Name\\\" #newNameInput>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\" (click)=\\\"update('username',newNameInput.value, newNameInput)\\\" >Bestätigen</a>\\n </div>\\n </div>\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Fraktion:</label>\\n </div>\\n <div class=\\\"div-table-col content-m\\\" *ngIf=\\\"!user.squad\\\">\\n Ohne Fraktion\\n </div>\\n <div class=\\\"div-table-col fraction-opfor content-m\\\" *ngIf=\\\"user.squad && user.squad.fraction == 'OPFOR'\\\">\\n CSAT\\n </div>\\n <div class=\\\"div-table-col fraction-blufor content-m\\\" *ngIf=\\\"user.squad && user.squad.fraction == 'BLUFOR'\\\">\\n NATO\\n </div>\\n <div class=\\\"div-table-col\\\">\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Squad:</label>\\n </div>\\n <div class=\\\"div-table-col content-m\\\" *ngIf=\\\"!user.squad\\\">Ohne Squad</div>\\n <div class=\\\"div-table-col content content-m\\\" *ngIf=\\\"user.squad\\\">{{user.squad.name}}</div>\\n <div class=\\\"div-table-col content content-l\\\">\\n <select class=\\\"form-control\\\" [ngModel]=\\\"user.squad?._id\\\" style=\\\"min-width: 200px;\\\" #squadSelector>\\n <option [value]=\\\"\\\">---</option>\\n <option *ngFor=\\\"let squad of squads\\\" [value]=\\\"squad._id\\\">{{squad.fraction}}: {{squad.name}}</option>\\n </select>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <a class=\\\"pull-right btn btn-sm btn-default btn-block\\\" (click)=\\\"update('squadId', squadSelector.value)\\\">Bestätigen</a>\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Rang:</label>\\n </div>\\n <div class=\\\"div-table-col content-m\\\" *ngIf=\\\"!user.rank\\\">Ohne Rang</div>\\n <div class=\\\"div-table-col content-m content\\\" *ngIf=\\\"user.rank\\\">{{user.rank.name}}</div>\\n <div class=\\\"div-table-col content-l\\\" *ngIf=\\\"user.rank\\\"><img src=\\\"resource/rank/{{user.rank._id}}.png\\\" class=\\\"center-block\\\"></div>\\n <div class=\\\"div-table-col content-s\\\" *ngIf=\\\"user.rank\\\">\\n <a class=\\\"btn btn-sm btn-default btn-block pull-right\\\" (click)=\\\"update('rankLvl', user.rank.level + 1)\\\">\\n Befördern\\n </a>\\n <br><br>\\n <a class=\\\"btn btn-sm btn-default btn-block pull-right\\\" (click)=\\\"update('rankLvl', user.rank.level - 1)\\\">\\n Degradieren\\n </a>\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <!--row 1 - label and dropdown-->\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label style=\\\"white-space: pre-wrap\\\">Auszeichnung\\nverleihen:</label>\\n </div>\\n <div class=\\\"div-table-col content-m\\\">\\n <select #decoSelector class=\\\"form-control\\\" [ngModel]=\\\"undefined\\\" style=\\\"min-width: 200px\\\"\\n (change)=\\\"toggleDecoPreview(decoDescription, decoSelector.value, decoPreview)\\\">\\n <option *ngFor=\\\"let deco of decorations\\\" [value]=\\\"deco._id\\\">{{deco.fraction}}: {{deco.name}}</option>\\n </select>\\n </div>\\n <div class=\\\"div-table-col content-l\\\">\\n &nbsp;\\n </div>\\n </div>\\n <!--row 2 - decoration preview-->\\n <div class=\\\"div-table-row\\\" [style.display]=\\\"decoPreviewDisplay\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n &nbsp;\\n </div>\\n <div class=\\\"div-table-col content-m-flex decoration-preview\\\" style=\\\"border-radius: 15px 0px 0px 15px;\\\">\\n <img class=\\\"center-block\\\" #decoPreview>\\n </div>\\n <div class=\\\"div-table-col content-l decoration-preview\\\" style=\\\"border-radius: 0px 15px 15px 0px; font-style: oblique\\\" #decoDescription>\\n &nbsp;\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n &nbsp;\\n </div>\\n </div>\\n <!--row 3 - input and submit-->\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n &nbsp;\\n </div>\\n <div class=\\\"div-table-col content-xxl\\\">\\n <textarea class=\\\"form-control center-block\\\" placeholder=\\\"Begründung eingeben...\\\" rows=\\\"3\\\" #awardTextArea></textarea>\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n <a class=\\\"pull-right btn btn-sm btn-default btn-block\\\" style=\\\"position: relative; bottom: -40px;\\\"\\n (click)=\\\"addAwarding(decoSelector, awardTextArea, decoPreview, decoDescription)\\\">\\n Bestätigen</a>\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <label style=\\\"margin-left: calc(8% + 15px);\\\">Auszeichnungen:</label>\\n <div class=\\\"div-table table-bordered\\\" style=\\\"min-width: 852px; border-collapse: collapse;\\\">\\n <div class=\\\"div-table-row table-bordered\\\">\\n <div class=\\\"div-table-col div-table-head content-xs\\\">\\n Bild\\n </div>\\n <div class=\\\"div-table-col div-table-head content-m\\\">\\n Bezeichnung\\n </div>\\n <div class=\\\"div-table-col div-table-head content-xl\\\">\\n Begründung\\n </div>\\n <div class=\\\"div-table-col div-table-head content-xs\\\">\\n Datum\\n </div>\\n <div class=\\\"div-table-col content-xs\\\">\\n &nbsp;\\n </div>\\n </div>\\n <div class=\\\"div-table-row table-bordered\\\"*ngFor=\\\"let award of user.awards\\\">\\n <div class=\\\"div-table-col content-xs\\\" *ngIf=\\\"award.decorationId.isMedal\\\">\\n <img height=\\\"40px\\\" src=\\\"resource/decoration/{{award.decorationId._id}}.png\\\">\\n </div>\\n <div class=\\\"div-table-col content-xs\\\" *ngIf=\\\"!award.decorationId.isMedal\\\">\\n <img width=\\\"60px\\\" src=\\\"resource/decoration/{{award.decorationId._id}}.png\\\">\\n </div>\\n\\n <div class=\\\"div-table-col content-m\\\">\\n {{award.decorationId.name}}\\n </div>\\n <div class=\\\"div-table-col content-xl\\\">\\n {{award.reason}}\\n </div>\\n <div class=\\\"div-table-col content-xs\\\">\\n {{award.date | date: 'dd.MM.yyyy'}}\\n </div>\\n <div class=\\\"div-table-col content-xs\\\">\\n <span title=\\\"Löschen\\\" (click)=\\\"deleteAwarding(award._id)\\\" class=\\\"pull-right btn glyphicon glyphicon-trash trash\\\"></span>\\n </div>\\n </div>\\n </div>\\n\\n <hr>\\n <div class=\\\"div-table\\\">\\n <div class=\\\"div-table-row\\\">\\n <div class=\\\"div-table-col content-s\\\">\\n <label>Löschen:</label>\\n </div>\\n <div class=\\\"div-table-col content-l\\\" align=\\\"center\\\">\\n <input class=\\\"form-control\\\" #confirmInput placeholder=\\\"Teilnehmernamen zur Bestätigung eingeben\\\" style=\\\"width:320px\\\">\\n </div>\\n <div class=\\\"div-table-col content-s\\\">\\n &nbsp;\\n </div>\\n <div class=\\\"div-table-col content-m\\\">\\n <a class=\\\"pull-right btn btn-sm btn-block btn-default\\\" (click)=\\\"deleteUser(confirmInput.value)\\\" >Teilnehmer Löschen</a>\\n </div>\\n\\n </div>\\n </div>\\n\\n </div>\\n </div>\\n</div>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/users/user-overview/user-overview.component.html\n// module id = 263\n// module chunks = 1","module.exports = \"<router-outlet></router-outlet>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/users/users.component.html\n// module id = 264\n// module chunks = 1"],"sourceRoot":""}