{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/api/services/api-data.service.ts","./src/app/api/services/country.service.ts","./src/app/api/services/http-handling.service.ts","./src/app/api/services/localStorage.ts","./src/app/api/services/spinner.service.ts","./src/app/api/services/util.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/common/components/activate/activate.component.ts","./src/app/common/components/activate/activate.component.html","./src/app/common/components/activate/service/activate.service.ts","./src/app/common/components/annual-registration/components/dialog/annual-registration.component.ts","./src/app/common/components/annual-registration/components/dialog/annual-registration.component.html","./src/app/common/components/annual-registration/services/annual-registrations-table.service.ts","./src/app/common/components/competition-management/add-competition-card/add-competition-card.component.ts","./src/app/common/components/competition-management/add-competition-card/add-competition-card.component.html","./src/app/common/components/competition-management/add-competition-card/add-round-dialog/round-dialog.component.ts","./src/app/common/components/competition-management/add-competition-card/add-round-dialog/round-dialog.component.html","./src/app/common/components/competition-management/add-competition-card/add-round-dialog/services/round.service.ts","./src/app/common/components/competition-management/add-competition-card/add-stage-card/multiple-table-creator/multiple-table-creator.component.ts","./src/app/common/components/competition-management/add-competition-card/add-stage-card/multiple-table-creator/multiple-table-creator.component.html","./src/app/common/components/competition-management/add-competition-card/service/add-competition-card.service.ts","./src/app/common/components/competition-management/edit-competition-card/edit-stage-card/service/stage-card.service.ts","./src/app/common/components/competition-management/edit-competition-card/service/competition-card.service.ts","./src/app/common/components/competition-management/edit-competition-card/stage-results-table/speed-trial-result/edit-speed-trial-result/edit-speed-trial-result.component.ts","./src/app/common/components/competition-management/edit-competition-card/stage-results-table/speed-trial-result/edit-speed-trial-result/edit-speed-trial-result.component.html","./src/app/common/components/competition-result/components/competition-results-table.component.ts","./src/app/common/components/competition-result/components/competition-results-table.component.html","./src/app/common/components/competition-result/services/competition-results-table.service.ts","./src/app/common/components/confirmation-dialog/confirmation-dialog.component.ts","./src/app/common/components/confirmation-dialog/confirmation-dialog.component.html","./src/app/common/components/navigation-bar/archive/archive.component.ts","./src/app/common/components/navigation-bar/archive/archive.component.html","./src/app/common/components/navigation-bar/competitions/competition-details/competition-details.component.ts","./src/app/common/components/navigation-bar/competitions/competition-details/competition-details.component.html","./src/app/common/components/navigation-bar/competitions/competition-details/competition-registration/components/competition-registration.component.ts","./src/app/common/components/navigation-bar/competitions/competition-details/competition-registration/components/competition-registration.component.html","./src/app/common/components/navigation-bar/competitions/competition-details/competition-registration/pipes/additional-competitor.pipe.ts","./src/app/common/components/navigation-bar/competitions/competition-details/competition-registration/pipes/competitor.pipe.ts","./src/app/common/components/navigation-bar/competitions/competition-details/competition-registration/services/competition-registration.service.ts","./src/app/common/components/navigation-bar/competitions/competition-details/registered-crews-table/components/registered-crews-table.component.ts","./src/app/common/components/navigation-bar/competitions/competition-details/registered-crews-table/components/registered-crews-table.component.html","./src/app/common/components/navigation-bar/competitions/competition-details/registered-crews-table/constants/grid-column-definition.constant.ts","./src/app/common/components/navigation-bar/competitions/competition-details/registered-crews-table/resolvers/competition-author.resolver.ts","./src/app/common/components/navigation-bar/competitions/competition-details/registered-crews-table/services/registered-crews-table.service.ts","./src/app/common/components/navigation-bar/competitions/competition-details/sign-in-card/sign-in-card.component.ts","./src/app/common/components/navigation-bar/competitions/competition-details/sign-in-card/sign-in-card.component.html","./src/app/common/components/navigation-bar/competitions/competitions.component.ts","./src/app/common/components/navigation-bar/competitions/competitions.component.html","./src/app/common/components/navigation-bar/language-switcher/language-switcher.component.ts","./src/app/common/components/navigation-bar/language-switcher/language-switcher.component.html","./src/app/common/components/navigation-bar/language-switcher/services/language-switcher.service.ts","./src/app/common/components/navigation-bar/language-switcher/types/language-switcher.types.ts","./src/app/common/components/navigation-bar/login-dialog/forgot-password-dialog/forgot-password-dialog.component.ts","./src/app/common/components/navigation-bar/login-dialog/forgot-password-dialog/forgot-password-dialog.component.html","./src/app/common/components/navigation-bar/login-dialog/login-dialog.component.ts","./src/app/common/components/navigation-bar/login-dialog/login-dialog.component.html","./src/app/common/components/navigation-bar/navigation-bar.component.ts","./src/app/common/components/navigation-bar/navigation-bar.component.html","./src/app/common/components/navigation-bar/profile-info/add-competitor-card/add-competitor-card.component.ts","./src/app/common/components/navigation-bar/profile-info/add-competitor-card/add-competitor-card.component.html","./src/app/common/components/navigation-bar/profile-info/add-crew-card/add-crew-card.component.ts","./src/app/common/components/navigation-bar/profile-info/add-crew-card/add-crew-card.component.html","./src/app/common/components/navigation-bar/profile-info/edit-competitor-card/edit-competitor-card.component.ts","./src/app/common/components/navigation-bar/profile-info/edit-competitor-card/edit-competitor-card.component.html","./src/app/common/components/navigation-bar/profile-info/edit-crew-card/edit-crew-card.component.ts","./src/app/common/components/navigation-bar/profile-info/edit-crew-card/edit-crew-card.component.html","./src/app/common/components/navigation-bar/profile-info/edit-crew-card/service/edit-crew-card.service.ts","./src/app/common/components/navigation-bar/profile-info/profile-info.component.ts","./src/app/common/components/navigation-bar/profile-info/profile-info.component.html","./src/app/common/components/navigation-bar/registration-dialog/registration-dialog.component.ts","./src/app/common/components/navigation-bar/registration-dialog/registration-dialog.component.html","./src/app/common/components/navigation-bar/registration-dialog/types/country.types.ts","./src/app/common/components/navigation-bar/results/results.component.ts","./src/app/common/components/navigation-bar/results/results.component.html","./src/app/common/components/navigation-bar/services/navigation-bar.service.ts","./src/app/common/components/round-result/components/round-results-table.component.ts","./src/app/common/components/round-result/components/round-results-table.component.html","./src/app/common/components/round-result/services/round-results-table.service.ts","./src/app/common/components/season-management/season-results-table/season-results-table.component.ts","./src/app/common/components/season-management/season-results-table/season-results-table.component.html","./src/app/common/components/season-management/season-results-table/service/competition-results-table.service.ts","./src/app/common/components/season-management/season-stage-results-table/season-speed-trial-results-table.component.ts","./src/app/common/components/season-management/season-stage-results-table/season-speed-trial-results-table.component.html","./src/app/common/components/season-management/season-stage-results-table/service/season-stage-results-table.service.ts","./src/app/common/components/stage-result/base/stage-result.base.ts","./src/app/common/components/stage-result/components/list/stage-results-table.component.ts","./src/app/common/components/stage-result/components/list/stage-results-table.component.html","./src/app/common/components/stage-result/components/radar-dialog/radar.component.ts","./src/app/common/components/stage-result/components/radar-dialog/radar.component.html","./src/app/common/components/stage-result/components/speed-trial-dialog/speed-trial-result.component.ts","./src/app/common/components/stage-result/components/speed-trial-dialog/speed-trial-result.component.html","./src/app/common/components/stage-result/constants/grid-column-definition.constant.ts","./src/app/common/components/stage-result/enums/result-type.enum.ts","./src/app/common/components/stage-result/services/radar.service.ts","./src/app/common/components/stage-result/services/speed-trial.service.ts","./src/app/common/components/stage-result/services/stage-results-table.service.ts","./src/app/common/pages/home/home.component.ts","./src/app/common/pages/race-info/race-info.component.ts","./src/app/common/pages/race-info/race-info.component.html","./src/app/common/types/addCrewResponseEntity.ts","./src/app/common/types/app.constants.ts","./src/app/common/types/cec-table.ts","./src/app/common/types/cec.types.ts","./src/app/common/types/competition.ts","./src/app/common/types/competitionRegistration.ts","./src/app/common/types/competitor.ts","./src/app/common/types/crew.ts","./src/app/common/types/editCrewCardInfo.ts","./src/app/common/types/loggedCompetitor.ts","./src/app/common/types/loggedUser.ts","./src/app/common/types/login.ts","./src/app/common/types/speed-trial.model.ts","./src/app/common/types/user.ts","./src/app/controls/base/control.base.ts","./src/app/controls/base/crud-dialog.base.ts","./src/app/controls/base/grid.base.ts","./src/app/controls/base/results-grid.base.ts","./src/app/controls/breadcrumb/components/breadcrumb.component.ts","./src/app/controls/breadcrumb/components/breadcrumb.component.html","./src/app/controls/breadcrumb/services/breadcrumb.service.ts","./src/app/controls/calendar/calendar-overlay.directive.ts","./src/app/controls/calendar/calendar.component.ts","./src/app/controls/calendar/calendar.component.html","./src/app/controls/calendar/list-overlay/list-overlay.component.ts","./src/app/controls/calendar/list-overlay/list-overlay.component.html","./src/app/controls/calendar/list-overlay/list-overlay.directive.ts","./src/app/controls/confirmation-dialog/confirmation-dialog.component.ts","./src/app/controls/confirmation-dialog/confirmation-dialog.component.html","./src/app/controls/constants/cec-breakpoints.constant.ts","./src/app/controls/date-input/date-input.component.ts","./src/app/controls/date-input/date-input.component.html","./src/app/controls/date-range-picker/components/date-range-picker.component.ts","./src/app/controls/date-range-picker/components/date-range-picker.component.html","./src/app/controls/date-range-picker/functions/parse-date.function.ts","./src/app/controls/dialog/components/dialog.component.ts","./src/app/controls/dialog/components/dialog.component.html","./src/app/controls/functions/is-form-group.function.ts","./src/app/controls/functions/mark-for-validation.function.ts","./src/app/controls/functions/string-format.function.ts","./src/app/controls/grid/components/grid.component.ts","./src/app/controls/grid/components/grid.component.html","./src/app/controls/guards/competition-author.guard.ts","./src/app/controls/info-dialog/info-dialog.component.ts","./src/app/controls/info-dialog/info-dialog.component.html","./src/app/controls/input/input.component.ts","./src/app/controls/input/input.component.html","./src/app/controls/item-list-selector/item-list-selector.component.ts","./src/app/controls/item-list-selector/item-list-selector.component.html","./src/app/controls/pipes/cec-breakpoint.pipe.ts","./src/app/controls/result-summary/components/result-summary.component.ts","./src/app/controls/result-summary/components/result-summary.component.html","./src/app/controls/result-summary/directives/result-item.directive.ts","./src/app/controls/select/select.component.ts","./src/app/controls/select/select.component.html","./src/app/controls/services/cec-breakpoint.service.ts","./src/app/controls/services/competition-author.service.ts","./src/app/controls/shared/date-format.const.ts","./src/app/controls/snack-bar/components/snack-bar.component.ts","./src/app/controls/snack-bar/components/snack-bar.component.html","./src/app/controls/snack-bar/services/snack-bar.service.ts","./src/app/controls/spinner/spinner.component.ts","./src/app/controls/spinner/spinner.component.html","./src/app/controls/table-list/table-list.component.ts","./src/app/controls/table-list/table-list.component.html","./src/app/controls/table-manager-dialog/components/table-manager-dialog.component.ts","./src/app/controls/table-manager-dialog/components/table-manager-dialog.component.html","./src/app/controls/toolbar/components/toolbar.component.ts","./src/app/controls/toolbar/components/toolbar.component.html","./src/app/controls/toolbar/directives/toolbar-item.directive.ts","./src/app/controls/toolbar/pipes/toolbar-button-filter.pipe.ts","./src/app/controls/toolbar/pipes/toolbar-filter.pipe.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { HttpClient, HttpErrorResponse, HttpResponse } from \"@angular/common/http\";\r\nimport { HttpHandlingService } from \"./http-handling.service\";\r\nimport { SERVER_API_URL, SERVER_API_URL_NEW } from \"src/app/common/types/app.constants\";\r\nimport { Observable, catchError, of, switchMap } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiDataService {\r\n /** server api url */\r\n private SERVER_URI = SERVER_API_URL_NEW;\r\n\r\n constructor(private http: HttpClient, private httpHandlingService: HttpHandlingService) {}\r\n\r\n /**\r\n * Gets single object from API\r\n * @param url API endpoint URL\r\n * @returns object from API\r\n */\r\n public get(url: string): Observable {\r\n const uri = `${this.SERVER_URI}/${url}`;\r\n return this.http.get(uri, { headers: this.httpHandlingService.authorizationHeaders() }).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n if (error.status === 401 && this.httpHandlingService.isUserLoggedIn()) {\r\n this.httpHandlingService.logout();\r\n return of(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Gets list of objects from API\r\n * @param url API endpoint URL\r\n * @returns list of objects from API\r\n */\r\n public getAll(url: string): Observable {\r\n const uri = `${this.SERVER_URI}/${url}`;\r\n return this.http.get(uri, { headers: this.httpHandlingService.authorizationHeaders() }).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n if (error.status === 401 && this.httpHandlingService.isUserLoggedIn()) {\r\n this.httpHandlingService.logout();\r\n return of(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Sends object to API\r\n * @param url API endpoint URL\r\n * @param data data to send\r\n * @returns API response\r\n */\r\n public post(url: string, data: unknown): Observable {\r\n const uri = `${this.SERVER_URI}/${url}`;\r\n return this.http.post(uri, data, { headers: this.httpHandlingService.authorizationHeaders() }).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n if (error.status === 401 && this.httpHandlingService.isUserLoggedIn()) {\r\n this.httpHandlingService.logout();\r\n return of(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Updates object in API\r\n * @param url API endpoint URL\r\n * @param data data to send\r\n * @returns API response\r\n */\r\n public put(url: string, data: unknown): Observable {\r\n const uri = `${this.SERVER_URI}/${url}`;\r\n return this.http.put(uri, data, { headers: this.httpHandlingService.authorizationHeaders() }).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n if (error.status === 401 && this.httpHandlingService.isUserLoggedIn()) {\r\n this.httpHandlingService.logout();\r\n return of(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Updates object in API\r\n * @param url API endpoint URL\r\n * @param data data to send\r\n * @returns API response\r\n */\r\n public patch(url: string, data: unknown): Observable {\r\n const uri = `${this.SERVER_URI}/${url}`;\r\n return this.http.patch(uri, data, { headers: this.httpHandlingService.authorizationHeaders() }).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n if (error.status === 401 && this.httpHandlingService.isUserLoggedIn()) {\r\n this.httpHandlingService.logout();\r\n return of(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Updates object in API\r\n * @param url API endpoint URL\r\n * @param data data to send\r\n * @returns API response\r\n */\r\n public patchEmpty(url: string): Observable {\r\n const uri = `${this.SERVER_URI}/${url}`;\r\n return this.http.patch(uri, undefined, { headers: this.httpHandlingService.authorizationHeaders() }).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n if (error.status === 401 && this.httpHandlingService.isUserLoggedIn()) {\r\n this.httpHandlingService.logout();\r\n return of(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Deletes object in API by parameters\r\n * @param url API endpoint URL\r\n * @param data data to send\r\n * @returns API response\r\n */\r\n public delete(url: string, params: unknown): Observable {\r\n const uri = `${this.SERVER_URI}/${url}/${params}`;\r\n return this.http.delete(uri, { headers: this.httpHandlingService.authorizationHeaders() }).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n if (error.status === 401 && this.httpHandlingService.isUserLoggedIn()) {\r\n this.httpHandlingService.logout();\r\n return of(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Gets file from API\r\n * @param uri URL to get file from\r\n * @returns File as blob\r\n */\r\n public getFile(url: string): Observable> {\r\n const uri = `${this.SERVER_URI}/${url}`;\r\n return this.http.get(uri, {\r\n headers: this.httpHandlingService.downloadFileHeaders(),\r\n responseType: 'blob',\r\n observe: 'response',\r\n });\r\n }\r\n\r\n /**\r\n * Downloads file from browser\r\n * @param url URL to get file from\r\n */\r\n public downloadFile(url: string): Observable {\r\n return this.getFile(url).pipe(\r\n switchMap((response: HttpResponse) => {\r\n /** parse file name from content-disposition header */\r\n let contentDisposition = response.headers.get('content-disposition');\r\n let filename = '';\r\n if (!contentDisposition) {\r\n filename = 'file';\r\n } else {\r\n filename = contentDisposition\r\n .split(';')[1]\r\n .split('filename')[1]\r\n .split('=')[1]\r\n .trim();\r\n }\r\n\r\n /** build and download file from browser */\r\n let dataType = response.body.type;\r\n let binaryData = [response.body];\r\n let downloadLink = document.createElement('a');\r\n downloadLink.href = window.URL.createObjectURL(\r\n new Blob(binaryData, { type: dataType })\r\n );\r\n downloadLink.setAttribute('download', filename);\r\n document.body.appendChild(downloadLink);\r\n downloadLink.click();\r\n document.body.removeChild(downloadLink);\r\n return of(true);\r\n })\r\n );\r\n }\r\n}","import {Injectable} from '@angular/core';\r\nimport {Country} from '../../common/components/navigation-bar/registration-dialog/types/country.types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CountryService {\r\n\r\n /**\r\n * function for transforming country code from database to Country\r\n * @param countryCode for evaluating correct Country\r\n */\r\n transformCountryCodeCountry(countryCode: string): Country {\r\n switch (countryCode) {\r\n case 'CZ': return Country.CZ;\r\n case 'SK': return Country.SK;\r\n case 'Poland': return Country.PL;\r\n case 'Hungary': return Country.HU;\r\n case 'Romania': return Country.RO;\r\n default: return Country.SK;\r\n }\r\n }\r\n\r\n /**\r\n * function for transforming Country to database country code\r\n * @param country for evaluating correct Country and transforming into country code\r\n */\r\n transformCountryToCountryCode(country: string): string {\r\n switch (country) {\r\n case Country.CZ: return 'CZ';\r\n case Country.SK: return 'SK';\r\n case Country.PL: return 'PL';\r\n case Country.HU: return 'HU';\r\n case Country.RO: return 'RO';\r\n default: return 'SK';\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {AbstractControl, UntypedFormControl} from '@angular/forms';\r\nimport {HttpHeaders} from '@angular/common/http';\r\nimport {LoggedUser} from '../../common/types/loggedUser';\r\nimport {LocalStorageService} from './localStorage';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HttpHandlingService {\r\n\r\n constructor(private localStorage: LocalStorageService) {\r\n }\r\n\r\n handleUserErrorOutput(fieldControl: UntypedFormControl): string {\r\n switch (true) {\r\n case fieldControl.hasError('required'): return 'You must enter a value';\r\n case fieldControl.hasError('userexists'): return 'User with selected login already exists';\r\n case fieldControl.hasError('emailexists'): return 'User with selected email already exists';\r\n case fieldControl.hasError('passwordsdonotmatch'): return 'Passwords do not match';\r\n case fieldControl.hasError('unauthorized'): return 'Bad login credentials';\r\n case fieldControl.hasError('wrongloginpattern'): return 'Wrong pattern, use valid one-word login';\r\n case fieldControl.hasError('wrongsize50'): return 'Maximum size is 50 characters';\r\n case fieldControl.hasError('wrongsize60'): return 'Maximum size is 60 characters';\r\n case fieldControl.hasError('wrongsize254'): return 'Maximum size is 254 characters';\r\n case fieldControl.invalid: return 'Invalid email address';\r\n default: break;\r\n }\r\n }\r\n\r\n handleUserErrorOutputAbstract(fieldControl: AbstractControl): string {\r\n switch (true) {\r\n case fieldControl.hasError('required'): return 'You must enter a value';\r\n case fieldControl.hasError('userexists'): return 'User with selected login already exists';\r\n case fieldControl.hasError('emailexists'): return 'User with selected email already exists';\r\n case fieldControl.hasError('passwordsdonotmatch'): return 'Passwords do not match';\r\n case fieldControl.hasError('unauthorized'): return 'Bad login credentials';\r\n case fieldControl.invalid: return 'Invalid email address';\r\n default: break;\r\n }\r\n }\r\n\r\n authorizationHeaders(): HttpHeaders {\r\n let headers = new HttpHeaders({'Content-Type': 'application/json'});\r\n if (this.localStorage.get('loggedUser') !== null) {\r\n const loggedUser = this.localStorage.get('loggedUser') as LoggedUser;\r\n headers = headers.append('Authorization', 'Bearer ' + loggedUser.token);\r\n }\r\n return headers;\r\n }\r\n\r\n downloadFileHeaders(): HttpHeaders {\r\n let headers = new HttpHeaders({'Content-Type': 'application/octet-stream'});\r\n if (this.localStorage.get('loggedUser') !== null) {\r\n const loggedUser = this.localStorage.get('loggedUser') as LoggedUser;\r\n headers = headers.append('Authorization', 'Bearer ' + loggedUser.token);\r\n }\r\n return headers;\r\n }\r\n\r\n simpleHeader(): HttpHeaders {\r\n return new HttpHeaders({'Content-Type': 'application/json'});\r\n }\r\n\r\n isUserLoggedIn(): boolean {\r\n return this.localStorage.get('loggedUser') !== null;\r\n }\r\n\r\n logout(): void {\r\n this.localStorage.remove('loggedUser');\r\n window.location.reload();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// import {DefaultSessionState, StateKey} from '../../main/types/elvis.types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalStorageService {\r\n private localStorage: Storage;\r\n\r\n constructor() {\r\n this.localStorage = window.localStorage;\r\n }\r\n\r\n public get(key: string): any {\r\n return JSON.parse(this.localStorage.getItem(key));\r\n }\r\n\r\n public set(key: string, value: any): void {\r\n this.localStorage.setItem(key, JSON.stringify(value));\r\n }\r\n\r\n public remove(key: string): void {\r\n this.localStorage.removeItem(key);\r\n }\r\n\r\n public getFromState(state: string, key: string): any {\r\n const cashedState = this.get(state);\r\n if (cashedState) {\r\n return cashedState[key];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public setToState(state: string, key: string, value: any): void {\r\n const sourceState = this.get(state);\r\n this.set(state, { ...sourceState, [key]: value });\r\n }\r\n\r\n public removeFromState(state: string, key: string): void {\r\n const sourceState = this.get(state);\r\n delete sourceState[key];\r\n this.set(state, { ...sourceState });\r\n }\r\n\r\n public clear(): void {\r\n this.localStorage.clear();\r\n }\r\n\r\n // public initialize(): void {\r\n // if (!this.get(StateKey.SESSION) || !this.getFromState(StateKey.SESSION, 'token')) {\r\n // this.set(StateKey.SESSION, new DefaultSessionState());\r\n // }\r\n // this.set(StateKey.MASTER, {});\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpinnerService {\r\n\r\n private loading: boolean = false;\r\n\r\n constructor() { }\r\n\r\n setLoading(loading: boolean) {\r\n this.loading = loading;\r\n }\r\n\r\n getLoading(): boolean {\r\n return this.loading;\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { SERVER_API_URL } from \"src/app/common/types/app.constants\";\r\nimport { CecTable, CecTableAdminStatus, CecTableType } from \"src/app/common/types/cec-table\";\r\nimport { CompetitorSimple } from \"src/app/common/types/competitor\";\r\nimport { HttpHandlingService } from \"./http-handling.service\";\r\nimport { LocalStorageService } from \"./localStorage\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UtilService {\r\n\r\n constructor(private httpHandlingService: HttpHandlingService, private localStorage: LocalStorageService, private http: HttpClient) {}\r\n\r\n isLoggedCompetitorAnOrganizer(competitionId: number): Observable {\r\n if (this.localStorage.get('loggedCompetitor') !== null && this.localStorage.get('loggedCompetitor') !== undefined) {\r\n const competitor = this.localStorage.get('loggedCompetitor') as CompetitorSimple;\r\n return this.http.get(SERVER_API_URL + '/api/competition-authors/' + competitionId + \"/\" + competitor.id, { headers: this.httpHandlingService.authorizationHeaders() });\r\n } else {\r\n return of(false);\r\n }\r\n }\r\n\r\n getLoggedCompetitorId(): number | undefined {\r\n if (!this.localStorage.get('loggedCompetitor')) {\r\n return undefined;\r\n }\r\n\r\n const competitor = this.localStorage.get('loggedCompetitor') as CompetitorSimple;\r\n return competitor.id;\r\n }\r\n\r\n convertTableTypeToCecTableType(cecTables: CecTable[]): void {\r\n for (const cecTable of cecTables) {\r\n if (cecTable.type.toString() === CecTableType[CecTableType.LIFESTAMP]) {\r\n cecTable.type = CecTableType.LIFESTAMP;\r\n } else {\r\n cecTable.type = CecTableType.NORMAL;\r\n }\r\n }\r\n }\r\n \r\n convertTableStatusToCecTableStatus(cecTables: CecTable[]): void {\r\n for (const cecTable of cecTables) {\r\n switch (cecTable.adminStatus.toString()) {\r\n case CecTableAdminStatus[CecTableAdminStatus.YESORNOT]: cecTable.adminStatus = CecTableAdminStatus.YESORNOT; break;\r\n case CecTableAdminStatus[CecTableAdminStatus.OR]: cecTable.adminStatus = CecTableAdminStatus.OR; break;\r\n case CecTableAdminStatus[CecTableAdminStatus.CANCELLED]: cecTable.adminStatus = CecTableAdminStatus.CANCELLED; break;\r\n default: cecTable.adminStatus = CecTableAdminStatus.OK; break;\r\n }\r\n }\r\n }\r\n}","import { RouterModule } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { HomeComponent } from './common/pages/home/home.component';\r\nimport { CompetitionDetailsComponent } from './common/components/navigation-bar/competitions/competition-details/competition-details.component';\r\nimport { ActivateComponent } from './common/components/activate/activate.component';\r\nimport { SeasonResultsTableComponent } from './common/components/season-management/season-results-table/season-results-table.component';\r\nimport { CompetitionAuthorGuard } from './controls/guards/competition-author.guard';\r\nimport { competitionAuthorResolver } from './common/components/navigation-bar/competitions/competition-details/registered-crews-table/resolvers/competition-author.resolver';\r\nimport { SeasonSpeedTrialResultsTableComponent } from './common/components/season-management/season-stage-results-table/season-speed-trial-results-table.component';\r\nimport { StageResultsTableComponent } from './common/components/stage-result/components/list/stage-results-table.component';\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(\r\n [\r\n {\r\n path: '',\r\n component: HomeComponent,\r\n },\r\n {\r\n path: 'competition/:competitionId/stage/:stageId/driving-reports/add',\r\n loadComponent: () =>\r\n import(\r\n './common/components/driving-report/components/detail/driving-report.component'\r\n ).then((component) => component.DrivingReportComponent),\r\n canActivate: [CompetitionAuthorGuard],\r\n },\r\n {\r\n path: 'competition/:competitionId/stage/:stageId/crew/:crewNumber/driving-report/:id/edit',\r\n loadComponent: () =>\r\n import(\r\n './common/components/driving-report/components/detail/driving-report.component'\r\n ).then((component) => component.DrivingReportComponent),\r\n canActivate: [CompetitionAuthorGuard],\r\n },\r\n {\r\n path: 'competition/:competitionId/stage/:stageId/crew/:crewNumber/driving-report/:id/display',\r\n loadComponent: () =>\r\n import(\r\n './common/components/driving-report/components/detail/driving-report.component'\r\n ).then((component) => component.DrivingReportComponent),\r\n },\r\n {\r\n path: 'competition/add',\r\n loadComponent: () =>\r\n import(\r\n './common/components/competition-management/edit-competition-card/competition-card.component'\r\n ).then((component) => component.CompetitionCardComponent),\r\n },\r\n {\r\n path: 'competition/:id',\r\n loadComponent: () =>\r\n import(\r\n './controls/page-wrapper/page-wrapper.component'\r\n ).then((component) => component.PageWrapperComponent),\r\n data: { breadcrumb: 'Edit competition' },\r\n children: [\r\n {\r\n path: '',\r\n loadComponent: () =>\r\n import(\r\n './common/components/competition-management/edit-competition-card/competition-card.component'\r\n ).then((component) => component.CompetitionCardComponent),\r\n canActivate: [CompetitionAuthorGuard],\r\n },\r\n {\r\n path: 'registered-crews',\r\n resolve: { isOrganizer: competitionAuthorResolver },\r\n loadComponent: () =>\r\n import(\r\n './common/components/navigation-bar/competitions/competition-details/registered-crews-table/components/registered-crews-table.component'\r\n ).then((component) => component.RegisteredCrewsTableComponent),\r\n data: { breadcrumb: 'Registered crews' },\r\n },\r\n {\r\n path: 'round/:roundId/add-stage',\r\n loadComponent: () =>\r\n import(\r\n './common/components/competition-management/edit-competition-card/edit-stage-card/stage-card.component'\r\n ).then((component) => component.StageCardComponent),\r\n data: { breadcrumb: 'Stage card' },\r\n canActivate: [CompetitionAuthorGuard],\r\n },\r\n {\r\n path: 'round/:roundId/stage/:stageId/edit',\r\n loadComponent: () =>\r\n import(\r\n './common/components/competition-management/edit-competition-card/edit-stage-card/stage-card.component'\r\n ).then((component) => component.StageCardComponent),\r\n data: { breadcrumb: 'Stage card' },\r\n canActivate: [CompetitionAuthorGuard],\r\n },\r\n { \r\n path: 'stage/:stageId/driving-reports',\r\n resolve: { isOrganizer: competitionAuthorResolver },\r\n loadComponent: () =>\r\n import(\r\n './common/components/driving-report/components/list/components/driving-reports-table.component'\r\n ).then((component) => component.DrivingReportsTableComponent),\r\n data: { breadcrumb: 'Driving reports' },\r\n },\r\n { \r\n path: 'stage/:stageId/results',\r\n resolve: { isOrganizer: competitionAuthorResolver },\r\n loadComponent: () =>\r\n import(\r\n './common/components/stage-result/components/list/stage-results-table.component'\r\n ).then((component) => component.StageResultsTableComponent),\r\n data: { breadcrumb: 'Stage results' },\r\n },\r\n {\r\n path: 'stage/:stageId/speed-trial/results',\r\n resolve: { isOrganizer: competitionAuthorResolver },\r\n loadComponent: () =>\r\n import(\r\n './common/components/stage-result/components/speed-trial-list/speed-trial-results-table.component'\r\n ).then((component) => component.SpeedTrialResultsTableComponent),\r\n data: { breadcrumb: 'Stage speed trial results' },\r\n },\r\n { \r\n path: 'round/:roundId/results',\r\n resolve: { isOrganizer: competitionAuthorResolver },\r\n loadComponent: () =>\r\n import(\r\n './common/components/round-result/components/round-results-table.component'\r\n ).then((component) => component.RoundResultsTableComponent),\r\n data: { breadcrumb: 'Round results' },\r\n },\r\n {\r\n path: 'round/:roundId/speed-trial/results',\r\n resolve: { isOrganizer: competitionAuthorResolver },\r\n loadComponent: () =>\r\n import(\r\n './common/components/stage-result/components/speed-trial-list/speed-trial-results-table.component'\r\n ).then((component) => component.SpeedTrialResultsTableComponent),\r\n data: { breadcrumb: 'Round speed trial results' },\r\n },\r\n { \r\n path: 'results',\r\n resolve: { isOrganizer: competitionAuthorResolver },\r\n loadComponent: () =>\r\n import(\r\n './common/components/competition-result/components/competition-results-table.component'\r\n ).then((component) => component.CompetitionResultsTableComponent),\r\n data: { breadcrumb: 'Competition results' },\r\n },\r\n {\r\n path: 'speed-trial/results',\r\n resolve: { isOrganizer: competitionAuthorResolver },\r\n loadComponent: () =>\r\n import(\r\n './common/components/stage-result/components/speed-trial-list/speed-trial-results-table.component'\r\n ).then((component) => component.SpeedTrialResultsTableComponent),\r\n data: { breadcrumb: 'Competition speed trial results' },\r\n },\r\n ]\r\n },\r\n {\r\n path: 'season/:id/:name/registered-crews',\r\n loadComponent: () =>\r\n import(\r\n './common/components/annual-registration/components/list/annual-registered-crews-table.component'\r\n ).then((component) => component.AnnualRegisteredCrewsTableComponent),\r\n },\r\n { path: '', redirectTo: 'home', pathMatch: 'full' },\r\n { path: 'home', component: HomeComponent },\r\n {\r\n path: 'season/:seasonId/:type/speed-trial/results',\r\n component: SeasonSpeedTrialResultsTableComponent,\r\n },\r\n {\r\n path: 'season/:seasonId/:type/results',\r\n component: SeasonResultsTableComponent,\r\n },\r\n // {path: 'competition/:competitionId/stage/:stageId/crew/:crewNumber/driving-report/:id', component: DrivingReportDetailedComponent},\r\n { path: 'competition-details', component: CompetitionDetailsComponent },\r\n { path: 'account/activate', component: ActivateComponent },\r\n { path: '**', redirectTo: '/notfound' },\r\n ],\r\n { scrollPositionRestoration: 'enabled', onSameUrlNavigation: 'reload' }\r\n ),\r\n ],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import {AfterViewInit, Component, OnInit} from '@angular/core';\r\nimport {Article} from './common/types/cec.types';\r\nimport {LoggedUser} from './common/types/loggedUser';\r\nimport {Competitor, Role} from './common/types/competitor';\r\nimport {LoggedCompetitor} from './common/types/loggedCompetitor';\r\nimport {HttpClient, HttpErrorResponse} from '@angular/common/http';\r\nimport {LocalStorageService} from './api/services/localStorage';\r\nimport {HttpHandlingService} from './api/services/http-handling.service';\r\nimport {Season} from './common/types/season';\r\nimport { SERVER_API_URL} from './common/types/app.constants';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit, AfterViewInit{\r\n title = 'cec-website';\r\n\r\n constructor(private localStorage: LocalStorageService, private http: HttpClient, private httpHandlingService: HttpHandlingService, private router: Router) {\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationStart) {\r\n console.log('NavigationStart:', event.url);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n // this.getActiveSeason();\r\n }\r\n\r\n // getActiveSeason(): void {\r\n // // const activeSeasonURL = 'http://localhost:8080/api/seasons/active';\r\n // const activeSeasonURL = SERVER_API_URL + '/api/seasons/active';\r\n // this.http.get(activeSeasonURL, {headers: this.httpHandlingService.authorizationHeaders()})\r\n // .subscribe((season: Season) => {\r\n // this.localStorage.set('activeSeason', season);\r\n // },\r\n // );\r\n // }\r\n\r\n ngAfterViewInit(): void {\r\n // this.getActiveSeason();\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NavigationBarComponent } from './common/components/navigation-bar/navigation-bar.component';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { LanguageSwitcherComponent } from './common/components/navigation-bar/language-switcher/language-switcher.component';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { ResultsComponent } from './common/components/navigation-bar/results/results.component';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { HomeComponent } from './common/pages/home/home.component';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { RaceInfoComponent } from './common/pages/race-info/race-info.component';\r\nimport { RegisteredCrewsTableComponent } from './common/components/navigation-bar/competitions/competition-details/registered-crews-table/components/registered-crews-table.component';\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatTableModule} from '@angular/material/table';\r\nimport {RegistrationDialogComponent} from './common/components/navigation-bar/registration-dialog/registration-dialog.component';\r\nimport {MatDialogModule} from '@angular/material/dialog';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport { MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatNativeDateModule } from '@angular/material/core';\r\nimport {MatCheckboxModule} from '@angular/material/checkbox';\r\nimport {MatListModule} from '@angular/material/list';\r\nimport {AppRoutingModule} from './app-routing.module';\r\nimport {RouterModule} from '@angular/router';\r\nimport { AddCompetitionCardComponent } from './common/components/competition-management/add-competition-card/add-competition-card.component';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { LoginDialogComponent } from './common/components/navigation-bar/login-dialog/login-dialog.component';\r\nimport { ProfileInfoComponent } from './common/components/navigation-bar/profile-info/profile-info.component';\r\nimport { AddCompetitorCardComponent } from './common/components/navigation-bar/profile-info/add-competitor-card/add-competitor-card.component';\r\nimport { EditCompetitorCardComponent } from './common/components/navigation-bar/profile-info/edit-competitor-card/edit-competitor-card.component';\r\nimport { AddCrewCardComponent } from './common/components/navigation-bar/profile-info/add-crew-card/add-crew-card.component';\r\nimport { CompetitionDetailsComponent } from './common/components/navigation-bar/competitions/competition-details/competition-details.component';\r\nimport { SignInCardComponent } from './common/components/navigation-bar/competitions/competition-details/sign-in-card/sign-in-card.component';\r\nimport { EditCrewCardComponent } from './common/components/navigation-bar/profile-info/edit-crew-card/edit-crew-card.component';\r\nimport {DragDropModule} from '@angular/cdk/drag-drop';\r\nimport { MultipleTableCreatorComponent } from './common/components/competition-management/add-competition-card/add-stage-card/multiple-table-creator/multiple-table-creator.component';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { ActivateComponent } from './common/components/activate/activate.component';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { RoundResultsTableComponent } from './common/components/round-result/components/round-results-table.component';\r\nimport { ConfirmationDialogComponent } from './common/components/confirmation-dialog/confirmation-dialog.component';\r\nimport { EditSpeedTrialResultComponent } from './common/components/competition-management/edit-competition-card/stage-results-table/speed-trial-result/edit-speed-trial-result/edit-speed-trial-result.component';\r\nimport { SeasonResultsTableComponent } from './common/components/season-management/season-results-table/season-results-table.component';\r\nimport { ForgotPasswordDialogComponent } from './common/components/navigation-bar/login-dialog/forgot-password-dialog/forgot-password-dialog.component';\r\nimport { ArchiveComponent } from './common/components/navigation-bar/archive/archive.component';\r\nimport { SpinnerComponent } from './controls/spinner/spinner.component';\r\nimport { CecDateTimePickerComponent } from './controls/date-input/date-input.component';\r\nimport { TableListComponent } from './controls/table-list/table-list.component';\r\nimport { CecBreakpointPipe } from './controls/pipes/cec-breakpoint.pipe';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { DATE_FORMAT } from './controls/shared/date-format.const';\r\nimport { SeasonSpeedTrialResultsTableComponent } from './common/components/season-management/season-stage-results-table/season-speed-trial-results-table.component';\r\nimport { CompetitionsComponent } from './common/components/navigation-bar/competitions/competitions.component';\r\nimport { StageResultsTableComponent } from './common/components/stage-result/components/list/stage-results-table.component';\r\nimport { CompetitionResultsTableComponent } from './common/components/competition-result/components/competition-results-table.component';\r\n\r\n// AoT requires an exported function for factories\r\nexport function HttpLoaderFactory(http: HttpClient): any {\r\n return new TranslateHttpLoader(http);\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavigationBarComponent,\r\n LanguageSwitcherComponent,\r\n ResultsComponent,\r\n HomeComponent,\r\n RaceInfoComponent,\r\n RegistrationDialogComponent,\r\n AddCompetitionCardComponent,\r\n LoginDialogComponent,\r\n ProfileInfoComponent,\r\n AddCompetitorCardComponent,\r\n EditCompetitorCardComponent,\r\n AddCrewCardComponent,\r\n CompetitionDetailsComponent,\r\n SignInCardComponent,\r\n EditCrewCardComponent,\r\n MultipleTableCreatorComponent,\r\n ActivateComponent,\r\n ConfirmationDialogComponent,\r\n EditSpeedTrialResultComponent,\r\n SeasonResultsTableComponent,\r\n ForgotPasswordDialogComponent,\r\n ArchiveComponent,\r\n SpinnerComponent,\r\n SeasonSpeedTrialResultsTableComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n MatSelectModule,\r\n MatMenuModule,\r\n MatDividerModule,\r\n MatCardModule,\r\n MatGridListModule,\r\n MatTabsModule,\r\n MatPaginatorModule,\r\n MatTableModule,\r\n MatDialogModule,\r\n ReactiveFormsModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatCheckboxModule,\r\n MatListModule,\r\n AppRoutingModule,\r\n RouterModule,\r\n MatTooltipModule,\r\n DragDropModule,\r\n MatTreeModule,\r\n MatExpansionModule,\r\n CecDateTimePickerComponent,\r\n TableListComponent,\r\n CecBreakpointPipe,\r\n MatSidenavModule,\r\n RegisteredCrewsTableComponent,\r\n CompetitionsComponent,\r\n StageResultsTableComponent,\r\n RoundResultsTableComponent,\r\n CompetitionResultsTableComponent\r\n ],\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: DATE_FORMAT },\r\n { provide: MAT_DATE_LOCALE, useValue: 'de-DE' },\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {ActivateService} from './service/activate.service';\r\nimport {mergeMap} from 'rxjs/operators';\r\nimport {LoginDialogComponent} from '../navigation-bar/login-dialog/login-dialog.component';\r\nimport {MatDialog} from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-activate',\r\n templateUrl: './activate.component.html',\r\n styleUrls: ['./activate.component.css']\r\n})\r\nexport class ActivateComponent implements OnInit {\r\n error = false;\r\n success = false;\r\n\r\n message = '';\r\n\r\n constructor(private route: ActivatedRoute, private activateService: ActivateService, private router: Router, public dialog: MatDialog) { }\r\n\r\n ngOnInit(): void {\r\n this.route.queryParams.pipe(mergeMap(params => this.activateService.get(params.key))).subscribe(\r\n () => {this.message = 'Registration completed successfully!'; this.success = true; },\r\n () => {this.message = 'Registration failed! Contact an administrator!'; this.error = true; }\r\n );\r\n }\r\n\r\n onSignIn(): void {\r\n this.router.navigateByUrl('/home');\r\n this.openLoginDialog();\r\n }\r\n\r\n openLoginDialog(): void {\r\n const dialogRef = this.dialog.open(LoginDialogComponent);\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n });\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n {{ 'Registration completed!' | translate}}\r\n \r\n \r\n
{{message}}
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport {SERVER_API_URL} from '../../../types/app.constants';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ActivateService {\r\n constructor(private http: HttpClient) {}\r\n\r\n get(key: string): Observable<{}> {\r\n return this.http.get(SERVER_API_URL + '/api/activate', {\r\n params: new HttpParams().set('key', key),\r\n });\r\n }\r\n}\r\n","import { Component, signal, WritableSignal } from '@angular/core';\r\nimport { ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { DialogComponent } from 'src/app/controls/dialog/components/dialog.component';\r\nimport { SelectComponent } from 'src/app/controls/select/select.component';\r\nimport { CrudDialogBase } from 'src/app/controls/base/crud-dialog.base';\r\nimport { AnnualRegistration } from '../../models/annual-registration.interface';\r\nimport { AnnualRegistrationForm } from '../../models/annual-registration-form.interface';\r\nimport { SelectedItem } from 'src/app/controls/models/selected-item.interface';\r\nimport { AnnualRegistrationsTableService } from '../../services/annual-registrations-table.service';\r\nimport { forkJoin } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'cec-annual-registration-dialog',\r\n templateUrl: './annual-registration.component.html',\r\n styleUrls: ['./annual-registration.component.scss'],\r\n standalone: true,\r\n imports: [DialogComponent, ReactiveFormsModule, SelectComponent]\r\n})\r\nexport class AnnualRegistrationComponent extends CrudDialogBase {\r\n\r\n /** Season id reference */\r\n private seasonId: number | undefined = undefined;\r\n \r\n /** Annual create success message */\r\n protected successCreateKey = 'AnnualRegistrationCreateSuccess';\r\n\r\n /** Annual create fail message */\r\n protected failCreateKey = 'AnnualRegistrationCreateFailed';\r\n\r\n /** Annual update success message */\r\n protected successUpdateKey = 'AnnualRegistrationUpdateSuccess';\r\n\r\n /** Annual update fail message */\r\n protected failUpdateKey = 'AnnualRegistrationUpdateFailed';\r\n\r\n /** Season name reference */\r\n protected seasonName: WritableSignal = signal('');\r\n\r\n /** Crew list reference */\r\n protected crews: SelectedItem[] = [];\r\n \r\n /** Competitor list reference */\r\n protected competitors: SelectedItem[] = [];\r\n\r\n constructor(protected service: AnnualRegistrationsTableService) {\r\n super(service);\r\n\r\n /** builds a new annual registration form */\r\n this.formGroup = this.builder.group({\r\n crewId: [null as number | null, Validators.required],\r\n driverId: [null as number | null, Validators.required],\r\n navigatorId: [null as number | null, Validators.required]\r\n });\r\n\r\n /** enables/disables fields according to inputs */\r\n this.sub.add(\r\n this.formGroup.get('crewId').valueChanges.subscribe((value: number) => {\r\n if (!value) {\r\n this.disableFields();\r\n return;\r\n }\r\n\r\n /** gets the competitors per selected crew */\r\n this.sub.add(\r\n this.service.getCompetitors(value).subscribe((crew) => {\r\n this.competitors = crew?.competitors;\r\n this.formGroup.patchValue({\r\n driverId: crew.driverId,\r\n navigatorId: crew.navigatorId\r\n })\r\n })\r\n );\r\n \r\n /** enables the driver and navigator fields */\r\n this.enableFields();\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Loads the default values for the annual registration creation\r\n */\r\n protected override beforeDialogShow(): void {\r\n /** obtains list of available crews, season id and season name by one request */\r\n const seasonName$ = this.service.getActiveSeasonName();\r\n const seasonId$ = this.service.getActiveSeasonId();\r\n const crews$ = this.service.getAvailableCrews();\r\n\r\n /** executes the request */\r\n this.sub.add(\r\n forkJoin({\r\n seasonId: seasonId$,\r\n seasonName: seasonName$,\r\n crews: crews$,\r\n }).subscribe(({ seasonId, seasonName, crews }) => {\r\n this.seasonId = seasonId;\r\n this.seasonName.set(seasonName);\r\n this.crews = crews;\r\n this.disableFields();\r\n })\r\n );\r\n };\r\n\r\n /**\r\n * Disables driver and navigator fields\r\n */\r\n private enableFields(): void {\r\n this.formGroup.get('driverId').enable();\r\n this.formGroup.get('navigatorId').enable();\r\n }\r\n\r\n /**\r\n * Disables driver and navigator fields\r\n */\r\n private disableFields(): void {\r\n this.formGroup.get('driverId').disable();\r\n this.formGroup.get('navigatorId').disable();\r\n }\r\n\r\n /** @inheritdoc */\r\n protected afterDataSave() {\r\n /** reloads the annual registration list after data save */\r\n this.service.reload.next();\r\n\r\n /** navigates to the annual registered crews table */\r\n this.router.navigate(['/season', this.seasonId, this.seasonName(), 'registered-crews']);\r\n };\r\n\r\n /** @inheritdoc */\r\n protected afterDataPrefill() {}\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { inject, Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, map, Observable } from \"rxjs\";\r\nimport { ApiDataService } from \"src/app/api/services/api-data.service\";\r\nimport { CrudService } from \"src/app/controls/base/crud-service.interface\";\r\nimport { ColumnDefinition } from \"src/app/controls/grid/models/column-definition.interface\";\r\nimport { GridDataProvider } from \"src/app/controls/grid/services/grid-data-provider.interface\";\r\nimport { AnnualRegistration } from \"../models/annual-registration.interface\";\r\nimport { SelectedItem } from \"src/app/controls/models/selected-item.interface\";\r\nimport { CompetitionRegistrationCrew } from \"../../navigation-bar/competitions/competition-details/competition-registration/models/competition-registration-crew.interface\";\r\nimport { AnnualRegistrationList } from \"../models/annual-registration-list.interface\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnnualRegistrationsTableService implements GridDataProvider, CrudService {\r\n\r\n /** Api data service reference */\r\n private service = inject(ApiDataService);\r\n\r\n /** Grid reload emit reference */\r\n public reload = new BehaviorSubject(undefined);\r\n \r\n /** @inheritdoc */\r\n public getTableName(seasonId: number): Observable {\r\n return this.service.get('seasons/get-name/' + seasonId).pipe(map((seasonName: unknown) => {\r\n return { name: 'CEC ' + seasonName['name'] };\r\n }));\r\n }\r\n\r\n /** @inheritdoc */\r\n public getGridData(seasonId: number): Observable {\r\n return this.service.getAll('annual-registrations/season/' + seasonId);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getColumnDefinition(seasonId: number): Observable {\r\n return this.service.getAll('annual-registrations/column-definition/' + seasonId);\r\n }\r\n\r\n /** @inheritdoc */\r\n create(entity: AnnualRegistration): Observable {\r\n return this.service.post('annual-registrations/create', entity);\r\n }\r\n \r\n /** @inheritdoc */\r\n update(entity: unknown): Observable {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n \r\n /** @inheritdoc */\r\n get(params?: unknown): Observable {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n /**\r\n * Gets all available crews for creating a new annual registration\r\n * @returns the list of available crews\r\n */\r\n public getAvailableCrews(): Observable {\r\n return this.service.getAll('annual-registrations/available-crews');\r\n }\r\n\r\n public getCompetitors(crewId: number): Observable {\r\n return this.service.get('crews/registration/' + crewId);\r\n }\r\n\r\n /**\r\n * Gets the name of the active season\r\n * @returns the name of the active season\r\n */\r\n public getActiveSeasonName(): Observable {\r\n return this.service.get('seasons/get-active-name');\r\n }\r\n\r\n /**\r\n * Gets the id of the active season\r\n * @returns the id of the active season\r\n */\r\n public getActiveSeasonId(): Observable {\r\n return this.service.get('seasons/get-active-id');\r\n }\r\n}","import {AfterViewInit, Component, DoCheck, OnInit} from '@angular/core';\r\nimport {Stage} from '../../../types/stage';\r\nimport {AddCompetitionCardService} from './service/add-competition-card.service';\r\nimport {AbstractControl, UntypedFormGroup} from '@angular/forms';\r\nimport {HttpHandlingService} from '../../../../api/services/http-handling.service';\r\nimport {CompetitorSimple} from '../../../types/competitor';\r\nimport { Round } from 'src/app/common/types/round';\r\n\r\n@Component({\r\n selector: 'app-add-competition-card',\r\n templateUrl: './add-competition-card.component.html',\r\n styleUrls: ['./add-competition-card.component.css']\r\n})\r\nexport class AddCompetitionCardComponent implements OnInit, AfterViewInit, DoCheck {\r\n\r\n competitionCardForm: UntypedFormGroup;\r\n rounds: Round[] = [];\r\n authors: number[] = [];\r\n authorsFullData: CompetitorSimple[] = [];\r\n activeAuthors: CompetitorSimple[] = [];\r\n\r\n constructor(private addCompetitionCardService: AddCompetitionCardService, private httpHandlingService: HttpHandlingService) {}\r\n\r\n panelOpenState: boolean = true;\r\n\r\n ngOnInit(): void {\r\n this.addCompetitionCardService.onReturnCompetition();\r\n this.competitionCardForm = this.addCompetitionCardService.competitionCardForm;\r\n this.authors = this.addCompetitionCardService.authors;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.addCompetitionCardService.getAvailableAuthors();\r\n this.authorsFullData = this.addCompetitionCardService.authorsFullData;\r\n }\r\n\r\n ngDoCheck(): void {\r\n this.rounds = this.addCompetitionCardService.rounds;\r\n this.authorsFullData = this.addCompetitionCardService.authorsFullData;\r\n this.activeAuthors = this.addCompetitionCardService.activeAuthors;\r\n if (this.authorsFullData.length === 0) {\r\n this.competitionCardForm.get('author').disable();\r\n } else {\r\n this.competitionCardForm.get('author').enable();\r\n }\r\n }\r\n\r\n /**\r\n * function for saving newly created competitions\r\n */\r\n onSaveCompetition(): void {\r\n this.addCompetitionCardService.onSaveCompetition();\r\n }\r\n\r\n /**\r\n * function for opening dialog for adding new round\r\n */\r\n onOpenNewRoundDialog(): void {\r\n this.addCompetitionCardService.onOpenNewRoundDialog();\r\n }\r\n\r\n /**\r\n * function for creating bundle of competition data and navigate to add stage window\r\n */\r\n onCreateStage(round: Round): void {\r\n this.addCompetitionCardService.onCreateStage(round);\r\n }\r\n\r\n /**\r\n * function for editing existing stage\r\n * @param stage for evaluation of specific stage for editing\r\n */\r\n onEditStage(round: Round, stage: Stage): void {\r\n this.addCompetitionCardService.onEditStage(round, stage);\r\n }\r\n\r\n /**\r\n * function for removing stage from competition\r\n * @param stage for evaluation of specific stage\r\n */\r\n onDeleteStage(round: Round, stage: Stage): void {\r\n this.addCompetitionCardService.onDeleteStage(round, stage);\r\n }\r\n\r\n /**\r\n * remove competition from local storage and return home\r\n */\r\n onCancel(): void {\r\n this.addCompetitionCardService.onCancel();\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of creating new competition\r\n * @param fieldControl with information about desired field (competition name)\r\n */\r\n getErrorMessage(fieldControl: AbstractControl): string {\r\n return this.httpHandlingService.handleUserErrorOutputAbstract(fieldControl);\r\n }\r\n\r\n /**\r\n * function for setting default value for dropdown based on comparing ids of competitors\r\n * @param formControlName for formControlName parameter\r\n * @param selectedOption for dropdown option values\r\n */\r\n compareCompetitors(formControlName: CompetitorSimple, selectedOption: CompetitorSimple): boolean {\r\n return formControlName && selectedOption && formControlName.id === selectedOption.id;\r\n }\r\n\r\n /**\r\n * function for disabling add additional competitor, if additional competitor\r\n * dropdown is empty\r\n */\r\n authorsFieldIsEmpty(): boolean {\r\n return this.competitionCardForm.get('author').value === null\r\n || this.competitionCardForm.get('author').value === '';\r\n }\r\n\r\n /**\r\n * function for evaluation of available competitors based on additional competitors\r\n */\r\n processAuthors(): void {\r\n this.addCompetitionCardService.processAuthors();\r\n }\r\n\r\n /**\r\n * function for removing desired competitor from additional competitors list\r\n * @param competitor for evaluation of competitor to delete\r\n */\r\n deleteActiveAuthor(competitor: CompetitorSimple): void {\r\n this.addCompetitionCardService.deleteActiveAuthor(competitor);\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of creating new competition\r\n * special function only for datepicker range input\r\n */\r\n getErrorMessageRangeDatePicker(): string {\r\n if (this.competitionCardForm.get('registrationEnabledFrom').invalid) {\r\n return this.httpHandlingService.handleUserErrorOutputAbstract(this.competitionCardForm.get('registrationEnabledFrom'));\r\n } else if (this.competitionCardForm.get('registrationEnabledTo').invalid) {\r\n return this.httpHandlingService.handleUserErrorOutputAbstract(this.competitionCardForm.get('registrationEnabledTo'));\r\n }\r\n }\r\n}\r\n","\r\n
\r\n \r\n {{'Competition management' | translate}}\r\n \r\n \r\n
\r\n \r\n {{'Competition name' | translate}}\r\n \r\n {{getErrorMessage(this.competitionCardForm.get('competitionName')) | translate}}\r\n \r\n
\r\n
\r\n \r\n

{{'Dates management' | translate}}

\r\n
\r\n \r\n {{getErrorMessageRangeDatePicker() | translate}}\r\n \r\n {{'Date range for competition' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{getErrorMessageRangeDatePicker() | translate}}\r\n \r\n
\r\n \r\n {{getErrorMessageRangeDatePicker() | translate}}\r\n \r\n \r\n

{{'Stage management' | translate}}

\r\n \r\n \r\n \r\n \r\n \r\n {{round.name}}\r\n \r\n \r\n \r\n \r\n
\r\n {{stage.stageName}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

{{'Organizers' | translate}}

\r\n \r\n {{'Organizer' | translate}}\r\n \r\n \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, EventEmitter, inject, Output, ViewChild } from '@angular/core';\r\nimport { DialogComponent } from 'src/app/controls/dialog/components/dialog.component';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { RoundService } from './services/round.service';\r\nimport { Round } from './models/round.interface';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SnackBarService } from 'src/app/controls/snack-bar/services/snack-bar.service';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { RoundData } from './models/round-data.interface';\r\n\r\n@Component({\r\n selector: 'cec-round-dialog',\r\n templateUrl: './round-dialog.component.html',\r\n standalone: true,\r\n imports: [DialogComponent, MatFormFieldModule, TranslateModule, FormsModule, MatInputModule],\r\n providers: [RoundService]\r\n})\r\nexport class RoundDialogComponent {\r\n\r\n /** Dialog component reference to access */\r\n @ViewChild(DialogComponent) \r\n protected dialog!: DialogComponent;\r\n\r\n /** Round name value reference */\r\n protected name: string | undefined = undefined;\r\n\r\n /** Round id reference */\r\n protected id: number | undefined = undefined;\r\n\r\n /** Competition id reference */\r\n private competitionId: number | undefined = undefined;\r\n\r\n /** Round service reference */\r\n private service = inject(RoundService);\r\n\r\n /** Snackbar service reference */\r\n private snackBar = inject(SnackBarService);\r\n\r\n /** Translate service reference */\r\n private translate = inject(TranslateService);\r\n\r\n /** Refresh competition card emitter */\r\n @Output() refresh = new EventEmitter();\r\n\r\n /**\r\n * Shows the round dialog\r\n * @param competitionId the id of competition\r\n * @param id the id of round\r\n */\r\n public show(competitionId: number, id?: number): void {\r\n this.competitionId = competitionId;\r\n this.id = id;\r\n this.dialog.show();\r\n }\r\n\r\n /**\r\n * Returns the button click success\r\n * @param success the button click success\r\n */\r\n protected onClickButton(success: boolean): void {\r\n /** if cancel button was clicked, resets the name attribute and hides the dialog */\r\n if (!success) {\r\n this.name = undefined;\r\n this.dialog.hide();\r\n }\r\n\r\n /** if name is not present, do nothing */\r\n if (!this.name) {\r\n return;\r\n }\r\n\r\n /** builds round with known data */\r\n const round: RoundData = {\r\n id: this.id,\r\n name: this.name,\r\n competitionId: this.competitionId\r\n }\r\n\r\n if (this.id) {\r\n /** if id is present, updates an existing round */\r\n this.service.update(round).subscribe((success: boolean) => {\r\n this.name = undefined;\r\n if (success) {\r\n /** shows success snackbar when existing round is updated */\r\n this.snackBar.success(this.translate.instant('RoundUpdateSuccess'));\r\n\r\n /** refreshes the competition card */\r\n this.refresh.emit();\r\n return;\r\n }\r\n\r\n /** shows danger snackbar when update of round fails */\r\n this.snackBar.danger(this.translate.instant('RoundUpdateFailed'));\r\n });\r\n } else {\r\n /** if id is not present, create a new round */\r\n this.service.create(round).subscribe((success: boolean) => {\r\n this.name = undefined;\r\n if (success) {\r\n /** shows success snackbar when new round is created */\r\n this.snackBar.success(this.translate.instant('RoundCreateSuccess'));\r\n\r\n /** refreshes the competition card */\r\n this.refresh.emit();\r\n return;\r\n }\r\n\r\n /** shows danger snackbar when creation of round fails */\r\n this.snackBar.danger(this.translate.instant('RoundCreateFailed'));\r\n });\r\n }\r\n }\r\n\r\n}\r\n","\r\n \r\n {{'Round name' | translate}}\r\n \r\n \r\n\r\n\r\n\r\n\r\n","import { inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ApiDataService } from \"src/app/api/services/api-data.service\";\r\nimport { RoundData } from \"../models/round-data.interface\";\r\n\r\n@Injectable()\r\nexport class RoundService {\r\n private service = inject(ApiDataService);\r\n\r\n /**\r\n * creates a new round\r\n * @param data for round creation\r\n */\r\n create(data: RoundData): Observable {\r\n return this.service.post('rounds/create', data);\r\n }\r\n\r\n /**\r\n * updates an existing round\r\n * @param data for round update\r\n */\r\n update(data: RoundData): Observable {\r\n return this.service.put('rounds/update', data);\r\n }\r\n\r\n /**\r\n * Gets the display results status of the desired round\r\n * @param id the id of the desired round\r\n * @returns display results status\r\n */\r\n public getDisplayResultsStatus(id: number): Observable {\r\n return this.service.get('rounds/get-results-status/' + id);\r\n }\r\n \r\n /**\r\n * Updates the display results status of the desired round\r\n * @param id the id of the desired round\r\n */\r\n public updateResultsStatus(id: number): Observable {\r\n return this.service.patchEmpty('rounds/update-results-status/' + id);\r\n }\r\n}","import {Component, OnInit} from '@angular/core';\r\nimport {UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms';\r\nimport {CecTable, CecTableAdminStatus, CecTableStatus, CecTableType} from '../../../../../types/cec-table';\r\nimport {MatDialogRef} from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-multiple-table-creator',\r\n templateUrl: './multiple-table-creator.component.html',\r\n styleUrls: ['./multiple-table-creator.component.css']\r\n})\r\nexport class MultipleTableCreatorComponent implements OnInit {\r\n\r\n tableContentGroup = new UntypedFormGroup({\r\n tableContent: new UntypedFormControl('', Validators.required)\r\n });\r\n\r\n cecTables: CecTable[] = [];\r\n\r\n constructor(private dialogRef: MatDialogRef) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n /**\r\n * function for create and saving CecTable array\r\n */\r\n saveListOfTables(): void {\r\n const arrayOfTables = this.tableContentGroup.get('tableContent').value.split(' ');\r\n for (const table of arrayOfTables) {\r\n const tableName = table.replace(/[{()}]/g, '');\r\n this.cecTables.push(new CecTable(tableName, this.getTableType(table), CecTableAdminStatus.OK, CecTableStatus.OK, true));\r\n }\r\n this.dialogRef.close(this.cecTables);\r\n }\r\n\r\n /**\r\n * function for evaluation, if desired table is normal or life stamp\r\n * () means, that desired table is life stamp\r\n * @param table for evaluation of desired table\r\n */\r\n getTableType(table: string): CecTableType {\r\n const newTable = table.split('(');\r\n for (let i = 1; i < newTable.length; i++) {\r\n return CecTableType.LIFESTAMP;\r\n }\r\n return CecTableType.NORMAL;\r\n }\r\n\r\n}\r\n","
\r\n

{{'Table management'}}

\r\n
\r\n \r\n {{'Table management' | translate}}\r\n \r\n \r\n

\r\n • separate tables by one space\r\n

\r\n

• (A2) - mark table as life stamp

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n","import {Injectable} from '@angular/core';\r\nimport {UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms';\r\nimport {Stage} from '../../../../types/stage';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {Router} from '@angular/router';\r\nimport {LocalStorageService} from '../../../../../api/services/localStorage';\r\nimport {HttpHandlingService} from '../../../../../api/services/http-handling.service';\r\nimport {Competition, CompetitionType} from '../../../../types/competition';\r\nimport {CompetitorSimple} from '../../../../types/competitor';\r\nimport {SERVER_API_URL} from '../../../../types/app.constants';\r\nimport { Round } from 'src/app/common/types/round';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { RoundDialogComponent } from '../add-round-dialog/round-dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddCompetitionCardService {\r\n\r\n competitionCardForm = new UntypedFormGroup({\r\n competitionName: new UntypedFormControl('', Validators.required),\r\n registrationEnabledFrom: new UntypedFormControl('', Validators.required),\r\n registrationEnabledTo: new UntypedFormControl('', Validators.required),\r\n competitionStart: new UntypedFormControl('', Validators.required),\r\n competitionEnd: new UntypedFormControl('', Validators.required),\r\n author: new UntypedFormControl(''),\r\n });\r\n\r\n rounds: Round[] = [];\r\n round: Round | null = null;\r\n stage: Stage = null;\r\n authors: number[] = [];\r\n authorsFullData: CompetitorSimple[] = [];\r\n activeAuthors: CompetitorSimple[] = [];\r\n\r\n competition: Competition = null;\r\n\r\n constructor(private http: HttpClient, private router: Router, private localStorage: LocalStorageService,\r\n private httpHandlingService: HttpHandlingService, public dialog: MatDialog) {}\r\n\r\n /**\r\n * function for saving newly created competitions\r\n */\r\n onSaveCompetition(): void {\r\n console.log(this.onReturnCompetition());\r\n this.http.post(SERVER_API_URL + '/api/competitionWithCecTablesList', this.onReturnCompetition(),\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe((competition: Competition) => {\r\n this.router.navigate(['/competition', competition.id, 'edit']);\r\n });\r\n }\r\n\r\n /**\r\n * function for setting competition reference\r\n * @param competition for setting competition reference\r\n */\r\n public set competitionReference(competition: Competition) {\r\n this.competition = competition;\r\n }\r\n\r\n /**\r\n * function for creating bundle of competition data and navigate to add stage window\r\n */\r\n onCreateStage(round: Round): void {\r\n this.stage = null;\r\n this.round = round;\r\n this.router.navigateByUrl('/competition/new/add-stage');\r\n }\r\n\r\n /**\r\n * function for editing existing stage\r\n * @param stage for evaluation of specific stage for editing\r\n */\r\n onEditStage(round: Round, stage: Stage): void {\r\n this.stage = stage;\r\n this.round = round;\r\n this.router.navigateByUrl('/competition/new/add-stage');\r\n }\r\n\r\n /**\r\n * function for removing stage from competition\r\n * @param stage for evaluation of specific stage\r\n */\r\n onDeleteStage(round: Round, stage: Stage): void {\r\n round.stages.splice(this.round.stages.indexOf(stage), 1);\r\n this.rounds[this.rounds.indexOf(round)] = round;\r\n }\r\n\r\n /**\r\n * function for constructing competition object based\r\n * if competition is already created as a local storage, use this competition\r\n * if competition is not yet created as a local storage, construct it from fields\r\n */\r\n onReturnCompetition(): Competition {\r\n if (this.competition === null) {\r\n return new Competition(null, this.competitionCardForm.get('competitionName').value, CompetitionType.CEC, this.competitionCardForm.get('registrationEnabledFrom').value,\r\n this.competitionCardForm.get('registrationEnabledTo').value, this.competitionCardForm.get('competitionStart').value, this.competitionCardForm.get('competitionEnd').value, this.rounds, this.onGetAuthorsIds(this.activeAuthors));\r\n } else {\r\n this.setCompetitionParametersToFields(this.competition);\r\n return this.competition;\r\n }\r\n }\r\n\r\n /**\r\n * function for setting competition parameters to UI fields\r\n * @param competition for obtaining competition parameters\r\n */\r\n setCompetitionParametersToFields(competition: Competition): void {\r\n this.competitionCardForm.setValue({\r\n competitionName: competition.competitionName,\r\n registrationEnabledFrom: competition.registrationEnabledFrom,\r\n registrationEnabledTo: competition.registrationEnabledTo,\r\n competitionStart: competition.competitionStart,\r\n competitionEnd: competition.competitionEnd,\r\n author: null\r\n });\r\n }\r\n\r\n /**\r\n * function for opening dialog for adding new round\r\n */\r\n onOpenNewRoundDialog(): void {\r\n const dialogRef = this.dialog.open(RoundDialogComponent, {data: null});\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n const roundResult = result as Round;\r\n if (result) { this.rounds.push(roundResult); }\r\n });\r\n }\r\n\r\n /**\r\n * function for getting all competitors to select them as authors\r\n */\r\n getAvailableAuthors(): void {\r\n if (this.activeAuthors.length === 0) {\r\n this.http.get(SERVER_API_URL + '/api/competitors/simple',\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe((authors: CompetitorSimple[]) => {\r\n this.authorsFullData = authors;\r\n const loggedCompetitor = this.localStorage.get('loggedCompetitor') as CompetitorSimple;\r\n const author = this.authorsFullData.filter((authorFromResponse: CompetitorSimple) =>\r\n authorFromResponse.id === loggedCompetitor.id)[0];\r\n this.activeAuthors.push(author);\r\n this.authorsFullData.splice(this.authorsFullData.indexOf(author), 1);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * function for retrieving authors ids\r\n * @param authors for evaluation of authors\r\n */\r\n onGetAuthorsIds(authors: CompetitorSimple[]): number[] {\r\n const authorsId = [];\r\n for (const author of authors) {\r\n authorsId.push(author.id);\r\n }\r\n return authorsId;\r\n }\r\n\r\n /**\r\n * function for refiltering authors in dropdown and list\r\n */\r\n refilterAuthors(): void {\r\n this.authorsFullData = this.authorsFullData.filter((author: CompetitorSimple) =>\r\n this.activeAuthors.filter((activeAuthor: CompetitorSimple) => author.id !== activeAuthor.id));\r\n }\r\n\r\n /**\r\n * function for evaluation of available competitors based on additional competitors\r\n */\r\n processAuthors(): void {\r\n const additionalCompetitor = this.competitionCardForm.get('author').value as CompetitorSimple;\r\n this.activeAuthors.push(additionalCompetitor);\r\n this.authorsFullData.splice(this.authorsFullData.indexOf(additionalCompetitor), 1);\r\n this.competitionCardForm.patchValue({author: null});\r\n this.refilterAuthors();\r\n }\r\n\r\n /**\r\n * function for removing desired competitor from additional competitors list\r\n * @param competitor for evaluation of competitor to delete\r\n */\r\n deleteActiveAuthor(competitor: CompetitorSimple): void {\r\n this.activeAuthors.splice(this.activeAuthors.indexOf(competitor), 1);\r\n this.refilterAuthors();\r\n }\r\n\r\n /**\r\n * remove competition from local storage and return home\r\n */\r\n onCancel(): void {\r\n this.router.navigateByUrl('/home');\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Stage} from '../../../../../types/stage';\r\nimport { SERVER_API_URL_NEW } from '../../../../../types/app.constants';\r\nimport { ApiDataService } from 'src/app/api/services/api-data.service';\r\nimport { Observable } from 'rxjs';\r\nimport { CecTable } from 'src/app/common/types/cec-table';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StageCardService {\r\n\r\n constructor(private service: ApiDataService) {}\r\n\r\n /**\r\n * function for saving edited stage\r\n */\r\n create(stage: Stage): Observable {\r\n return this.service.post('stages', stage);\r\n }\r\n\r\n /**\r\n * function for saving edited stage\r\n */\r\n update(stage: Stage): Observable {\r\n return this.service.put('stages', stage);\r\n }\r\n\r\n get(id: number): Observable {\r\n return this.service.get('stages/' + id);\r\n }\r\n\r\n getCorrectReport(id: number): Observable {\r\n return this.service.getAll('stages/correct-report/' + id);\r\n }\r\n\r\n getTime(id: number): Observable {\r\n return this.service.get('stages/get-time/' + id);\r\n }\r\n\r\n getName(id: number): Observable {\r\n return this.service.get('stages/get-name/' + id);\r\n }\r\n\r\n public getDisplayReportsStatus(id: number): Observable {\r\n return this.service.get('stages/get-reports-status/' + id);\r\n }\r\n\r\n public updateReportsStatus(id: number): Observable {\r\n return this.service.patchEmpty('stages/update-reports-status/' + id);\r\n }\r\n\r\n public getDisplayResultsStatus(id: number): Observable {\r\n return this.service.get('stages/get-results-status/' + id);\r\n }\r\n\r\n public updateResultsStatus(id: number): Observable {\r\n return this.service.patchEmpty('stages/update-results-status/' + id);\r\n }\r\n\r\n /** @inheritdoc */\r\n public delete(id: number): Observable {\r\n return this.service.delete('stages', id);\r\n }\r\n\r\n}\r\n","import {HttpClient} from '@angular/common/http';\r\nimport {Router} from '@angular/router';\r\nimport {AbstractControl} from '@angular/forms';\r\nimport {HttpHandlingService} from '../../../../../api/services/http-handling.service';\r\nimport {inject, Injectable} from '@angular/core';\r\nimport {Observable} from 'rxjs';\r\nimport {SERVER_API_URL} from '../../../../types/app.constants';\r\nimport { ApiDataService } from 'src/app/api/services/api-data.service';\r\nimport { Competition } from '../models/competition.interface';\r\nimport { SelectedItem } from 'src/app/controls/models/selected-item.interface';\r\nimport { CompetitionData } from '../models/competition-data.interface';\r\n\r\n@Injectable()\r\nexport class CompetitionCardService {\r\n\r\n private service = inject(ApiDataService);\r\n\r\n /**\r\n * Creates new competition\r\n * @param data the competition data\r\n */\r\n create(data: CompetitionData): Observable {\r\n return this.service.post('competitions/create', data);\r\n }\r\n\r\n /**\r\n * Updates the existing competition\r\n * @param data the competition data\r\n */\r\n update(data: CompetitionData): Observable {\r\n return this.service.put('competitions/update', data);\r\n }\r\n\r\n /**\r\n * Gets desired competition by id\r\n * @param competitionId for evaluation of desired competition\r\n */\r\n getCompetition(competitionId: number): Observable {\r\n return this.service.get('competitions/get/' + competitionId);\r\n }\r\n\r\n /**\r\n * Gets the list of competitors for author picking\r\n * @returns list list of competitors\r\n */\r\n getCompetitors(): Observable {\r\n return this.service.getAll('competitors/get-for-dropdown');\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.service.delete('competition/delete', id);\r\n }\r\n\r\n /**\r\n * Gets the display results status of the desired competition\r\n * @param id the id of the desired competition\r\n * @returns display results status\r\n */\r\n public getDisplayResultsStatus(id: number): Observable {\r\n return this.service.get('competitions/get-results-status/' + id);\r\n }\r\n\r\n /**\r\n * Updates the display results status of the desired competition\r\n * @param id the id of the desired competition\r\n */\r\n public updateResultsStatus(id: number): Observable {\r\n return this.service.patchEmpty('competitions/update-results-status/' + id);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { AfterViewInit, Component, Inject, OnInit } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpHandlingService } from 'src/app/api/services/http-handling.service';\r\nimport { UtilService } from 'src/app/api/services/util.service';\r\nimport { SERVER_API_URL } from 'src/app/common/types/app.constants';\r\nimport { EditSpeedTrialResult } from 'src/app/common/types/edit-speed-trial-result.interface';\r\nimport { SpeedTrialRequest } from 'src/app/common/types/speed-trial.model';\r\nimport { StageResult } from 'src/app/common/types/stage-result';\r\n\r\n@Component({\r\n selector: 'app-edit-speed-trial-result',\r\n templateUrl: './edit-speed-trial-result.component.html',\r\n styleUrls: ['./edit-speed-trial-result.component.css']\r\n})\r\nexport class EditSpeedTrialResultComponent implements AfterViewInit {\r\n\r\n speedTrialResultGroup = new UntypedFormGroup({\r\n minutes: new UntypedFormControl(null, Validators.required),\r\n seconds: new UntypedFormControl(null, Validators.required),\r\n milliseconds: new UntypedFormControl(null, Validators.required),\r\n points: new UntypedFormControl(null, Validators.required)\r\n });\r\n\r\n isOrganizer: boolean | null = false;\r\n speedTrialResult: SpeedTrialRequest | null = null;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: EditSpeedTrialResult, private dialogRef: MatDialogRef, \r\n private httpHandlingService: HttpHandlingService, private http: HttpClient, private utilService: UtilService) { }\r\n \r\n ngAfterViewInit(): void {\r\n this.utilService.isLoggedCompetitorAnOrganizer(this.data.competitionId).subscribe((result: boolean) => {\r\n if (result) {\r\n this.isOrganizer = result;\r\n }\r\n this.getSpeedTrialById().subscribe((speedTrialResult: SpeedTrialRequest) => {\r\n this.speedTrialResult = speedTrialResult;\r\n this.speedTrialResultGroup.setValue({\r\n minutes: speedTrialResult.minutes,\r\n seconds: speedTrialResult.seconds,\r\n milliseconds: speedTrialResult.milliseconds,\r\n points: speedTrialResult.points\r\n });\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * function for getting speed trial\r\n */\r\n getSpeedTrialById(): Observable {\r\n const speedTrialResultURL = SERVER_API_URL + '/api/speed-trial-detail/' + this.data.id;\r\n return this.http.get(speedTrialResultURL, { headers: this.httpHandlingService.authorizationHeaders() });\r\n }\r\n\r\n /**\r\n * function for updating speed trial\r\n */\r\n updateSpeedTrial(): void {\r\n if (this.speedTrialResult != null) {\r\n const request = new SpeedTrialRequest(this.speedTrialResult.id, this.speedTrialResult.crewNumber, this.speedTrialResultGroup.get('minutes').value, \r\n this.speedTrialResultGroup.get('seconds').value, this.speedTrialResultGroup.get('milliseconds').value, this.speedTrialResultGroup.get('points').value, this.speedTrialResult.stageResultId);\r\n this.http.put(SERVER_API_URL + '/api/speed-trial-results', request,\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe((stageResults: StageResult[]) => {\r\n this.dialogRef.close(stageResults);\r\n });\r\n }\r\n }\r\n}\r\n","

{{'Speed trial result' | translate}}

\r\n\r\n

{{'Crew number'}}

\r\n
\r\n
\r\n \r\n {{'Minutes' | translate}}\r\n \r\n \r\n \r\n {{'Seconds' | translate}}\r\n \r\n \r\n \r\n {{'Milliseconds' | translate}}\r\n \r\n \r\n
\r\n
\r\n \r\n {{'Number of bad points' | translate}}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n","import { Component, inject } from '@angular/core';\r\nimport { CompetitionResultsTableService } from '../services/competition-results-table.service';\r\nimport { ResultsGridBase } from 'src/app/controls/base/results-grid.base';\r\nimport { BreadcrumbComponent } from 'src/app/controls/breadcrumb/components/breadcrumb.component';\r\nimport { GridComponent } from 'src/app/controls/grid/components/grid.component';\r\nimport { ToolbarComponent } from 'src/app/controls/toolbar/components/toolbar.component';\r\nimport { ToolbarItemDirective } from 'src/app/controls/toolbar/directives/toolbar-item.directive';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ResultSummaryComponent } from 'src/app/controls/result-summary/components/result-summary.component';\r\nimport { ResultItemDirective } from 'src/app/controls/result-summary/directives/result-item.directive';\r\nimport { DialogComponent } from 'src/app/controls/dialog/components/dialog.component';\r\nimport { GridButtonTrigger } from 'src/app/controls/grid/models/grid-button-trigger.interface';\r\nimport { RoundResult } from '../../round-result/models/round-result.interface';\r\nimport { CompetitionResult } from '../models/competition-result.interface';\r\nimport { RoundResultsTableService } from '../../round-result/services/round-results-table.service';\r\nimport { RoundService } from '../../competition-management/add-competition-card/add-round-dialog/services/round.service';\r\nimport { CompetitionCardService } from '../../competition-management/edit-competition-card/service/competition-card.service';\r\n\r\n@Component({\r\n selector: 'app-competition-results-table',\r\n templateUrl: './competition-results-table.component.html',\r\n styleUrls: ['./competition-results-table.component.scss'],\r\n standalone: true,\r\n imports: [BreadcrumbComponent, GridComponent, ToolbarComponent, ToolbarItemDirective, TranslateModule, ResultSummaryComponent, ResultItemDirective, DialogComponent],\r\n providers: [CompetitionResultsTableService, RoundResultsTableService, RoundService, CompetitionCardService]\r\n})\r\nexport class CompetitionResultsTableComponent extends ResultsGridBase {\r\n\r\n /** Competition id reference */\r\n protected competitionId: number | null = null;\r\n\r\n /** Round result reference */\r\n protected roundResult: RoundResult | null = null;\r\n\r\n /** Summary dialog key reference */\r\n protected dialogKey: string | null = null;\r\n\r\n /** Round results service reference */\r\n private roundResultService = inject(RoundResultsTableService);\r\n\r\n constructor(service: CompetitionResultsTableService) {\r\n super(service);\r\n }\r\n\r\n ngOnInit(): void {\r\n /** initializes parent logic */\r\n super.ngOnInit();\r\n\r\n /** obtains ids from route */\r\n this.competitionId = this.route.parent.snapshot.params.id as number;\r\n\r\n /** obtains display results status */\r\n this.loadDisplayResultsStatus(this.competitionId, true);\r\n }\r\n\r\n /**\r\n * Grid action handler\r\n * @param event the clicked event from grid\r\n */\r\n protected onButtonClick(event: GridButtonTrigger): void {\r\n /** if stage result is not available, do nothing */\r\n if (!event || !event.row || !event.row.rounds || !event.row.rounds.length) {\r\n return;\r\n }\r\n \r\n /** gets the desired stage result id from dynamic column */\r\n const roundColumn = event.row.rounds.find(round => round.columnId === event.buttonId);\r\n\r\n /** if stage column or stage result id is not provided, do nothing */\r\n if (!roundColumn || !roundColumn.entityId) {\r\n return;\r\n }\r\n\r\n /** gets the desired stage result by id */\r\n this.sub.add(this.roundResultService.getResult(roundColumn.entityId).subscribe((result => {\r\n this.roundResult = result;\r\n this.dialogKey = roundColumn.columnKey;\r\n /** waits for the dala load */\r\n setTimeout(() => {\r\n this.dialog.show();\r\n });\r\n })));\r\n }\r\n\r\n /**\r\n * Navigates to speed trial results\r\n */\r\n private navigateToSpeedTrialResults(): void {\r\n this.router.navigate(['/competition', this.competitionId, 'speed-trial', 'results']);\r\n }\r\n\r\n /**\r\n * Toolbar click handler\r\n * @param itemId the clicked item\r\n */\r\n protected onToolbarClick(itemId: string): void {\r\n /** executes the button logic */\r\n switch (itemId) {\r\n case 'recalculate':\r\n this.recalculateResults(this.competitionId);\r\n break;\r\n case 'visibility':\r\n this.updateDisplayStatus(this.competitionId);\r\n break;\r\n case 'speed-trials':\r\n this.navigateToSpeedTrialResults();\r\n break;\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n@if (roundResult) {\r\n \r\n \r\n @for (stage of roundResult.stages; track stage.columnId) {\r\n \r\n }\r\n \r\n \r\n \r\n}\r\n","import { inject, Injectable } from \"@angular/core\";\r\nimport { map, Observable, of } from \"rxjs\";\r\nimport { ApiDataService } from \"src/app/api/services/api-data.service\";\r\nimport { ResultsService } from \"src/app/controls/base/results.service\";\r\nimport { ColumnDefinition } from \"src/app/controls/grid/models/column-definition.interface\";\r\nimport { GridDataProvider } from \"src/app/controls/grid/services/grid-data-provider.interface\";\r\nimport { CompetitionResult } from \"../models/competition-result.interface\";\r\nimport { CompetitionCardService } from \"../../competition-management/edit-competition-card/service/competition-card.service\";\r\n\r\n@Injectable()\r\nexport class CompetitionResultsTableService implements GridDataProvider, ResultsService {\r\n\r\n /** Api data service reference */\r\n private service = inject(ApiDataService);\r\n\r\n /** Competition service reference */\r\n private competitionService = inject(CompetitionCardService);\r\n \r\n /** @inheritdoc */\r\n public getTableName(competitionId: number): Observable {\r\n return this.service.get('competitions/get-name/' + competitionId);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getGridData(competitionId: unknown): Observable {\r\n return this.service.getAll('competition-results/competition/' + competitionId).pipe(\r\n map((results => {\r\n results.map((result) => ({\r\n ...result,\r\n stages: this.mapRounds(result),\r\n }));\r\n return results;\r\n })));\r\n }\r\n\r\n /**\r\n * Maps the dynamic round columns\r\n * @param result the obtained competition result to map\r\n */\r\n private mapRounds(result: CompetitionResult): void {\r\n for (const round of result?.rounds) {\r\n result[round.columnId] = round.value;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n public getColumnDefinition(competitionId: number): Observable {\r\n return this.service.getAll('competition-results/column-definition/' + competitionId);\r\n }\r\n\r\n /** @inheritdoc */\r\n public recalculateResults(id: number): Observable {\r\n return this.service.patchEmpty('competition-results/recalculate/' + id);\r\n }\r\n \r\n /** @inheritdoc */\r\n public getDisplayResultsStatus(id: number): Observable {\r\n return this.competitionService.getDisplayResultsStatus(id);\r\n }\r\n\r\n /** @inheritdoc */\r\n public updateResultsStatus(id: number): Observable {\r\n return this.competitionService.updateResultsStatus(id);\r\n }\r\n}","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { HttpHandlingService } from 'src/app/api/services/http-handling.service';\r\nimport { ConfirmationDialogContent } from '../../types/confirmation-dialog.interface';\r\n\r\n@Component({\r\n selector: 'app-confirmation-dialog',\r\n templateUrl: './confirmation-dialog.component.html',\r\n styleUrls: ['./confirmation-dialog.component.css']\r\n})\r\nexport class ConfirmationDialogComponent implements OnInit {\r\n\r\n message: string | null = null;\r\n url: string | null = null;\r\n buttonText: string | null = null;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) private data: ConfirmationDialogContent, private http: HttpClient, private httpHandlingService: HttpHandlingService,\r\n private dialogRef: MatDialogRef) {}\r\n\r\n ngOnInit(): void {\r\n this.message = this.data.message;\r\n this.url = this.data.url;\r\n this.buttonText = this.data.buttonText;\r\n }\r\n\r\n execute(): void {\r\n this.http.delete(this.url, {headers: this.httpHandlingService.authorizationHeaders()}).subscribe(() => {\r\n this.dialogRef.close(true);\r\n },\r\n (error: HttpErrorResponse) => alert(error.message));\r\n }\r\n}\r\n","

{{'Confirmation' | translate}}

\r\n\r\n

{{this.message | translate}}

\r\n
\r\n\r\n \r\n \r\n\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ApiDataService } from 'src/app/api/services/api-data.service';\r\nimport { SERVER_API_URL_NEW } from 'src/app/common/types/app.constants';\r\nimport { Archive } from 'src/app/common/types/archive.interface';\r\n\r\n@Component({\r\n selector: 'app-archive',\r\n templateUrl: './archive.component.html',\r\n styleUrls: ['./archive.component.scss']\r\n})\r\nexport class ArchiveComponent implements OnInit {\r\n\r\n archive: Archive[] = [];\r\n\r\n @Output() onCloseSideNav = new EventEmitter();\r\n\r\n constructor(private service: ApiDataService, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onGetArchive(): void {\r\n const archiveResultsDetailed = 'competition-results-archived';\r\n this.service.getAll(archiveResultsDetailed).subscribe((results: Archive[]): void => {\r\n this.archive = results;\r\n });\r\n }\r\n\r\n /**\r\n * function for stage results loading of desired stage in competition\r\n * @param stageId for evaluation of specific stage\r\n */\r\n onSelectStageResult(competitionId: number, stageId: number): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/competition', competitionId, 'stage', stageId, 'results']);\r\n }\r\n\r\n /**\r\n * function for round results loading of desired round in competition\r\n * @param roundId for evaluation of specific round\r\n */\r\n onSelectRoundResult(competitionId: number, roundId: number): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/competition', competitionId, 'round', roundId, 'results']);\r\n }\r\n\r\n /**\r\n * function for navigation to competition results\r\n */\r\n onSelectCompetitionResult(competitionId: number): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/competition', competitionId, 'results']);\r\n }\r\n\r\n /**\r\n * function for navigating to selected driving report\r\n * @param competitionId for evaluation of desired competition\r\n * @param stageId for evaluation of desired stage\r\n * @param crewId for evaluation of desired crew\r\n * @param drivingReportId for evaluation of desired driving report\r\n */\r\n onSelectDrivingReport(competitionId: number, stageId: number, crewId: number, drivingReportId: number): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/competition', competitionId, 'stage', stageId, 'crew', crewId, 'driving-report', drivingReportId]);\r\n }\r\n}\r\n","\r\n\r\n@if (!(['xs', 'sm', 'md'] | breakpoint | async)) {\r\n \r\n \r\n @for (season of archive; track season.seasonName) {\r\n \r\n }\r\n \r\n \r\n }\r\n @if (result.stageResults?.length) {\r\n \r\n }\r\n \r\n \r\n }\r\n @if (result.roundResults?.length) {\r\n \r\n }\r\n \r\n \r\n }\r\n @if (result.competitionResults?.length) {\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n \r\n \r\n }\r\n \r\n} @else {\r\n \r\n \r\n
\r\n archive\r\n {{'Archive' | translate}}\r\n
\r\n
\r\n @for (season of archive; track season.seasonName) {\r\n \r\n \r\n
\r\n dialpad\r\n {{ 'Season' | translate }} {{ season.seasonName }}\r\n
\r\n
\r\n @for (result of season.competitions; track result.competitionName) {\r\n \r\n \r\n
\r\n dialpad\r\n {{result.competitionName}}\r\n
\r\n
\r\n @if (result.drivingReportsPerCrew?.length) {\r\n \r\n \r\n
\r\n border_color\r\n {{'Driving reports' | translate}}\r\n
\r\n
\r\n @for (drivingReport of result.drivingReportsPerCrew; track drivingReport.stageName) {\r\n
\r\n border_color\r\n {{drivingReport.stageName}}\r\n
\r\n }\r\n
\r\n }\r\n @if (result.stageResults?.length) {\r\n \r\n \r\n
\r\n border_color\r\n {{'Stage Results' | translate}}\r\n
\r\n
\r\n @for (stageResult of result.stageResults; track stageResult.name) {\r\n
\r\n border_color\r\n {{stageResult.name}}\r\n
\r\n }\r\n
\r\n }\r\n @if (result.roundResults?.length) {\r\n \r\n \r\n
\r\n border_color\r\n {{'Round Results' | translate}}\r\n
\r\n
\r\n @for (roundResult of result.roundResults; track roundResult.name) {\r\n
\r\n border_color\r\n {{roundResult.name}}\r\n
\r\n }\r\n
\r\n }\r\n @if (result.competitionResults?.length) {\r\n
\r\n border_color\r\n {{'Competition Results' | translate}}\r\n
\r\n }\r\n
\r\n }\r\n
\r\n }\r\n
\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport {LocalStorageService} from '../../../../../api/services/localStorage';\r\n\r\n@Component({\r\n selector: 'app-competition-details',\r\n templateUrl: './competition-details.component.html',\r\n styleUrls: ['./competition-details.component.css']\r\n})\r\nexport class CompetitionDetailsComponent implements OnInit {\r\n\r\n selectedIndex: number;\r\n\r\n constructor(private localStorage: LocalStorageService) { }\r\n\r\n ngOnInit(): void {\r\n if (this.localStorage.get('competitionDetailIndex') !== null) {\r\n this.selectedIndex = this.localStorage.get('competitionDetailIndex') as number;\r\n }\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, EventEmitter, inject, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n ReactiveFormsModule,\r\n UntypedFormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport {\r\n MatDatepickerModule,\r\n} from '@angular/material/datepicker';\r\nimport { MatFormFieldModule, MatLabel } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { DialogComponent } from 'src/app/controls/dialog/components/dialog.component';\r\nimport { CompetitionRegistrationService } from '../services/competition-registration.service';\r\nimport { CompetitionRegistration } from '../models/competition-registration.interface';\r\nimport { Subscription } from 'rxjs';\r\nimport { SelectedItem } from 'src/app/controls/models/selected-item.interface';\r\nimport { CompetitorPipe } from '../pipes/competitor.pipe';\r\nimport { ItemListSelectorComponent } from 'src/app/controls/item-list-selector/item-list-selector.component';\r\nimport { CompetitionRegistrationPrefill } from '../models/competition-registration-prefill.interface';\r\nimport { SnackBarService } from 'src/app/controls/snack-bar/services/snack-bar.service';\r\nimport { SelectComponent } from 'src/app/controls/select/select.component';\r\nimport { DateRange } from 'src/app/controls/date-range-picker/models/date-range.interface';\r\nimport { DateRangePickerComponent } from 'src/app/controls/date-range-picker/components/date-range-picker.component';\r\nimport { CompetitionRegistrationForm } from '../models/competition-registration-form.interface';\r\n\r\n@Component({\r\n selector: 'cec-competition-registration-dialog',\r\n templateUrl: './competition-registration.component.html',\r\n styleUrls: ['./competition-registration.component.scss'],\r\n standalone: true,\r\n imports: [\r\n DialogComponent,\r\n TranslateModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatLabel,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatDatepickerModule,\r\n CommonModule,\r\n CompetitorPipe,\r\n ItemListSelectorComponent,\r\n SelectComponent,\r\n DateRangePickerComponent\r\n ],\r\n providers: [CompetitionRegistrationService],\r\n})\r\nexport class CompetitionRegistrationComponent implements OnInit, OnDestroy {\r\n /** Dialog template reference */\r\n @ViewChild('dialog') dialog!: DialogComponent;\r\n\r\n protected formGroup: FormGroup | undefined = undefined;\r\n\r\n private builder: FormBuilder = inject(FormBuilder);\r\n\r\n private service: CompetitionRegistrationService = inject(CompetitionRegistrationService);\r\n\r\n private snackBar: SnackBarService = inject(SnackBarService);\r\n\r\n private translate: TranslateService = inject(TranslateService);\r\n\r\n protected updated = new Date();\r\n\r\n private sub = new Subscription();\r\n\r\n protected crews: SelectedItem[] | undefined = undefined;\r\n\r\n protected competitors: SelectedItem[] | undefined = undefined;\r\n\r\n protected competitionName: string | undefined = undefined;\r\n\r\n private competitionId: number | undefined = undefined;\r\n\r\n private id: number | undefined = undefined;\r\n\r\n private cdr = inject(ChangeDetectorRef);\r\n\r\n @Input() type: 'basic' | 'organizer' = 'basic';\r\n\r\n @Output() reload = new EventEmitter();\r\n\r\n constructor() {\r\n this.formGroup = this.builder.group({\r\n crewId: [null as number | null, Validators.required],\r\n driverId: [null as number | null, Validators.required],\r\n navigatorId: [null as number | null, Validators.required],\r\n accommodationDuration: [null as DateRange | null, Validators.required],\r\n noteCompetitor: [null as string | null],\r\n additionalCompetitors: []\r\n });\r\n\r\n this.sub = this.formGroup.get('crewId').valueChanges.subscribe((value: number) => {\r\n if (!value) {\r\n this.disableFields();\r\n return;\r\n }\r\n\r\n if (!this.id) {\r\n this.service.getCompetitors(value).subscribe((crew) => {\r\n this.competitors = crew?.competitors;\r\n this.formGroup.patchValue({\r\n driverId: crew.driverId,\r\n navigatorId: crew.navigatorId\r\n })\r\n });\r\n }\r\n \r\n this.enableFields();\r\n });\r\n\r\n this.sub.add(this.formGroup.get('driverId').valueChanges.subscribe(() => {\r\n this.updated = new Date();\r\n }));\r\n\r\n this.sub.add(this.formGroup.get('navigatorId').valueChanges.subscribe(() => {\r\n this.updated = new Date();\r\n }));\r\n\r\n this.sub.add(this.formGroup.get('additionalCompetitors').valueChanges.subscribe(() => {\r\n this.updated = new Date();\r\n }));\r\n }\r\n\r\n ngOnInit(): void {\r\n /** detects changes because of form validity issues */\r\n this.cdr.detectChanges();\r\n }\r\n \r\n ngOnDestroy(): void {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n /**\r\n * Shows the competition registration dialog\r\n */\r\n public show(competitionId: number, isOrganizer = false, id?: number): void {\r\n\r\n this.id = id;\r\n this.competitionId = competitionId;\r\n\r\n if (!id && isOrganizer && this.type === 'organizer') {\r\n this.disableFields();\r\n this.prefillOrganizerData(competitionId);\r\n this.dialog.show();\r\n return;\r\n }\r\n \r\n /** fills data, if existing competition registration is edited */\r\n if (id) {\r\n this.fillData(id);\r\n } else {\r\n /** pre-fills data for new competition registration */\r\n this.prefillBasicData(competitionId);\r\n }\r\n\r\n this.dialog.show();\r\n }\r\n\r\n /**\r\n * Fills the form with existing data \r\n * @param id the id of existing competition registration\r\n */\r\n private fillData(id: number): void {\r\n this.service\r\n .getCompetitionRegistration(id)\r\n .subscribe((data: CompetitionRegistration) => {\r\n this.crews = data.crews;\r\n this.competitors = data.competitors;\r\n this.formGroup.patchValue({ ...data });\r\n this.formGroup.get('crewId').disable();\r\n });\r\n }\r\n\r\n /**\r\n * Fills the form with existing data \r\n * @param id the id of existing competition registration\r\n */\r\n private prefillBasicData(id: number): void {\r\n this.service\r\n .getDataForPrefill(id)\r\n .subscribe((data: CompetitionRegistrationPrefill) => {\r\n this.competitionName = data.competitionName;\r\n this.formGroup.patchValue({ \r\n crewId: data.crewId,\r\n accommodationDuration: data.competitionDuration\r\n });\r\n\r\n this.crews = data.crews;\r\n if (!this.crews || !this.crews.length) {\r\n this.formGroup.get('crewId').disable({ emitEvent: false });\r\n this.disableFields();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Fills the form with existing data \r\n * @param id the id of existing competition registration\r\n */\r\n private prefillOrganizerData(id: number): void {\r\n this.service\r\n .getOrganizerDataForPrefill(id)\r\n .subscribe((data: CompetitionRegistrationPrefill) => {\r\n this.competitionName = data.competitionName;\r\n this.formGroup.patchValue({ \r\n accommodationDuration: data.competitionDuration\r\n });\r\n\r\n this.crews = data.crews;\r\n if (!this.crews || !this.crews.length) {\r\n this.formGroup.get('crewId').disable({ emitEvent: false });\r\n this.disableFields();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Disables driver and navigator fields\r\n */\r\n private enableFields(): void {\r\n this.formGroup.get('driverId').enable();\r\n this.formGroup.get('navigatorId').enable();\r\n this.formGroup.get('additionalCompetitors').enable();\r\n }\r\n\r\n /**\r\n * Disables driver and navigator fields\r\n */\r\n private disableFields(): void {\r\n this.formGroup.get('driverId').disable();\r\n this.formGroup.get('navigatorId').disable();\r\n this.formGroup.get('additionalCompetitors').disable();\r\n }\r\n\r\n /**\r\n * Executes the competition registration logic according to the button clicked\r\n * @param success the type of button clicked\r\n */\r\n protected onClickButton(success: boolean): void {\r\n /** if cancel button is clicked, just close the dialog */\r\n if (!success) {\r\n this.formGroup.get('crewId').enable({ emitEvent: false });\r\n return;\r\n }\r\n\r\n if (!this.id) {\r\n /** if id is not provided, creates new competition registration */\r\n this.service.create({\r\n ...this.formGroup.value,\r\n competitionId: this.competitionId\r\n }).subscribe((result) => {\r\n if (result) {\r\n /** shows success snackbar when crew is registered to competition */\r\n this.snackBar.success(this.translate.instant('CrewRegisteredToCompetition'));\r\n\r\n /** reloads registered crews table */\r\n this.reload.emit();\r\n return;\r\n }\r\n\r\n /** shows danger snackbar when crew registration to competition fails */\r\n this.snackBar.danger(this.translate.instant('UnableToRegisterCrewToCompetition'));\r\n });\r\n } else {\r\n /** if id is provided, update existing competition registration */\r\n this.service.update({\r\n id: this.id,\r\n ...this.formGroup.value,\r\n competitionId: this.competitionId\r\n }).subscribe((result) => {\r\n if (result) {\r\n /** shows success snackbar when competition registration is updated */\r\n this.snackBar.success(this.translate.instant('CrewRegistrationUpdateSuccess'));\r\n\r\n /** reloads registered crews table */\r\n this.reload.emit();\r\n return;\r\n }\r\n\r\n /** shows danger snackbar when update of competition registration fails */\r\n this.snackBar.danger(this.translate.instant('CrewRegistrationUpdateFailed'));\r\n });\r\n }\r\n }\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {{ 'Competitor note' | translate }}\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SelectedItem } from 'src/app/controls/models/selected-item.interface';\r\n\r\n@Pipe({\r\n name: 'selector',\r\n standalone: true,\r\n})\r\nexport class ItemListSelectorPipe implements PipeTransform {\r\n transform(\r\n value: SelectedItem[],\r\n items: SelectedItem[],\r\n updated: Date,\r\n ): SelectedItem[] {\r\n if (!value || !value.length || !items || !items.length || !updated) {\r\n return value;\r\n }\r\n\r\n /** converts items list to set */\r\n const itemsSet = new Set(items.map(obj => obj.value));\r\n\r\n return value.filter(obj => !itemsSet.has(obj.value));\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { SelectedItem } from 'src/app/controls/models/selected-item.interface';\r\n\r\n@Pipe({\r\n name: 'competitor',\r\n standalone: true,\r\n})\r\nexport class CompetitorPipe implements PipeTransform {\r\n transform(\r\n value: SelectedItem[],\r\n formGroup: FormGroup,\r\n controlName: string,\r\n updated: Date\r\n ): SelectedItem[] {\r\n if (!value || !value.length || !formGroup || !controlName || !updated) {\r\n return value;\r\n }\r\n\r\n const values: number[] = [];\r\n ['driverId', 'navigatorId', 'additionalCompetitors'].forEach((key) => {\r\n if (key !== controlName) {\r\n if (key === 'additionalCompetitors') {\r\n const additionalCompetitors: number[] = formGroup.get(key).value;\r\n additionalCompetitors?.forEach((competitor) => {\r\n values.push(competitor);\r\n })\r\n }\r\n values.push(formGroup.get(key).value);\r\n }\r\n });\r\n\r\n return value.filter((item) => !values.includes(item.value));\r\n }\r\n}\r\n","import { inject, Injectable } from \"@angular/core\";\r\nimport { Observable, share } from \"rxjs\";\r\nimport { ApiDataService } from \"src/app/api/services/api-data.service\";\r\nimport { CompetitionRegistration } from \"../models/competition-registration.interface\";\r\nimport { SelectedItem } from \"src/app/controls/models/selected-item.interface\";\r\nimport { CompetitionRegistrationCrew } from \"../models/competition-registration-crew.interface\";\r\nimport { CompetitionRegistrationPrefill } from \"../models/competition-registration-prefill.interface\";\r\nimport { CompetitionRegistrationCreate } from \"../models/competition-registration-create.interface\";\r\n\r\n@Injectable()\r\nexport class CompetitionRegistrationService {\r\n\r\n private service = inject(ApiDataService);\r\n\r\n /** @inheritdoc */\r\n public getCompetitionRegistration(competitionRegistrationId: number): Observable {\r\n return this.service.get('competition-registrations/get/' + competitionRegistrationId);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getCrews(competitionId: number): Observable {\r\n return this.service.getAll('annual-registrations/crews/' + competitionId).pipe(share());\r\n }\r\n\r\n public getCompetitors(crewId: number): Observable {\r\n return this.service.get('crews/registration/' + crewId);\r\n }\r\n\r\n public getDataForPrefill(competitionId: number): Observable {\r\n return this.service.get('competition-registrations/get-data/' + competitionId);\r\n }\r\n\r\n public getOrganizerDataForPrefill(competitionId: number): Observable {\r\n return this.service.get('competition-registrations/get-organizer-data/' + competitionId);\r\n }\r\n\r\n public create(data: CompetitionRegistrationCreate): Observable {\r\n return this.service.post('competition-registrations/create', data);\r\n }\r\n\r\n public update(data: CompetitionRegistrationCreate): Observable {\r\n return this.service.put('competition-registrations/update', data);\r\n }\r\n\r\n}","import { Component, inject, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ApiDataService } from 'src/app/api/services/api-data.service';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { CecBreakpointPipe } from 'src/app/controls/pipes/cec-breakpoint.pipe';\r\nimport { GridComponent } from 'src/app/controls/grid/components/grid.component';\r\nimport { GRID_COLUMN_DEFINITION } from '../constants/grid-column-definition.constant';\r\nimport { RegisteredCrewsTableService } from '../services/registered-crews-table.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ToolbarComponent } from 'src/app/controls/toolbar/components/toolbar.component';\r\nimport { ToolbarItemDirective } from 'src/app/controls/toolbar/directives/toolbar-item.directive';\r\nimport { DialogComponent } from 'src/app/controls/dialog/components/dialog.component';\r\nimport { CompetitionRegistrationComponent } from '../../competition-registration/components/competition-registration.component';\r\nimport { SnackBarService } from 'src/app/controls/snack-bar/services/snack-bar.service';\r\nimport { GridButtonTrigger } from 'src/app/controls/grid/models/grid-button-trigger.interface';\r\nimport { RegisteredCrewsTable } from '../models/registered-crews-table.interface';\r\nimport { ConfirmationDialogComponent } from 'src/app/controls/confirmation-dialog/confirmation-dialog.component';\r\nimport { InfoDialogComponent } from 'src/app/controls/info-dialog/info-dialog.component';\r\nimport { SelectedItem } from 'src/app/controls/models/selected-item.interface';\r\nimport { BreadcrumbComponent } from 'src/app/controls/breadcrumb/components/breadcrumb.component';\r\nimport { GridBase } from 'src/app/controls/base/grid.base';\r\n\r\n@Component({\r\n selector: 'app-registered-crews-table',\r\n templateUrl: './registered-crews-table.component.html',\r\n styleUrls: ['./registered-crews-table.component.scss'],\r\n standalone: true,\r\n imports: [\r\n MatButtonModule,\r\n MatCardModule,\r\n MatTableModule,\r\n MatIconModule,\r\n TranslateModule,\r\n MatTooltipModule,\r\n DatePipe,\r\n CecBreakpointPipe,\r\n CommonModule,\r\n GridComponent,\r\n ToolbarComponent,\r\n ToolbarItemDirective,\r\n CompetitionRegistrationComponent,\r\n ConfirmationDialogComponent,\r\n InfoDialogComponent,\r\n BreadcrumbComponent\r\n ],\r\n providers: [RegisteredCrewsTableService],\r\n})\r\nexport class RegisteredCrewsTableComponent extends GridBase {\r\n\r\n competitionId?: number;\r\n\r\n service: RegisteredCrewsTableService = inject(RegisteredCrewsTableService);\r\n\r\n @ViewChild('registrationDialog') registrationDialog!: CompetitionRegistrationComponent;\r\n\r\n protected infoDialogTextAreaLabelKey: string | undefined = undefined;\r\n\r\n constructor(\r\n private apiService: ApiDataService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.competitionId = this.route.parent?.snapshot.params.id as number;\r\n }\r\n\r\n /**\r\n * function for navigate to competition details\r\n */\r\n navigateToCompetitionDetails(): void {\r\n this.router.navigate(['/competition', this.competitionId, 'edit']);\r\n }\r\n\r\n printRegistrations(): void {\r\n const printRegistrations =\r\n 'competition-registrations/print-competitors-info/' + this.competitionId;\r\n this.apiService.downloadFile(printRegistrations).subscribe();\r\n }\r\n\r\n protected onButtonClick(event: GridButtonTrigger): void {\r\n switch (event.buttonId) {\r\n case 'additionalCompetitors':\r\n this.infoDialog.showList(event.row.additionalCompetitors);\r\n break;\r\n case 'noteCompetitor':\r\n this.infoDialogTextAreaLabelKey = 'Competitor note';\r\n this.infoDialog.show(event.row.noteCompetitor);\r\n break;\r\n case 'noteAuthor':\r\n this.infoDialogTextAreaLabelKey = 'Author note';\r\n this.infoDialog.show(event.row.noteAuthor, event.row.id, this.isOrganizer());\r\n break;\r\n case 'edit':\r\n this.registrationDialog.show(this.competitionId, this.isOrganizer(), event.row.id);\r\n break;\r\n case 'logout':\r\n this.confirmationDialog.show(event.row.id);\r\n break;\r\n }\r\n }\r\n\r\n protected onToolbarClick(itemId: string): void {\r\n switch (itemId) {\r\n case 'add':\r\n this.registrationDialog.show(this.competitionId, this.isOrganizer());\r\n break;\r\n case 'export':\r\n this.grid.exportExcel();\r\n break;\r\n case 'print':\r\n console.log('print');\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Unregisters the desired crew from competition\r\n */\r\n protected onLogoutButtonClick(id: number): void {\r\n /** if id is not provided, do nothing */\r\n if (!id) {\r\n return;\r\n }\r\n\r\n /** if id was provided, remove desired competition registration */\r\n this.service.removeCrewFromCompetition(id).subscribe((result: boolean) => {\r\n /** if competition registration was removed, show success snackbar */\r\n if (result) {\r\n this.snackBar.success(this.translate.instant('CrewUnregistered'));\r\n this.grid.reload();\r\n return;\r\n }\r\n\r\n /** else show danger snackbar */\r\n this.snackBar.danger(this.translate.instant('UnableToUnregisterCrew'));\r\n });\r\n }\r\n\r\n /**\r\n * Updates the author note of competition registration\r\n * @param message the updated author note message\r\n */\r\n protected authorNoteUpdate(item: SelectedItem): void {\r\n /** if cancel button was clicked */\r\n if (item === undefined) {\r\n return;\r\n }\r\n\r\n /** updates the author note of competition registration */\r\n this.service.updateAuthorNote({\r\n id: item.value,\r\n noteAuthor: item.text\r\n }).subscribe((result: boolean) => {\r\n if (result) {\r\n /** shows success snackbar when author note was successfully updated */\r\n this.snackBar.success(this.translate.instant('AuthorNoteUpdated'));\r\n\r\n /** reloads registered crews table */\r\n this.reload();\r\n return;\r\n }\r\n\r\n /** shows danger snackbar when author note was not updated */\r\n this.snackBar.danger(this.translate.instant('AuthorNoteUpdateFailed'));\r\n })\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { ColumnDefinition } from 'src/app/controls/grid/models/column-definition.interface';\r\n\r\nexport const GRID_COLUMN_DEFINITION: ColumnDefinition[] = [\r\n {\r\n id: 'crewNumber',\r\n transKey: 'Crew number',\r\n exportAble: true,\r\n },\r\n {\r\n id: 'flag',\r\n transKey: 'Country',\r\n type: 'image'\r\n },\r\n {\r\n id: 'driver',\r\n transKey: 'Driver',\r\n exportAble: true\r\n },\r\n {\r\n id: 'navigator',\r\n transKey: 'Navigator',\r\n exportAble: true\r\n },\r\n {\r\n id: 'additionalCompetitors',\r\n transKey: 'Additional Competitors',\r\n type: 'link',\r\n },\r\n {\r\n id: 'accommodationFrom',\r\n transKey: 'Accommodation From',\r\n hideAble: true,\r\n type: 'date'\r\n },\r\n {\r\n id: 'accommodationTo',\r\n transKey: 'Accommodation To',\r\n hideAble: true,\r\n type: 'date'\r\n },\r\n {\r\n id: 'registrationTime',\r\n transKey: 'Registration time',\r\n type: 'date',\r\n dateFormat: 'MMM dd, yyyy HH:mm:ss'\r\n },\r\n {\r\n id: 'noteCompetitor',\r\n transKey: 'Competitor note',\r\n type: 'link',\r\n hideAble: true,\r\n },\r\n {\r\n id: 'noteAuthor',\r\n transKey: 'Author note',\r\n type: 'editable',\r\n hideAble: true,\r\n },\r\n {\r\n id: 'delete',\r\n transKey: 'Actions',\r\n hideAble: true,\r\n type: 'multi',\r\n textAlign: 'center',\r\n columns: [\r\n {\r\n id: 'edit',\r\n hideAble: true,\r\n type: 'button',\r\n icon: 'edit',\r\n tooltip: 'Edit registration'\r\n },\r\n {\r\n id: 'logout',\r\n hideAble: true,\r\n type: 'button',\r\n icon: 'logout',\r\n tooltip: 'LogoutCrewFromCompetition'\r\n },\r\n ]\r\n },\r\n];\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, ResolveFn } from '@angular/router';\r\nimport { UtilService } from 'src/app/api/services/util.service';\r\n\r\n/**\r\n * Resolver to evaluate established connection to SPIN in Commerce Case Routing\r\n */\r\nexport const competitionAuthorResolver: ResolveFn = (\r\n route: ActivatedRouteSnapshot\r\n) => {\r\n return inject(UtilService).isLoggedCompetitorAnOrganizer(\r\n route.parent?.paramMap.get('id') as unknown as number\r\n );\r\n};\r\n","import { inject, Injectable } from \"@angular/core\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { ApiDataService } from \"src/app/api/services/api-data.service\";\r\nimport { GridDataProvider } from \"src/app/controls/grid/services/grid-data-provider.interface\";\r\nimport { RegisteredCrewsTable } from \"../models/registered-crews-table.interface\";\r\nimport { UpdateAuthorNote } from \"../models/update-author-note.interface\";\r\nimport { ColumnDefinition } from \"src/app/controls/grid/models/column-definition.interface\";\r\nimport { GRID_COLUMN_DEFINITION } from \"../constants/grid-column-definition.constant\";\r\n\r\n@Injectable()\r\nexport class RegisteredCrewsTableService implements GridDataProvider {\r\n \r\n /** Api data service reference */\r\n private service = inject(ApiDataService);\r\n\r\n /** @inheritdoc */\r\n public getTableName(competitionId: number): Observable {\r\n return this.service.get('competitions-simple/name/' + competitionId);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getGridData(competitionId: number): Observable {\r\n return this.service.getAll('competition-registrations/competition/' + competitionId);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getColumnDefinition(): Observable {\r\n return of(GRID_COLUMN_DEFINITION);\r\n }\r\n\r\n /** @inheritdoc */\r\n public updateAuthorNote(data: UpdateAuthorNote): Observable {\r\n return this.service.patch('competition-registrations/update-author-note', data);\r\n }\r\n\r\n /** @inheritdoc */\r\n public removeCrewFromCompetition(competitionRegistrationId: number): Observable {\r\n return this.service.delete('competition-registrations', competitionRegistrationId);\r\n }\r\n}","import {Component, DoCheck, Inject, OnInit} from '@angular/core';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\r\nimport {CompetitionSimpleDTO} from '../../../../../types/competition';\r\nimport {Competitor, CompetitorSimple} from '../../../../../types/competitor';\r\nimport {LocalStorageService} from '../../../../../../api/services/localStorage';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {CrewSample} from '../../../../../types/crew';\r\nimport {CompetitionRegistration} from '../../../../../types/competitionRegistration';\r\nimport {AbstractControl, UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms';\r\nimport {HttpHandlingService} from '../../../../../../api/services/http-handling.service';\r\nimport {SERVER_API_URL} from '../../../../../types/app.constants';\r\nimport {EditCrewCardInfo} from '../../../../../types/editCrewCardInfo';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-sign-in-card',\r\n templateUrl: './sign-in-card.component.html',\r\n styleUrls: ['./sign-in-card.component.css']\r\n})\r\nexport class SignInCardComponent implements OnInit, DoCheck {\r\n\r\n raceSignInForm = new UntypedFormGroup({\r\n accommodationFrom: new UntypedFormControl('', Validators.required),\r\n accommodationTo: new UntypedFormControl('', Validators.required),\r\n crew: new UntypedFormControl('', Validators.required),\r\n driver: new UntypedFormControl('', Validators.required),\r\n navigator: new UntypedFormControl('', Validators.required),\r\n noteCompetitor: new UntypedFormControl(''),\r\n additionalCompetitor: new UntypedFormControl('')\r\n });\r\n\r\n competition: CompetitionSimpleDTO;\r\n crews: CrewSample[];\r\n allCompetitors: CompetitorSimple[] = [];\r\n additionalCompetitors: CompetitorSimple[] = [];\r\n addedCompetitors: CompetitorSimple[] = [];\r\n drivers: CompetitorSimple[] = [];\r\n navigators: CompetitorSimple[] = [];\r\n\r\n errorMessage = '';\r\n\r\n serverIsDown = false;\r\n notRegisteredInSeason = false;\r\n alreadyInCompetition = false;\r\n\r\n competitionStart: Date | null = null;\r\n competitionEnd: Date | null = null;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) private data: CompetitionSimpleDTO, private http: HttpClient,\r\n private localStorage: LocalStorageService, private httpHandlingService: HttpHandlingService,\r\n private dialogRef: MatDialogRef, private router: Router) {}\r\n\r\n ngOnInit(): void {\r\n if (this.data !== null) {\r\n this.competition = this.data;\r\n }\r\n if (this.localStorage.get('loggedCompetitor') !== null) {\r\n const competitor = this.localStorage.get('loggedCompetitor') as Competitor;\r\n this.onGetCrews(competitor);\r\n }\r\n this.competitionStart = new Date(this.competition.competitionStart);\r\n this.competitionEnd = new Date(this.competition.competitionEnd);\r\n }\r\n\r\n ngDoCheck(): void {\r\n this.refilterDropdowns();\r\n }\r\n\r\n /**\r\n * function for registration of crew to specific race\r\n */\r\n signToCompetition(): void {\r\n const competitionRegistration = new CompetitionRegistration(null, this.competition.id, this.raceSignInForm.get('crew').value.id,\r\n this.raceSignInForm.get('accommodationFrom').value, this.raceSignInForm.get('accommodationTo').value, new Date(),\r\n this.raceSignInForm.get('noteCompetitor').value, '', this.raceSignInForm.get('driver').value.id,\r\n this.raceSignInForm.get('navigator').value.id, JSON.stringify(this.onGetAdditionalCompetitorsIds(this.addedCompetitors)));\r\n this.http.post(SERVER_API_URL + '/api/competition-registrations', competitionRegistration,\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe(result => {},\r\n (error: HttpErrorResponse) => this.handleCreateErrors(error),\r\n () => {\r\n this.dialogRef.close();\r\n this.router.navigate(['/competition', this.competition.id, 'registered-crews']);\r\n });\r\n }\r\n\r\n /**\r\n * function for getting all crews, where competitor is participating\r\n * @param competitor for evaluation of competitor and his crews\r\n */\r\n onGetCrews(competitor: Competitor): void {\r\n this.http.get(SERVER_API_URL + '/api/crews-active/' + competitor.id,\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe((result: CrewSample[]) => {\r\n this.crews = result;\r\n if (this.crews.length > 0) {\r\n this.raceSignInForm.patchValue({\r\n crew: this.crews[0],\r\n driver: this.crews[0].driver,\r\n navigator: this.crews[0].navigator\r\n });\r\n this.drivers = this.crews[0].additionalCompetitors;\r\n this.drivers.push(this.crews[0].driver);\r\n this.navigators = this.crews[0].additionalCompetitors;\r\n this.navigators.push(this.crews[0].navigator);\r\n this.additionalCompetitors = this.crews[0].additionalCompetitors.filter(\r\n (item: CompetitorSimple) => item.id !== this.crews[0].driver.id && item.id !== this.crews[0].navigator.id);\r\n this.allCompetitors = this.additionalCompetitors;\r\n this.allCompetitors.push(this.crews[0].driver, this.crews[0].navigator);\r\n } else {\r\n this.crews = [];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * function for retrieving additional competitors ids\r\n * @param additionalCompetitors for evaluation of additional competitors\r\n */\r\n onGetAdditionalCompetitorsIds(additionalCompetitors: CompetitorSimple[]): number[] {\r\n const additionalCompetitorsIds = [];\r\n for (const additionalCompetitor of additionalCompetitors) {\r\n additionalCompetitorsIds.push(additionalCompetitor.id);\r\n }\r\n return additionalCompetitorsIds;\r\n }\r\n\r\n /**\r\n * function for setting default value for dropdown based on comparing ids of competitors\r\n * @param formControlName for formControlName parameter\r\n * @param selectedOption for dropdown option values\r\n */\r\n compareCompetitors(formControlName: CompetitorSimple, selectedOption: CompetitorSimple): boolean {\r\n return formControlName && selectedOption && formControlName.id === selectedOption.id;\r\n }\r\n\r\n /**\r\n * function for setting default value for dropdown based on comparing numbers of crews\r\n * @param formControlName for formControlName parameter\r\n * @param selectedOption for dropdown option values\r\n */\r\n compareCrews(formControlName: CrewSample, selectedOption: CrewSample): boolean {\r\n return formControlName && selectedOption && formControlName.number === selectedOption.number;\r\n }\r\n\r\n /**\r\n * function for auto-filling driver and navigator dropdown according to crew\r\n * @param crew for evaluation of selected crew\r\n */\r\n selectDriverAndNavigatorAccordingToCrew(crew: CrewSample): void {\r\n if (crew) {\r\n this.additionalCompetitors = crew.additionalCompetitors;\r\n this.additionalCompetitors.push(crew.driver);\r\n this.additionalCompetitors.push(crew.navigator);\r\n this.raceSignInForm.patchValue({\r\n driver: crew.driver,\r\n navigator: crew.navigator\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * function for removing desired competitor from additional competitors list\r\n * @param competitor for evaluation of competitor to delete\r\n */\r\n deleteAdditionalCompetitor(competitor: CompetitorSimple): void {\r\n this.additionalCompetitors.push(competitor);\r\n this.addedCompetitors.splice(this.addedCompetitors.indexOf(competitor), 1);\r\n }\r\n\r\n /**\r\n * function for disabling add additional competitor, if additional competitor\r\n * dropdown is empty\r\n */\r\n additionalCompetitorFieldIsEmpty(): boolean {\r\n return this.raceSignInForm.get('additionalCompetitor').value === null || this.raceSignInForm.get('additionalCompetitor').value === '';\r\n }\r\n\r\n /**\r\n * function for evaluation of available competitors based on additional competitors\r\n */\r\n processAvailableCompetitors(): void {\r\n const additionalCompetitor = this.raceSignInForm.get('additionalCompetitor').value as CompetitorSimple;\r\n this.addedCompetitors.push(additionalCompetitor);\r\n this.additionalCompetitors.splice(this.additionalCompetitors.indexOf(additionalCompetitor), 1);\r\n this.raceSignInForm.patchValue({additionalCompetitor: null});\r\n }\r\n\r\n /**\r\n * function for re-filtering all dropdowns after new input is emitted\r\n * @param data for input data provided to dialog from start\r\n */\r\n refilterDropdowns(): void {\r\n const driver = this.raceSignInForm.get('driver').value as CompetitorSimple;\r\n const navigator = this.raceSignInForm.get('navigator').value as CompetitorSimple;\r\n this.drivers = this.allCompetitors.filter((item: CompetitorSimple) => item.id !== navigator.id &&\r\n this.addedCompetitors.filter((competitor: CompetitorSimple) => item.id === competitor.id).length === 0);\r\n this.navigators = this.allCompetitors.filter((item: CompetitorSimple) => item.id !== driver.id &&\r\n this.addedCompetitors.filter((competitor: CompetitorSimple) => item.id === competitor.id).length === 0);\r\n this.additionalCompetitors = this.allCompetitors.filter(\r\n (item: CompetitorSimple) => item.id !== driver.id && item.id !== navigator.id);\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of registration to competition\r\n * @param fieldControl with information about desired field (crew, driver, navigator)\r\n */\r\n getErrorMessage(fieldControl: AbstractControl): string {\r\n return this.httpHandlingService.handleUserErrorOutputAbstract(fieldControl);\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of registration to competition\r\n * special function only for datepicker range input\r\n */\r\n getErrorMessageRangeDatePicker(): string {\r\n if (this.raceSignInForm.get('accommodationFrom').invalid) {\r\n return this.httpHandlingService.handleUserErrorOutputAbstract(this.raceSignInForm.get('accommodationFrom'));\r\n } else if (this.raceSignInForm.get('accommodationTo').invalid) {\r\n return this.httpHandlingService.handleUserErrorOutputAbstract(this.raceSignInForm.get('accommodationTo'));\r\n }\r\n }\r\n\r\n /**\r\n * function for handling HTTP errors in the process of crew registration to competition\r\n */\r\n handleCreateErrors(error: HttpErrorResponse): void {\r\n if (error.status === 0) {\r\n this.serverIsDown = true;\r\n } else if (error.error.errorKey) {\r\n switch (error.error.errorKey) {\r\n case 'notregisteredinactiveseason': this.notRegisteredInSeason = true; break;\r\n case 'alreadyincompetition': this.alreadyInCompetition = true; this.errorMessage = JSON.parse(error.error.title).error; break;\r\n default: this.serverIsDown = true; break;\r\n }\r\n }\r\n }\r\n}\r\n","

{{'Sign in' | translate}}

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

{{competition.competitionName}} ({{competitionStart | date:'d.M'}} - {{competitionEnd | date:'d.M.yyyy'}})

\r\n
\r\n \r\n {{'Crew number' | translate}}\r\n \r\n \r\n {{crew.number}}\r\n \r\n \r\n {{getErrorMessage(this.raceSignInForm.get('crew')) | translate}}\r\n \r\n

\r\n \r\n {{'Driver' | translate}}\r\n \r\n {{'Select driver' | translate}} \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n {{getErrorMessage(this.raceSignInForm.get('driver')) | translate}}\r\n \r\n \r\n {{'Navigator' | translate}}\r\n \r\n {{'Select navigator' | translate}} \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n {{getErrorMessage(this.raceSignInForm.get('navigator')) | translate}}\r\n \r\n

\r\n

\r\n \r\n {{'Accommodation' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{getErrorMessageRangeDatePicker() | translate}}\r\n \r\n \r\n {{'Note for organizer' | translate}}\r\n \r\n \r\n

\r\n

\r\n \r\n {{'Additional competitor' | translate}}\r\n \r\n \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n{{errorMessage | translate}}\r\n{{'This crew is not registered in the season' | translate}}\r\n{{'Server problem, contact an administrator' | translate}}\r\n\r\n \r\n \r\n\r\n","import { Component, EventEmitter, inject, OnDestroy, OnInit, Output, viewChild, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Subscription } from 'rxjs';\r\nimport { CompetitionRegistrationComponent } from './competition-details/competition-registration/components/competition-registration.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CecBreakpointPipe } from 'src/app/controls/pipes/cec-breakpoint.pipe';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { NavigationService } from '../services/navigation-bar.service';\r\nimport { MenuItem } from 'src/app/controls/models/menu-item.interface';\r\nimport { NavigationItem } from 'src/app/controls/models/navigation-item.interface';\r\nimport { AnnualRegistrationComponent } from '../../annual-registration/components/dialog/annual-registration.component';\r\n\r\n@Component({\r\n selector: 'app-races',\r\n templateUrl: './competitions.component.html',\r\n styleUrls: ['./competitions.component.scss'],\r\n standalone: true,\r\n imports: [\r\n CompetitionRegistrationComponent,\r\n AnnualRegistrationComponent,\r\n TranslateModule, \r\n CecBreakpointPipe, \r\n AsyncPipe,\r\n MatIconModule,\r\n MatMenuModule,\r\n FormsModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatButtonModule,\r\n MatListModule\r\n ],\r\n providers: [NavigationService, CecBreakpointPipe]\r\n})\r\nexport class CompetitionsComponent implements OnInit, OnDestroy {\r\n\r\n /** Annual registration dialog reference */\r\n private annualDialog = viewChild.required(AnnualRegistrationComponent);\r\n\r\n /** Competition registration dialog reference */\r\n private competitionDialog = viewChild.required(CompetitionRegistrationComponent);\r\n\r\n /** Router reference */\r\n private router = inject(Router);\r\n\r\n /** Activated route reference */\r\n private route = inject(ActivatedRoute);\r\n\r\n /** Navigation service reference */\r\n private service = inject(NavigationService);\r\n\r\n /** Breakpoint pipe reference */\r\n private breakpointPipe = inject(CecBreakpointPipe);\r\n\r\n /** Subscription for unsubscribing reference */\r\n private sub = new Subscription();\r\n\r\n /** Navigation item reference */\r\n protected navigation: NavigationItem | undefined = undefined;\r\n\r\n /** Root navigation items reference */\r\n protected rootItems: MenuItem[] | undefined = [];\r\n\r\n /** Close side nav emitter */\r\n @Output() onCloseSideNav = new EventEmitter();\r\n\r\n constructor(public dialog: MatDialog) {}\r\n\r\n ngOnInit(): void {\r\n /** if window size changes to normal size, hide side navigation menu */\r\n this.sub = this.breakpointPipe\r\n .transform(['xs', 'sm', 'md'])\r\n .subscribe((result) => {\r\n if (!result) {\r\n this.onCloseSideNav.emit();\r\n }\r\n });\r\n\r\n /** loads data with whole navigation item */\r\n this.loadData(true);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n /** unsubscribes from observables */\r\n this.sub.unsubscribe();\r\n }\r\n\r\n /**\r\n * Loads the navigation item and root items\r\n * @param loadAll to decide, whether to load whole navigation item or not\r\n */\r\n protected loadData(loadAll = false): void {\r\n this.sub.add(this.service.getCompetitions().subscribe((data: NavigationItem) => {\r\n /** if true, load whole navigation item (during initialization) */\r\n if (loadAll) {\r\n this.navigation = data;\r\n }\r\n\r\n /** load root items */\r\n this.rootItems = data.items;\r\n }));\r\n }\r\n\r\n /**\r\n * Executes desired logic after clicking on item\r\n * @param item the selected item\r\n * @param rootItem the selected root item\r\n */\r\n protected onClickItem(item: MenuItem, rootItem: MenuItem): void {\r\n /** closes the side navigation if opened */\r\n this.onCloseSideNav.emit();\r\n\r\n /** if url parameter is present, navigates to desired url */\r\n if (item.url) {\r\n this.router.navigate([item.url], { relativeTo: this.route });\r\n }\r\n\r\n switch (item.id) {\r\n case 'sign-in': \r\n /** opens the competition registration dialog */ \r\n this.competitionDialog().show(rootItem.id as unknown as number, false, item.properties as number);\r\n break;\r\n case 'sign-in-annual':\r\n /** opens the annual registration dialog */\r\n this.annualDialog().show();\r\n break;\r\n }\r\n }\r\n}\r\n","@if (navigation) {\r\n @if (!(['xs', 'sm', 'md'] | breakpoint | async)) {\r\n \r\n \r\n @for (rootItem of rootItems; track rootItem; let last = $last) {\r\n \r\n \r\n }\r\n \r\n \r\n @if (!last) {\r\n \r\n }\r\n }\r\n \r\n } @else {\r\n \r\n \r\n
\r\n directions_car\r\n {{ navigation.labelKey | translate }}\r\n
\r\n
\r\n @for (rootItem of rootItems; track rootItem; let last = $last) {\r\n @if (rootItem?.items?.length) {\r\n \r\n \r\n dialpad\r\n {{ rootItem.labelKey | translate }}\r\n \r\n @for (item of rootItem.items; track item) {\r\n \r\n
\r\n {{ item.icon }}\r\n {{ item.labelKey | translate }}\r\n
\r\n
\r\n }\r\n
\r\n } @else {\r\n \r\n
\r\n {{ rootItem.icon }}\r\n {{ rootItem.labelKey | translate }} {{ rootItem.properties ?? ''}}\r\n
\r\n
\r\n }\r\n }\r\n
\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {LanguageSwitcherService} from './services/language-switcher.service';\r\n\r\n@Component({\r\n selector: 'app-language-switcher',\r\n templateUrl: './language-switcher.component.html',\r\n styleUrls: ['./language-switcher.component.scss']\r\n})\r\nexport class LanguageSwitcherComponent implements OnInit {\r\n\r\n constructor(public languageSwitcherService: LanguageSwitcherService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","@if (!(['xs', 'sm', 'md'] | breakpoint | async)) {\r\n \r\n \r\n \r\n \"image\"\r\n {{languageSwitcherService.selectedLanguage}}\r\n \r\n \r\n \"image\"\r\n EN\r\n \r\n \r\n \"image\"\r\n CZ\r\n \r\n \r\n \"image\"\r\n HU\r\n \r\n \r\n \"image\"\r\n PL\r\n \r\n \r\n \"image\"\r\n RO\r\n \r\n \r\n \"image\"\r\n SK\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n} @else {\r\n \r\n \r\n
\r\n \"image\"\r\n {{ languageSwitcherService.selectedLanguage }}\r\n
\r\n
\r\n \r\n
\r\n \"image\"\r\n EN\r\n
\r\n
\r\n \r\n
\r\n \"image\"\r\n CZ\r\n
\r\n
\r\n \r\n
\r\n \"image\"\r\n HU\r\n
\r\n
\r\n \r\n
\r\n \"image\"\r\n PL\r\n
\r\n
\r\n \r\n
\r\n \"image\"\r\n RO\r\n
\r\n
\r\n \r\n
\r\n \"image\"\r\n SK\r\n
\r\n
\r\n
\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {Language} from '../types/language-switcher.types';\r\nimport {environment} from '../../../../../../environments/environment';\r\nimport {LocalStorageService} from '../../../../../api/services/localStorage';\r\nimport {LoggedUser} from '../../../../types/loggedUser';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LanguageSwitcherService {\r\n\r\n loggedUser = new LoggedUser();\r\n\r\n public selectedLanguage: string;\r\n constructor(\r\n private translate: TranslateService,\r\n private localStorage: LocalStorageService\r\n ) {\r\n this.init();\r\n }\r\n private init(): void {\r\n if (this.localStorage.get('loggedUser') !== null) {\r\n this.loggedUser = this.localStorage.get('loggedUser') as LoggedUser;\r\n this.translate.use(this.loggedUser.language);\r\n this.selectedLanguage = this.loggedUser.language.toString().toUpperCase();\r\n } else {\r\n this.selectedLanguage = 'EN';\r\n }\r\n this.translate.addLangs(environment.translations.locales);\r\n this.translate.setDefaultLang(environment.translations.defaultLocale);\r\n }\r\n public changeLanguage(lang: MouseEvent): void {\r\n const example = lang.target as HTMLElement;\r\n switch (example.textContent) {\r\n case 'EN': this.translate.use(Language.EN); this.selectedLanguage = 'EN'; this.changeLanguageIfUserIsLogged(Language.EN); break;\r\n case 'CZ': this.translate.use(Language.CZ); this.selectedLanguage = 'CZ'; this.changeLanguageIfUserIsLogged(Language.CZ); break;\r\n case 'HU': this.translate.use(Language.HU); this.selectedLanguage = 'HU'; this.changeLanguageIfUserIsLogged(Language.HU); break;\r\n case 'PL': this.translate.use(Language.PL); this.selectedLanguage = 'PL'; this.changeLanguageIfUserIsLogged(Language.PL); break;\r\n case 'RO': this.translate.use(Language.RO); this.selectedLanguage = 'RO'; this.changeLanguageIfUserIsLogged(Language.RO); break;\r\n case 'SK': this.translate.use(Language.SK); this.selectedLanguage = 'SK'; this.changeLanguageIfUserIsLogged(Language.SK); break;\r\n default: this.translate.use(Language.EN); this.selectedLanguage = 'EN'; this.changeLanguageIfUserIsLogged(Language.EN); break;\r\n }\r\n }\r\n\r\n public changeStringLanguage(lang: string): void {\r\n switch (lang) {\r\n case 'EN': this.translate.use(Language.EN); this.selectedLanguage = 'EN'; this.changeLanguageIfUserIsLogged(Language.EN); break;\r\n case 'CZ': this.translate.use(Language.CZ); this.selectedLanguage = 'CZ'; this.changeLanguageIfUserIsLogged(Language.CZ); break;\r\n case 'HU': this.translate.use(Language.HU); this.selectedLanguage = 'HU'; this.changeLanguageIfUserIsLogged(Language.HU); break;\r\n case 'PL': this.translate.use(Language.PL); this.selectedLanguage = 'PL'; this.changeLanguageIfUserIsLogged(Language.PL); break;\r\n case 'RO': this.translate.use(Language.RO); this.selectedLanguage = 'RO'; this.changeLanguageIfUserIsLogged(Language.RO); break;\r\n case 'SK': this.translate.use(Language.SK); this.selectedLanguage = 'SK'; this.changeLanguageIfUserIsLogged(Language.SK); break;\r\n default: this.translate.use(Language.EN); this.selectedLanguage = 'EN'; this.changeLanguageIfUserIsLogged(Language.EN); break;\r\n }\r\n }\r\n \r\n changeLanguageIfUserIsLogged(language: Language): void {\r\n if (this.localStorage.get('loggedUser') !== null) {\r\n const user = this.localStorage.get('loggedUser') as LoggedUser;\r\n user.language = language;\r\n this.localStorage.set('loggedUser', user);\r\n }\r\n }\r\n}\r\n","export enum Language {\r\n EN = 'en',\r\n CZ = 'cz',\r\n SK = 'sk',\r\n PL = 'pl',\r\n HU = 'hu',\r\n RO = 'ro'\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { HttpHandlingService } from 'src/app/api/services/http-handling.service';\r\nimport { SERVER_API_URL } from 'src/app/common/types/app.constants';\r\n\r\n@Component({\r\n selector: 'app-forgot-password-dialog',\r\n templateUrl: './forgot-password-dialog.component.html'\r\n})\r\nexport class ForgotPasswordDialogComponent implements OnInit {\r\n\r\n form: UntypedFormGroup;\r\n hide: boolean | null = true;\r\n serverIsDown: boolean = false;\r\n\r\n constructor(builder: UntypedFormBuilder, public dialogRef: MatDialogRef, private httpHandlingService: HttpHandlingService, private http: HttpClient) {\r\n this.form = builder.group({\r\n login: [null, Validators.required],\r\n password: [null, [Validators.minLength(6), Validators.maxLength(24), Validators.required]],\r\n newPassword: [null, [Validators.minLength(6), Validators.maxLength(24), Validators.required, this.passwordMatcher.bind(this)]],\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n // confirm new password validator\r\n private passwordMatcher(group: UntypedFormGroup): { [s: string]: boolean } {\r\n console.log(group);\r\n if (\r\n group.get('password')?.value &&\r\n (group.get('password')?.value !== group.get('newPassword')?.value)\r\n ) {\r\n return { passwordNotMatch: true };\r\n }\r\n return null;\r\n }\r\n\r\n changePassword(): void {\r\n const changePassword = {...this.form.value, ['password']: undefined};\r\n const getCrewsByCompetitorURL = SERVER_API_URL + '/api/users/change-password-by-login';\r\n this.http.post(getCrewsByCompetitorURL, changePassword).subscribe();\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of logging in\r\n * @param fieldControl with information about desired field (login, password)\r\n */\r\n getErrorMessage(fieldControl: UntypedFormControl): string {\r\n return this.httpHandlingService.handleUserErrorOutput(fieldControl);\r\n }\r\n\r\n}\r\n","

{{'Forgot password' | translate}}

\r\n\r\n
\r\n \r\n {{'Enter your login' | translate}}\r\n \r\n {{getErrorMessage(form.get('login')) | translate}}\r\n \r\n

\r\n \r\n {{'Enter your password' | translate}}\r\n \r\n \r\n {{getErrorMessage(form.get('password')) | translate}}\r\n \r\n

\r\n

\r\n \r\n {{'Enter your password' | translate}}\r\n \r\n \r\n {{getErrorMessage(form.get('newPassword')) | translate}}\r\n \r\n

\r\n {{'Server problem, contact an administrator' | translate}}\r\n
\r\n
\r\n\r\n \r\n \r\n","import {AfterViewChecked, ChangeDetectorRef, Component, ViewContainerRef} from '@angular/core';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {Login} from '../../../types/login';\r\nimport {LoggedUser} from '../../../types/loggedUser';\r\nimport {LocalStorageService} from '../../../../api/services/localStorage';\r\nimport {User} from '../../../types/user';\r\nimport {LoggedCompetitor} from '../../../types/loggedCompetitor';\r\nimport {Competitor} from '../../../types/competitor';\r\nimport {HttpHandlingService} from '../../../../api/services/http-handling.service';\r\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\r\nimport {UntypedFormControl, Validators} from '@angular/forms';\r\nimport {CrewSample} from '../../../types/crew';\r\nimport {SERVER_API_URL} from '../../../types/app.constants';\r\nimport { ForgotPasswordDialogComponent } from './forgot-password-dialog/forgot-password-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-login-dialog',\r\n templateUrl: './login-dialog.component.html'\r\n})\r\nexport class LoginDialogComponent implements AfterViewChecked{\r\n\r\n hide = true;\r\n login = '';\r\n password = '';\r\n rememberMe = false;\r\n\r\n loginFieldControl = new UntypedFormControl('', Validators.required);\r\n passwordFieldControl = new UntypedFormControl('', Validators.required);\r\n\r\n serverIsDown = false;\r\n\r\n constructor(private http: HttpClient, private localStorage: LocalStorageService, private httpHandlingService: HttpHandlingService,\r\n public dialogRef: MatDialogRef, private cdr: ChangeDetectorRef, public dialog: MatDialog, private viewContainerRef: ViewContainerRef) {}\r\n\r\n ngAfterViewChecked(): void {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n /**\r\n * function for authenticate user with database and starter for login process\r\n */\r\n onLoginUser(): void {\r\n const authenticateURL = SERVER_API_URL + '/api/authenticate';\r\n const login = new Login(this.login, this.password, this.rememberMe);\r\n this.http.post(authenticateURL, login, {headers: this.httpHandlingService.simpleHeader()}).subscribe(data => {\r\n const token = data.id_token;\r\n let headers = new HttpHeaders({'Content-Type': 'application/json'});\r\n headers = headers.append('Authorization', 'Bearer ' + token);\r\n this.getUserAndInsertDataToLocalStorage(headers, token);\r\n }, (error: HttpErrorResponse) => { this.handleLoginHttpErrors(error.status); });\r\n }\r\n\r\n /**\r\n * function for receiving user object from database and saving it into local storage\r\n * @param authorizationHeaders which contains information about authorization header\r\n * @param token received by backend as a JWT token\r\n */\r\n getUserAndInsertDataToLocalStorage(authorizationHeaders: HttpHeaders, token: string): void {\r\n const usersURL = SERVER_API_URL + '/api/users/' + this.login;\r\n this.http.get(usersURL, {headers: authorizationHeaders}).subscribe((user: User) => {\r\n const loggedUser = new LoggedUser(user.id, this.login,\r\n token, user.langKey, this.addDayToCurrentDate(14), user.authorities);\r\n this.localStorage.set('loggedUser', loggedUser);\r\n this.getCompetitorAndInsertDataToLocalStorage(authorizationHeaders, loggedUser.id, user);\r\n });\r\n }\r\n\r\n /**\r\n * function for receiving competitor object from database and saving it into local storage\r\n * @param authorizationHeaders which contains information about authorization header\r\n * @param loggedUserId with information about current logged user, to retrieve competitor from database\r\n * @param userFromServer with information about user received from database\r\n */\r\n getCompetitorAndInsertDataToLocalStorage(authorizationHeaders: HttpHeaders, loggedUserId: number, userFromServer: User): void {\r\n const competitorURL = SERVER_API_URL + '/api/competitors/user/' + loggedUserId;\r\n this.http.get(competitorURL, {headers: authorizationHeaders}).subscribe((competitor: Competitor) => {\r\n if (competitor !== null) {\r\n const loggedCompetitor = new LoggedCompetitor(competitor.id, competitor.firstName, competitor.lastName,\r\n competitor.role, competitor.userId);\r\n this.localStorage.set('loggedCompetitor', loggedCompetitor);\r\n\r\n this.getCrewsByCompetitor(authorizationHeaders, loggedCompetitor);\r\n }\r\n },\r\n (error: HttpErrorResponse) => this.handleLoginHttpErrors(error.status));\r\n }\r\n\r\n /**\r\n * function for receiving crews related to competitor from database and saving it into local storage\r\n * @param authorizationHeaders which contains information about authorization header\r\n * @param loggedCompetitor with information about current logged competitor and related crews\r\n */\r\n getCrewsByCompetitor(authorizationHeaders: HttpHeaders, loggedCompetitor: LoggedCompetitor): void {\r\n const getCrewsByCompetitorURL = SERVER_API_URL + '/api/crews-active/' + loggedCompetitor.id;\r\n this.http.get(getCrewsByCompetitorURL,\r\n {headers: authorizationHeaders}).subscribe((crews: CrewSample[]) => {\r\n this.localStorage.set('loggedCompetitorCrews', crews);\r\n },\r\n (error: HttpErrorResponse) => { this.handleLoginHttpErrors(error.status); },\r\n () => { this.dialogRef.close(); window.location.reload(); });\r\n }\r\n\r\n /**\r\n * function for evaluating, if all necessary fields are filled\r\n * this function disables button, if all data are not provided\r\n */\r\n allFieldsAreFilled(): boolean {\r\n return !(this.login !== '' && this.password !== '');\r\n }\r\n\r\n /**\r\n * function for setting 14 days of token expiration\r\n * @param days which provide length of token expiration in days\r\n */\r\n addDayToCurrentDate(days): Date {\r\n const currentDate = new Date();\r\n return new Date(currentDate.setDate(currentDate.getDate() + days));\r\n }\r\n\r\n /**\r\n * function for handling HTTP errors in the process of logging in\r\n */\r\n handleLoginHttpErrors(status: number): void {\r\n switch (status) {\r\n case 0: this.serverIsDown = true; break;\r\n case 404: this.dialogRef.close(); window.location.reload(); break; // if competitor card is not created\r\n default: {\r\n this.loginFieldControl.setErrors({unauthorized: true});\r\n this.passwordFieldControl.setErrors({unauthorized: true});\r\n this.serverIsDown = false;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of logging in\r\n * @param fieldControl with information about desired field (login, password)\r\n */\r\n getErrorMessage(fieldControl: UntypedFormControl): string {\r\n return this.httpHandlingService.handleUserErrorOutput(fieldControl);\r\n }\r\n\r\n /**\r\n * function for checking, if user is manipulating with one of the inputs\r\n */\r\n onInputChangeCheck(): void {\r\n this.loginFieldControl.setErrors(null);\r\n this.passwordFieldControl.setErrors(null);\r\n }\r\n\r\n forgotPassword(): void {\r\n this.dialogRef.close();\r\n this.dialog.open(ForgotPasswordDialogComponent);\r\n }\r\n}\r\n","

{{'Login' | translate}}

\r\n\r\n \r\n {{'Enter your login' | translate}}\r\n \r\n {{getErrorMessage(loginFieldControl) | translate}}\r\n \r\n

\r\n \r\n {{'Enter your password' | translate}}\r\n \r\n \r\n {{getErrorMessage(passwordFieldControl) | translate}}\r\n \r\n

\r\n

\r\n {{'Remember me' | translate}}\r\n

\r\n

\r\n \r\n

\r\n {{'Server problem, contact an administrator' | translate}}\r\n
\r\n\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {MatDialog} from '@angular/material/dialog';\r\nimport {RegistrationDialogComponent} from './registration-dialog/registration-dialog.component';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {LoginDialogComponent} from './login-dialog/login-dialog.component';\r\nimport {LocalStorageService} from '../../../api/services/localStorage';\r\nimport {LoggedUser} from '../../types/loggedUser';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-navigation-bar',\r\n templateUrl: './navigation-bar.component.html',\r\n styleUrls: ['./navigation-bar.component.scss'],\r\n})\r\nexport class NavigationBarComponent implements OnInit {\r\n\r\n loggedUser = new LoggedUser();\r\n loggedIn = false;\r\n\r\n protected opened = false;\r\n\r\n constructor(public dialog: MatDialog, private router: Router, private http: HttpClient, private localStorage: LocalStorageService) { }\r\n\r\n ngOnInit(): void {\r\n if (this.localStorage.get('loggedUser') !== null) {\r\n this.loggedUser = this.localStorage.get('loggedUser') as LoggedUser;\r\n this.loggedIn = true;\r\n }\r\n this.router.routeReuseStrategy.shouldReuseRoute = function() {\r\n return false;\r\n };\r\n }\r\n\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(RegistrationDialogComponent);\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n });\r\n }\r\n\r\n openLoginDialog(): void {\r\n const dialogRef = this.dialog.open(LoginDialogComponent);\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n });\r\n }\r\n\r\n onGoHome(): void {\r\n this.opened = false;\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n onLogout(): void {\r\n this.localStorage.remove('loggedUser');\r\n window.location.reload();\r\n }\r\n\r\n handleSideNav(): void {\r\n this.opened = !this.opened;\r\n }\r\n\r\n closeSideNav(): void {\r\n this.opened = false;\r\n }\r\n}\r\n","@if (!opened) {\r\n \r\n @if (!(['xs', 'sm', 'md'] | breakpoint | async)) {\r\n \r\n
\r\n \r\n \r\n \r\n @if (!loggedIn) {\r\n \r\n \r\n } @else {\r\n \r\n }\r\n @if (!(['xs', 'sm', 'md'] | breakpoint | async)) {\r\n \r\n }\r\n
\r\n } @else {\r\n \r\n @if (!loggedIn) {\r\n \r\n } @else {\r\n \r\n }\r\n }\r\n
\r\n}\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n home \r\n {{'Home' | translate}}\r\n
\r\n
\r\n \r\n \r\n \r\n @if (loggedIn) {\r\n \r\n } @else {\r\n \r\n
\r\n login \r\n {{'Login' | translate}}\r\n
\r\n
\r\n \r\n
\r\n person_add \r\n {{'Registration' | translate}}\r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {LocalStorageService} from '../../../../../api/services/localStorage';\r\nimport {LoggedUser} from '../../../../types/loggedUser';\r\nimport {Country} from '../../registration-dialog/types/country.types';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {User} from '../../../../types/user';\r\nimport {Competitor, Role} from '../../../../types/competitor';\r\nimport {Language} from '../../language-switcher/types/language-switcher.types';\r\nimport {LoggedCompetitor} from '../../../../types/loggedCompetitor';\r\nimport {UntypedFormControl, Validators} from '@angular/forms';\r\nimport {HttpHandlingService} from '../../../../../api/services/http-handling.service';\r\nimport {MatDialogRef} from '@angular/material/dialog';\r\nimport {CountryService} from '../../../../../api/services/country.service';\r\nimport {SERVER_API_URL} from '../../../../types/app.constants';\r\n\r\n@Component({\r\n selector: 'app-add-competitor-card',\r\n templateUrl: './add-competitor-card.component.html',\r\n styleUrls: ['./add-competitor-card.component.css']\r\n})\r\nexport class AddCompetitorCardComponent implements OnInit {\r\n\r\n firstName: string;\r\n lastName: string;\r\n selectedCountry: string;\r\n idNumber: string;\r\n dateOfBirth: Date;\r\n address: string;\r\n phone: string;\r\n\r\n country = Country;\r\n countries = [];\r\n\r\n countryFieldControl = new UntypedFormControl('', Validators.required);\r\n firstNameFieldControl = new UntypedFormControl('', Validators.required);\r\n lastNameFieldControl = new UntypedFormControl('', Validators.required);\r\n idNumberFieldControl = new UntypedFormControl('', Validators.required);\r\n dateOfBirthFieldControl = new UntypedFormControl('', Validators.required);\r\n addressFieldControl = new UntypedFormControl('', Validators.required);\r\n phoneFieldControl = new UntypedFormControl('', Validators.required);\r\n\r\n serverIsDown = false;\r\n\r\n constructor(private http: HttpClient, private localStorage: LocalStorageService, private httpHandlingService: HttpHandlingService,\r\n public dialogRef: MatDialogRef, private countryService: CountryService) {}\r\n\r\n ngOnInit(): void {\r\n this.countries = Object.values(this.country);\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of updating competitor card\r\n * @param fieldControl with information about desired field (firstName, lastName, ...)\r\n */\r\n getErrorMessage(fieldControl: UntypedFormControl): string {\r\n return this.httpHandlingService.handleUserErrorOutput(fieldControl);\r\n }\r\n\r\n /**\r\n * function for creating the competitor with provided data\r\n */\r\n onSaveCompetitorCard(): void {\r\n const createCompetitorURL = SERVER_API_URL + '/api/competitors';\r\n if (this.localStorage.get('loggedUser') !== null) {\r\n const loggedUser = this.localStorage.get('loggedUser') as LoggedUser;\r\n const competitor = new Competitor(null, this.countryService.transformCountryToCountryCode(this.selectedCountry), this.firstName,\r\n this.lastName, this.idNumber, this.dateOfBirth, this.address, this.phone, Role.USER, loggedUser.id);\r\n this.http.post(createCompetitorURL, competitor,\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe(result => {\r\n const competitorFromServer = result as Competitor;\r\n const loggedCompetitor = new LoggedCompetitor(competitorFromServer.id, competitorFromServer.firstName,\r\n competitorFromServer.lastName, competitorFromServer.role, competitorFromServer.userId);\r\n this.localStorage.set('loggedCompetitor', loggedCompetitor);\r\n loggedUser.language = this.getLanguageFromCountry(this.selectedCountry);\r\n this.localStorage.set('loggedUser', loggedUser);\r\n }, (error: HttpErrorResponse) => this.handleCreateErrors(error),\r\n () => { this.dialogRef.close(); window.location.reload(); });\r\n }\r\n }\r\n\r\n getLanguageFromCountry(country: string): Language {\r\n switch (country) {\r\n case 'Slovakia': return Language.SK;\r\n case 'Czech Republic': return Language.CZ;\r\n case 'Poland': return Language.PL;\r\n case 'Hungary': return Language.HU;\r\n case 'Romania': return Language.RO;\r\n default: return Language.EN;\r\n }\r\n }\r\n\r\n /**\r\n * function for evaluating, if all necessary fields are filled\r\n * this function disables button, if all data are not provided\r\n */\r\n allFieldsAreFilled(): boolean {\r\n return !(this.countryFieldControl.valid && this.firstNameFieldControl.valid && this.lastNameFieldControl.valid &&\r\n this.idNumberFieldControl.valid && this.dateOfBirthFieldControl.valid && this.addressFieldControl.valid &&\r\n this.phoneFieldControl.valid);\r\n }\r\n\r\n /**\r\n * function for handling HTTP errors in the process of newly added competitor card\r\n */\r\n handleCreateErrors(error: HttpErrorResponse): void {\r\n if (error.status === 0) {\r\n this.serverIsDown = true;\r\n }\r\n }\r\n}\r\n","

{{'Registration' | translate}}

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

{{\"Competitor's card\" | translate}}

\r\n \r\n {{'Country' | translate}}\r\n \r\n \r\n {{country | translate}}\r\n \r\n \r\n {{getErrorMessage(countryFieldControl) | translate}}\r\n \r\n

\r\n \r\n {{'Enter your first name' | translate}}\r\n \r\n {{getErrorMessage(firstNameFieldControl) | translate}}\r\n \r\n \r\n {{'Enter your last name' | translate}}\r\n \r\n {{getErrorMessage(lastNameFieldControl) | translate}}\r\n \r\n

\r\n

\r\n \r\n {{'Enter ID card number' | translate}}\r\n \r\n {{getErrorMessage(idNumberFieldControl) | translate}}\r\n \r\n \r\n {{'Enter your date of birth' | translate}}\r\n \r\n {{getErrorMessage(dateOfBirthFieldControl) | translate}}\r\n \r\n \r\n \r\n

\r\n

\r\n \r\n {{'Enter your address' | translate}}\r\n \r\n {{getErrorMessage(addressFieldControl) | translate}}\r\n \r\n \r\n {{'Enter your phone number' | translate}}\r\n \r\n {{getErrorMessage(phoneFieldControl) | translate}}\r\n \r\n

\r\n
\r\n {{'Server problem, contact an administrator' | translate}}\r\n
\r\n\r\n \r\n \r\n\r\n","import {Component, Inject, OnInit} from '@angular/core';\r\nimport {Competitor, CompetitorSimple} from '../../../../types/competitor';\r\nimport {LoggedUser} from '../../../../types/loggedUser';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {LocalStorageService} from '../../../../../api/services/localStorage';\r\nimport {Crew, CrewSample} from '../../../../types/crew';\r\nimport {HttpHandlingService} from '../../../../../api/services/http-handling.service';\r\nimport {UntypedFormControl, Validators} from '@angular/forms';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\r\nimport {AddCrewResponseEntity} from '../../../../types/addCrewResponseEntity';\r\nimport {LoggedCompetitor} from '../../../../types/loggedCompetitor';\r\nimport {SERVER_API_URL} from '../../../../types/app.constants';\r\n\r\n@Component({\r\n selector: 'app-add-crew-card',\r\n templateUrl: './add-crew-card.component.html',\r\n styleUrls: ['./add-crew-card.component.css']\r\n})\r\nexport class AddCrewCardComponent implements OnInit {\r\n\r\n loggedUser: LoggedUser;\r\n loggedCompetitor: LoggedCompetitor;\r\n\r\n crewNumber: number;\r\n drivers: CompetitorSimple[];\r\n navigators: CompetitorSimple[];\r\n driver: CompetitorSimple;\r\n navigator: CompetitorSimple;\r\n\r\n numbers: number[];\r\n\r\n crewNumberFieldControl = new UntypedFormControl('', Validators.required);\r\n driverFieldControl = new UntypedFormControl('', Validators.required);\r\n navigatorFieldControl = new UntypedFormControl('', Validators.required);\r\n\r\n serverIsDown = false;\r\n\r\n constructor(private http: HttpClient, private localStorage: LocalStorageService, private httpHandlingService: HttpHandlingService,\r\n @Inject(MAT_DIALOG_DATA) public data: AddCrewResponseEntity, public dialogRef: MatDialogRef) {}\r\n\r\n ngOnInit(): void {\r\n this.numbers = Array(99).fill(1).map((x, i) => 900 + i + 1).filter((crewNumber) => !this.data.crewNumbers.includes(crewNumber));\r\n if (this.localStorage.get('loggedUser') !== null) {\r\n this.loggedUser = this.localStorage.get('loggedUser') as LoggedUser;\r\n }\r\n if (this.localStorage.get('loggedCompetitor') !== null) {\r\n this.loggedCompetitor = this.localStorage.get('loggedCompetitor') as LoggedCompetitor;\r\n }\r\n this.drivers = this.data.availableCompetitors;\r\n this.navigators = this.data.availableCompetitors;\r\n }\r\n\r\n /**\r\n * function for filtering drivers after inserted driver\r\n * when user inserts driver, this driver can't be pick as navigator\r\n * @param selectedDriver for evaluation of selected driver\r\n */\r\n processDrivers(selectedDriver: CompetitorSimple): void {\r\n if ((this.driver !== undefined || null) && this.driver !== selectedDriver) {\r\n this.drivers.push(this.driver);\r\n this.navigators.push(this.driver);\r\n } else {\r\n this.driver = selectedDriver;\r\n }\r\n this.navigators = this.navigators.filter((x) => x !== selectedDriver);\r\n }\r\n\r\n /**\r\n * function for filtering navigators after inserted navigator\r\n * when user inserts navigator, this navigator can't be pick as driver\r\n * @param selectedNavigator for evaluation of selected navigator\r\n */\r\n processNavigators(selectedNavigator: CompetitorSimple): void {\r\n if ((this.navigator !== undefined || null) && this.navigator !== selectedNavigator) {\r\n this.navigators.push(this.navigator);\r\n this.drivers.push(this.navigator);\r\n } else {\r\n this.navigator = selectedNavigator;\r\n }\r\n this.drivers = this.drivers.filter((x) => x !== selectedNavigator);\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of updating competitor card\r\n * @param fieldControl with information about desired field (firstName, lastName, ...)\r\n */\r\n getErrorMessage(fieldControl: UntypedFormControl): string {\r\n return this.httpHandlingService.handleUserErrorOutput(fieldControl);\r\n }\r\n\r\n /**\r\n * function for evaluating, if all necessary fields are filled\r\n * this function disables button, if all data are not provided\r\n */\r\n allFieldsAreFilled(): boolean {\r\n return !(this.crewNumberFieldControl.valid && this.driverFieldControl.valid && this.navigatorFieldControl.valid);\r\n }\r\n\r\n /**\r\n * function for creating the crew with provided data\r\n */\r\n onSaveCrew(): void {\r\n const saveCrewURL = SERVER_API_URL + '/api/crewsWithCompetitorIds';\r\n const crew = new Crew(null, this.crewNumber, this.driver.id, this.navigator.id, []);\r\n this.http.post(saveCrewURL, crew,\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe(result => {\r\n this.getCrewsByCompetitor(this.httpHandlingService.authorizationHeaders(), this.loggedCompetitor);\r\n },\r\n (error: HttpErrorResponse) => this.handleCreateErrors(error));\r\n }\r\n\r\n /**\r\n * function for receiving crews related to competitor from database and saving it into local storage\r\n * @param authorizationHeaders which contains information about authorization header\r\n * @param loggedCompetitor with information about current logged competitor and related crews\r\n */\r\n getCrewsByCompetitor(authorizationHeaders: HttpHeaders, loggedCompetitor: LoggedCompetitor): void {\r\n const getCrewsByCompetitorURL = SERVER_API_URL + '/api/crews-active/' + loggedCompetitor.id;\r\n this.http.get(getCrewsByCompetitorURL,\r\n {headers: authorizationHeaders}).subscribe((crews: CrewSample[]) => {\r\n this.localStorage.set('loggedCompetitorCrews', crews);\r\n },\r\n (error: HttpErrorResponse) => { this.handleCreateErrors(error); },\r\n () => { this.dialogRef.close(); window.location.reload(); });\r\n }\r\n\r\n /**\r\n * function for handling HTTP errors in the process of newly added crew\r\n */\r\n handleCreateErrors(error: HttpErrorResponse): void {\r\n if (error.status === 0) {\r\n this.serverIsDown = true;\r\n }\r\n }\r\n}\r\n","

{{'Registration' | translate}}

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

{{'Crew registration' | translate}}

\r\n \r\n {{'Crew number' | translate}}\r\n \r\n \r\n {{number}}\r\n \r\n \r\n {{getErrorMessage(crewNumberFieldControl) | translate}}\r\n \r\n

\r\n \r\n {{'Driver' | translate}}\r\n \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n {{getErrorMessage(driverFieldControl) | translate}}\r\n \r\n \r\n {{'Navigator' | translate}}\r\n \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n {{getErrorMessage(navigatorFieldControl) | translate}}\r\n \r\n

\r\n
\r\n
\r\n{{'Server problem, contact an administrator' | translate}}\r\n\r\n \r\n \r\n\r\n","import {Component, Inject, OnInit} from '@angular/core';\r\nimport {Country} from '../../registration-dialog/types/country.types';\r\nimport {LoggedUser} from '../../../../types/loggedUser';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {LocalStorageService} from '../../../../../api/services/localStorage';\r\nimport {Competitor} from '../../../../types/competitor';\r\nimport {LoggedCompetitor} from '../../../../types/loggedCompetitor';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\r\nimport {CountryService} from '../../../../../api/services/country.service';\r\nimport {HttpHandlingService} from '../../../../../api/services/http-handling.service';\r\nimport {UntypedFormControl, Validators} from '@angular/forms';\r\nimport {SERVER_API_URL} from '../../../../types/app.constants';\r\n\r\n@Component({\r\n selector: 'app-edit-competitor-card',\r\n templateUrl: './edit-competitor-card.component.html',\r\n styleUrls: ['./edit-competitor-card.component.css']\r\n})\r\nexport class EditCompetitorCardComponent implements OnInit {\r\n\r\n competitor: Competitor;\r\n\r\n firstName: string;\r\n lastName: string;\r\n selectedCountry: string;\r\n idNumber: string;\r\n dateOfBirth: Date;\r\n address: string;\r\n phone: string;\r\n\r\n country = Country;\r\n countries: string[];\r\n\r\n firstNameFieldControl = new UntypedFormControl('', Validators.required);\r\n lastNameFieldControl = new UntypedFormControl('', Validators.required);\r\n idNumberFieldControl = new UntypedFormControl('', Validators.required);\r\n dateOfBirthFieldControl = new UntypedFormControl('', Validators.required);\r\n addressFieldControl = new UntypedFormControl('', Validators.required);\r\n phoneFieldControl = new UntypedFormControl('', Validators.required);\r\n\r\n serverIsDown = false;\r\n\r\n constructor(private http: HttpClient, private localStorage: LocalStorageService, @Inject(MAT_DIALOG_DATA) public data: Competitor,\r\n private countryService: CountryService, private httpHandlingService: HttpHandlingService,\r\n public dialogRef: MatDialogRef) {}\r\n\r\n ngOnInit(): void {\r\n this.countries = Object.values(this.country);\r\n this.competitor = this.data;\r\n this.selectedCountry = this.transformCountryCodeCountry(this.competitor.country);\r\n this.firstName = this.competitor.firstName;\r\n this.lastName = this.competitor.lastName;\r\n this.idNumber = this.competitor.idNumber;\r\n this.dateOfBirth = this.competitor.dateOfBirth;\r\n this.address = this.competitor.address;\r\n this.phone = this.competitor.phone;\r\n }\r\n\r\n /**\r\n * function for transforming country code from database to Country\r\n * @param countryCode for evaluating correct Country\r\n */\r\n transformCountryCodeCountry(countryCode: string): Country {\r\n return this.countryService.transformCountryCodeCountry(countryCode);\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of updating competitor card\r\n * @param fieldControl with information about desired field (firstName, lastName, ...)\r\n */\r\n getErrorMessage(fieldControl: UntypedFormControl): string {\r\n return this.httpHandlingService.handleUserErrorOutput(fieldControl);\r\n }\r\n\r\n /**\r\n * function for updating the competitor with provided data\r\n */\r\n onUpdateCompetitorCard(): void {\r\n const editCompetitorURL = SERVER_API_URL + '/api/competitors';\r\n const competitor = new Competitor(this.competitor.id, this.countryService.transformCountryToCountryCode(this.selectedCountry),\r\n this.firstName, this.lastName, this.idNumber, this.dateOfBirth, this.address, this.phone,\r\n this.competitor.role, this.competitor.userId);\r\n this.http.put(editCompetitorURL, competitor,\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe(result => {\r\n const competitorFromServer = result as Competitor;\r\n const loggedCompetitor = new LoggedCompetitor(competitorFromServer.id, this.firstName, this.lastName,\r\n competitorFromServer.role, competitorFromServer.userId);\r\n this.localStorage.set('loggedCompetitor', loggedCompetitor);\r\n },\r\n (error: HttpErrorResponse) => { this.handleUpdateErrors(error); },\r\n () => this.dialogRef.close() );\r\n }\r\n\r\n /**\r\n * function for evaluating, if all necessary fields are filled\r\n * this function disables button, if all data are not provided\r\n */\r\n allFieldsAreFilled(): boolean {\r\n return !(this.firstNameFieldControl.valid && this.lastNameFieldControl.valid &&\r\n this.idNumberFieldControl.valid && this.dateOfBirthFieldControl.valid && this.addressFieldControl.valid &&\r\n this.phoneFieldControl.valid);\r\n }\r\n\r\n /**\r\n * function for handling HTTP errors in the process of updating competitor card\r\n */\r\n handleUpdateErrors(error: HttpErrorResponse): void {\r\n if (error.status === 0) {\r\n this.serverIsDown = true;\r\n }\r\n }\r\n}\r\n","

{{'Competitor settings' | translate}}

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

{{\"Competitor's card\" | translate}}

\r\n \r\n {{'Country' | translate}}\r\n \r\n \r\n {{country | translate}}\r\n \r\n \r\n \r\n

\r\n \r\n {{'Enter your first name' | translate}}\r\n \r\n {{getErrorMessage(firstNameFieldControl) | translate}}\r\n \r\n \r\n {{'Enter your last name' | translate}}\r\n \r\n {{getErrorMessage(lastNameFieldControl) | translate}}\r\n \r\n

\r\n

\r\n \r\n {{'Enter ID card number' | translate}}\r\n \r\n {{getErrorMessage(idNumberFieldControl) | translate}}\r\n \r\n \r\n {{'Enter your date of birth' | translate}}\r\n \r\n {{getErrorMessage(dateOfBirthFieldControl) | translate}}\r\n \r\n \r\n \r\n

\r\n

\r\n \r\n {{'Enter your address' | translate}}\r\n \r\n {{getErrorMessage(addressFieldControl) | translate}}\r\n \r\n \r\n {{'Enter your phone number' | translate}}\r\n \r\n {{getErrorMessage(phoneFieldControl) | translate}}\r\n \r\n

\r\n
\r\n {{'Server problem, contact an administrator' | translate}}\r\n
\r\n\r\n \r\n \r\n\r\n","import {Component, DoCheck, Inject, OnInit} from '@angular/core';\r\nimport {CompetitorSimple} from '../../../../types/competitor';\r\nimport {AbstractControl, UntypedFormGroup} from '@angular/forms';\r\nimport {HttpErrorResponse} from '@angular/common/http';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\r\nimport {EditCrewCardInfo} from '../../../../types/editCrewCardInfo';\r\nimport {EditCrewCardService} from './service/edit-crew-card.service';\r\n\r\n@Component({\r\n selector: 'app-edit-crew-card',\r\n templateUrl: './edit-crew-card.component.html',\r\n styleUrls: ['./edit-crew-card.component.css']\r\n})\r\nexport class EditCrewCardComponent implements OnInit, DoCheck {\r\n\r\n crewCardForm: UntypedFormGroup;\r\n\r\n drivers: CompetitorSimple[];\r\n navigators: CompetitorSimple[];\r\n additionalCompetitors: CompetitorSimple[];\r\n availableCompetitors: CompetitorSimple[];\r\n numbers: number[];\r\n\r\n serverIsDown = false;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: EditCrewCardInfo, private dialogRef: MatDialogRef,\r\n private editCrewCardService: EditCrewCardService) {}\r\n\r\n ngOnInit(): void {\r\n this.editCrewCardService.initializeComponentData(this.data, this.dialogRef);\r\n this.crewCardForm = this.editCrewCardService.crewCardForm;\r\n this.numbers = this.editCrewCardService.numbers;\r\n this.drivers = this.editCrewCardService.drivers;\r\n this.navigators = this.editCrewCardService.navigators;\r\n this.additionalCompetitors = this.editCrewCardService.additionalCompetitors;\r\n this.availableCompetitors = this.editCrewCardService.availableCompetitors;\r\n this.serverIsDown = this.editCrewCardService.serverIsDown;\r\n }\r\n\r\n ngDoCheck(): void {\r\n this.editCrewCardService.refilterDropdowns(this.data);\r\n this.drivers = this.editCrewCardService.drivers;\r\n this.navigators = this.editCrewCardService.navigators;\r\n this.additionalCompetitors = this.editCrewCardService.additionalCompetitors;\r\n this.availableCompetitors = this.editCrewCardService.availableCompetitors;\r\n this.serverIsDown = this.editCrewCardService.serverIsDown;\r\n }\r\n\r\n /**\r\n * function for setting default value for dropdown based on comparing ids of competitors\r\n * @param formControlName for formControlName parameter\r\n * @param selectedOption for dropdown option values\r\n */\r\n compareCompetitors(formControlName: CompetitorSimple, selectedOption: CompetitorSimple): boolean {\r\n return formControlName && selectedOption && formControlName.id === selectedOption.id;\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of updating crew card\r\n * @param fieldControl with information about desired field (driver, navigator, ...)\r\n */\r\n getErrorMessage(fieldControl: AbstractControl): string {\r\n return this.editCrewCardService.getErrorMessage(fieldControl);\r\n }\r\n\r\n /**\r\n * function for creating the crew with provided data\r\n */\r\n onSaveCrew(): void {\r\n this.editCrewCardService.onSaveCrew();\r\n }\r\n\r\n /**\r\n * function for evaluation of available competitors based on additional competitors\r\n */\r\n processAvailableCompetitors(): void {\r\n this.editCrewCardService.processAvailableCompetitors();\r\n }\r\n\r\n /**\r\n * function for disabling add additional competitor, if additional competitor\r\n * dropdown is empty\r\n */\r\n additionalCompetitorFieldIsEmpty(): boolean {\r\n return this.editCrewCardService.additionalCompetitorFieldIsEmpty();\r\n }\r\n\r\n /**\r\n * function for removing desired competitor from additional competitors list\r\n * @param competitor for evaluation of competitor to delete\r\n */\r\n deleteAdditionalCompetitor(competitor: CompetitorSimple): void {\r\n this.editCrewCardService.deleteAdditionalCompetitor(competitor);\r\n }\r\n}\r\n","

{{'Crew settings' | translate}}

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

{{'Crew card' | translate}}

\r\n \r\n {{'Crew number' | translate}}\r\n \r\n \r\n {{number}}\r\n \r\n \r\n \r\n

\r\n \r\n {{'Driver' | translate}}\r\n \r\n {{'Select driver' | translate}} \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n {{getErrorMessage(this.crewCardForm.get('driver')) | translate}}\r\n \r\n \r\n {{'Navigator' | translate}}\r\n \r\n {{'Select navigator' | translate}} \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n {{getErrorMessage(this.crewCardForm.get('navigator')) | translate}}\r\n \r\n

\r\n

{{'Additional competitors' | translate}}

\r\n \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n \r\n \r\n {{'Additional competitor' | translate}}\r\n \r\n \r\n \r\n {{competitor.firstName + ' ' + competitor.lastName}}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n{{'Server problem, contact an administrator' | translate}}\r\n\r\n \r\n \r\n\r\n","import {Injectable} from '@angular/core';\r\nimport {AbstractControl, UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms';\r\nimport {CompetitorSimple} from '../../../../../types/competitor';\r\nimport {Crew, CrewSample} from '../../../../../types/crew';\r\nimport {HttpClient, HttpErrorResponse} from '@angular/common/http';\r\nimport {LocalStorageService} from '../../../../../../api/services/localStorage';\r\nimport {HttpHandlingService} from '../../../../../../api/services/http-handling.service';\r\nimport {MatDialogRef} from '@angular/material/dialog';\r\nimport {EditCrewCardInfo} from '../../../../../types/editCrewCardInfo';\r\nimport {EditCrewCardComponent} from '../edit-crew-card.component';\r\nimport {LoggedUser} from '../../../../../types/loggedUser';\r\nimport {SERVER_API_URL} from '../../../../../types/app.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditCrewCardService {\r\n\r\n constructor(private http: HttpClient, private localStorage: LocalStorageService, private httpHandlingService: HttpHandlingService) {}\r\n\r\n crewCardForm = new UntypedFormGroup({\r\n crewNumber: new UntypedFormControl('', Validators.required),\r\n driver: new UntypedFormControl('', Validators.required),\r\n navigator: new UntypedFormControl('', Validators.required),\r\n additionalCompetitor: new UntypedFormControl(''),\r\n });\r\n\r\n loggedUser: LoggedUser;\r\n\r\n crewId: number;\r\n drivers: CompetitorSimple[];\r\n navigators: CompetitorSimple[];\r\n additionalCompetitors: CompetitorSimple[];\r\n availableCompetitors: CompetitorSimple[];\r\n numbers: number[];\r\n\r\n serverIsDown = false;\r\n\r\n dialogRef: MatDialogRef;\r\n\r\n initializeComponentData(data: EditCrewCardInfo, dialogRef: MatDialogRef): void {\r\n if (this.localStorage.get('loggedUser') !== null) {\r\n this.loggedUser = this.localStorage.get('loggedUser') as LoggedUser;\r\n }\r\n this.crewId = data.crew.id;\r\n this.drivers = data.crewNumbersWithCompetitors.availableCompetitors;\r\n this.navigators = data.crewNumbersWithCompetitors.availableCompetitors;\r\n this.availableCompetitors = data.crewNumbersWithCompetitors.availableCompetitors;\r\n this.additionalCompetitors = data.crew.additionalCompetitors;\r\n this.additionalCompetitors = this.additionalCompetitors.filter(\r\n (item: CompetitorSimple) => item.id !== data.crew.driver.id && item.id !== data.crew.navigator.id);\r\n this.availableCompetitors = this.availableCompetitors.filter(\r\n (item: CompetitorSimple) => item.id !== data.crew.driver.id && item.id !== data.crew.navigator.id);\r\n if (data.crew.number !== null || undefined) {\r\n this.crewCardForm.setValue({\r\n crewNumber: data.crew.number,\r\n driver: data.crew.driver,\r\n navigator: data.crew.navigator,\r\n additionalCompetitor: null\r\n });\r\n }\r\n this.dialogRef = dialogRef;\r\n this.numbers = Array(99).fill(1).map((x, i) => 900 + i + 1)\r\n .filter((item: number) => !(item !== data.crew.number && data.crewNumbersWithCompetitors.crewNumbers.includes(item)));\r\n }\r\n\r\n /**\r\n * function for evaluation of available competitors based on additional competitors\r\n */\r\n processAvailableCompetitors(): void {\r\n const additionalCompetitor = this.crewCardForm.get('additionalCompetitor').value as CompetitorSimple;\r\n this.additionalCompetitors.push(additionalCompetitor);\r\n this.availableCompetitors.splice(this.availableCompetitors.indexOf(additionalCompetitor), 1);\r\n this.crewCardForm.patchValue({additionalCompetitor: null});\r\n }\r\n\r\n /**\r\n * function for disabling add additional competitor, if additional competitor\r\n * dropdown is empty\r\n */\r\n additionalCompetitorFieldIsEmpty(): boolean {\r\n return this.crewCardForm.get('additionalCompetitor').value === null || this.crewCardForm.get('additionalCompetitor').value === '';\r\n }\r\n\r\n /**\r\n * function for removing desired competitor from additional competitors list\r\n * @param competitor for evaluation of competitor to delete\r\n */\r\n deleteAdditionalCompetitor(competitor: CompetitorSimple): void {\r\n this.availableCompetitors.push(competitor);\r\n this.additionalCompetitors.splice(this.additionalCompetitors.indexOf(competitor), 1);\r\n }\r\n\r\n /**\r\n * function for re-filtering all dropdowns after new input is emitted\r\n * @param data for input data provided to dialog from start\r\n */\r\n refilterDropdowns(data: EditCrewCardInfo): void {\r\n const driver = this.crewCardForm.get('driver').value as CompetitorSimple;\r\n const navigator = this.crewCardForm.get('navigator').value as CompetitorSimple;\r\n this.drivers = data.crewNumbersWithCompetitors.availableCompetitors.filter((item: CompetitorSimple) => item.id !== navigator.id &&\r\n this.additionalCompetitors.filter((competitor: CompetitorSimple) => item.id === competitor.id).length === 0);\r\n this.navigators = data.crewNumbersWithCompetitors.availableCompetitors.filter((item: CompetitorSimple) => item.id !== driver.id &&\r\n this.additionalCompetitors.filter((competitor: CompetitorSimple) => item.id === competitor.id).length === 0);\r\n this.availableCompetitors = data.crewNumbersWithCompetitors.availableCompetitors.filter(\r\n (item: CompetitorSimple) => item.id !== driver.id && item.id !== navigator.id &&\r\n this.additionalCompetitors.filter((competitor: CompetitorSimple) => item.id === competitor.id).length === 0);\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of updating crew card\r\n * @param fieldControl with information about desired field (driver, navigator, ...)\r\n */\r\n getErrorMessage(fieldControl: AbstractControl): string {\r\n return this.httpHandlingService.handleUserErrorOutputAbstract(fieldControl);\r\n }\r\n\r\n /**\r\n * function for creating the crew with provided data\r\n */\r\n onSaveCrew(): void {\r\n const crewNumber = this.crewCardForm.get('crewNumber').value as number;\r\n const driver = this.crewCardForm.get('driver').value as CompetitorSimple;\r\n const navigator = this.crewCardForm.get('navigator').value as CompetitorSimple;\r\n const editCrewURL = SERVER_API_URL + '/api/crewsWithCompetitorIds';\r\n const additionalCompetitorsIds = this.onGetAdditionalCompetitorsIds(this.additionalCompetitors);\r\n const crew = new Crew(this.crewId, crewNumber, driver.id, navigator.id, additionalCompetitorsIds);\r\n this.http.put(editCrewURL, crew,\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe(result => {\r\n const crewSample = new CrewSample(this.crewId, crewNumber, driver, navigator, this.additionalCompetitors);\r\n let activeInCrews = this.localStorage.get('loggedCompetitorCrews') as CrewSample[];\r\n activeInCrews = activeInCrews.filter((crewInActiveCrews: CrewSample) => crewInActiveCrews.id !== this.crewId);\r\n activeInCrews.push(crewSample);\r\n this.localStorage.set('loggedCompetitorCrews', activeInCrews);\r\n },\r\n (error: HttpErrorResponse) => { this.handleCreateErrors(error); },\r\n () => { this.dialogRef.close(); window.location.reload(); });\r\n }\r\n\r\n /**\r\n * function for retrieving additional competitors ids\r\n * @param additionalCompetitors for evaluation of additional competitors\r\n */\r\n onGetAdditionalCompetitorsIds(additionalCompetitors: CompetitorSimple[]): number[] {\r\n const additionalCompetitorsIds = [];\r\n for (const additionalCompetitor of additionalCompetitors) {\r\n additionalCompetitorsIds.push(additionalCompetitor.id);\r\n }\r\n return additionalCompetitorsIds;\r\n }\r\n\r\n /**\r\n * function for handling HTTP errors in the process of newly added crew\r\n */\r\n handleCreateErrors(error: HttpErrorResponse): void {\r\n if (error.status === 0) {\r\n this.serverIsDown = true;\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport {LoggedUser} from '../../../types/loggedUser';\r\nimport {LocalStorageService} from '../../../../api/services/localStorage';\r\nimport {MatDialog} from '@angular/material/dialog';\r\nimport {AddCompetitorCardComponent} from './add-competitor-card/add-competitor-card.component';\r\nimport {Competitor} from '../../../types/competitor';\r\nimport {EditCompetitorCardComponent} from './edit-competitor-card/edit-competitor-card.component';\r\nimport {LoggedCompetitor} from '../../../types/loggedCompetitor';\r\nimport {AddCrewCardComponent} from './add-crew-card/add-crew-card.component';\r\nimport {HttpHandlingService} from '../../../../api/services/http-handling.service';\r\nimport {HttpClient, HttpErrorResponse} from '@angular/common/http';\r\nimport {AddCrewResponseEntity} from '../../../types/addCrewResponseEntity';\r\nimport {CrewSample} from '../../../types/crew';\r\nimport {EditCrewCardComponent} from './edit-crew-card/edit-crew-card.component';\r\nimport {EditCrewCardInfo} from '../../../types/editCrewCardInfo';\r\nimport {SERVER_API_URL} from '../../../types/app.constants';\r\n\r\n@Component({\r\n selector: 'app-profile-info',\r\n templateUrl: './profile-info.component.html',\r\n styleUrls: ['./profile-info.component.scss']\r\n})\r\nexport class ProfileInfoComponent implements OnInit {\r\n\r\n loggedUser = new LoggedUser();\r\n loggedCompetitor: LoggedCompetitor;\r\n crews: CrewSample[];\r\n\r\n @Output() onCloseSideNav = new EventEmitter();\r\n\r\n @Input() sideNavMode = false;\r\n\r\n constructor(private localStorage: LocalStorageService, public dialog: MatDialog,\r\n private httpHandlingService: HttpHandlingService, private http: HttpClient) {}\r\n\r\n ngOnInit(): void {\r\n if (this.localStorage.get('loggedUser') !== null) {\r\n this.loggedUser = this.localStorage.get('loggedUser') as LoggedUser;\r\n }\r\n if (this.localStorage.get('loggedCompetitor') !== null) {\r\n this.loggedCompetitor = this.localStorage.get('loggedCompetitor') as LoggedCompetitor;\r\n }\r\n this.crews = this.getCrewsRelatedForCompetitor();\r\n }\r\n\r\n /**\r\n * function which opens the dialog for creating new competitor card\r\n */\r\n openAddCompetitorCardDialogDialog(): void {\r\n this.onCloseSideNav.emit();\r\n this.dialog.open(AddCompetitorCardComponent);\r\n }\r\n\r\n /**\r\n * function which opens the dialog for receiving competitor from database and updating competitor\r\n */\r\n openEditCompetitorCardDialogDialog(): void {\r\n this.onCloseSideNav.emit();\r\n const competitorURL = SERVER_API_URL + '/api/competitors/user/' + this.loggedUser.id;\r\n let competitor = null;\r\n this.http.get(competitorURL,\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe((competitorFromServer: Competitor) => {\r\n competitor = competitorFromServer;\r\n },\r\n (error: HttpErrorResponse) => { this.handleRegistrationHttpErrors(error); },\r\n () => { this.dialog.open(EditCompetitorCardComponent, {data: competitor}); });\r\n }\r\n\r\n /**\r\n * function which opens the dialog for inserting competitor into crew\r\n * this function loads all competitors and array of used crew numbers\r\n */\r\n openAddCrewCardDialog(): void {\r\n this.onCloseSideNav.emit();\r\n const getCrewNumbersWithCompetitorsURL = SERVER_API_URL + '/api/crewNumbersWithCompetitors';\r\n let crewNumbersWithCompetitors = null;\r\n this.http.get(getCrewNumbersWithCompetitorsURL,\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe(result => {\r\n crewNumbersWithCompetitors = result as AddCrewResponseEntity;\r\n },\r\n (error: HttpErrorResponse) => { this.handleRegistrationHttpErrors(error); },\r\n () => { this.dialog.open(AddCrewCardComponent, {data: crewNumbersWithCompetitors}); }\r\n );\r\n }\r\n\r\n /**\r\n * function for evaluation, if logged user has created his competitor card\r\n * if competitor card is not created, user is not able to create new crew\r\n */\r\n competitorCardIsNotCreated(): boolean {\r\n return this.loggedCompetitor === null || this.loggedCompetitor === undefined ;\r\n }\r\n\r\n /**\r\n * function for evaluation, if logged competitor is already in crew\r\n */\r\n competitorIsAlreadyInCrew(): boolean {\r\n return this.localStorage.get('loggedCompetitorCrews') !== null && (this.localStorage.get('loggedCompetitorCrews') as []).length > 0;\r\n }\r\n\r\n /**\r\n * function for retrieving crews from local storage\r\n */\r\n getCrewsRelatedForCompetitor(): CrewSample[] {\r\n return this.localStorage.get('loggedCompetitorCrews');\r\n }\r\n\r\n /**\r\n * function for opening crew detail dialog according to selected crew\r\n * @param crew from evaluation, which crew has to be opened\r\n */\r\n openCrewDetailDialog(crew: CrewSample): void {\r\n this.onCloseSideNav.emit();\r\n const getCrewNumbersWithCompetitorsURL = SERVER_API_URL + '/api/crewNumbersWithCompetitors';\r\n let crewNumbersWithCompetitorsAndSelectedCrew = null;\r\n this.http.get(getCrewNumbersWithCompetitorsURL,\r\n {headers: this.httpHandlingService.authorizationHeaders()}).subscribe((result: AddCrewResponseEntity) => {\r\n crewNumbersWithCompetitorsAndSelectedCrew = new EditCrewCardInfo(crew, result);\r\n },\r\n (error: HttpErrorResponse) => { this.handleRegistrationHttpErrors(error); },\r\n () => { this.dialog.open(EditCrewCardComponent, {data: crewNumbersWithCompetitorsAndSelectedCrew}); }\r\n );\r\n }\r\n\r\n /**\r\n * function for user logout\r\n */\r\n onLogout(): void {\r\n this.onCloseSideNav.emit();\r\n this.localStorage.remove('loggedUser');\r\n this.localStorage.remove('loggedCompetitor');\r\n this.localStorage.remove('loggedCompetitorCrews');\r\n window.location.reload();\r\n }\r\n\r\n /**\r\n * function for handling HTTP errors in the process of receiving competitor\r\n */\r\n handleRegistrationHttpErrors(error: HttpErrorResponse): void {\r\n if (error.status === 0) {\r\n alert(error.message);\r\n }\r\n }\r\n}\r\n","@if (!sideNavMode) {\r\n \r\n \r\n @if (!loggedCompetitor) {\r\n \r\n } @else {\r\n \r\n }\r\n @if (!this.competitorIsAlreadyInCrew()) {\r\n \r\n } @else {\r\n \r\n }\r\n \r\n \r\n \r\n }\r\n \r\n \r\n} @else {\r\n \r\n \r\n
\r\n account_circle\r\n {{loggedUser.username}}\r\n
\r\n
\r\n @if (!loggedCompetitor) {\r\n \r\n
\r\n description\r\n {{'Create competitor card' | translate}}\r\n
\r\n
\r\n } @else {\r\n \r\n
\r\n description\r\n {{ loggedCompetitor.firstName + ' ' + loggedCompetitor.lastName }}\r\n
\r\n
\r\n }\r\n @if (!this.competitorIsAlreadyInCrew()) {\r\n \r\n
\r\n commute\r\n {{'Create crew' | translate}}\r\n
\r\n
\r\n } @else {\r\n \r\n \r\n
\r\n commute\r\n {{'My crews' | translate}}\r\n
\r\n
\r\n @for (crew of crews; track crew.number) {\r\n \r\n
\r\n commute\r\n {{crew.number}}\r\n
\r\n
\r\n }\r\n \r\n
\r\n commute\r\n {{'Create crew' | translate}}\r\n
\r\n
\r\n
\r\n }\r\n \r\n
\r\n exit_to_app\r\n {{'Logout' | translate}}\r\n
\r\n
\r\n
\r\n}\r\n\r\n","import {AfterViewChecked, AfterViewInit, ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {UntypedFormControl, Validators} from '@angular/forms';\r\nimport {HttpClient, HttpErrorResponse} from '@angular/common/http';\r\nimport {Authority, User} from '../../../types/user';\r\nimport {Language} from '../language-switcher/types/language-switcher.types';\r\nimport {MatDialogRef} from '@angular/material/dialog';\r\nimport {HttpHandlingService} from '../../../../api/services/http-handling.service';\r\nimport {SERVER_API_URL} from '../../../types/app.constants';\r\n\r\n@Component({\r\n selector: 'app-registration-dialog',\r\n templateUrl: './registration-dialog.component.html',\r\n styleUrls: ['./registration-dialog.component.css']\r\n})\r\nexport class RegistrationDialogComponent implements AfterViewChecked {\r\n\r\n emailControl = new UntypedFormControl('', [Validators.required, Validators.email]);\r\n loginFieldControl = new UntypedFormControl('', Validators.required);\r\n passwordFieldControl = new UntypedFormControl('', Validators.required);\r\n password2FieldControl = new UntypedFormControl('', Validators.required);\r\n firstNameFieldControl = new UntypedFormControl('', Validators.required);\r\n lastNameFieldControl = new UntypedFormControl('', Validators.required);\r\n\r\n userEmail = '';\r\n login = '';\r\n password = '';\r\n password2 = '';\r\n firstName = '';\r\n lastName = '';\r\n\r\n hidePasswordField = true;\r\n hidePassword2Field = true;\r\n\r\n serverIsDown = false;\r\n\r\n constructor(private http: HttpClient, public dialogRef: MatDialogRef, private cdr: ChangeDetectorRef,\r\n private httpHandlingService: HttpHandlingService) {}\r\n\r\n ngAfterViewChecked(): void {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n /**\r\n * function which provides error messages in the process of logging in\r\n * @param fieldControl with information about desired field (login, password, ...)\r\n */\r\n getErrorMessage(fieldControl: UntypedFormControl): string {\r\n return this.httpHandlingService.handleUserErrorOutput(fieldControl);\r\n }\r\n\r\n /**\r\n * function for checking, if user is manipulating with one of the password inputs\r\n */\r\n onPasswordChangeCheck(): void {\r\n if (this.password !== '' && this.password2 !== '' && this.password !== this.password2) {\r\n this.passwordFieldControl.setErrors({passwordsdonotmatch: true});\r\n this.password2FieldControl.setErrors({passwordsdonotmatch: true});\r\n } else {\r\n this.passwordFieldControl.setErrors(null);\r\n this.password2FieldControl.setErrors(null);\r\n }\r\n }\r\n\r\n /**\r\n * function for register user to database\r\n */\r\n registrateUser(): void {\r\n const user = new User(null, this.userEmail, this.login, this.password, this.firstName, this.lastName, '', false, this.login,\r\n new Date(), this.login, new Date(), Language.EN, [Authority.USER]);\r\n const headers = { 'content-type': 'application/json'};\r\n this.http.post(SERVER_API_URL + '/api/register', user, {headers}).subscribe(data => {\r\n }, (error: HttpErrorResponse) => { this.handleRegistrationHttpErrors(error); },\r\n () => this.dialogRef.close());\r\n }\r\n\r\n /**\r\n * function for evaluating, if all necessary fields are filled\r\n * this function disables button, if all data are not provided\r\n */\r\n allFieldsAreFilled(): boolean {\r\n return !(this.emailControl.valid && this.loginFieldControl.valid && this.passwordFieldControl.valid &&\r\n this.password2FieldControl.valid && this.firstNameFieldControl.valid && this.lastNameFieldControl.valid);\r\n }\r\n\r\n /**\r\n * function for handling HTTP errors in the process of registration\r\n */\r\n handleRegistrationHttpErrors(error: HttpErrorResponse): void {\r\n if (error.status !== 0) {\r\n if (error.error.errorKey) {\r\n switch (error.error.errorKey) {\r\n case 'userexists':\r\n this.loginFieldControl.setErrors({userexists: true});\r\n break;\r\n case 'emailexists':\r\n this.emailControl.setErrors({emailexists: true});\r\n break;\r\n default:\r\n alert('Unexpected problem! Notify administrator!');\r\n break;\r\n }\r\n } else {\r\n this.handleRegistrationFieldErrors(error.error.fieldErrors);\r\n }\r\n this.serverIsDown = false;\r\n } else {\r\n this.serverIsDown = true;\r\n }\r\n }\r\n\r\n /**\r\n * function for handling fields errors\r\n * @param fieldErrors for evaluation of fields with errors\r\n */\r\n handleRegistrationFieldErrors(fieldErrors: any[]): void {\r\n for (const fieldError of fieldErrors) {\r\n switch (fieldError.message) {\r\n case 'Pattern':\r\n this.getFieldControl(fieldError.field).setErrors({wrongloginpattern: true});\r\n break;\r\n case 'Size':\r\n this.getFieldControl(fieldError.field).setErrors({wrongloginpattern: true});\r\n if (fieldError.field === 'login' || fieldError.field === 'firstName' || fieldError.field === 'lastName') {\r\n this.getFieldControl(fieldError.field).setErrors({wrongsize50: true});\r\n } else if (fieldError.field === 'password') {\r\n this.getFieldControl(fieldError.field).setErrors({wrongsize60: true});\r\n } else if (fieldError.field === 'email') {\r\n this.getFieldControl(fieldError.field).setErrors({wrongsize254: true});\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * function for getting field controls by name\r\n * @param fieldName for evaluation of field names\r\n */\r\n getFieldControl(fieldName: string): UntypedFormControl {\r\n switch (fieldName) {\r\n case 'email': return this.emailControl;\r\n case 'login': return this.loginFieldControl;\r\n case 'password': return this.passwordFieldControl;\r\n case 'firstName': return this.firstNameFieldControl;\r\n case 'lastName': return this.lastNameFieldControl;\r\n }\r\n }\r\n}\r\n","

{{'Registration' | translate}}

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

{{'Account registration' | translate}}

\r\n \r\n {{'Enter your email' | translate}}\r\n \r\n {{getErrorMessage(emailControl) | translate}}\r\n \r\n \r\n {{'Enter your login' | translate}}\r\n \r\n {{getErrorMessage(loginFieldControl) | translate}}\r\n \r\n

\r\n \r\n {{'Enter your password' | translate}}\r\n \r\n \r\n {{getErrorMessage(passwordFieldControl) | translate}}\r\n \r\n \r\n {{'Re-enter your password' | translate}}\r\n \r\n \r\n {{getErrorMessage(password2FieldControl) | translate}}\r\n \r\n

\r\n

\r\n \r\n {{'Enter your first name' | translate}}\r\n \r\n {{getErrorMessage(firstNameFieldControl) | translate}}\r\n \r\n \r\n {{'Enter your last name' | translate}}\r\n \r\n {{getErrorMessage(lastNameFieldControl) | translate}}\r\n \r\n

\r\n
\r\n {{'Server problem, contact an administrator' | translate}}\r\n
\r\n\r\n \r\n \r\n\r\n","export enum Country {\r\n CZ = 'Czech Republic',\r\n SK = 'Slovakia',\r\n PL = 'Poland',\r\n HU = 'Hungary',\r\n RO = 'Romania'\r\n}\r\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpHandlingService } from 'src/app/api/services/http-handling.service';\r\nimport { SERVER_API_URL } from 'src/app/common/types/app.constants';\r\nimport {\r\n FullStandings,\r\n StandingItem,\r\n Standings,\r\n} from 'src/app/common/types/standings.model';\r\nimport { Race } from '../../../types/cec.types';\r\n\r\n@Component({\r\n selector: 'app-standings',\r\n templateUrl: './results.component.html',\r\n styleUrls: ['./results.component.scss']\r\n})\r\nexport class ResultsComponent implements OnInit {\r\n public races: Race[] = [new Race(), new Race(), new Race()];\r\n\r\n standings: Standings[] | null = [];\r\n seasonResults: StandingItem | null = null;\r\n speedTrialSeasonResults: StandingItem | null = null;\r\n\r\n @Output() onCloseSideNav = new EventEmitter();\r\n\r\n constructor(\r\n private httpHandlingService: HttpHandlingService,\r\n private http: HttpClient,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n onGetResults(): void {\r\n const competitionResultsDetailed =\r\n SERVER_API_URL + '/api/competition-results-detailed';\r\n this.http\r\n .get(competitionResultsDetailed, {\r\n headers: this.httpHandlingService.authorizationHeaders(),\r\n })\r\n .subscribe(\r\n (result: FullStandings) => {\r\n this.standings = result.standings;\r\n this.seasonResults = result.seasonResults;\r\n this.speedTrialSeasonResults = result.speedTrialSeasonResults;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.handleRegistrationHttpErrors(error);\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * function for stage results loading of desired stage in competition\r\n * @param stageId for evaluation of specific stage\r\n */\r\n onSelectStageResult(competitionId: number, stageId: number): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/competition', competitionId, 'stage', stageId, 'results']);\r\n }\r\n\r\n /**\r\n * function for stage results loading of desired stage in competition\r\n * @param stageId for evaluation of specific stage\r\n */\r\n onSelectStageSpeedTrialResult(stageId: number): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/stage', stageId, 'speed-trial', 'results']);\r\n }\r\n\r\n /**\r\n * function for round results loading of desired round in competition\r\n * @param roundId for evaluation of specific round\r\n */\r\n onSelectRoundResult(competitionId: number, roundId: number): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/competition', competitionId, 'round', roundId, 'results']);\r\n }\r\n\r\n /**\r\n * function for round results loading of desired round in competition\r\n * @param roundId for evaluation of specific round\r\n */\r\n onSelectRoundSpeedTrialResult(roundId: number): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/round', roundId, 'speed-trial', 'results']);\r\n }\r\n\r\n /**\r\n * function for navigation to competition results\r\n */\r\n onSelectCompetitionResult(competitionId: number): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/competition', competitionId, 'results']);\r\n }\r\n\r\n /**\r\n * function for round results loading of desired round in competition\r\n * @param roundId for evaluation of specific round\r\n */\r\n onSelectCompetitionSpeedTrialResult(competitionId: number): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/competition', competitionId, 'speed-trial', 'results']);\r\n }\r\n\r\n /**\r\n * function for navigation to season results\r\n */\r\n onSelectSeasonResult(seasonId: number, type: string): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/season', seasonId, type, 'results']);\r\n }\r\n\r\n /**\r\n * function for navigation to season speed trial results\r\n */\r\n onSelectSeasonSpeedTrialResult(seasonId: number, type: string): void {\r\n this.router.navigate(['/season', seasonId, type, 'speed-trial', 'results']);\r\n }\r\n\r\n /**\r\n * function for navigating to selected driving report\r\n * @param competitionId for evaluation of desired competition\r\n * @param stageId for evaluation of desired stage\r\n * @param crewId for evaluation of desired crew\r\n * @param drivingReportId for evaluation of desired driving report\r\n */\r\n onSelectDrivingReport(competitionId: number, stageId: number, crewId: number, drivingReportId: number): void {\r\n this.onCloseSideNav.emit();\r\n this.router.navigate(['/competition', competitionId, 'stage', stageId, 'crew', crewId, 'driving-report', drivingReportId]);\r\n }\r\n\r\n /**\r\n * function for handling HTTP errors in the process of receiving competitor\r\n */\r\n handleRegistrationHttpErrors(error: HttpErrorResponse): void {\r\n if (error.status === 0) {\r\n alert(error.message);\r\n }\r\n }\r\n}\r\n","@if (!(['xs', 'sm', 'md'] | breakpoint | async)) {\r\n \r\n \r\n @for (result of standings; track result.competitionName) {\r\n \r\n }\r\n \r\n \r\n }\r\n @if (result.stageResults.length) {\r\n \r\n \r\n }\r\n \r\n \r\n }\r\n @if (result.roundResults.length) {\r\n \r\n \r\n }\r\n \r\n \r\n }\r\n @if (result.competitionResults.length) {\r\n \r\n \r\n }\r\n \r\n \r\n }\r\n \r\n @if (seasonResults) {\r\n \r\n }\r\n @if (speedTrialSeasonResults) {\r\n \r\n }\r\n \r\n \r\n} @else {\r\n \r\n \r\n
\r\n table_chart\r\n {{'Results' | translate}}\r\n
\r\n
\r\n @for (result of standings; track result.competitionName) {\r\n \r\n \r\n
\r\n dialpad\r\n {{result.competitionName}}\r\n
\r\n
\r\n @if (result.drivingReportsPerCrew.length) {\r\n \r\n \r\n
\r\n border_color\r\n {{'Driving reports' | translate}}\r\n
\r\n
\r\n @for (drivingReport of result.drivingReportsPerCrew; track drivingReport.stageName) {\r\n \r\n
\r\n border_color\r\n {{drivingReport.stageName}}\r\n
\r\n
\r\n }\r\n
\r\n }\r\n @if (result.stageResults.length) {\r\n \r\n \r\n
\r\n border_color\r\n {{'Stage Results' | translate}}\r\n
\r\n
\r\n @for (stageResult of result.stageResults; track stageResult.name) {\r\n \r\n
\r\n border_color\r\n {{stageResult.name}}\r\n
\r\n
\r\n \r\n
\r\n border_color\r\n {{stageResult.name + ' speed trial'}}\r\n
\r\n
\r\n }\r\n
\r\n }\r\n @if (result.roundResults.length) {\r\n \r\n \r\n
\r\n border_color\r\n {{'Round Results' | translate}}\r\n
\r\n
\r\n @for (roundResult of result.roundResults; track roundResult.name) {\r\n \r\n
\r\n border_color\r\n {{roundResult.name}}\r\n
\r\n
\r\n \r\n
\r\n border_color\r\n {{roundResult.name + ' speed trial'}}\r\n
\r\n
\r\n }\r\n
\r\n }\r\n @if (result.competitionResults.length) {\r\n \r\n
\r\n border_color\r\n {{'Competition Results' | translate}}\r\n
\r\n
\r\n \r\n
\r\n border_color\r\n {{'Speed Trial Results' | translate}}\r\n
\r\n
\r\n }\r\n
\r\n }\r\n @if (seasonResults) {\r\n \r\n
\r\n dialpad\r\n {{'Season ' + seasonResults?.name}}\r\n
\r\n
\r\n }\r\n @if (speedTrialSeasonResults) {\r\n \r\n
\r\n dialpad\r\n {{ \"Season speed trial \" + speedTrialSeasonResults.name }}\r\n
\r\n
\r\n }\r\n
\r\n}","import { inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ApiDataService } from \"src/app/api/services/api-data.service\";\r\nimport { NavigationItem } from \"src/app/controls/models/navigation-item.interface\";\r\n\r\n@Injectable()\r\nexport class NavigationService {\r\n\r\n private service = inject(ApiDataService);\r\n\r\n /**\r\n * Obtains competitions navigation menu items\r\n */\r\n getCompetitions(): Observable {\r\n return this.service.get('navigation/competitions');\r\n }\r\n}","import { Component, inject } from '@angular/core';\r\nimport { RoundResultsTableService } from '../services/round-results-table.service';\r\nimport { GridBase } from 'src/app/controls/base/grid.base';\r\nimport { BreadcrumbComponent } from 'src/app/controls/breadcrumb/components/breadcrumb.component';\r\nimport { GridComponent } from 'src/app/controls/grid/components/grid.component';\r\nimport { ToolbarComponent } from 'src/app/controls/toolbar/components/toolbar.component';\r\nimport { ToolbarItemDirective } from 'src/app/controls/toolbar/directives/toolbar-item.directive';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { GridButtonTrigger } from 'src/app/controls/grid/models/grid-button-trigger.interface';\r\nimport { RoundResult } from '../models/round-result.interface';\r\nimport { StageResultsTableService } from '../../stage-result/services/stage-results-table.service';\r\nimport { StageResultList } from '../../stage-result/models/stage-result-list.interface';\r\nimport { ResultSummaryComponent } from 'src/app/controls/result-summary/components/result-summary.component';\r\nimport { ResultItemDirective } from 'src/app/controls/result-summary/directives/result-item.directive';\r\nimport { DialogComponent } from 'src/app/controls/dialog/components/dialog.component';\r\nimport { ResultsGridBase } from 'src/app/controls/base/results-grid.base';\r\nimport { RoundService } from '../../competition-management/add-competition-card/add-round-dialog/services/round.service';\r\n\r\n@Component({\r\n selector: 'app-round-results-table',\r\n templateUrl: './round-results-table.component.html',\r\n styleUrls: ['./round-results-table.component.scss'],\r\n standalone: true,\r\n imports: [BreadcrumbComponent, GridComponent, DialogComponent, ToolbarComponent, ToolbarItemDirective, TranslateModule, ResultSummaryComponent, ResultItemDirective],\r\n providers: [RoundResultsTableService, StageResultsTableService, RoundService]\r\n})\r\nexport class RoundResultsTableComponent extends ResultsGridBase {\r\n\r\n /** Round id reference */\r\n protected roundId: number | null = null;\r\n\r\n /** Stage result reference */\r\n protected stageResult: StageResultList | null = null;\r\n\r\n /** Summary dialog key reference */\r\n protected dialogKey: string | null = null;\r\n\r\n /** Competition id reference */\r\n private competitionId: number | null = null;\r\n\r\n /** Stage results service reference */\r\n private stageResultService = inject(StageResultsTableService);\r\n\r\n constructor(service: RoundResultsTableService) { \r\n super(service);\r\n }\r\n\r\n ngOnInit(): void {\r\n /** initializes parent logic */\r\n super.ngOnInit();\r\n\r\n /** obtains ids from route */\r\n this.competitionId = this.route.parent.snapshot.params.id as number;\r\n this.roundId = this.route.snapshot.params.roundId as number;\r\n\r\n /** obtains display results status */\r\n this.loadDisplayResultsStatus(this.roundId, true);\r\n }\r\n\r\n /**\r\n * Grid action handler\r\n * @param event the clicked event from grid\r\n */\r\n protected onButtonClick(event: GridButtonTrigger): void {\r\n /** if stage result is not available, do nothing */\r\n if (!event || !event.row || !event.row.stages || !event.row.stages.length) {\r\n return;\r\n }\r\n \r\n /** gets the desired stage result id from dynamic column */\r\n const stageColumn = event.row.stages.find(stage => stage.columnId === event.buttonId);\r\n\r\n /** if stage column or stage result id is not provided, do nothing */\r\n if (!stageColumn || !stageColumn.entityId) {\r\n return;\r\n }\r\n\r\n /** gets the desired stage result by id */\r\n this.sub.add(this.stageResultService.getResult(stageColumn.entityId).subscribe((result => {\r\n this.stageResult = result;\r\n this.dialogKey = stageColumn.columnKey;\r\n /** waits for the dala load */\r\n setTimeout(() => {\r\n this.dialog.show();\r\n });\r\n })));\r\n }\r\n\r\n /**\r\n * Navigates to speed trial results\r\n */\r\n private navigateToSpeedTrialResults(): void {\r\n this.router.navigate(['/competition', this.competitionId, 'round', this.roundId, 'speed-trial', 'results']);\r\n }\r\n\r\n /**\r\n * Toolbar click handler\r\n * @param itemId the clicked item\r\n */\r\n protected onToolbarClick(itemId: string): void {\r\n /** executes the button logic */\r\n switch (itemId) {\r\n case 'recalculate':\r\n this.recalculateResults(this.roundId);\r\n break;\r\n case 'visibility':\r\n this.updateDisplayStatus(this.roundId);\r\n break;\r\n case 'speed-trials':\r\n this.navigateToSpeedTrialResults();\r\n break;\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n@if (stageResult) {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n}","import { inject, Injectable } from \"@angular/core\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { ApiDataService } from \"src/app/api/services/api-data.service\";\r\nimport { ColumnDefinition } from \"src/app/controls/grid/models/column-definition.interface\";\r\nimport { GridDataProvider } from \"src/app/controls/grid/services/grid-data-provider.interface\";\r\nimport { RoundResult } from \"../models/round-result.interface\";\r\nimport { ResultsService } from \"src/app/controls/base/results.service\";\r\nimport { RoundService } from \"../../competition-management/add-competition-card/add-round-dialog/services/round.service\";\r\n\r\n@Injectable()\r\nexport class RoundResultsTableService implements GridDataProvider, ResultsService {\r\n\r\n /** Api data service reference */\r\n private service = inject(ApiDataService);\r\n\r\n /** Round service reference */\r\n private roundService = inject(RoundService);\r\n \r\n /** @inheritdoc */\r\n public getTableName(roundId: number): Observable {\r\n return this.service.get('rounds/get-name/' + roundId);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getGridData(roundId: number): Observable {\r\n return this.service.getAll('round-results/round/' + roundId).pipe(\r\n map((results => {\r\n results.map((result) => ({\r\n ...result,\r\n stages: this.mapStages(result),\r\n }));\r\n return results;\r\n })));\r\n }\r\n\r\n /**\r\n * Maps the dynamic stage columns\r\n * @param result the obtained round result to map\r\n */\r\n private mapStages(result: RoundResult): void {\r\n for (const stage of result?.stages) {\r\n result[stage.columnId] = stage.value;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n public getColumnDefinition(roundId: number): Observable {\r\n return this.service.getAll('round-results/column-definition/' + roundId);\r\n }\r\n\r\n /**\r\n * function for for printing the results\r\n * @param roundId for round evaluation\r\n */\r\n onPrintResults(roundId: number): void {\r\n const url = 'rounds/print-results/' + roundId\r\n this.service.downloadFile(url).subscribe();\r\n }\r\n\r\n /**\r\n * Recalculates the stage results\r\n * @param id the stage id reference\r\n */\r\n public recalculateResults(id: number): Observable {\r\n return this.service.patchEmpty('round-results/recalculate/' + id);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getDisplayResultsStatus(id: number): Observable {\r\n return this.roundService.getDisplayResultsStatus(id);\r\n }\r\n\r\n /** @inheritdoc */\r\n public updateResultsStatus(id: number): Observable {\r\n return this.roundService.updateResultsStatus(id);\r\n }\r\n\r\n /**\r\n * Gets the round result by id\r\n * @param id the id of desired round result\r\n */\r\n public getResult(id: number): Observable {\r\n return this.service.get('round-results/get/' + id);\r\n }\r\n}","import { AfterViewInit, ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { RoundResultSimplified } from 'src/app/common/types/round-results-simplified.interface';\r\nimport { SeasonResult } from 'src/app/common/types/season-results.interface';\r\nimport { ColumnDef } from '../../competition-management/edit-competition-card/round-results-table/models/column-def.interface';\r\nimport { SeasonResultsTableService } from './service/competition-results-table.service';\r\n\r\n@Component({\r\n selector: 'app-season-results-table',\r\n templateUrl: './season-results-table.component.html',\r\n styleUrls: ['./season-results-table.component.css']\r\n})\r\nexport class SeasonResultsTableComponent implements OnInit, AfterViewInit {\r\n\r\n displayedColumns: string[] = [];\r\n dataSource: MatTableDataSource;\r\n\r\n seasonId: number | null = null;\r\n competitionType: string | null = null;\r\n columns: ColumnDef[] = [];\r\n\r\n seasonResults: SeasonResult[] = [];\r\n\r\n constructor(private seasonResultsTableService: SeasonResultsTableService, private route: ActivatedRoute, private cdr: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n this.seasonId = this.route.snapshot.params.competitionId as number;\r\n this.competitionType = this.route.snapshot.params.type as string;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.route.params.subscribe(params => {\r\n this.seasonResultsTableService.getSeasonResultsBySeasonId(params.type).subscribe((seasonResults: SeasonResult[]) => {\r\n this.seasonResults = seasonResults;\r\n if (this.seasonResults.length > 0) {\r\n this.columns.push({header: 'Place', columnDef: 'place', type: 'field'});\r\n this.columns.push({header: 'Crew Number', columnDef: 'crewNumber', type: 'field'});\r\n for (let roundResult of seasonResults[0].roundResults) {\r\n let indexOfRound = seasonResults[0].roundResults.indexOf(roundResult);\r\n this.columns.push({header: 'Round ' + (indexOfRound + 1), columnDef: indexOfRound.toString(), type: 'array'});\r\n }\r\n this.columns.push({header: 'Championship Points', columnDef: 'totalNumberOfChampionshipPoints', type: 'field'});\r\n this.displayedColumns = this.displayedColumns.concat(this.columns.map(x => x.columnDef.toString()));\r\n this.dataSource = new MatTableDataSource(seasonResults.sort((a, b) => b.totalNumberOfChampionshipPoints - a.totalNumberOfChampionshipPoints));\r\n this.cdr.detectChanges(); \r\n } \r\n });\r\n });\r\n }\r\n\r\n crossRound(roundResults: RoundResultSimplified[], count: number): boolean {\r\n if (roundResults[count].symbol === \"MAX\" || roundResults[count].symbol === \"MIN\") {\r\n return true;\r\n }\r\n }\r\n}\r\n","
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
{{ column.header }}{{ column.type === 'field' ? row[column.columnDef] : row.roundResults[column.columnDef].numberOfChampionshipPoints }}
\r\n
","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpHandlingService } from \"src/app/api/services/http-handling.service\";\r\nimport { SERVER_API_URL } from \"src/app/common/types/app.constants\";\r\nimport { CompetitionResult } from \"src/app/common/types/competition-results\";\r\nimport { SeasonResult } from \"src/app/common/types/season-results.interface\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SeasonResultsTableService {\r\n\r\n constructor(private httpHandlingService: HttpHandlingService, private http: HttpClient, private router: Router) {}\r\n\r\n /**\r\n * function for getting all season results by season id\r\n * @param seasonId for evaluation of desired round\r\n */\r\n getSeasonResultsBySeasonId(type: string): Observable {\r\n return this.http.get(SERVER_API_URL + '/api/season-results/season/' + type,\r\n {headers: this.httpHandlingService.authorizationHeaders()});\r\n }\r\n}","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { RoundResultSimplified } from 'src/app/common/types/round-results-simplified.interface';\r\nimport { SeasonResult } from 'src/app/common/types/season-results.interface';\r\nimport { ColumnDef } from '../../competition-management/edit-competition-card/round-results-table/models/column-def.interface';\r\nimport { SeasonSpeedTrialResultsTableService } from './service/season-stage-results-table.service';\r\n\r\n@Component({\r\n selector: 'app-season-speed-trial-results-table',\r\n templateUrl: './season-speed-trial-results-table.component.html',\r\n styleUrls: ['./season-speed-trial-results-table.component.css'],\r\n providers: [SeasonSpeedTrialResultsTableService],\r\n})\r\nexport class SeasonSpeedTrialResultsTableComponent implements OnInit {\r\n displayedColumns: string[] = [];\r\n dataSource: MatTableDataSource;\r\n\r\n seasonId: number | null = null;\r\n competitionType: string | null = null;\r\n columns: ColumnDef[] = [];\r\n\r\n seasonResults: SeasonResult[] = [];\r\n\r\n constructor(\r\n private seasonResultsTableService: SeasonSpeedTrialResultsTableService,\r\n private route: ActivatedRoute,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.seasonId = this.route.snapshot.params.competitionId as number;\r\n this.competitionType = this.route.snapshot.params.type as string;\r\n\r\n this.seasonResultsTableService\r\n .getSeasonSpeedTrialResultsBySeasonType(this.competitionType)\r\n .subscribe((seasonResults: SeasonResult[]) => {\r\n this.seasonResults = seasonResults;\r\n if (this.seasonResults.length > 0) {\r\n this.columns.push({\r\n header: 'Place',\r\n columnDef: 'place',\r\n type: 'field',\r\n });\r\n this.columns.push({\r\n header: 'Crew Number',\r\n columnDef: 'crewNumber',\r\n type: 'field',\r\n });\r\n for (let roundResult of seasonResults[0].roundResults) {\r\n let indexOfRound =\r\n seasonResults[0].roundResults.indexOf(roundResult);\r\n this.columns.push({\r\n header: 'Round ' + (indexOfRound + 1),\r\n columnDef: indexOfRound.toString(),\r\n type: 'array',\r\n });\r\n }\r\n this.columns.push({\r\n header: 'Championship Points',\r\n columnDef: 'totalNumberOfChampionshipPoints',\r\n type: 'field',\r\n });\r\n this.displayedColumns = this.displayedColumns.concat(\r\n this.columns.map((x) => x.columnDef.toString())\r\n );\r\n this.dataSource = new MatTableDataSource(\r\n seasonResults.sort(\r\n (a, b) =>\r\n b.totalNumberOfChampionshipPoints -\r\n a.totalNumberOfChampionshipPoints\r\n )\r\n );\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n crossRound(roundResults: RoundResultSimplified[], count: number): boolean {\r\n if (\r\n roundResults[count].symbol === 'MAX' ||\r\n roundResults[count].symbol === 'MIN'\r\n ) {\r\n return true;\r\n }\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{\r\n column.type === \"field\"\r\n ? row[column.columnDef]\r\n : row.roundResults[column.columnDef].championshipPoints\r\n }}\r\n \r\n \r\n\r\n \r\n \r\n
\r\n {{ column.header }}\r\n
\r\n
\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpHandlingService } from 'src/app/api/services/http-handling.service';\r\nimport { SERVER_API_URL } from 'src/app/common/types/app.constants';\r\nimport { CompetitionResult } from 'src/app/common/types/competition-results';\r\nimport { SeasonResult } from 'src/app/common/types/season-results.interface';\r\n\r\n@Injectable()\r\nexport class SeasonSpeedTrialResultsTableService {\r\n constructor(\r\n private httpHandlingService: HttpHandlingService,\r\n private http: HttpClient\r\n ) {}\r\n\r\n /**\r\n * function for getting all season results by season id\r\n * @param type for evaluation of desired round\r\n */\r\n getSeasonSpeedTrialResultsBySeasonType(\r\n type: string\r\n ): Observable {\r\n return this.http.get(\r\n SERVER_API_URL + '/api/season-results/season/speed-trial/' + type,\r\n { headers: this.httpHandlingService.authorizationHeaders() }\r\n );\r\n }\r\n}\r\n","import { Directive, inject } from \"@angular/core\";\r\nimport { AbstractControl } from \"@angular/forms\";\r\nimport { MatSlideToggleChange } from \"@angular/material/slide-toggle\";\r\nimport { CrudDialogBase } from \"src/app/controls/base/crud-dialog.base\";\r\nimport { SelectedItem } from \"src/app/controls/models/selected-item.interface\";\r\nimport { StageResultsTableService } from \"../services/stage-results-table.service\";\r\nimport { StageBaseEntity } from \"../models/stage-base-entity.interface\";\r\nimport { StageResultBaseEntity } from \"../models/stage-result-base.entity.interface\";\r\n\r\n@Directive()\r\nexport abstract class StageResultBase; }, Entity extends StageResultBaseEntity> extends CrudDialogBase {\r\n\r\n /** Registered crews reference */\r\n protected crews: SelectedItem[] = [];\r\n\r\n /** flag for sorting the crew numbers by registration or math */\r\n protected sortByRegistration = true;\r\n\r\n /** Original crew numbers order reference */\r\n protected originalCrewNumbersOrder: SelectedItem[] = [];\r\n\r\n /** Stage result service reference */\r\n private stageResultService = inject(StageResultsTableService);\r\n\r\n /** Stage name reference */\r\n protected stageName: string | null = null;\r\n\r\n /** Stage id reference */\r\n protected stageId: number | null = null;\r\n\r\n /** Stage result id reference */\r\n protected stageResultId: number | null = null;\r\n\r\n /**\r\n * Loads the default values for the driving report creation\r\n */\r\n protected loadDefaultValues(): void {\r\n if (this.id || this.stageResultId || !this.stageId) {\r\n return;\r\n }\r\n\r\n /** gets the crews registered in competition */\r\n this.stageResultService.getAvailableCrews(this.stageId).subscribe((crews: SelectedItem[]) => {\r\n this.crews = crews;\r\n this.originalCrewNumbersOrder = crews;\r\n })\r\n }\r\n\r\n /**\r\n * Initializes the stage id and stage name\r\n * @param data the stage id and stage name reference\r\n */\r\n protected override beforeDialogShow(data: StageBaseEntity): void {\r\n this.stageId = data.stageId;\r\n this.stageName = data.stageName;\r\n this.loadDefaultValues();\r\n };\r\n\r\n /**\r\n * Prefills the data after data obtain\r\n * @param data the obtained data reference\r\n */\r\n protected override afterDataPrefill(data: Entity): void {\r\n if (!data) {\r\n return;\r\n }\r\n \r\n this.crews = data.crews;\r\n this.originalCrewNumbersOrder = data.crews;\r\n this.stageResultId = data.stageResultId ?? this.id;\r\n this.formGroup.get('crewId').disable();\r\n this.fillFormGroup(data);\r\n };\r\n\r\n /**\r\n * Overridable method for filling the form group\r\n * @param data the stage result base entity reference\r\n */\r\n protected fillFormGroup(data: StageResultBaseEntity): void {}\r\n\r\n /**\r\n * Sorts crew numbers according to crew number(true) / registration order (false)\r\n * @param event the event to process toggle checked status \r\n */\r\n protected sortCrewNumbers(event: MatSlideToggleChange): void {\r\n if (event.checked) {\r\n /** sorts crew number according to mathematics */\r\n this.crews.sort((a, b) => a.text.localeCompare(b.text));\r\n this.sortByRegistration = false;\r\n return;\r\n }\r\n\r\n /** sorts crew numbers according to registration order */\r\n this.crews = this.originalCrewNumbersOrder;\r\n this.sortByRegistration = true;\r\n }\r\n}","import {\r\n AfterViewInit,\r\n Component,\r\n inject,\r\n OnInit,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { StageResultsTableService } from '../../services/stage-results-table.service';\r\nimport { GridBase } from 'src/app/controls/base/grid.base';\r\nimport { BreadcrumbComponent } from 'src/app/controls/breadcrumb/components/breadcrumb.component';\r\nimport { GridComponent } from 'src/app/controls/grid/components/grid.component';\r\nimport { ToolbarComponent } from 'src/app/controls/toolbar/components/toolbar.component';\r\nimport { ToolbarItemDirective } from 'src/app/controls/toolbar/directives/toolbar-item.directive';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { GridButtonTrigger } from 'src/app/controls/grid/models/grid-button-trigger.interface';\r\nimport { StageCardService } from '../../../competition-management/edit-competition-card/edit-stage-card/service/stage-card.service';\r\nimport { StageResultList } from '../../models/stage-result-list.interface';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { SpeedTrialForm } from '../../models/speed-trial-form.interface';\r\nimport { SpeedTrialResultComponent } from \"../speed-trial-dialog/speed-trial-result.component\";\r\nimport { StageBaseEntity } from '../../models/stage-base-entity.interface';\r\nimport { RadarComponent } from '../radar-dialog/radar.component';\r\nimport { ResultSummaryComponent } from 'src/app/controls/result-summary/components/result-summary.component';\r\nimport { ResultItemDirective } from 'src/app/controls/result-summary/directives/result-item.directive';\r\nimport { SpeedTrialService } from '../../services/speed-trial.service';\r\nimport { SpeedTrial } from '../../models/speed-trial.interface';\r\nimport { DialogComponent } from 'src/app/controls/dialog/components/dialog.component';\r\nimport { ResultsGridBase } from 'src/app/controls/base/results-grid.base';\r\n\r\n@Component({\r\n selector: 'app-stage-results-table',\r\n templateUrl: './stage-results-table.component.html',\r\n standalone: true,\r\n imports: [BreadcrumbComponent, GridComponent, ToolbarComponent, ToolbarItemDirective, TranslateModule, SpeedTrialResultComponent, RadarComponent, ResultSummaryComponent, ResultItemDirective, DialogComponent],\r\n providers: [StageResultsTableService, StageCardService, SpeedTrialService]\r\n})\r\nexport class StageResultsTableComponent extends ResultsGridBase {\r\n\r\n /** Speed trial dialog reference */\r\n protected speedTrialDialog = viewChild.required(SpeedTrialResultComponent);\r\n\r\n /** Radar dialog reference */\r\n protected radarDialog = viewChild.required(RadarComponent);\r\n\r\n /** Competition formgroup reference */\r\n protected formGroup: FormGroup | undefined = undefined;\r\n\r\n /** Stage card service reference */\r\n protected stageService = inject(StageCardService);\r\n\r\n /** Stage id reference */\r\n protected stageId: number | null = null;\r\n\r\n /** Speed trial reference */\r\n protected speedTrial: SpeedTrial | null = null;\r\n\r\n /** Competition id reference */\r\n private competitionId: number | null = null;\r\n\r\n /** Speed trial service reference */\r\n private speedTrialService = inject(SpeedTrialService);\r\n\r\n constructor(protected service: StageResultsTableService) {\r\n super(service);\r\n }\r\n\r\n ngOnInit(): void {\r\n /** initializes parent logic */\r\n super.ngOnInit();\r\n\r\n /** obtains ids from route */\r\n this.competitionId = this.route.parent.snapshot.params.id as number;\r\n this.stageId = this.route.snapshot.params.stageId as number;\r\n\r\n /** switches the speed trial column type according to competitor type organizer */\r\n // this.grid.columns.find(column => column.id === 'speedTrial').type = this.isOrganizer() ? 'editable' : 'link';\r\n\r\n /** switches the radar column type according to competitor type organizer */\r\n // this.grid.columns.find(column => column.id === 'radar').type = this.isOrganizer() ? 'editable' : 'text';\r\n\r\n /** obtains display results status */\r\n this.loadDisplayResultsStatus(this.stageId, true);\r\n }\r\n\r\n /**\r\n * Displays the selected driving report\r\n * @param crewNumber the selected crew\r\n * @param drivingReportId the selected driving report id\r\n */\r\n private navigateToSpecificDrivingReport(\r\n crewId: number,\r\n drivingReportId: number\r\n ): void {\r\n this.router.navigate(['/competition', this.competitionId, 'stage', this.stageId, 'crew', crewId, 'driving-report', drivingReportId, 'display']);\r\n }\r\n\r\n /**\r\n * Navigates to speed trial results\r\n */\r\n private navigateToSpeedTrialResults(): void {\r\n this.router.navigate(['/competition', this.competitionId, 'stage', this.stageId, 'speed-trial', 'results']);\r\n }\r\n\r\n /**\r\n * Navigates to driving reports\r\n */\r\n private navigateToDrivingReports(): void {\r\n this.router.navigate(['/competition', this.competitionId, 'stage', this.stageId, 'driving-reports']);\r\n }\r\n\r\n /**\r\n * Navigates to the add driving report card\r\n */\r\n private createNewDrivingReport(): void {\r\n this.router.navigate(['/competition', this.competitionId, 'stage', this.stageId, 'driving-reports', 'add']);\r\n }\r\n\r\n /**\r\n * Prints the stage results to xlsx\r\n */\r\n private printResults(): void {\r\n this.service.onPrintResults(this.stageId);\r\n }\r\n\r\n /**\r\n * Grid action handler\r\n * @param event the clicked event from grid\r\n */\r\n protected onButtonClick(event: GridButtonTrigger): void {\r\n /** initializes the stage properties */\r\n const stageProps: StageBaseEntity = {\r\n stageId: this.stageId,\r\n stageName: this.grid.getTableName\r\n }\r\n\r\n /** executes the button logic */\r\n switch (event.buttonId) {\r\n case 'show':\r\n this.navigateToSpecificDrivingReport(event.row.crewNumber, event.row.id);\r\n break;\r\n case 'speedTrial':\r\n /** if competitor is organizer, show edit speed trial dialog */\r\n if (this.isOrganizer()) {\r\n this.speedTrialDialog().show(event.row.id, stageProps);\r\n } else {\r\n /** otherwise show summary dialog with speed trial data */\r\n this.sub.add(this.speedTrialService.get(event.row.id).subscribe((result: SpeedTrial) => {\r\n this.speedTrial = result;\r\n /** waits for the dala load */\r\n setTimeout(() => {\r\n this.dialog.show();\r\n });\r\n }));\r\n }\r\n break;\r\n case 'radar':\r\n this.radarDialog().show(event.row.id, stageProps);\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Toolbar click handler\r\n * @param itemId the clicked item\r\n */\r\n protected onToolbarClick(itemId: string): void {\r\n /** initializes the stage properties */\r\n const stageProps: StageBaseEntity = {\r\n stageId: this.stageId,\r\n stageName: this.grid.getTableName\r\n }\r\n \r\n /** executes the button logic */\r\n switch (itemId) {\r\n case 'recalculate':\r\n this.recalculateResults(this.stageId);\r\n break;\r\n case 'visibility':\r\n this.updateDisplayStatus(this.stageId);\r\n break;\r\n case 'print':\r\n this.printResults();\r\n break;\r\n case 'speed-trial':\r\n this.speedTrialDialog().show(undefined, stageProps);\r\n break;\r\n case 'radar':\r\n this.radarDialog().show(undefined, stageProps);\r\n break;\r\n case 'driving-report':\r\n this.createNewDrivingReport();\r\n break;\r\n case 'speed-trials':\r\n this.navigateToSpeedTrialResults();\r\n break;\r\n case 'driving-reports':\r\n this.navigateToDrivingReports();\r\n break;\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n@if (speedTrial) {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n}","import { Component } from '@angular/core';\r\nimport { ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { DialogComponent } from 'src/app/controls/dialog/components/dialog.component';\r\nimport { SpeedTrialService } from '../../services/speed-trial.service';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { SelectComponent } from 'src/app/controls/select/select.component';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { StageResultsTableService } from '../../services/stage-results-table.service';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { InputComponent } from 'src/app/controls/input/input.component';\r\nimport { RadarForm } from '../../models/radar.form.interface';\r\nimport { StageResultBase } from '../../base/stage-result.base';\r\nimport { StageResultBaseEntity } from '../../models/stage-result-base.entity.interface';\r\nimport { RadarService } from '../../services/radar.service';\r\n\r\n@Component({\r\n selector: 'cec-radar-dialog',\r\n templateUrl: './radar.component.html',\r\n styleUrls: ['./radar.component.scss'],\r\n standalone: true,\r\n imports: [DialogComponent, TranslateModule, ReactiveFormsModule, MatFormFieldModule, SelectComponent, MatSlideToggleModule, MatTooltipModule, MatInputModule, InputComponent],\r\n providers: [RadarService, StageResultsTableService]\r\n})\r\nexport class RadarComponent extends StageResultBase {\r\n\r\n /** Radar create success message */\r\n protected successCreateKey = 'RadarCreateSuccess';\r\n\r\n /** Radar create fail message */\r\n protected failCreateKey = 'RadarCreateFailed';\r\n\r\n /** Radar update success message */\r\n protected successUpdateKey = 'RadarUpdateSuccess';\r\n\r\n /** Radar update fail message */\r\n protected failUpdateKey = 'RadarUpdateFailed';\r\n\r\n constructor(service: RadarService) {\r\n /** initializes crud service */\r\n super(service);\r\n\r\n /** builds a new radar form */\r\n this.formGroup = this.builder.group({\r\n crewId: [null as number | null, Validators.required],\r\n points: [0, Validators.required],\r\n });\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override getData(): unknown {\r\n return {\r\n ...this.formGroup.getRawValue(),\r\n stageId: this.stageId,\r\n stageResultId: this.stageResultId\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override fillFormGroup(data: StageResultBaseEntity): void {\r\n this.formGroup.patchValue({...data});\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n @if (!stageResultId) {\r\n \r\n }\r\n
\r\n \r\n
\r\n","import { Component } from '@angular/core';\r\nimport { ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { DialogComponent } from 'src/app/controls/dialog/components/dialog.component';\r\nimport { SpeedTrialForm } from '../../models/speed-trial-form.interface';\r\nimport { SpeedTrialService } from '../../services/speed-trial.service';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { SelectComponent } from 'src/app/controls/select/select.component';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { StageResultsTableService } from '../../services/stage-results-table.service';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { InputComponent } from 'src/app/controls/input/input.component';\r\nimport { CecBreakpointPipe } from 'src/app/controls/pipes/cec-breakpoint.pipe';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { SpeedTrial } from '../../models/speed-trial.interface';\r\nimport { StageResultBase } from '../../base/stage-result.base';\r\n\r\n@Component({\r\n selector: 'cec-speed-trial-result-dialog',\r\n templateUrl: './speed-trial-result.component.html',\r\n styleUrls: ['./speed-trial-result.component.scss'],\r\n standalone: true,\r\n imports: [DialogComponent, TranslateModule, ReactiveFormsModule, MatFormFieldModule, MatSelectModule, SelectComponent, MatSlideToggleModule, MatTooltipModule, MatInputModule, InputComponent, CecBreakpointPipe, AsyncPipe],\r\n providers: [SpeedTrialService, StageResultsTableService]\r\n})\r\nexport class SpeedTrialResultComponent extends StageResultBase {\r\n\r\n /** Speed trial create success message */\r\n protected successCreateKey = 'SpeedTrialCreateSuccess';\r\n\r\n /** Speed trial create fail message */\r\n protected failCreateKey = 'SpeedTrialCreateFailed';\r\n\r\n /** Speed trial update success message */\r\n protected successUpdateKey = 'SpeedTrialUpdateSuccess';\r\n\r\n /** Speed trial update fail message */\r\n protected failUpdateKey = 'SpeedTrialUpdateFailed';\r\n\r\n constructor(service: SpeedTrialService) {\r\n /** initializes crud service */\r\n super(service);\r\n\r\n /** builds a new speed trial form */\r\n this.formGroup = this.builder.group({\r\n crewId: [null as number | null, Validators.required],\r\n minutes: [0, Validators.required],\r\n seconds: [0, Validators.required],\r\n milliseconds: [0, Validators.required],\r\n points: [0, Validators.required],\r\n });\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override getData(): SpeedTrial {\r\n return {\r\n id: this.id,\r\n ...this.formGroup.getRawValue(),\r\n stageId: this.stageId,\r\n stageResultId: this.stageResultId\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override fillFormGroup(data: SpeedTrial): void {\r\n this.id = data.id;\r\n this.formGroup.patchValue({...data});\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n @if (!id) {\r\n \r\n }\r\n
\r\n @if ((['xl', 'xxl'] | breakpoint | async)) {\r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n @if ((['xs', 'sm', 'md', 'lg'] | breakpoint | async)) {\r\n \r\n }\r\n
\r\n
\r\n","import { ColumnDefinition } from 'src/app/controls/grid/models/column-definition.interface';\r\n\r\nexport const GRID_COLUMN_DEFINITION: ColumnDefinition[] = [\r\n {\r\n id: 'place',\r\n transKey: 'Position',\r\n exportAble: true,\r\n },\r\n {\r\n id: 'crewNumber',\r\n transKey: 'Crew number',\r\n exportAble: true,\r\n },\r\n {\r\n id: 'speedTrial',\r\n transKey: 'Speed trial',\r\n textAlign: 'center',\r\n type: 'editable',\r\n exportAble: true,\r\n },\r\n {\r\n id: 'radar',\r\n transKey: 'Radar',\r\n textAlign: 'center',\r\n type: 'editable',\r\n exportAble: true,\r\n },\r\n {\r\n id: 'delay',\r\n transKey: 'Delay time',\r\n exportAble: true\r\n },\r\n {\r\n id: 'stage',\r\n transKey: 'Stage',\r\n exportAble: true,\r\n },\r\n {\r\n id: 'total',\r\n transKey: 'Total summary',\r\n exportAble: true,\r\n },\r\n {\r\n id: 'show',\r\n transKey: 'Driving report',\r\n type: 'button',\r\n icon: 'assignment',\r\n tooltip: 'Show driving report',\r\n },\r\n];\r\n","export enum ResultType {\r\n STAGE, ROUND, COMPETITION, SEASON\r\n}","import { inject, Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { CrudService } from \"src/app/controls/base/crud-service.interface\";\r\nimport { SpeedTrial } from \"../models/speed-trial.interface\";\r\nimport { ApiDataService } from \"src/app/api/services/api-data.service\";\r\nimport { StageResultBaseEntity } from \"../models/stage-result-base.entity.interface\";\r\n\r\n@Injectable()\r\nexport class RadarService implements CrudService {\r\n\r\n /** Api data service reference */\r\n private service = inject(ApiDataService);\r\n\r\n /** @inheritdoc */\r\n get(id: number): Observable {\r\n return this.service.get('speed-trial-results/get-radar/' + id);\r\n }\r\n\r\n /** @inheritdoc */\r\n create(entity: StageResultBaseEntity): Observable {\r\n return this.service.post('speed-trial-results/create-radar', entity);\r\n }\r\n\r\n /** @inheritdoc */\r\n update(entity: StageResultBaseEntity): Observable {\r\n return this.service.put('speed-trial-results/update-radar', entity);\r\n }\r\n}","import { inject, Injectable } from \"@angular/core\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { CrudService } from \"src/app/controls/base/crud-service.interface\";\r\nimport { SpeedTrial } from \"../models/speed-trial.interface\";\r\nimport { ApiDataService } from \"src/app/api/services/api-data.service\";\r\nimport { GridDataProvider } from \"src/app/controls/grid/services/grid-data-provider.interface\";\r\nimport { ColumnDefinition } from \"src/app/controls/grid/models/column-definition.interface\";\r\nimport { StageCardService } from \"../../competition-management/edit-competition-card/edit-stage-card/service/stage-card.service\";\r\nimport { ResultType } from \"../enums/result-type.enum\";\r\nimport { DynamicSpeedTrial } from \"../models/dynamic-speed-trial.interface\";\r\n\r\n@Injectable()\r\nexport class SpeedTrialService implements GridDataProvider, CrudService {\r\n\r\n /** Api data service reference */\r\n private service = inject(ApiDataService);\r\n\r\n /** Stage service reference */\r\n private stageService = inject(StageCardService);\r\n\r\n /** @inheritdoc */\r\n public get(id: number): Observable {\r\n return this.service.get('speed-trial-results/get/' + id);\r\n }\r\n\r\n /** @inheritdoc */\r\n public create(entity: SpeedTrial): Observable {\r\n return this.service.post('speed-trial-results/create', entity);\r\n }\r\n\r\n /** @inheritdoc */\r\n public update(entity: SpeedTrial): Observable {\r\n return this.service.put('speed-trial-results/update', entity);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getTableName(identifier: number, type: ResultType): Observable {\r\n return this.stageService.getName(identifier);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getGridData(identifier: number, type: ResultType): Observable {\r\n return this.service.post('speed-trial-results/list', { id: identifier, params: ResultType[type] })\r\n .pipe(\r\n map((columns: DynamicSpeedTrial[]) => {\r\n if (type !== ResultType.STAGE) {\r\n columns.map((result) => ({\r\n ...result,\r\n results: this.mapResults(result),\r\n }));\r\n }\r\n return columns;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Maps the dynamic result columns\r\n * @param result the obtained result to map\r\n */\r\n private mapResults(speedTrial: DynamicSpeedTrial): void {\r\n for (const result of speedTrial?.results) {\r\n speedTrial[result.columnId] = result.value;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n public getColumnDefinition(identifier: number, type: ResultType): Observable {\r\n return this.service.post('speed-trial-results/column-definition', { id: identifier, params: ResultType[type] });\r\n }\r\n}","import { inject, Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { ApiDataService } from 'src/app/api/services/api-data.service';\r\nimport { GridDataProvider } from 'src/app/controls/grid/services/grid-data-provider.interface';\r\nimport { StageCardService } from '../../competition-management/edit-competition-card/edit-stage-card/service/stage-card.service';\r\nimport { StageResultList } from '../models/stage-result-list.interface';\r\nimport { SelectedItem } from 'src/app/controls/models/selected-item.interface';\r\nimport { ColumnDefinition } from 'src/app/controls/grid/models/column-definition.interface';\r\nimport { GRID_COLUMN_DEFINITION } from '../constants/grid-column-definition.constant';\r\nimport { ResultsService } from 'src/app/controls/base/results.service';\r\n\r\n@Injectable()\r\nexport class StageResultsTableService implements GridDataProvider, ResultsService {\r\n \r\n /** Api data service reference */\r\n private service = inject(ApiDataService);\r\n\r\n /** Stage service reference */\r\n private stageService = inject(StageCardService);\r\n \r\n /** @inheritdoc */\r\n public getTableName(stageId: number): Observable {\r\n return this.stageService.getName(stageId);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getGridData(stageId: number): Observable {\r\n return this.service.getAll('stage-results/stage/' + stageId);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getColumnDefinition(): Observable {\r\n return of(GRID_COLUMN_DEFINITION);\r\n }\r\n\r\n /**\r\n * function for for printing the results\r\n * @param stageId for stage evaluation\r\n */\r\n public onPrintResults(stageId: number): void {\r\n const url = 'stages/print-stage-results/' + stageId\r\n this.service.downloadFile(url).subscribe();\r\n }\r\n\r\n /**\r\n * Gets all available crews for creating a new stage result\r\n * @param stageId the id of desired stage\r\n * @returns the list of available crews\r\n */\r\n public getAvailableCrews(stageId: number): Observable {\r\n return this.service.getAll('stage-results/available-crews/' + stageId);\r\n }\r\n\r\n /**\r\n * Recalculates the stage results\r\n * @param id the stage id reference\r\n */\r\n public recalculateResults(id: number): Observable {\r\n return this.service.patchEmpty('stage-results/recalculate/' + id);\r\n }\r\n\r\n /** @inheritdoc */\r\n public getDisplayResultsStatus(id: number): Observable {\r\n return this.stageService.getDisplayResultsStatus(id);\r\n }\r\n\r\n /** @inheritdoc */\r\n public updateResultsStatus(id: number): Observable {\r\n return this.stageService.updateResultsStatus(id);\r\n }\r\n\r\n /**\r\n * Gets the stage result by id\r\n * @param id the id of desired stage result\r\n */\r\n public getResult(id: number): Observable {\r\n return this.service.get('stage-results/get/' + id);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {LocalStorageService} from '../../../api/services/localStorage';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-race-info',\r\n templateUrl: './race-info.component.html',\r\n styleUrls: ['./race-info.component.css']\r\n})\r\nexport class RaceInfoComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

race-info works!

\r\n","import {CompetitorSimple} from './competitor';\r\n\r\nexport class AddCrewResponseEntity {\r\n crewNumbers: number[];\r\n availableCompetitors: CompetitorSimple[];\r\n\r\n constructor(\r\n crewNumbers = [],\r\n availableCompetitors = []\r\n ) {\r\n this.crewNumbers = crewNumbers;\r\n this.availableCompetitors = availableCompetitors;\r\n }\r\n}\r\n","export const SERVER_API_URL = 'http://81.2.240.249:8080';\r\n// export const SERVER_API_URL = 'http://81.2.240.249:8081';\r\n// export const SERVER_API_URL = 'http://localhost:8080';\r\nexport const SERVER_API_URL_NEW = 'http://81.2.240.249:8080/api';\r\n// export const SERVER_API_URL_NEW = 'http://81.2.240.249:8081/api';\r\n// export const SERVER_API_URL_NEW = 'http://localhost:8080/api';\r\n","export class CecTable {\r\n content: string;\r\n type: CecTableType;\r\n adminStatus: CecTableAdminStatus;\r\n status: CecTableStatus;\r\n enabled: boolean;\r\n orTable: string\r\n\r\n constructor(\r\n content = '',\r\n type = CecTableType.NORMAL,\r\n adminStatus = CecTableAdminStatus.OK,\r\n status = CecTableStatus.OK,\r\n enabled = false,\r\n orTable = null,\r\n ) {\r\n this.content = content;\r\n this.type = type;\r\n this.adminStatus = adminStatus;\r\n this.status = status;\r\n this.enabled = enabled;\r\n this.orTable = orTable;\r\n }\r\n}\r\n\r\nexport enum CecTableType {\r\n NORMAL, LIFESTAMP\r\n}\r\n\r\nexport enum CecTableAdminStatus {\r\n OK, YESORNOT, CANCELLED, OR\r\n}\r\n\r\nexport enum CecTableStatus {\r\n OK, MISSING, MORE, OR\r\n}\r\n","import {DatePipe} from '@angular/common';\r\n\r\nexport class Race {\r\n name: string;\r\n shortName: string;\r\n place: string;\r\n coordinates: string;\r\n logo: string;\r\n info: string;\r\n timeZone: string;\r\n id?: string;\r\n date: string;\r\n accomodation: string;\r\n signingFrom: string;\r\n signingTo: string;\r\n pages = [];\r\n\r\n constructor(\r\n name = 'Slavomil Rusinak Cup',\r\n shortName = 'SRC',\r\n place = 'Spisska Bela',\r\n coordinates = 'XXX',\r\n logo = 'YYY',\r\n timeZone = 'Europe/Slovakia',\r\n date = new DatePipe('en-US').transform(new Date(), 'dd.MM.yyyy hh:mm:ss'),\r\n accomodation = 'Penzion Zora',\r\n signingFrom = new DatePipe('en-US').transform(new Date(), 'dd.MM.yyyy hh:mm:ss'),\r\n signingTo = new DatePipe('en-US').transform(new Date(), 'dd.MM.yyyy hh:mm:ss'),\r\n pages= [{icon: 'info', label: 'Details'}, {icon: 'assignment', label: 'Propositions'}, {icon: 'local_hotel', label: 'Accommodation'}, {icon: 'border_color', label: 'Sign in'}, {icon: 'supervised_user_circle', label: 'Registered crews'}]\r\n ) {\r\n this.name = name;\r\n this.shortName = shortName;\r\n this.place = place;\r\n this.coordinates = coordinates;\r\n this.logo = logo;\r\n this.timeZone = timeZone;\r\n this.date = date;\r\n this.accomodation = accomodation;\r\n this.signingFrom = signingFrom;\r\n this.signingTo = signingTo;\r\n this.pages = pages;\r\n }\r\n}\r\n\r\nexport class Article {\r\n title: string;\r\n image: string;\r\n author: string;\r\n content: string;\r\n timeZone: string;\r\n published: string;\r\n\r\n constructor(\r\n title = 'Season 2021 can officially begun!',\r\n image = 'SRC',\r\n author = 'Peter Rusinak',\r\n content = 'XXX',\r\n timeZone = 'Europe/Slovakia',\r\n published = new DatePipe('en-US').transform(new Date(), 'dd.MM.yyyy hh:mm:ss'),\r\n ) {\r\n this.title = title;\r\n this.image = image;\r\n this.author = author;\r\n this.content = content;\r\n this.timeZone = timeZone;\r\n this.published = published;\r\n }\r\n}\r\n","import { Round } from './round';\r\nimport {Stage} from './stage';\r\n\r\nexport class Competition {\r\n id: number;\r\n competitionName: string;\r\n competitionType: CompetitionType;\r\n registrationEnabledFrom: Date;\r\n registrationEnabledTo: Date;\r\n competitionStart: Date;\r\n competitionEnd: Date;\r\n rounds: Round[];\r\n authors: number[];\r\n\r\n constructor(\r\n id = null,\r\n competitionName = '',\r\n competitionType = CompetitionType.CEC,\r\n registrationEnabledFrom = new Date(),\r\n registrationEnabledTo = new Date(),\r\n competitionStart = new Date(),\r\n competitionEnd = new Date(),\r\n rounds = [],\r\n authors = []\r\n ) {\r\n this.id = id;\r\n this.competitionName = competitionName;\r\n this.competitionType = competitionType;\r\n this.registrationEnabledFrom = registrationEnabledFrom;\r\n this.registrationEnabledTo = registrationEnabledTo;\r\n this.competitionStart = competitionStart;\r\n this.competitionEnd = competitionEnd;\r\n this.rounds = rounds;\r\n this.authors = authors;\r\n }\r\n}\r\n\r\nexport class CompetitionSimpleDTO {\r\n id: number;\r\n competitionName: string;\r\n authors: number[];\r\n registrationEnabledFrom: Date;\r\n registrationEnabledTo: Date;\r\n competitionStart: Date;\r\n competitionEnd: Date;\r\n\r\n constructor(\r\n id = null,\r\n competitionName = '',\r\n authors = [],\r\n registrationEnabledFrom = new Date(),\r\n registrationEnabledTo = new Date(),\r\n competitionStart = new Date(),\r\n competitionEnd = new Date(),\r\n ) {\r\n this.id = id;\r\n this.competitionName = competitionName;\r\n this.authors = authors;\r\n this.registrationEnabledFrom = registrationEnabledFrom;\r\n this.registrationEnabledTo = registrationEnabledTo;\r\n this.competitionStart = competitionStart;\r\n this.competitionEnd = competitionEnd;\r\n }\r\n}\r\n\r\nexport class CompetitionAdvancedDTO {\r\n id: number;\r\n competitionName: string;\r\n validFrom: Date;\r\n validTo: Date;\r\n registrationEnabledFrom: Date;\r\n registrationEnabledTo: Date;\r\n\r\n constructor(\r\n id = null,\r\n competitionName = '',\r\n validFrom = new Date(),\r\n validTo = new Date(),\r\n registrationEnabledFrom = new Date(),\r\n registrationEnabledTo = new Date()\r\n ) {\r\n this.id = id;\r\n this.competitionName = competitionName;\r\n this.validFrom = validFrom;\r\n this.validTo = validTo;\r\n this.registrationEnabledFrom = registrationEnabledFrom;\r\n this.registrationEnabledTo = registrationEnabledTo;\r\n }\r\n}\r\n\r\nexport class AlreadyRegisteredInCompetition {\r\n competitionId: number;\r\n competitionRegistrationId: number;\r\n serverTime: Date;\r\n\r\n constructor(\r\n competitionId = null,\r\n competitionRegistrationId = null,\r\n serverTime = new Date()\r\n ) {\r\n this.competitionId = competitionId;\r\n this.competitionRegistrationId = competitionRegistrationId;\r\n this.serverTime = serverTime\r\n }\r\n}\r\n\r\nexport enum CompetitionType {\r\n CEC\r\n}\r\n","import {CrewSample} from './crew';\r\nimport {CompetitorSimple} from './competitor';\r\n\r\nexport class CompetitionRegistration {\r\n id: number;\r\n noteCompetitor: string;\r\n noteAuthor: string;\r\n accommodationFrom: Date;\r\n accommodationTo: Date;\r\n registrationTime: Date;\r\n competitionId: number;\r\n crewId: number;\r\n driverId: number;\r\n navigatorId: number;\r\n additionalCompetitors: string;\r\n\r\n constructor(\r\n id = null,\r\n competitionId = null,\r\n crewId = null,\r\n accommodationFrom = new Date(),\r\n accommodationTo = new Date(),\r\n registrationTime = new Date(),\r\n noteCompetitor = '',\r\n noteAuthor = '',\r\n driverId = null,\r\n navigatorId = null,\r\n additionalCompetitors = null\r\n ) {\r\n this.id = id;\r\n this.noteCompetitor = noteCompetitor;\r\n this.noteAuthor = noteAuthor;\r\n this.accommodationFrom = accommodationFrom;\r\n this.accommodationTo = accommodationTo;\r\n this.registrationTime = registrationTime;\r\n this.competitionId = competitionId;\r\n this.crewId = crewId;\r\n this.driverId = driverId;\r\n this.navigatorId = navigatorId;\r\n this.additionalCompetitors = additionalCompetitors;\r\n }\r\n}\r\n\r\nexport class CompetitionRegistrationFull {\r\n id: number;\r\n noteCompetitor: string;\r\n noteAuthor: string;\r\n accommodationFrom: Date;\r\n accommodationTo: Date;\r\n competitionId: number;\r\n crew: CrewSample;\r\n driver: CompetitorSimple;\r\n navigator: CompetitorSimple;\r\n additionalCompetitors: CompetitorSimple[];\r\n\r\n constructor(\r\n id = null,\r\n competitionId = null,\r\n crew = null,\r\n accommodationFrom = new Date(),\r\n accommodationTo = new Date(),\r\n noteCompetitor = '',\r\n noteAuthor = '',\r\n driver = null,\r\n navigator = null,\r\n additionalCompetitors = []\r\n ) {\r\n this.id = id;\r\n this.noteCompetitor = noteCompetitor;\r\n this.noteAuthor = noteAuthor;\r\n this.accommodationFrom = accommodationFrom;\r\n this.accommodationTo = accommodationTo;\r\n this.competitionId = competitionId;\r\n this.crew = crew;\r\n this.driver = driver;\r\n this.navigator = navigator;\r\n this.additionalCompetitors = additionalCompetitors;\r\n }\r\n}\r\n\r\nexport class CompetitionRegistrationSimple {\r\n id: number;\r\n noteCompetitor: string;\r\n registrationTime: Date;\r\n competitionId: number;\r\n crew: CrewSample;\r\n driver: CompetitorSimple;\r\n navigator: CompetitorSimple;\r\n\r\n constructor(\r\n id = null,\r\n competitionId = null,\r\n crew = null,\r\n noteCompetitor = '',\r\n registrationTime = new Date(),\r\n driver = null,\r\n navigator = null\r\n ) {\r\n this.id = id;\r\n this.noteCompetitor = noteCompetitor;\r\n this.registrationTime = registrationTime;\r\n this.competitionId = competitionId;\r\n this.crew = crew;\r\n this.driver = driver;\r\n this.navigator = navigator;\r\n }\r\n}\r\n\r\nexport class CompetitionRegistrationEdit {\r\n id: number;\r\n noteCompetitor: string;\r\n accommodationFrom: Date;\r\n accommodationTo: Date;\r\n competitionId: number;\r\n crew: CrewSample;\r\n driver: CompetitorSimple;\r\n navigator: CompetitorSimple;\r\n additionalCompetitors: CompetitorSimple[];\r\n\r\n constructor(\r\n id = null,\r\n competitionId = null,\r\n crew = null,\r\n accommodationFrom = new Date(),\r\n accommodationTo = new Date(),\r\n noteCompetitor = '',\r\n driver = null,\r\n navigator = null,\r\n additionalCompetitors = []\r\n ) {\r\n this.id = id;\r\n this.noteCompetitor = noteCompetitor;\r\n this.accommodationFrom = accommodationFrom;\r\n this.accommodationTo = accommodationTo;\r\n this.competitionId = competitionId;\r\n this.crew = crew;\r\n this.driver = driver;\r\n this.navigator = navigator;\r\n this.additionalCompetitors = additionalCompetitors;\r\n }\r\n}\r\n\r\nexport class CompetitionRegistrationEditRequest {\r\n id: number;\r\n noteCompetitor: string;\r\n registrationTime: Date;\r\n accommodationFrom: Date;\r\n accommodationTo: Date;\r\n competitionId: number;\r\n crewId: number;\r\n driverId: number;\r\n navigatorId: number;\r\n additionalCompetitors: string;\r\n\r\n constructor(\r\n id = null,\r\n competitionId = null,\r\n crewId = null,\r\n registrationTime = new Date(),\r\n accommodationFrom = new Date(),\r\n accommodationTo = new Date(),\r\n noteCompetitor = '',\r\n driverId = null,\r\n navigatorId = null,\r\n additionalCompetitors = null\r\n ) {\r\n this.id = id;\r\n this.noteCompetitor = noteCompetitor;\r\n this.registrationTime = registrationTime;\r\n this.accommodationFrom = accommodationFrom;\r\n this.accommodationTo = accommodationTo;\r\n this.competitionId = competitionId;\r\n this.crewId = crewId;\r\n this.driverId = driverId;\r\n this.navigatorId = navigatorId;\r\n this.additionalCompetitors = additionalCompetitors;\r\n }\r\n}\r\n","export class Competitor {\r\n id: number;\r\n country: string;\r\n firstName: string;\r\n lastName: string;\r\n idNumber: string;\r\n dateOfBirth: Date;\r\n address: string;\r\n phone: string;\r\n role: Role;\r\n userId: number;\r\n\r\n constructor(\r\n id = null,\r\n country = '',\r\n firstName = '',\r\n lastName = '',\r\n idNumber = '',\r\n dateOfBirth = new Date(),\r\n address = '',\r\n phone = '',\r\n role = Role.USER,\r\n userId = null\r\n ) {\r\n this.id = id;\r\n this.country = country;\r\n this.firstName = firstName;\r\n this.lastName = lastName;\r\n this.idNumber = idNumber;\r\n this.dateOfBirth = dateOfBirth;\r\n this.address = address;\r\n this.phone = phone;\r\n this.role = role;\r\n this.userId = userId;\r\n }\r\n}\r\n\r\nexport class CompetitorSimple {\r\n id: number;\r\n country: string;\r\n firstName: string;\r\n lastName: string;\r\n\r\n constructor(\r\n id = null,\r\n country = '',\r\n firstName = '',\r\n lastName = '',\r\n ) {\r\n this.id = id;\r\n this.country = country;\r\n this.firstName = firstName;\r\n this.lastName = lastName;\r\n }\r\n}\r\n\r\nexport enum Role {\r\n ADMIN,\r\n CREATOR,\r\n USER\r\n}\r\n","import {CompetitorSimple} from './competitor';\r\n\r\nexport class Crew {\r\n id: number;\r\n number: number;\r\n driver: number;\r\n navigator: number;\r\n additionalCompetitors: number[];\r\n\r\n constructor(\r\n id = null,\r\n // tslint:disable-next-line:variable-name\r\n number = 0,\r\n driver = 0,\r\n navigator = 0,\r\n additionalCompetitors = [],\r\n ) {\r\n this.id = id;\r\n this.number = number;\r\n this.driver = driver;\r\n this.navigator = navigator;\r\n this.additionalCompetitors = additionalCompetitors;\r\n }\r\n}\r\n\r\nexport class CrewSample {\r\n id: number;\r\n number: number;\r\n driver: CompetitorSimple;\r\n navigator: CompetitorSimple;\r\n additionalCompetitors: CompetitorSimple[];\r\n\r\n constructor(\r\n id = null,\r\n // tslint:disable-next-line:variable-name\r\n number = 0,\r\n driver = null,\r\n navigator = null,\r\n additionalCompetitors = [],\r\n ) {\r\n this.id = id;\r\n this.number = number;\r\n this.driver = driver;\r\n this.navigator = navigator;\r\n this.additionalCompetitors = additionalCompetitors;\r\n }\r\n}\r\n","import {CrewSample} from './crew';\r\nimport {AddCrewResponseEntity} from './addCrewResponseEntity';\r\n\r\nexport class EditCrewCardInfo {\r\n crew: CrewSample;\r\n crewNumbersWithCompetitors: AddCrewResponseEntity;\r\n\r\n constructor(\r\n crew = new CrewSample(),\r\n crewNumbersWithCompetitors = new AddCrewResponseEntity()\r\n ) {\r\n this.crew = crew;\r\n this.crewNumbersWithCompetitors = crewNumbersWithCompetitors;\r\n }\r\n}\r\n","import {Role} from './competitor';\r\n\r\nexport class LoggedCompetitor {\r\n id: number;\r\n firstName: string;\r\n lastName: string;\r\n role: Role;\r\n userId: number;\r\n\r\n constructor(\r\n id = null,\r\n firstName = '',\r\n lastName = '',\r\n role = Role.USER,\r\n userId = null\r\n ) {\r\n this.id = id;\r\n this.firstName = firstName;\r\n this.lastName = lastName;\r\n this.role = role;\r\n this.userId = userId;\r\n }\r\n}\r\n","import {Language} from '../components/navigation-bar/language-switcher/types/language-switcher.types';\r\nimport {Authority} from './user';\r\n\r\nexport class LoggedUser {\r\n id: number;\r\n username: string;\r\n token: string;\r\n language: Language;\r\n validUntil: Date;\r\n authorities: Authority[];\r\n\r\n constructor(\r\n id = null,\r\n username = '',\r\n token = '',\r\n language = Language.EN,\r\n validUntil = new Date(),\r\n authorities = [Authority.USER]\r\n ) {\r\n this.id = id;\r\n this.username = username;\r\n this.token = token;\r\n this.language = language;\r\n this.validUntil = validUntil;\r\n this.authorities = authorities;\r\n }\r\n}\r\n","export class Login {\r\n username: string;\r\n password: string;\r\n rememberMe: boolean;\r\n\r\n constructor(\r\n username = '',\r\n password = '',\r\n rememberMe = false,\r\n ) {\r\n this.username = username;\r\n this.password = password;\r\n this.rememberMe = rememberMe;\r\n }\r\n}\r\n","export class SpeedTrialRequest {\r\n id: number;\r\n crewNumber: number;\r\n minutes: number;\r\n seconds: number;\r\n milliseconds: number;\r\n points: number;\r\n stageResultId: number;\r\n\r\n constructor(\r\n id: number,\r\n crewNumber = 0,\r\n minutes = 0,\r\n seconds = 0,\r\n milliseconds = 0,\r\n points = 0,\r\n stageResultId = 0,\r\n ) {\r\n this.id = id;\r\n this.crewNumber = crewNumber;\r\n this.minutes = minutes;\r\n this.seconds = seconds;\r\n this.milliseconds = milliseconds;\r\n this.points = points;\r\n this.stageResultId = stageResultId;\r\n }\r\n}\r\n\r\nexport class SpeedTrialPreRequest {\r\n crewNumber: number;\r\n stageId: number;\r\n stageResultId: number;\r\n\r\n constructor(\r\n crewNumber = 0,\r\n stageId = 0,\r\n stageResultId = 0,\r\n ) {\r\n this.crewNumber = crewNumber;\r\n this.stageId = stageId;\r\n this.stageResultId = stageResultId;\r\n }\r\n}","import {Language} from '../components/navigation-bar/language-switcher/types/language-switcher.types';\r\n\r\nexport class User {\r\n id: number;\r\n email: string;\r\n login: string;\r\n password: string;\r\n firstName: string;\r\n lastName: string;\r\n imageUrl: string;\r\n activated: boolean;\r\n createdBy: string;\r\n createdDate: Date;\r\n lastModifiedBy: string;\r\n lastModifiedDate: Date;\r\n langKey: Language;\r\n authorities: Authority[];\r\n\r\n constructor(\r\n id: number,\r\n email = '',\r\n login = '',\r\n password = '',\r\n firstName = '',\r\n lastName = '',\r\n imageUrl = '',\r\n activated = false,\r\n createdBy = '',\r\n createdDate = new Date(),\r\n lastModifiedBy = '',\r\n lastModifiedDate = new Date(),\r\n langKey = Language.EN,\r\n authorities = [Authority.USER],\r\n ) {\r\n this.id = id;\r\n this.email = email;\r\n this.login = login;\r\n this.password = password;\r\n this.firstName = firstName;\r\n this.lastName = lastName;\r\n this.imageUrl = imageUrl;\r\n this.activated = activated;\r\n this.createdBy = createdBy;\r\n this.createdDate = createdDate;\r\n this.lastModifiedBy = lastModifiedBy;\r\n this.lastModifiedDate = lastModifiedDate;\r\n this.langKey = langKey;\r\n this.authorities = authorities;\r\n }\r\n}\r\n\r\nexport enum Authority {\r\n ADMIN = 'ROLE_ADMIN',\r\n CREATOR = 'ROLE_CREATOR',\r\n USER = 'ROLE_USER'\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostListener, inject, input, Input, OnDestroy, OnInit, Optional, Output, Renderer2, Self, signal, ViewChild, WritableSignal } from \"@angular/core\";\r\nimport { ControlValueAccessor, NgControl, Validators } from \"@angular/forms\";\r\nimport { debounceTime, Subject, Subscription } from \"rxjs\";\r\nimport { stringFormat } from \"../functions/string-format.function\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { MatFormField } from \"@angular/material/form-field\";\r\n\r\n@Directive()\r\nexport abstract class ControlBase implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy {\r\n\r\n protected translate = inject(TranslateService);\r\n\r\n @Input() formControlName = '';\r\n\r\n public value: T | null = null;\r\n\r\n private disabledFlag = false;\r\n\r\n protected isDisabled: WritableSignal = signal(false);\r\n\r\n @Input() set disabled(disabled: boolean) {\r\n this.isDisabled.set(disabled);\r\n }\r\n\r\n @Input() labelKey: string = '';\r\n\r\n showError = input(true);\r\n\r\n /** If picker should be required */\r\n protected _isRequired: WritableSignal = signal(false);\r\n\r\n get isRequired(): boolean {\r\n return this._isRequired();\r\n }\r\n\r\n @Input()\r\n set isRequired(required: boolean) {\r\n this._isRequired.set(required);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n private onTouched: any;\r\n \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n protected onChange: any;\r\n\r\n @Output() valueChanged = new EventEmitter();\r\n\r\n protected valueChangedDebouncer: Subject = new Subject();\r\n\r\n protected subs = new Subscription();\r\n\r\n @Input() debounceTime = 1000;\r\n \r\n protected errorMessages: WritableSignal = signal([]);\r\n\r\n public hasErrors = false;\r\n\r\n @ViewChild(MatFormField, { static: true }) field!: MatFormField;\r\n\r\n private renderer = inject(Renderer2);\r\n\r\n constructor(@Optional() @Self() public ngControl: NgControl) {\r\n if (ngControl) {\r\n ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n private showErrorField(hasErrors: boolean): void {\r\n if (!this.field) {\r\n return;\r\n }\r\n\r\n // Find the div with the \"text\" class\r\n const textElement = this.field?._elementRef.nativeElement?.querySelector('.mat-mdc-text-field-wrapper');\r\n\r\n if (hasErrors) {\r\n // Add the new class to the div\r\n this.renderer?.addClass(textElement, 'mdc-text-field--invalid');\r\n } else {\r\n this.renderer?.removeClass(textElement, 'mdc-text-field--invalid');\r\n }\r\n this.hasErrors = hasErrors;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subs = this.valueChangedDebouncer\r\n .pipe(debounceTime(this.debounceTime))\r\n .subscribe((value) => {\r\n this.valueChanged.emit(value)\r\n });\r\n\r\n /** subscribes to language change for error messages */\r\n this.subs.add(this.translate.onLangChange.subscribe(() => {\r\n this.beforeLanguageChange();\r\n this.errorMessages.update(() => this.getErrorMessages());\r\n }));\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.ngControl) {\r\n this._isRequired.set(this.ngControl?.control?.hasValidator(Validators.required));\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subs?.unsubscribe();\r\n }\r\n\r\n writeValue(value: T): void {\r\n this.value = value;\r\n this.setControlValue(this.value);\r\n this.valueChangedDebouncer.next(\r\n this.value\r\n );\r\n this.afterValueWrite();\r\n this.errorMessages.update(() => this.getErrorMessages());\r\n }\r\n \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n registerOnChange(fn: any): void {\r\n this.value = this.getControlValue();\r\n this.onChange = fn;\r\n }\r\n \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabledFlag = isDisabled;\r\n this.setControlDisabled(this.disabledFlag);\r\n }\r\n \r\n @HostListener('input', ['$event']) propagateValue(event?: Event): void {\r\n this.onChange(this.value);\r\n }\r\n \r\n @HostListener('focusout', ['$event']) propagateBlur(event: Event): void {\r\n this.onTouched(event);\r\n this.afterFocusOut(this.ngControl);\r\n this.errorMessages.update(() => this.getErrorMessages());\r\n }\r\n\r\n /**\r\n * Overridable method to insert logic after focus out\r\n */\r\n protected afterFocusOut(value?: unknown): void {}\r\n\r\n /**\r\n * Overridable method to insert logic after value write\r\n */\r\n protected afterValueWrite(): void {}\r\n\r\n /**\r\n * Overridable method to insert logic before language change\r\n */\r\n protected beforeLanguageChange(): void {}\r\n\r\n protected getErrorMessages(): string[] {\r\n if (!this.ngControl.control?.touched || !this.ngControl.control?.errors) {\r\n this.showErrorField(false);\r\n return [];\r\n }\r\n \r\n const errorMessages = [];\r\n for (const err in this.ngControl.control.errors) {\r\n const errorObject = this.ngControl.control.errors[err];\r\n \r\n // For custom validations\r\n // if (typeof errorObject === 'string') {\r\n // errorMessages.push(errorObject);\r\n // return errorMessages;\r\n // }\r\n \r\n switch (err) {\r\n case 'required':\r\n errorMessages.push(\r\n this.translate.instant('requiredErrorMessage')\r\n );\r\n break;\r\n case 'minlength':\r\n errorMessages.push(\r\n stringFormat(this.translate.instant('minValueLength'), [\r\n errorObject.requiredLength,\r\n errorObject.actualLength,\r\n ])\r\n );\r\n break;\r\n case 'maxlength':\r\n errorMessages.push(\r\n stringFormat(this.translate.instant('maxValueLength'), [\r\n errorObject.requiredLength,\r\n errorObject.actualLength,\r\n ])\r\n );\r\n break;\r\n case 'min':\r\n errorMessages.push(\r\n stringFormat(this.translate.instant('minValue'), [\r\n errorObject.min,\r\n errorObject.actual,\r\n ])\r\n );\r\n break;\r\n case 'max':\r\n errorMessages.push(\r\n stringFormat(this.translate.instant('maxValue'), [\r\n errorObject.max,\r\n errorObject.actual,\r\n ])\r\n );\r\n break;\r\n case 'dateRange':\r\n errorMessages.push(\r\n this.translate.instant('dateRangeErrorMessage')\r\n );\r\n break;\r\n case 'maxValues':\r\n errorMessages.push(\r\n this.translate.instant('maxValuesErrorMessage')\r\n );\r\n break;\r\n case 'minValues':\r\n errorMessages.push(\r\n this.translate.instant('minValuesErrorMessage')\r\n );\r\n break;\r\n case 'duplicate':\r\n errorMessages.push(\r\n this.translate.instant('duplicate')\r\n );\r\n break;\r\n case 'higher':\r\n errorMessages.push(\r\n stringFormat(this.translate.instant('higher'), [\r\n this.translate.instant(errorObject)\r\n ])\r\n );\r\n break;\r\n case 'lower':\r\n errorMessages.push(\r\n stringFormat(this.translate.instant('lower'), [\r\n this.translate.instant(errorObject)\r\n ])\r\n );\r\n break;\r\n default:\r\n errorMessages.push(\r\n this.translate.instant('generalValidationErrorMessage')\r\n );\r\n }\r\n }\r\n\r\n this.showErrorField(errorMessages.length > 0);\r\n \r\n return errorMessages;\r\n }\r\n\r\n protected mouseInside(event: Event): void {\r\n event.stopPropagation();\r\n }\r\n\r\n protected abstract getControlValue(): T | null;\r\n protected abstract setControlValue(val: T | null): void;\r\n protected abstract setControlDisabled(isDisable: boolean): void;\r\n}","import { Directive, inject, OnDestroy, output, viewChild } from \"@angular/core\";\r\nimport { AbstractControl, FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { SnackBarService } from \"../snack-bar/services/snack-bar.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { CrudService } from \"./crud-service.interface\";\r\nimport { DialogComponent } from \"../dialog/components/dialog.component\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Directive()\r\nexport abstract class CrudDialogBase; }, Entity> implements OnDestroy {\r\n\r\n /** Dialog template reference */\r\n public dialog = viewChild.required(DialogComponent);\r\n\r\n /** Entity id reference */\r\n protected id: number | undefined = undefined;\r\n\r\n /** Speed trial result formgroup reference */\r\n protected formGroup: FormGroup | undefined = undefined;\r\n\r\n /** Entity create success message */\r\n protected abstract successCreateKey: string;\r\n\r\n /** Entity create fail message */\r\n protected abstract failCreateKey: string;\r\n\r\n /** Entity update success message */\r\n protected abstract successUpdateKey: string;\r\n\r\n /** Entity update fail message */\r\n protected abstract failUpdateKey: string;\r\n\r\n /** Form builder reference */\r\n protected builder = inject(FormBuilder);\r\n\r\n /** Router reference */\r\n protected router = inject(Router);\r\n\r\n /** Service subscription reference */\r\n protected sub = new Subscription();\r\n\r\n /** Snackbar service reference */\r\n private snackBar = inject(SnackBarService);\r\n\r\n /** Translate service reference */\r\n private translate = inject(TranslateService);\r\n\r\n /** Output signal emitter reference */\r\n public reload = output();\r\n\r\n constructor(protected service: CrudService) {}\r\n \r\n ngOnDestroy(): void {\r\n /** unsubscribes from observables */\r\n this.sub.unsubscribe();\r\n }\r\n\r\n /**\r\n * Overridable method for obtaining correct data\r\n * @returns the correct data / formgroup value\r\n */\r\n protected getData(): unknown {\r\n return {...this.formGroup.getRawValue()};\r\n }\r\n\r\n /**\r\n * Overridable method if other parameter than id has to be set\r\n * @param id the received id\r\n */\r\n protected setId(id?: number): void {\r\n this.id = id;\r\n }\r\n\r\n /**\r\n * Overridable method for dialog cancel button click logic\r\n */\r\n protected afterCancelClick(): void {};\r\n\r\n /**\r\n * Overridable method for before dialog show logic\r\n */\r\n protected beforeDialogShow(data?: unknown): void {};\r\n\r\n /**\r\n * Method for after data prefill logic\r\n */\r\n protected abstract afterDataPrefill(data?: Entity);\r\n\r\n /**\r\n * Overridable method for after data save logic\r\n */\r\n protected afterDataSave(data?: unknown) {};\r\n\r\n /**\r\n * Shows dialog content\r\n * @param id the id of the displayed entity\r\n * @param data the additional data for dialog\r\n */\r\n public show(id?: number, data?: unknown): void {\r\n this.setId(id);\r\n this.beforeDialogShow(data);\r\n this.loadPrefilledData();\r\n this.dialog().show();\r\n }\r\n\r\n /**\r\n * Loads the prefilled data if entity exists\r\n */\r\n private loadPrefilledData(): void {\r\n /** if entity does not exist, do nothing */\r\n if (!this.id) {\r\n this.afterDataPrefill();\r\n return;\r\n }\r\n\r\n /** gets the existing entity to prefill dialog */\r\n this.sub.add(this.service.get(this.id).subscribe((result: Entity) => {\r\n this.afterDataPrefill(result);\r\n }));\r\n }\r\n\r\n /**\r\n * Executes the competition registration logic according to the button clicked\r\n * @param success the type of button clicked\r\n */\r\n protected onClickButton(success: boolean): void {\r\n /** if cancel button is clicked, just close the dialog */\r\n if (!success) {\r\n this.afterCancelClick();\r\n return;\r\n }\r\n\r\n if (!this.id) {\r\n /** if id is not provided, creates new competition registration */\r\n this.sub.add(\r\n this.service.create(this.getData()).subscribe((result) => {\r\n if (result) {\r\n /** shows success snackbar when crew is registered to competition */\r\n this.snackBar.success(this.translate.instant(this.successCreateKey));\r\n\r\n /** reloads registered crews table */\r\n this.reload.emit();\r\n this.afterDataSave(result);\r\n return;\r\n }\r\n\r\n /** shows danger snackbar when crew registration to competition fails */\r\n this.snackBar.danger(this.translate.instant(this.failCreateKey));\r\n })\r\n );\r\n } else {\r\n /** if id is provided, update existing competition registration */\r\n this.sub.add(\r\n this.service.update(this.getData()).subscribe((result) => {\r\n if (result) {\r\n /** shows success snackbar when competition registration is updated */\r\n this.snackBar.success(this.translate.instant(this.successUpdateKey));\r\n\r\n /** reloads registered crews table */\r\n this.reload.emit();\r\n this.afterDataSave(result);\r\n return;\r\n }\r\n\r\n /** shows danger snackbar when update of competition registration fails */\r\n this.snackBar.danger(this.translate.instant(this.failUpdateKey));\r\n })\r\n );\r\n }\r\n }\r\n}","import { Directive, inject, OnInit, signal, ViewChild, WritableSignal } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { SnackBarService } from \"../snack-bar/services/snack-bar.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { GridComponent } from \"../grid/components/grid.component\";\r\nimport { ConfirmationDialogComponent } from \"../confirmation-dialog/confirmation-dialog.component\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { InfoDialogComponent } from \"../info-dialog/info-dialog.component\";\r\nimport { FormBuilder } from \"@angular/forms\";\r\nimport { DialogComponent } from \"../dialog/components/dialog.component\";\r\n\r\n@Directive()\r\nexport abstract class GridBase implements OnInit {\r\n\r\n @ViewChild(GridComponent) grid!: GridComponent;\r\n\r\n @ViewChild(ConfirmationDialogComponent) confirmationDialog!: ConfirmationDialogComponent;\r\n\r\n @ViewChild(InfoDialogComponent) infoDialog!: InfoDialogComponent;\r\n\r\n @ViewChild(DialogComponent) dialog!: DialogComponent;\r\n \r\n /** Organizer flag */\r\n protected isOrganizer: WritableSignal = signal(false);\r\n\r\n /** Activated Route reference */\r\n protected route = inject(ActivatedRoute);\r\n\r\n /** Router reference */\r\n protected router = inject(Router);\r\n\r\n protected snackBar: SnackBarService = inject(SnackBarService);\r\n\r\n protected translate: TranslateService = inject(TranslateService);\r\n\r\n protected builder = inject(FormBuilder);\r\n\r\n protected sub = new Subscription();\r\n\r\n /** Display reports flag */\r\n protected display: WritableSignal = signal(false);\r\n\r\n ngOnInit(): void {\r\n /** obtains organizer info from resolver */\r\n this.route.data.subscribe((data) => {\r\n console.log(data);\r\n this.isOrganizer.set(data?.isOrganizer);\r\n });\r\n }\r\n\r\n /**\r\n * Reloads the grid after changes\r\n */\r\n protected reload(): void {\r\n this.grid?.reload();\r\n }\r\n}","import { Directive } from \"@angular/core\";\r\nimport { GridBase } from \"./grid.base\";\r\nimport { ResultsService } from \"./results.service\";\r\n\r\n@Directive()\r\nexport abstract class ResultsGridBase extends GridBase {\r\n\r\n constructor(protected service: ResultsService) {\r\n super();\r\n }\r\n\r\n /**\r\n * Recalculates the results by id\r\n * @param id the id of the desired results to recalculate\r\n */\r\n protected recalculateResults(id: number): void {\r\n this.service.recalculateResults(id).subscribe(() => {\r\n /** shows success snackbar when results were recalculated */\r\n this.snackBar.success(this.translate.instant('ResultsRecalculated'));\r\n\r\n /** reloads grid with fresh data */\r\n this.reload();\r\n })\r\n }\r\n\r\n /**\r\n * Obtains display results status\r\n */\r\n protected loadDisplayResultsStatus(id: number, initialLoad = false): void {\r\n this.sub.add(this.service.getDisplayResultsStatus(id).subscribe((display: boolean) => {\r\n /** notifies user about display property change */\r\n if (!initialLoad) {\r\n this.snackBar.success(this.translate.instant(display ? 'ResultsDisplaySuccess' : 'ResultsHideSuccess'));\r\n }\r\n /** sets display property according to API change */\r\n this.display.set(display);\r\n }));\r\n }\r\n\r\n\r\n\r\n /**\r\n * Updates the display results status\r\n */\r\n protected updateDisplayStatus(id: number): void {\r\n this.sub.add(this.service.updateResultsStatus(id).subscribe(() => {\r\n /** loads the display results status */\r\n this.loadDisplayResultsStatus(id);\r\n }));\r\n }\r\n}","import { Component, inject, input, Input, OnInit, signal, WritableSignal } from '@angular/core';\r\nimport { Breadcrumb } from '../models/breadcrumb.interface';\r\nimport { BreadcrumbService } from '../services/breadcrumb.service';\r\nimport { RouterModule } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AsyncPipe, CommonModule } from '@angular/common';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cec-breadcrumb',\r\n standalone: true,\r\n imports: [RouterModule, AsyncPipe, CommonModule, TranslateModule],\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrl: './breadcrumb.component.scss',\r\n providers: [BreadcrumbService]\r\n})\r\nexport class BreadcrumbComponent {\r\n\r\n /** If breadcrumb should be visible */\r\n protected isVisible = input(true);\r\n\r\n /** List of breadcrumbs obtained from service */\r\n breadcrumbs$: Observable;\r\n\r\n constructor(breadcrumbService: BreadcrumbService) {\r\n this.breadcrumbs$ = breadcrumbService.breadcrumbs$;\r\n }\r\n}\r\n","@if (isVisible()) {\r\n
    \r\n
  1. \r\n {{ breadcrumb.label | translate }}\r\n \r\n \r\n {{ breadcrumb.label | translate }}\r\n \r\n @if (i !== (breadcrumbs$ | async)?.length - 1) {\r\n / \r\n }\r\n
  2. \r\n
\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ActivatedRouteSnapshot, NavigationEnd, Route, Router, Routes, Scroll } from '@angular/router';\r\nimport { BehaviorSubject, filter, mergeMap, Observable, of } from 'rxjs';\r\nimport { Breadcrumb } from '../models/breadcrumb.interface';\r\nimport { PlatformLocation } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class BreadcrumbService {\r\n // Subject emitting the breadcrumb hierarchy\r\n private readonly _breadcrumbs$ = new BehaviorSubject([]);\r\n\r\n items: Breadcrumb[] = [];\r\n\r\n private routes: Routes;\r\n\r\n // Observable exposing the breadcrumb hierarchy\r\n readonly breadcrumbs$ = this._breadcrumbs$.asObservable();\r\n\r\n constructor(private route: ActivatedRoute, private platformLocation: PlatformLocation) {\r\n this.processBreadcrumbItems();\r\n }\r\n\r\n /**\r\n * Processes breadcrumb items after component was rendered\r\n */\r\n private processBreadcrumbItems(): void {\r\n this.items.splice(0, this.items.length);\r\n const baseUrl = this.platformLocation.href.includes('#') ? '#' : '';\r\n const data = this.createBreadcrumbs(this.route.root, baseUrl);\r\n this.items.push(...data);\r\n this._breadcrumbs$.next(this.items);\r\n }\r\n\r\n /**\r\n * Creates breadcrumb from routing params\r\n * @param route Activated route\r\n * @param url Url of item to navigate\r\n * @param breadcrumbs Collection of breadcrumbs parents\r\n * @returns Collection of breadcrumbs @see {@link AsolBreadcrumbItem}\r\n */\r\n private createBreadcrumbs(\r\n route: ActivatedRoute,\r\n url = '',\r\n breadcrumbs: Breadcrumb[] = []\r\n ): Breadcrumb[] {\r\n const children: ActivatedRoute[] = route.children;\r\n\r\n if (children.length === 0) {\r\n return breadcrumbs;\r\n }\r\n\r\n for (const child of children) {\r\n const routeURL: string = child.snapshot.url\r\n .map((segment) => segment.path)\r\n .join('/');\r\n if (routeURL !== '') {\r\n url += `/${routeURL}`;\r\n }\r\n\r\n const label = child.snapshot.data['breadcrumb'];\r\n if (label) {\r\n breadcrumbs.push({\r\n label: label,\r\n url,\r\n });\r\n }\r\n\r\n return this.createBreadcrumbs(child, url, breadcrumbs);\r\n }\r\n\r\n console.log(breadcrumbs);\r\n\r\n return breadcrumbs;\r\n }\r\n}","import {\r\n ChangeDetectorRef,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n input,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n signal,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport {\r\n Overlay,\r\n OverlayRef,\r\n PositionStrategy,\r\n} from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { DateTimePickerComponent } from './calendar.component';\r\nimport { Subscription } from 'rxjs';\r\nimport { CecDateTimePickerComponent } from '../date-input/date-input.component';\r\n\r\n@Directive({\r\n selector: '[dateTimePicker]',\r\n standalone: true,\r\n})\r\nexport class DateTimePickerDirective implements OnDestroy {\r\n @Output() selectDate = new EventEmitter();\r\n\r\n @Input() disabled: boolean = false;\r\n\r\n private overlayRef: OverlayRef | null = null;\r\n private showPickerTimeout: ReturnType = setTimeout(() => '');\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private element: ElementRef,\r\n private overlay: Overlay,\r\n private viewContainer: ViewContainerRef,\r\n private changeDetector: ChangeDetectorRef\r\n ) {}\r\n\r\n // We can add logic to some timeout on touch if needed\r\n @HostListener('click')\r\n show(): void {\r\n if (this.overlayRef?.hasAttached() === true || this.disabled) {\r\n return;\r\n }\r\n\r\n this.showPickerTimeout = setTimeout(() => {\r\n this.attachPicker();\r\n }, 500);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n clearTimeout(this.showPickerTimeout);\r\n this.overlayRef?.dispose();\r\n }\r\n\r\n private attachPicker(): void {\r\n if (!this.overlayRef) {\r\n const positionStrategy = this.getPositionStrategy();\r\n this.overlayRef = this.overlay.create({positionStrategy});\r\n }\r\n\r\n const component = new ComponentPortal(\r\n DateTimePickerComponent,\r\n this.viewContainer,\r\n // injector\r\n );\r\n\r\n const componentRef: ComponentRef = this.overlayRef.attach(component);\r\n this.changeDetector.markForCheck();\r\n\r\n this.subscriptions.push(\r\n this.overlayRef.outsidePointerEvents().subscribe(() => {\r\n this.detachAndUnsubscribe()\r\n }),\r\n )\r\n\r\n this.subscriptions.push(componentRef.instance.selectDate.subscribe((data) => {\r\n this.detachAndUnsubscribe();\r\n this.selectDate.emit(data);\r\n }));\r\n }\r\n\r\n private detachAndUnsubscribe(): void {\r\n this.subscriptions.forEach((sub) => {\r\n sub.unsubscribe();\r\n });\r\n this.overlayRef?.detach();\r\n }\r\n\r\n /*\r\n This can be enhanced with pre-defined position\r\n 1. Add new Input position with enum: TOP, LEFT, RIGHT, BOTTOM\r\n 2. Then change getPositionStrategy accordingly\r\n */\r\n private getPositionStrategy(): PositionStrategy {\r\n return this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.element)\r\n .withPositions([\r\n {\r\n originX: 'center',\r\n originY: 'center',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n panelClass: 'bottom',\r\n },\r\n ]);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ListOverlayDirective } from './list-overlay/list-overlay.directive';\r\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\nexport const months = [\r\n 'Január',\r\n 'Február',\r\n 'Marec',\r\n 'Apríl',\r\n 'Máj',\r\n 'Jún',\r\n 'Júl',\r\n 'August',\r\n 'September',\r\n 'Oktober',\r\n 'November',\r\n 'December',\r\n];\r\n\r\nexport const days = [\r\n 'Po',\r\n 'Ut',\r\n 'St',\r\n 'Št',\r\n 'Pia',\r\n 'So',\r\n 'Ne',\r\n];\r\n\r\ninterface TimeForm {\r\n hours: FormControl;\r\n minutes: FormControl;\r\n}\r\n\r\nenum TimeEnum {\r\n HOURS = 'hours',\r\n MINUTES = 'minutes'\r\n}\r\n\r\n@Component({\r\n selector: 'app-calendar',\r\n standalone: true,\r\n imports: [CommonModule, ListOverlayDirective, ReactiveFormsModule, MatDividerModule, MatIconModule, MatButtonModule],\r\n templateUrl: './calendar.component.html',\r\n styleUrls: ['./calendar.component.scss'],\r\n})\r\nexport class DateTimePickerComponent {\r\n date = new Date(new Date().setDate(1));\r\n currentDay = new Date();\r\n currentYear = this.date.getFullYear();\r\n lastDay = new Date(\r\n this.date.getFullYear(),\r\n this.date.getMonth() + 1,\r\n 0\r\n ).getDate();\r\n prevLastDay = new Date(\r\n this.date.getFullYear(),\r\n this.date.getMonth(),\r\n 0\r\n ).getDate();\r\n firstDayIndex = this.date.getDay();\r\n lastDayIndex = new Date(\r\n this.date.getFullYear(),\r\n this.date.getMonth() + 1,\r\n 0\r\n ).getDay();\r\n nextDays = 7 - this.lastDayIndex - 1;\r\n prevDays: number[] = [];\r\n currentDaysHashTable: any = {};\r\n currentDaysArray: any[] = [];\r\n lastDays: number[] = [];\r\n isSetHoursOpen = false;\r\n clickedDate: Date = new Date();\r\n currentClickedIndex: number = 0;\r\n timeTypes = TimeEnum;\r\n timeForm = new FormGroup({\r\n hours: new FormControl((new Date()).getHours(), [Validators.min(0), Validators.max(24)]),\r\n minutes: new FormControl((new Date()).getMinutes(), [Validators.min(0), Validators.max(60)])\r\n });\r\n\r\n protected isOpenMonth = false;\r\n protected isOpenYear = false;\r\n\r\n @Input() months = months;\r\n @Input() days = days;\r\n @Output() selectDate = new EventEmitter();\r\n\r\n ngOnInit() {\r\n this.calcDays();\r\n }\r\n\r\n calcDays() {\r\n this.lastDay = new Date(\r\n this.date.getFullYear(),\r\n this.date.getMonth() + 1,\r\n 0\r\n ).getDate();\r\n this.prevLastDay = new Date(\r\n this.date.getFullYear(),\r\n this.date.getMonth(),\r\n 0\r\n ).getDate();\r\n this.firstDayIndex = this.date.getDay() === 0 ? 7 : this.date.getDay();\r\n this.lastDayIndex = new Date(\r\n this.date.getFullYear(),\r\n this.date.getMonth() + 1,\r\n 0\r\n ).getDay();\r\n this.nextDays = 7 - this.lastDayIndex - 1;\r\n this.prevDays = [];\r\n this.lastDays = [];\r\n this.currentDaysHashTable = {};\r\n\r\n if (this.date.getFullYear() !== this.currentYear) {\r\n this.currentYear = this.date.getFullYear();\r\n }\r\n\r\n // get the previous days in current view of calendar\r\n for (let x = this.firstDayIndex; x > 1; x--) {\r\n this.prevDays.push(this.prevLastDay - x + 2); // + 2 because we are starting from monday, which is index 1\r\n }\r\n\r\n // create hash table of current days in a current month\r\n // so we can pair it with the data\r\n for (let i = 1; i <= this.lastDay; i++) {\r\n this.currentDaysHashTable[i] = {\r\n day: i,\r\n data: [],\r\n total: {\r\n hours: 0,\r\n minutes: 0,\r\n },\r\n };\r\n }\r\n\r\n //finally we are converting hash table into readable array\r\n this.currentDaysArray = Object.keys(this.currentDaysHashTable).map(\r\n (key) => this.currentDaysHashTable[key]\r\n );\r\n\r\n for (let j = 1; j <= this.nextDays; j++) {\r\n this.lastDays.push(j);\r\n }\r\n }\r\n\r\n isOpenedMonth(opened: boolean): void {\r\n this.isOpenMonth = opened;\r\n }\r\n\r\n isOpenedYear(opened: boolean): void {\r\n this.isOpenYear = opened;\r\n }\r\n\r\n close() {\r\n // emit output of removing data\r\n this.currentDaysArray[this.clickedDate.getDate() - 1].data = null;\r\n this.isSetHoursOpen = false;\r\n }\r\n\r\n timeToDecimal(t: string) {\r\n const arr = t.split(':');\r\n return parseInt(arr[0], 10) * 1 + parseInt(arr[1], 10) / 60;\r\n }\r\n\r\n prev() {\r\n this.date.setMonth(this.date.getMonth() - 1);\r\n this.calcDays();\r\n }\r\n\r\n next() {\r\n this.date.setMonth(this.date.getMonth() + 1);\r\n this.calcDays();\r\n }\r\n\r\n setMonth(monthIndex: number) {\r\n this.date.setMonth(monthIndex);\r\n }\r\n\r\n setYear(year: number) {\r\n this.date.setFullYear(year);\r\n }\r\n\r\n setDate(index: number) {\r\n this.clickedDate = new Date(this.date.getFullYear(), this.date.getMonth(), index + 1);\r\n }\r\n\r\n getYearRange(): number[] {\r\n const start = this.date.getFullYear() - 15;\r\n const stop = this.date.getFullYear() + 15;\r\n const finalArray = Array.from(\r\n { length: (stop - start) / 1 + 1 },\r\n (value, index) => start + index * 1\r\n );\r\n\r\n return finalArray;\r\n }\r\n\r\n increase(type: TimeEnum) {\r\n const newValue = (this.timeForm.get(type)?.value || 0) + 1;\r\n this.timeForm.get(type)?.setValue(newValue)\r\n }\r\n\r\n decrease(type: TimeEnum) {\r\n const newValue = (this.timeForm.get(type)?.value || 0) - 1;\r\n this.timeForm.get(type)?.setValue(newValue)\r\n }\r\n\r\n confirm() {\r\n this.clickedDate.setHours(this.timeForm.get('hours')?.value || 0);\r\n this.clickedDate.setMinutes(this.timeForm.get('minutes')?.value || 0);\r\n this.selectDate.emit(this.clickedDate);\r\n }\r\n\r\n /**\r\n * Don't trigger focus out event\r\n * @param event the mouse down event\r\n */\r\n protected mouseInside(event: Event): void{\r\n event.preventDefault();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n {{ months[date.getMonth()] }}\r\n @if (isOpenMonth) {\r\n arrow_drop_up\r\n } @else {\r\n arrow_drop_down\r\n }\r\n \r\n {{ date.getFullYear() }}\r\n @if (isOpenYear) {\r\n arrow_drop_up\r\n } @else {\r\n arrow_drop_down\r\n }\r\n \r\n \r\n
\r\n
\r\n \r\n chevron_left\r\n \r\n \r\n chevron_right\r\n \r\n
\r\n
\r\n
\r\n
{{ days[0] }}
\r\n
{{ days[1] }}
\r\n
{{ days[2] }}
\r\n
{{ days[3] }}
\r\n
{{ days[4] }}
\r\n
{{ days[5] }}
\r\n
{{ days[6] }}
\r\n
\r\n \r\n
\r\n
\r\n {{ day }}\r\n
\r\n\r\n \r\n {{ day.day }}\r\n 0 || day.total.minutes > 0\"\r\n class=\"total-hours\"\r\n >{{ day?.total?.hours }}:{{ day?.total?.minutes }}\r\n
\r\n\r\n
\r\n {{ day }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n expand_less\r\n expand_more\r\n
\r\n
\r\n \r\n
\r\n :\r\n
\r\n
\r\n \r\n
\r\n expand_less\r\n expand_more\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n","import { CommonModule, NgFor } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Inject,\r\n InjectionToken,\r\n Output,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { months } from '../calendar.component';\r\n\r\nexport type ListData = string[] | TemplateRef;\r\nexport const LIST_DATA = new InjectionToken('');\r\n\r\n@Component({\r\n selector: 'app-list',\r\n templateUrl: './list-overlay.component.html',\r\n styleUrls: ['./list-overlay.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule, NgFor],\r\n})\r\nexport class ListOverlayComponent implements AfterViewInit {\r\n months = months;\r\n @Output() selectMonth = new EventEmitter<{\r\n value: string | number;\r\n index: number;\r\n }>();\r\n\r\n constructor(@Inject(LIST_DATA) public listData: {list: string[], selectedIndex: number}) {}\r\n\r\n ngAfterViewInit() {\r\n if (this.listData.list.length > 0) {\r\n const element = document.getElementById(this.listData.selectedIndex.toString());\r\n element?.scrollIntoView();\r\n }\r\n }\r\n\r\n outputSelectedMonth(value: string | number, index: number) {\r\n this.selectMonth.emit({ value: value, index: index });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n {{ item }}\r\n
\r\n
\r\n\r\n","import {\r\n ChangeDetectorRef,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { ListOverlayComponent, LIST_DATA } from './list-overlay.component';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[appList]',\r\n standalone: true,\r\n})\r\nexport class ListOverlayDirective implements OnDestroy {\r\n @Input() listData: string[] | number[] = [];\r\n @Input() selected: number = 0;\r\n\r\n @Output() selectMonth = new EventEmitter();\r\n @Output() selectYear = new EventEmitter();\r\n @Output() isOpen = new EventEmitter();\r\n\r\n private overlayRef: OverlayRef | null = null;\r\n private showListTimeout: ReturnType = setTimeout(() => '');\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private element: ElementRef,\r\n private overlay: Overlay,\r\n private viewContainer: ViewContainerRef,\r\n private changeDetector: ChangeDetectorRef\r\n ) {}\r\n\r\n // We can add logic to some timeout on touch if needed\r\n @HostListener('click')\r\n @HostListener('focus')\r\n show(): void {\r\n if (this.overlayRef?.hasAttached() === true) {\r\n return;\r\n }\r\n\r\n this.showListTimeout = setTimeout(() => {\r\n this.attachList();\r\n }, 100);\r\n }\r\n\r\n @HostListener('blur')\r\n hide(): void {\r\n clearTimeout(this.showListTimeout);\r\n if (this.overlayRef?.hasAttached() === true) {\r\n this.overlayRef?.detach();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n clearTimeout(this.showListTimeout);\r\n this.overlayRef?.dispose();\r\n }\r\n\r\n private attachList(): void {\r\n if (this.overlayRef === null) {\r\n const positionStrategy = this.getPositionStrategy();\r\n this.overlayRef = this.overlay.create({ positionStrategy });\r\n }\r\n\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: LIST_DATA,\r\n useValue: {\r\n list: this.listData,\r\n selectedIndex: this.selected || 0,\r\n },\r\n },\r\n ],\r\n });\r\n const component = new ComponentPortal(\r\n ListOverlayComponent,\r\n this.viewContainer,\r\n injector\r\n );\r\n const componentRef: ComponentRef =\r\n this.overlayRef.attach(component);\r\n this.isOpen.emit(true);\r\n this.changeDetector.markForCheck();\r\n\r\n this.subscriptions.push(\r\n this.overlayRef.outsidePointerEvents().subscribe(() => {\r\n this.detachAndUnsubscribe();\r\n })\r\n );\r\n this.subscriptions.push(\r\n componentRef.instance.selectMonth.subscribe((data) => {\r\n if (typeof data.value === 'string') {\r\n this.selectMonth.emit(data.index);\r\n } else {\r\n this.selectYear.emit(Number(data.value));\r\n }\r\n this.detachAndUnsubscribe();\r\n })\r\n );\r\n }\r\n\r\n private detachAndUnsubscribe(): void {\r\n this.subscriptions.forEach((sub) => {\r\n sub.unsubscribe();\r\n });\r\n this.isOpen.emit(false);\r\n this.overlayRef?.detach();\r\n }\r\n\r\n /*\r\n This can be enhanced with pre-defined position\r\n 1. Add new Input position with enum: TOP, LEFT, RIGHT, BOTTOM\r\n 2. Then change getPositionStrategy accordingly\r\n */\r\n private getPositionStrategy(): PositionStrategy {\r\n return this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.element)\r\n .withPositions([\r\n {\r\n originX: 'center',\r\n originY: 'center',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n panelClass: 'bottom',\r\n },\r\n ]);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { DialogComponent } from \"../dialog/components/dialog.component\";\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n@Component({\r\n selector: 'cec-confirmation-dialog',\r\n templateUrl: './confirmation-dialog.component.html',\r\n styleUrls: ['./confirmation-dialog.component.scss'],\r\n standalone: true,\r\n imports: [DialogComponent, TranslateModule, MatIconModule],\r\n})\r\nexport class ConfirmationDialogComponent {\r\n\r\n /** Translation key of confirmation dialog message */\r\n @Input() messageKey: string = '';\r\n\r\n /** Provided value reference */\r\n private value?: unknown;\r\n\r\n /** Dialog component reference to access */\r\n @ViewChild(DialogComponent) \r\n protected dialog!: DialogComponent;\r\n\r\n /** Returns the confirmation status on click */\r\n @Output()\r\n public onButtonClicked = new EventEmitter();\r\n\r\n /**\r\n * Shows the confirmation dialog\r\n */\r\n public show(value?: unknown): void {\r\n this.value = value;\r\n this.dialog.show();\r\n }\r\n\r\n /**\r\n * Returns the confirmation status on click\r\n * @param success the confirmation status\r\n */\r\n protected onClickButton(success: boolean): void {\r\n \r\n /** if value is provided, return value */\r\n if (success && this.value) {\r\n this.onButtonClicked.emit(this.value);\r\n return;\r\n }\r\n\r\n /** if value is provided and success if false, return undefined */\r\n if (!success && this.value) {\r\n this.onButtonClicked.emit(undefined);\r\n return;\r\n }\r\n\r\n /** else return confirmation status */\r\n this.onButtonClicked.emit(success);\r\n }\r\n}\r\n","\r\n
\r\n error_outline\r\n {{ 'ConfirmationMessage' | translate }}\r\n
\r\n

\r\n {{ messageKey | translate }}\r\n

\r\n
\r\n","export const CEC_BREAKPOINTS = {\r\n xs: 0,\r\n sm: 576,\r\n md: 600,\r\n lg: 960,\r\n xl: 1280,\r\n xxl: 1920,\r\n};\r\n","import { AfterViewInit, ChangeDetectorRef, Component, HostListener, input, Input, OnChanges, Optional, Self, SimpleChanges } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { DateTimePickerDirective } from '../calendar/calendar-overlay.directive';\r\nimport { FormsModule, NgControl, ValidationErrors } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule, MatLabel } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { ControlBase } from '../base/control.base';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cec-date-time-picker',\r\n standalone: true,\r\n imports: [CommonModule, DateTimePickerDirective, MatButtonModule, MatDatepickerModule, MatLabel, MatFormFieldModule, MatInputModule, FormsModule, TranslateModule],\r\n providers: [DatePipe],\r\n templateUrl: './date-input.component.html',\r\n styleUrls: ['./date-input.component.scss', '../shared/input.styles.scss']\r\n})\r\nexport class CecDateTimePickerComponent extends ControlBase implements OnChanges {\r\n @Input() date: Date = new Date();\r\n @Input() increaseMins: number | undefined = undefined;\r\n\r\n public moreThan = input(undefined);\r\n\r\n formattedDate = '';\r\n\r\n protected errors: ValidationErrors | undefined = undefined;\r\n\r\n constructor(@Optional() @Self() public ngControl: NgControl, private datepipe: DatePipe, private cdr: ChangeDetectorRef) {\r\n super(ngControl);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['increaseMins'] && this.increaseMins && this.value) {\r\n this.value.setMinutes(this.value.getMinutes() + this.increaseMins);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n \r\n /** if more than component is not assigned, do nothing */\r\n if (!this.moreThan()) {\r\n return;\r\n }\r\n\r\n /** subscribes to more than component value change */\r\n this.subs.add(this.moreThan().valueChangedDebouncer.subscribe((value: Date) => {\r\n this.processMoreThan(value);\r\n }));\r\n\r\n /** subscribes to current value change */\r\n this.subs.add(this.valueChangedDebouncer.subscribe(() => {\r\n this.processMoreThan(this.moreThan().ngControl?.control?.value);\r\n }));\r\n }\r\n\r\n protected getControlValue(): Date {\r\n return this.value;\r\n }\r\n\r\n protected setControlValue(val: Date): void {\r\n if (!val) {\r\n return null;\r\n }\r\n\r\n this.value = val;\r\n this.formatDate(this.value);\r\n this.valueChangedDebouncer.next(\r\n this.value\r\n );\r\n this.cdr.detectChanges();\r\n }\r\n\r\n protected setControlDisabled(isDisable: boolean): void {\r\n this.isDisabled.set(isDisable);\r\n }\r\n\r\n private formatDate(value: Date): void {\r\n\r\n var date = new Date(this.datepipe.transform(value, 'yyyy-MM-dd HH:mm'));\r\n var day = date.getDate();\r\n var month = date.getMonth() + 1; // Months are zero-indexed\r\n var year = date.getFullYear();\r\n var hours = date.getHours();\r\n var minutes = date.getMinutes();\r\n\r\n // Formatting with leading zeros for day, month, hours, and minutes if needed\r\n this.formattedDate = `${day}.${month}.${year} ${hours}:${minutes < 10 ? '0' : ''}${minutes}`;\r\n }\r\n\r\n public override afterFocusOut(control: NgControl) {\r\n if (this.ngControl !== control) {\r\n this.processMoreThan(control.control.value);\r\n } else {\r\n this.ngControl?.control?.setErrors(this.errors);\r\n }\r\n }\r\n\r\n protected processMoreThan(value: Date): void {\r\n if (new Date(this.value) <= value) {\r\n this.ngControl?.control?.setErrors({ higher: this.moreThan().labelKey });\r\n this.ngControl?.control?.markAsTouched();\r\n this.errors = { higher: this.moreThan().labelKey };\r\n this.moreThan()?.ngControl?.control?.setErrors({ lower: this.labelKey });\r\n this.moreThan()?.ngControl?.control?.markAsTouched();\r\n this.moreThan().errors = { lower: this.labelKey };\r\n } else {\r\n this.ngControl?.control?.setErrors({higher: null});\r\n this.ngControl?.control?.updateValueAndValidity();\r\n this.errors = undefined;\r\n this.moreThan()?.ngControl?.control?.setErrors({lower: null});\r\n this.moreThan()?.ngControl?.control?.updateValueAndValidity();\r\n this.moreThan().errors = undefined;\r\n }\r\n this.errorMessages.update(() => this.getErrorMessages());\r\n this.moreThan()?.errorMessages.update(() => this.moreThan().getErrorMessages());\r\n }\r\n}\r\n","\r\n {{ labelKey | translate }}\r\n \r\n \r\n\r\n@if (showError()) {\r\n @for (msg of errorMessages(); track msg) {\r\n {{ msg }}\r\n }\r\n}","import { Component, Optional, Self } from '@angular/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule, MatLabel } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { ControlBase } from '../../base/control.base';\r\nimport { DateRange } from '../models/date-range.interface';\r\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { parseDate } from '../functions/parse-date.function';\r\n\r\n@Component({\r\n selector: 'cec-date-range-picker',\r\n standalone: true,\r\n imports: [MatFormFieldModule, MatLabel, MatDatepickerModule, MatInputModule, TranslateModule],\r\n templateUrl: './date-range-picker.component.html',\r\n styleUrls: ['./date-range-picker.component.scss', '../../shared/input.styles.scss'],\r\n})\r\nexport class DateRangePickerComponent extends ControlBase {\r\n\r\n constructor(@Optional() @Self() public ngControl: NgControl, private dateAdapter: DateAdapter) {\r\n super(ngControl);\r\n // this.dateAdapter.setLocale('de-DE');\r\n }\r\n \r\n /** @inheritdoc */\r\n protected getControlValue(): DateRange {\r\n return this.value;\r\n }\r\n\r\n /** @inheritdoc */\r\n protected setControlValue(val: DateRange): void {\r\n if (!val) {\r\n return null;\r\n }\r\n\r\n this.value = val;\r\n }\r\n\r\n /** @inheritdoc */\r\n protected setControlDisabled(isDisable: boolean): void {\r\n this.isDisabled.set(isDisable);\r\n }\r\n\r\n /**\r\n * Sets value of the control\r\n * @param dateRangeStart the start of date range\r\n * @param dateRangeEnd the end of date range\r\n */\r\n protected dateRangeChange(dateRangeStart: HTMLInputElement, dateRangeEnd: HTMLInputElement) {\r\n const value: DateRange = {start: parseDate(dateRangeStart.value), end: parseDate(dateRangeEnd.value)}; \r\n this.ngControl?.control?.setValue(value);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override afterValueWrite(): void {\r\n this.ngControl?.control?.updateValueAndValidity();\r\n }\r\n}\r\n","\r\n {{ labelKey | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n@if (showError()) {\r\n @for (msg of errorMessages(); track msg) {\r\n {{ msg }}\r\n }\r\n}","/**\r\n * Parses the date in format DD.MM.yyyy into a Date object\r\n * @param input the desired date string to parse\r\n * @returns the date object\r\n */\r\nexport function parseDate(input: string): Date {\r\n const [day, month, year] = input.split('.').map(Number);\r\n return new Date(year, month - 1, day);\r\n}","import { Component, EventEmitter, Input, OnChanges, OnDestroy, Output, signal, SimpleChanges, TemplateRef, ViewChild, WritableSignal } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { Subscription, take } from 'rxjs';\r\nimport { markForValidation } from '../../functions/mark-for-validation.function';\r\n\r\n@Component({\r\n selector: 'cec-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss'],\r\n standalone: true,\r\n imports: [MatDialogModule, MatButtonModule, MatIconModule, TranslateModule],\r\n})\r\nexport class DialogComponent implements OnChanges, OnDestroy {\r\n\r\n @ViewChild('dialog') dialogTemplate: TemplateRef;\r\n\r\n private initialValue: unknown | null = null;\r\n\r\n @Input()\r\n public headerText = '';\r\n\r\n @Input()\r\n public headerKey = '';\r\n\r\n @Input()\r\n public subTitle = '';\r\n\r\n @Input()\r\n public formGroup: FormGroup | undefined = undefined;\r\n\r\n @Input()\r\n public width: string | undefined = undefined;\r\n\r\n @Input()\r\n public hideConfirmButton = false;\r\n\r\n @Input()\r\n public disableConfirmButton = false;\r\n\r\n protected valid: WritableSignal = signal(true);\r\n\r\n @Output()\r\n public onButtonClicked = new EventEmitter();\r\n\r\n @Output()\r\n public onClosed = new EventEmitter();\r\n \r\n private sub = new Subscription();\r\n\r\n constructor(public dialog: MatDialog) {\r\n this.sub = this.dialog.afterAllClosed.subscribe(() => {\r\n if (this.formGroup) {\r\n this.formGroup.reset({...this.initialValue as object});\r\n }\r\n this.onClosed.emit();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.formGroup) {\r\n this.initialValue = this.formGroup.getRawValue();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n public show(data?: unknown): void {\r\n this.dialog.open(this.dialogTemplate, { data: data, panelClass: 'panel-container', width: this.width });\r\n }\r\n\r\n public hide(): void {\r\n this.dialog.closeAll();\r\n }\r\n\r\n protected onClickButton(success: boolean): void {\r\n if (this.formGroup && success) {\r\n markForValidation(this.formGroup);\r\n\r\n if (!this.formGroup.valid) {\r\n return;\r\n }\r\n }\r\n this.onButtonClicked.emit(success);\r\n this.hide();\r\n }\r\n}\r\n\r\n","\r\n @if (headerText || headerKey) {\r\n
\r\n {{ headerText ? headerText : (headerKey | translate) }}\r\n @if (subTitle) {\r\n
{{ subTitle }}
\r\n }\r\n
\r\n }\r\n \r\n \r\n \r\n \r\n \r\n @if (!hideConfirmButton) {\r\n \r\n }\r\n \r\n
\r\n","import { AbstractControl, FormGroup } from '@angular/forms';\r\n\r\n/**\r\n * Check whether abstract control is formgroup\r\n * @param c Control to check\r\n * @returns True if it is formGroup\r\n */\r\nexport function isFormGroup(c: AbstractControl): c is FormGroup {\r\n if ((c as FormGroup).controls) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\nimport { isFormGroup } from './is-form-group.function';\r\n\r\n/**\r\n * Marks all controls in formGroup as touched to invoke validation\r\n * @param formGroup FormGroup to mark\r\n */\r\nexport function markForValidation(formGroup: FormGroup): void {\r\n if (!formGroup) {\r\n return;\r\n }\r\n\r\n for (const controlName of Object.keys(formGroup.controls)) {\r\n const control = formGroup.controls[controlName];\r\n control.markAsTouched({ onlySelf: true });\r\n\r\n if (isFormGroup(control)) {\r\n markForValidation(control);\r\n }\r\n }\r\n}\r\n","/**\r\n * Formats string with arguments\r\n * @param text Text to format\r\n * @param args Array of arguments\r\n * @returns Formatted text\r\n */\r\nexport function stringFormat(text: string, args: string[]): string {\r\n if (!args.length || !text) {\r\n return text;\r\n }\r\n \r\n for (let i = 0; i < args.length; i++) {\r\n text = text.replace(`{${i}}`, args[i]);\r\n }\r\n \r\n return text;\r\n}","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n inject,\r\n input,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n output,\r\n Output,\r\n SimpleChanges,\r\n viewChild,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { MatTable, MatTableDataSource, MatTableModule } from '@angular/material/table';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ColumnDefinition } from '../models/column-definition.interface';\r\nimport { GridDataProvider } from '../services/grid-data-provider.interface';\r\nimport { forkJoin } from 'rxjs';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { CecBreakpointPipe } from '../../pipes/cec-breakpoint.pipe';\r\nimport { GridButtonTrigger } from '../models/grid-button-trigger.interface';\r\nimport { MatDivider } from '@angular/material/divider';\r\n\r\n@Component({\r\n selector: 'cec-grid',\r\n templateUrl: './grid.component.html',\r\n styleUrls: ['./grid.component.scss'],\r\n standalone: true,\r\n imports: [MatTableModule, MatButtonModule, MatIconModule, MatTooltipModule, TranslateModule, MatCardModule, DatePipe, CommonModule, CecBreakpointPipe, MatDivider],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class GridComponent implements AfterViewInit {\r\n \r\n /** Grid reference */\r\n protected grid = viewChild | undefined>(MatTable);\r\n\r\n /** Table element reference */\r\n protected table = viewChild.required('table');\r\n\r\n /** Table data source reference */\r\n protected data: MatTableDataSource | undefined = undefined;\r\n\r\n /** Table name reference */\r\n protected tableName = '';\r\n\r\n /** Table name getter reference */\r\n get getTableName(): string {\r\n return this.tableName;\r\n }\r\n\r\n /** Column definition reference */\r\n public columns: ColumnDefinition[] = [];\r\n\r\n /** Datasource reference */\r\n public dataSource = input(undefined);\r\n\r\n /** Table identifier reference */\r\n public id = input(undefined);\r\n\r\n /** Additional table identifier reference */\r\n public params = input(undefined);\r\n\r\n /** Additional table id reference */\r\n public tableId = input(undefined);\r\n\r\n /** Flag for hiding hideable columns */\r\n public hideColumns = input(false);\r\n\r\n /** Button click output emitter */\r\n public onButtonClicked = output>();\r\n\r\n /** Displayed column reference */\r\n protected displayedColumns: string[] | undefined = undefined;\r\n\r\n /** Grid data reference */\r\n private gridData: unknown[] | undefined = undefined;\r\n\r\n /** Change detector reference */\r\n private detector: ChangeDetectorRef = inject(ChangeDetectorRef);\r\n\r\n ngAfterViewInit(): void {\r\n if (!this.dataSource()) {\r\n return;\r\n }\r\n\r\n /** obtains list of available crews and stage time by one request */\r\n const tableName$ = this.dataSource().getTableName(this.id(), this.params());\r\n const data$ = this.dataSource().getGridData(this.id(), this.params());\r\n const definition$ = this.dataSource().getColumnDefinition(this.id(), this.params());\r\n\r\n forkJoin({\r\n tableName: tableName$,\r\n data: data$,\r\n definition: definition$\r\n }).subscribe(({ tableName, data, definition }) => {\r\n this.tableName = tableName['name'];\r\n this.gridData = data;\r\n this.columns = definition;\r\n this.processColumns();\r\n this.data = new MatTableDataSource(data);\r\n this.detector.detectChanges();\r\n });\r\n }\r\n\r\n /**\r\n * Processes obtained column definition\r\n */\r\n private processColumns(): void {\r\n this.displayedColumns = this.hideColumns()\r\n ? this.columns.filter((x) => !x.hideAble).map((x) => x.id)\r\n : this.columns.map((x) => x.id);\r\n }\r\n\r\n protected onClickButton(id: string, element: unknown): void {\r\n this.onButtonClicked.emit({\r\n row: element,\r\n buttonId: id\r\n });\r\n }\r\n\r\n public reload(): void {\r\n this.dataSource().getGridData(this.id()).subscribe((data) => {\r\n this.gridData = data;\r\n this.data = new MatTableDataSource(data);\r\n this.detector.detectChanges();\r\n })\r\n }\r\n\r\n protected evaluateArray(value: unknown): boolean {\r\n return Array.isArray(value);\r\n }\r\n\r\n protected evaluateValue(value: unknown): boolean {\r\n if (Array.isArray(value)) {\r\n return !!value.length;\r\n }\r\n\r\n return !!value;\r\n }\r\n\r\n public exportExcel(): void {\r\n // const filteredData = this.gridData.map(item => {\r\n // let filteredItem = {};\r\n // this.columns.forEach(col => {\r\n // if (col.exportAble) {\r\n // filteredItem[col.id] = item[col.id];\r\n // }\r\n // });\r\n // return filteredItem;\r\n // });\r\n\r\n // // Set column widths to expand to A4 format\r\n // const colWidths = this.columns.map(() => ({ wpx: 240 })); // Set each column width to 240 pixels (adjust as needed)\r\n\r\n // const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(filteredData);\r\n // ws['!cols'] = colWidths;\r\n\r\n // // Add borders to all cells\r\n // const range = XLSX.utils.decode_range(ws['!ref']);\r\n // for (let R = range.s.r; R <= range.e.r; ++R) {\r\n // for (let C = range.s.c; C <= range.e.c; ++C) {\r\n // const cell_address = { c: C, r: R };\r\n // const cell_ref = XLSX.utils.encode_cell(cell_address);\r\n\r\n // if (!ws[cell_ref]) ws[cell_ref] = { t: 's', v: '' };\r\n // if (!ws[cell_ref].s) ws[cell_ref].s = {};\r\n\r\n // ws[cell_ref].s.border = {\r\n // top: { style: \"thin\", color: \"000000\" },\r\n // right: { style: \"thin\", color: \"000000\" },\r\n // bottom: { style: \"thin\", color: \"000000\" },\r\n // left: { style: \"thin\", color: \"000000\" }\r\n // };\r\n // }\r\n // }\r\n\r\n // // Adding page setup for A4 size (210 x 297 mm)\r\n // ws['!page'] = { orientation: 'landscape', paperSize: 9 };\r\n // // const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.table.nativeElement);\r\n // const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n // XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n // /* save to file */\r\n // XLSX.writeFile(wb, 'SheetJS.xlsx');\r\n }\r\n}\r\n","@if (data && tableName && displayedColumns) {\r\n 7\">\r\n
\r\n

{{ tableName }}

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n @for (column of columns; track column; let index = $index) {\r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n
\r\n @if (column.transKey) {\r\n {{ column.transKey | translate }}\r\n }\r\n \r\n \r\n \r\n \r\n {{ 'TableContainsNoData' | translate }}\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n}\r\n\r\n\r\n
\r\n @if (((displayedColumns.length > 7 ? ['xs', 'sm', 'md', 'lg'] : ['xs', 'sm', 'md']) | breakpoint | async) && columnContent.transKey) {\r\n
{{ columnContent.transKey | translate }}
\r\n }\r\n @if (columnContent.type === 'image') {\r\n
\r\n \r\n
\r\n } @else if (columnContent.type === 'date') {\r\n
\r\n @if (columnContent.dateFormat) {\r\n {{ element[columnContent.id] | date: columnContent.dateFormat }}\r\n } @else {\r\n {{ element[columnContent.id] | date }}\r\n }\r\n
\r\n } @else if (columnContent.type === 'button') {\r\n \r\n {{ columnContent.icon }}\r\n \r\n } @else if (columnContent.type === 'link') {\r\n \r\n @if (evaluateArray(element[columnContent.id]) && element[columnContent.id].length) {\r\n {{ element[columnContent.id].length }}\r\n } @else {\r\n {{ evaluateValue(element[columnContent.id]) ? element[columnContent.id] : \"-\" }}\r\n }\r\n
\r\n } @else if (columnContent.type === 'editable') {\r\n @if (element[columnContent.id]) {\r\n \r\n {{ element[columnContent.id] }}\r\n \r\n } @else {\r\n \r\n add\r\n \r\n }\r\n } @else if (columnContent.type === 'boolean') {\r\n {{ element[columnContent.id] ? 'check_box' : 'disabled_by_default' }}\r\n } @else if (columnContent.type === 'multi' && columnContent.columns.length) {\r\n @for (subColumn of columnContent.columns; track subColumn) {\r\n \r\n \r\n } \r\n } @else {\r\n
\r\n {{ evaluateValue(element[columnContent.id]) ? element[columnContent.id] : \"-\" }}\r\n
\r\n }\r\n \r\n
\r\n","import { inject } from \"@angular/core\";\r\nimport { ActivatedRouteSnapshot, CanActivateFn, Router } from \"@angular/router\";\r\nimport { LocalStorageService } from \"src/app/api/services/localStorage\";\r\nimport { CompetitorSimple } from \"src/app/common/types/competitor\";\r\nimport { CompetitionAuthorService } from \"../services/competition-author.service\";\r\nimport { catchError } from \"rxjs\";\r\n\r\nexport const CompetitionAuthorGuard: CanActivateFn = (\r\n route: ActivatedRouteSnapshot\r\n ) => {\r\n const localStorage = inject(LocalStorageService);\r\n const router = inject(Router);\r\n\r\n return true;\r\n \r\n if (localStorage.get('loggedCompetitor') === null || localStorage.get('loggedCompetitor') === undefined) {\r\n router.navigateByUrl('/');\r\n return false;\r\n }\r\n\r\n const competitionId = route.paramMap.get('id') ?? route.parent.paramMap.get('id');\r\n\r\n if (!competitionId) {\r\n router.navigateByUrl('/');\r\n return false;\r\n }\r\n\r\n inject(CompetitionAuthorService).isAuthor(competitionId as unknown as number)\r\n .pipe(catchError(() => {\r\n return router.navigateByUrl('/');\r\n }))\r\n .subscribe((isAuthor: boolean) => {\r\n if (isAuthor) {\r\n return true;\r\n }\r\n router.navigateByUrl('/');\r\n return false;\r\n });\r\n};","import { Component, EventEmitter, input, Input, Output, ViewChild } from '@angular/core';\r\nimport { DialogComponent } from \"../dialog/components/dialog.component\";\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { SelectedItem } from '../models/selected-item.interface';\r\n\r\n@Component({\r\n selector: 'cec-info-dialog',\r\n templateUrl: './info-dialog.component.html',\r\n styleUrls: ['./info-dialog.component.scss'],\r\n standalone: true,\r\n imports: [DialogComponent, MatInputModule, MatFormFieldModule, FormsModule, TranslateModule],\r\n})\r\nexport class InfoDialogComponent {\r\n\r\n /** Dialog component reference to access */\r\n @ViewChild(DialogComponent) \r\n protected dialog!: DialogComponent;\r\n\r\n /** Label for textarea field */\r\n @Input()\r\n protected textAreaLabelKey: string | undefined = undefined;\r\n\r\n /** Organizer competitor flag */\r\n protected isOrganizer = false;\r\n\r\n /** Entity id reference */\r\n protected id: number | undefined = undefined;\r\n\r\n /** Provided value reference */\r\n protected message: string | undefined = undefined;\r\n\r\n protected values: unknown[] | undefined = undefined;\r\n\r\n protected type: 'message' | 'list' | 'custom' = 'message';\r\n\r\n public width = input('25rem');\r\n\r\n public headerText = input(null);\r\n\r\n public headerKey = input(null);\r\n\r\n public subTitle = input(null);\r\n\r\n /** Returns the value from textarea field */\r\n @Output()\r\n public onButtonClicked = new EventEmitter();\r\n\r\n /**\r\n * Shows the confirmation dialog\r\n */\r\n public show(message: string, id?: number, isOrganizer = false): void {\r\n this.type = 'message';\r\n this.message = message;\r\n this.id = id;\r\n this.isOrganizer = isOrganizer;\r\n this.dialog.show();\r\n }\r\n\r\n /**\r\n * Shows the confirmation dialog\r\n */\r\n public showList(values: unknown[], id?: number, isOrganizer = false): void {\r\n this.type = 'list';\r\n this.values = values;\r\n this.id = id;\r\n this.isOrganizer = isOrganizer;\r\n this.dialog.show();\r\n }\r\n\r\n /**\r\n * Shows the confirmation dialog\r\n */\r\n public showCustom(values: unknown[], id?: number, isOrganizer = false): void {\r\n this.type = 'custom';\r\n this.values = values;\r\n this.id = id;\r\n this.isOrganizer = isOrganizer;\r\n this.dialog.show();\r\n }\r\n\r\n /**\r\n * Returns the value from textarea field\r\n * @param success the confirmation status\r\n */\r\n protected onClickButton(success: boolean): void {\r\n\r\n /** basic competitor should not edit the message */\r\n if (!this.isOrganizer) {\r\n return;\r\n }\r\n \r\n /** if user edited the value, return value */\r\n if (success) {\r\n this.onButtonClicked.emit({\r\n value: this.id,\r\n text: this.message\r\n });\r\n return;\r\n }\r\n\r\n /** else return undefined */\r\n this.onButtonClicked.emit(undefined);\r\n }\r\n}\r\n","\r\n @switch (type) {\r\n @case ('message') {\r\n @if (isOrganizer && textAreaLabelKey) {\r\n \r\n {{ textAreaLabelKey | translate }}\r\n \r\n \r\n } @else {\r\n
\r\n {{ message }}\r\n
\r\n }\r\n }\r\n @case ('list') {\r\n @for (value of values; track value) {\r\n
  • {{ value }}
  • \r\n }\r\n }\r\n @case ('custom') {\r\n \r\n }\r\n }\r\n\r\n","import { Component, input, Optional, Self } from '@angular/core';\r\nimport { ControlBase } from '../base/control.base';\r\nimport { MatFormFieldModule, MatLabel } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { InputType } from './types/input.type';\r\n\r\n@Component({\r\n selector: 'cec-input',\r\n standalone: true,\r\n imports: [MatFormFieldModule, MatInputModule, MatLabel, TranslateModule],\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.scss', '../shared/input.styles.scss']\r\n})\r\nexport class InputComponent extends ControlBase {\r\n\r\n /** Input type reference */\r\n public type = input('text');\r\n\r\n /** Min input value reference */\r\n public min = input(null);\r\n\r\n /** Max input value reference */\r\n public max = input(null);\r\n\r\n constructor(@Optional() @Self() public ngControl: NgControl) {\r\n super(ngControl);\r\n }\r\n \r\n /** @inheritdoc */\r\n protected getControlValue(): string | number {\r\n return this.value;\r\n }\r\n\r\n /** @inheritdoc */\r\n protected setControlValue(val: string | number): void {\r\n /** if value is not set, sets the null value */\r\n if (!val) {\r\n return null;\r\n }\r\n\r\n /** do not allow user to set higher value as max if the max value is set and input is type of number */\r\n if (this.type() === 'number' && this.max() && Number(val) > this.max()) {\r\n val = this.max();\r\n }\r\n\r\n /** do not allow user to set lower value as min if the min value is set and input is type of number */\r\n if (this.type() === 'number' && this.min() !== null && Number(val) < this.min()) {\r\n val = this.min();\r\n }\r\n\r\n /** sets the input value */\r\n this.value = val;\r\n }\r\n\r\n /** @inheritdoc */\r\n protected setControlDisabled(isDisable: boolean): void {\r\n this.isDisabled.set(isDisable);\r\n }\r\n\r\n /**\r\n * Sets value of the control\r\n * @param event the input event\r\n */\r\n protected onInputChange(event: Event): void {\r\n const inputElement = event.target as HTMLInputElement;\r\n this.ngControl?.control?.setValue(inputElement.value);\r\n }\r\n}\r\n","\r\n {{ labelKey | translate }}\r\n \r\n\r\n@if (showError()) {\r\n @for (msg of errorMessages(); track msg) {\r\n {{ msg }}\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, Input, OnChanges, Optional, Output, Self, signal, SimpleChanges, ViewChild, WritableSignal } from '@angular/core';\r\nimport { DialogComponent } from \"../dialog/components/dialog.component\";\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { ControlBase } from '../base/control.base';\r\nimport { SelectedItem } from '../models/selected-item.interface';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, NgControl } from '@angular/forms';\r\nimport { ItemListSelectorPipe } from 'src/app/common/components/navigation-bar/competitions/competition-details/competition-registration/pipes/additional-competitor.pipe';\r\nimport { CecBreakpointPipe } from '../pipes/cec-breakpoint.pipe';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\n@Component({\r\n selector: 'cec-item-list-selector',\r\n templateUrl: './item-list-selector.component.html',\r\n styleUrls: ['./item-list-selector.component.scss'],\r\n standalone: true,\r\n imports: [MatFormFieldModule, MatSelectModule, TranslateModule, MatListModule, MatIconModule, MatButtonModule, FormsModule, ItemListSelectorPipe, CecBreakpointPipe, CommonModule, MatTooltipModule],\r\n host: {\r\n style: 'width: 100% !important',\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ItemListSelectorComponent extends ControlBase implements OnChanges {\r\n\r\n private detector = inject(ChangeDetectorRef);\r\n\r\n protected noOptions = false;\r\n\r\n private _disableDeleteIfSingle: WritableSignal = signal(false);\r\n\r\n /** Disables delete button when there is only single item selected */\r\n @Input() set disableDeleteIfSingle(value: boolean) {\r\n this._disableDeleteIfSingle.set(value);\r\n }\r\n\r\n /** Gets the disable button state */\r\n get disableDeleteIfSingle(): boolean {\r\n return this._disableDeleteIfSingle();\r\n }\r\n\r\n constructor(@Optional() @Self() public ngControl: NgControl) {\r\n super(ngControl);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.options) {\r\n this.items = this.options?.filter(option => this.value?.includes(option.value));\r\n this.disableSelect();\r\n }\r\n }\r\n\r\n @Input() protected options: SelectedItem[] = [];\r\n\r\n protected items: SelectedItem[] = [];\r\n\r\n protected selectedItem: number | undefined = undefined;\r\n\r\n protected updated = new Date();\r\n\r\n protected getControlValue(): number[] {\r\n return this.value;\r\n }\r\n\r\n protected setControlValue(val: number[]): void {\r\n if (!val || !val.length) {\r\n this.items = [];\r\n this.selectedItem = null;\r\n this.disableSelect();\r\n this.detector.detectChanges();\r\n return null;\r\n }\r\n \r\n this.items = this.options?.filter(option => val.includes(option.value));\r\n this.value = [];\r\n val.forEach(item => this.value.push(item));\r\n this.disableSelect();\r\n this.detector.detectChanges();\r\n }\r\n\r\n protected setControlDisabled(isDisable: boolean): void {\r\n this.isDisabled.set(isDisable);\r\n }\r\n\r\n protected addItem(event: MatSelectChange): void {\r\n this.updated = new Date();\r\n const item = this.options.find(option => option.value === event.value);\r\n this.items.push(item);\r\n this.writeValue(this.items.map(item => item.value));\r\n this.propagateValue();\r\n }\r\n\r\n protected removeItem(item: SelectedItem): void {\r\n this.updated = new Date();\r\n this.items.splice(this.items.indexOf(item), 1);\r\n this.selectedItem = undefined;\r\n this.writeValue(this.items.map(item => item.value));\r\n this.propagateValue();\r\n }\r\n\r\n protected disableSelect(): void {\r\n this.noOptions = !!this.options?.filter(item1 => !this.items.some(item2 => item2.value === item1.value)).length;\r\n }\r\n}\r\n","
    \r\n
    \r\n \r\n {{ labelKey | translate }}\r\n \r\n @for (option of (options | selector:items:updated); track options) {\r\n {{ option.text }}\r\n }\r\n \r\n \r\n
    \r\n \r\n @for (item of items; track item){\r\n \r\n {{ item.text }}\r\n \r\n \r\n }\r\n \r\n
    ","import { inject, Pipe, PipeTransform } from '@angular/core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { CecBreakpointService } from '../services/cec-breakpoint.service';\r\nimport { CecBreakpoint } from '../types/cec-breakpoint.type';\r\n\r\n/**\r\n * Write wanted breakpoint type ('xs', 'sm', 'md', ...) you want.\r\n * Get current breakpoint from observable.\r\n * if they're same, return true, otherwise false\r\n *\r\n * @param breakpoints One or more breakpoint shortcuts\r\n *\r\n * @example\r\n *
    \r\n *
    \r\n */\r\n@Pipe({\r\n name: 'breakpoint',\r\n pure: true,\r\n standalone: true,\r\n})\r\nexport class CecBreakpointPipe implements PipeTransform {\r\n private breakpointService$ = inject(CecBreakpointService);\r\n\r\n /**\r\n * Write wanted breakpoint type ('xs', 'sm', 'md', ...) you want.\r\n * Get current breakpoint from observable.\r\n * if they're same, return true, otherwise false\r\n *\r\n * @param breakpoints One or more breakpoint shortcuts\r\n *\r\n * @example\r\n *
    \r\n *
    \r\n */\r\n transform(\r\n breakpoints: CecBreakpoint | CecBreakpoint[],\r\n ): Observable {\r\n const breakpointsValues = Array.isArray(breakpoints)\r\n ? breakpoints\r\n : [breakpoints];\r\n\r\n return this.breakpointService$.currentBreakpoint$.pipe(\r\n map((value) => breakpointsValues.includes(value)),\r\n );\r\n }\r\n}\r\n","import { Component, contentChildren, EventEmitter, Output } from '@angular/core';\r\nimport { ResultItemDirective } from '../directives/result-item.directive';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cec-result-summary',\r\n templateUrl: './result-summary.component.html',\r\n styleUrls: ['./result-summary.component.scss'],\r\n imports: [ResultItemDirective, TranslateModule],\r\n standalone: true,\r\n})\r\nexport class ResultSummaryComponent {\r\n\r\n /** Defines toolbar items in HTML */\r\n public items = contentChildren(ResultItemDirective);\r\n\r\n @Output()\r\n public onButtonClicked = new EventEmitter();\r\n\r\n public onClickButton(id: string): void {\r\n this.onButtonClicked.emit(id);\r\n }\r\n}\r\n","@if (items() && items().length) {\r\n @for (item of items(); track item.labelKey()) {\r\n
    \r\n @if (item.type() === 'total') {\r\n
    \r\n
    \r\n }\r\n
    \r\n
    {{ item.labelKey() | translate }}
    \r\n
    \r\n {{ item.value() }}\r\n @if (!item.hidePostfix()) {\r\n {{ item.postfix()}}\r\n }\r\n
    \r\n
    \r\n
    \r\n }\r\n}","import { ContentChildren, Directive, input, Input } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'cec-result-summary>cec-result-item',\r\n standalone: true\r\n})\r\nexport class ResultItemDirective {\r\n\r\n /** Result item label reference */\r\n public labelKey = input('');\r\n\r\n /** Result item price reference */\r\n public value = input(null);\r\n\r\n /** Result item price reference */\r\n public postfix = input('points');\r\n\r\n /** Flag for hiding the postfix */\r\n public hidePostfix = input(true);\r\n\r\n /** Result item type reference */\r\n public type = input<'default' | 'total'>('default');\r\n}","import { Component, Input, Optional, Self } from '@angular/core';\r\nimport { ControlBase } from '../base/control.base';\r\nimport { NgControl } from '@angular/forms';\r\nimport { SelectedItem } from '../models/selected-item.interface';\r\nimport { MatFormFieldModule, MatLabel } from '@angular/material/form-field';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cec-select',\r\n standalone: true,\r\n imports: [MatFormFieldModule, MatLabel, MatSelectModule, TranslateModule],\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.scss', '../shared/input.styles.scss']\r\n})\r\nexport class SelectComponent extends ControlBase {\r\n\r\n @Input() protected options: SelectedItem[] = [];\r\n\r\n @Input() public fillSpace = true;\r\n\r\n constructor(@Optional() @Self() public ngControl: NgControl) {\r\n super(ngControl);\r\n }\r\n \r\n protected getControlValue(): number {\r\n return this.value;\r\n }\r\n\r\n protected setControlValue(val: number): void {\r\n if (!val) {\r\n return null;\r\n }\r\n\r\n this.value = val;\r\n }\r\n\r\n protected setControlDisabled(isDisable: boolean): void {\r\n this.isDisabled.set(isDisable);\r\n }\r\n\r\n protected onSelectChange(event: MatSelectChange): void {\r\n this.ngControl?.control?.setValue(event.value);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override afterValueWrite(): void {\r\n this.ngControl?.control?.updateValueAndValidity();\r\n }\r\n\r\n}\r\n","\r\n {{ labelKey | translate }}\r\n \r\n @for (option of options; track options) {\r\n {{ option.text }}\r\n }\r\n \r\n\r\n@if (showError()) {\r\n @for (msg of errorMessages(); track msg) {\r\n {{ msg }}\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, distinctUntilChanged, fromEvent } from 'rxjs';\r\nimport { CecBreakpoint } from '../types/cec-breakpoint.type';\r\nimport { CEC_BREAKPOINTS } from '../constants/cec-breakpoints.constant';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CecBreakpointService {\r\n private currentBreakpointSubject: BehaviorSubject =\r\n new BehaviorSubject('');\r\n /** Get current breakpoint */\r\n public currentBreakpoint$ = this.currentBreakpointSubject.asObservable();\r\n\r\n constructor() {\r\n fromEvent(window, 'resize')\r\n .pipe(\r\n // Only emit when the breakpoint changes\r\n distinctUntilChanged(),\r\n )\r\n .subscribe((event) => {\r\n const width = (event.target as Window).innerWidth;\r\n this.updateBreakpoint(width);\r\n });\r\n\r\n // Get screen width after load\r\n this.updateBreakpoint(window.innerWidth);\r\n }\r\n\r\n /**\r\n * Change breakpoint type based on changed screen width\r\n * @param windowWidth Screen width\r\n */\r\n private updateBreakpoint(windowWidth: number): void {\r\n let newBreakpoint = '';\r\n\r\n if (windowWidth >= CEC_BREAKPOINTS.xxl) {\r\n newBreakpoint = 'xxl';\r\n } else if (windowWidth >= CEC_BREAKPOINTS.xl) {\r\n newBreakpoint = 'xl';\r\n } else if (windowWidth >= CEC_BREAKPOINTS.lg) {\r\n newBreakpoint = 'lg';\r\n } else if (windowWidth >= CEC_BREAKPOINTS.md) {\r\n newBreakpoint = 'md';\r\n } else if (windowWidth >= CEC_BREAKPOINTS.sm) {\r\n newBreakpoint = 'sm';\r\n } else {\r\n newBreakpoint = 'xs';\r\n }\r\n\r\n if (newBreakpoint !== this.currentBreakpointSubject.value) {\r\n this.currentBreakpointSubject.next(newBreakpoint);\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ApiDataService } from \"src/app/api/services/api-data.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CompetitionAuthorService {\r\n\r\n constructor(private service: ApiDataService) {}\r\n\r\n isAuthor(id: number): Observable {\r\n return this.service.get('competition-authors/' + id);\r\n }\r\n}","import { MatDateFormats } from '@angular/material/core';\r\n\r\nexport const DATE_FORMAT: MatDateFormats = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'DD.MM.YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n};","import { Component, Inject } from \"@angular/core\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MAT_SNACK_BAR_DATA, MatSnackBarAction, MatSnackBarActions, MatSnackBarLabel } from \"@angular/material/snack-bar\";\r\nimport { SnackBar } from \"../models/snack-bar.interface\";\r\n\r\n@Component({\r\n selector: 'cec-snack-bar',\r\n standalone: true,\r\n templateUrl: './snack-bar.component.html',\r\n styleUrl: './snack-bar.component.scss',\r\n imports: [MatButtonModule, MatSnackBarLabel, MatSnackBarActions, MatSnackBarAction],\r\n })\r\n export class SnackBarComponent {\r\n\r\n constructor(@Inject(MAT_SNACK_BAR_DATA) public data: SnackBar) { }\r\n\r\n }","\r\n {{ data.text }}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n MatSnackBar,\r\n MatSnackBarHorizontalPosition,\r\n MatSnackBarVerticalPosition,\r\n } from '@angular/material/snack-bar';\r\nimport { SnackBarComponent } from \"../components/snack-bar.component\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SnackBarService {\r\n\r\n horizontalPosition: MatSnackBarHorizontalPosition = 'end';\r\n verticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\r\n constructor(private _snackBar: MatSnackBar) {}\r\n\r\n public success(text: string, buttonName?: string): void {\r\n this._snackBar.openFromComponent(SnackBarComponent, {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2000,\r\n data: { text: text, type: 'success', buttonName: buttonName },\r\n panelClass: 'success'\r\n });\r\n }\r\n\r\n public warning(text: string, buttonName?: string): void {\r\n this._snackBar.openFromComponent(SnackBarComponent, {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2000,\r\n data: { text: text, type: 'warning', buttonName: buttonName },\r\n panelClass: 'warning'\r\n });\r\n }\r\n\r\n public danger(text: string, buttonName?: string): void {\r\n this._snackBar.openFromComponent(SnackBarComponent, {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2000,\r\n data: { text: text, type: 'danger', buttonName: buttonName },\r\n panelClass: 'danger'\r\n });\r\n }\r\n}","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { SpinnerService } from 'src/app/api/services/spinner.service';\r\n\r\n@Component({\r\n selector: 'app-spinner',\r\n templateUrl: './spinner.component.html',\r\n styleUrls: ['./spinner.component.css'],\r\n encapsulation: ViewEncapsulation.ShadowDom\r\n})\r\nexport class SpinnerComponent {\r\n constructor(public service: SpinnerService) {}\r\n}","
    \r\n
    \r\n
    ","import { CdkDragEnter, CdkDropList, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { AfterContentChecked, AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, Optional, Output, QueryList, Self, TemplateRef, ViewChild, ViewChildren } from '@angular/core';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { CecTable, CecTableAdminStatus, CecTableStatus, CecTableType } from 'src/app/common/types/cec-table';\r\nimport { ControlBase } from '../base/control.base';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { NgControl } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CecBreakpointPipe } from '../pipes/cec-breakpoint.pipe';\r\nimport { TableManagerDialogComponent } from '../table-manager-dialog/components/table-manager-dialog.component';\r\nimport { TableManagerData } from '../table-manager-dialog/models/table-manager-data.interface';\r\n\r\n@Component({\r\n selector: 'cec-table-list',\r\n standalone: true,\r\n imports: [MatGridListModule, DragDropModule, MatDividerModule, TranslateModule, MatButtonModule, MatIconModule, MatTooltipModule, CommonModule, CecBreakpointPipe, TableManagerDialogComponent],\r\n templateUrl: './table-list.component.html',\r\n styleUrl: './table-list.component.scss'\r\n})\r\nexport class TableListComponent extends ControlBase implements AfterViewInit, AfterContentChecked {\r\n \r\n /** QueryList of drop list reference */\r\n @ViewChildren(CdkDropList) dropsQuery: QueryList;\r\n\r\n @ViewChild('dialogTemplate') addTableDialog: TemplateRef | null = null;\r\n\r\n /** List of cdk drop */\r\n drops: CdkDropList[];\r\n\r\n @Input() corrected = false;\r\n\r\n @Input() allowPrefill = true;\r\n\r\n @Output() onPrefilled = new EventEmitter();\r\n\r\n @Input() set tables(value: CecTable[]) {\r\n this.value = value;\r\n this.convertTableStatusToCecTableStatus(this.value);\r\n this.convertTableTypeToCecTableType(this.value);\r\n }\r\n\r\n constructor(@Optional() @Self() public ngControl: NgControl, private dialog: MatDialog, private cdr: ChangeDetectorRef) {\r\n super(ngControl);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.convertTableStatusToCecTableStatus(this.value);\r\n this.convertTableTypeToCecTableType(this.value);\r\n this.dropsQuery.changes.subscribe(() => {\r\n this.drops = this.dropsQuery.toArray();\r\n });\r\n Promise.resolve().then(() => {\r\n this.drops = this.dropsQuery.toArray();\r\n });\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n /** checks the differences after the table update */\r\n this.cdr.detectChanges();\r\n }\r\n\r\n /**\r\n * Handles drag and drop events in grid list\r\n * @param $event the drag and drop event\r\n */\r\n entered($event: CdkDragEnter): void {\r\n moveItemInArray(this.value, $event.item.data, $event.container.data);\r\n }\r\n\r\n /**\r\n * function for evaluation of cec table name based on type\r\n * if the type is OR, the name should be changed to both names\r\n * @param cecTable for evaluation of selected table\r\n */\r\n evaluateButtonName(cecTable: CecTable): string {\r\n if (cecTable.adminStatus === CecTableAdminStatus.OR) {\r\n return cecTable.content + '/' + cecTable.orTable;\r\n } else {\r\n return cecTable.content;\r\n } \r\n }\r\n\r\n /**\r\n * function for evaluation of cec table color based on type and status\r\n * @param cecTable for evaluation of selected table\r\n */\r\n evaluateTableClass(cecTable: CecTable): string {\r\n switch (cecTable.adminStatus) {\r\n case CecTableAdminStatus.CANCELLED: return 'cancelled-table';\r\n case CecTableAdminStatus.YESORNOT: return 'yes-or-not-table';\r\n case CecTableAdminStatus.OR: return 'or-table'; \r\n default: if (cecTable.type === CecTableType.LIFESTAMP) { return 'lifestamp-table'; } else { return ''; }\r\n }\r\n }\r\n\r\n /**\r\n * function for evaluation of cec table color based on type and status\r\n * @param cecTable for evaluation of selected table\r\n */\r\n evaluateTableClassAfterCorrection(cecTable: CecTable): string {\r\n const cecTableStatus = Number(CecTableStatus[cecTable.status]);\r\n switch (cecTableStatus) {\r\n case CecTableStatus.OK: return 'ok-table';\r\n case CecTableStatus.MISSING: return 'missing-table';\r\n case CecTableStatus.MORE: return 'more-table';\r\n default: if (cecTable.type === CecTableType.LIFESTAMP) { return 'lifestamp-table'; } else { return ''; }\r\n }\r\n }\r\n\r\n convertTableTypeToCecTableType(cecTables: CecTable[]): void {\r\n for (const cecTable of cecTables) {\r\n if (cecTable.type.toString() === CecTableType[CecTableType.LIFESTAMP]) {\r\n cecTable.type = CecTableType.LIFESTAMP;\r\n } else {\r\n cecTable.type = CecTableType.NORMAL;\r\n }\r\n }\r\n }\r\n\r\n convertTableStatusToCecTableStatus(cecTables: CecTable[]): void {\r\n for (const cecTable of cecTables) {\r\n switch (cecTable.adminStatus.toString()) {\r\n case CecTableAdminStatus[CecTableAdminStatus.YESORNOT]: cecTable.adminStatus = CecTableAdminStatus.YESORNOT; break;\r\n case CecTableAdminStatus[CecTableAdminStatus.OR]: cecTable.adminStatus = CecTableAdminStatus.OR; break;\r\n case CecTableAdminStatus[CecTableAdminStatus.CANCELLED]: cecTable.adminStatus = CecTableAdminStatus.CANCELLED; break;\r\n default: cecTable.adminStatus = CecTableAdminStatus.OK; break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Opens the dialog for adding a new single table to the table list\r\n */\r\n protected openAddTableDialog(): void {\r\n const data: TableManagerData = { type: 'single' };\r\n const dialogRef = this.dialog.open(TableManagerDialogComponent, { data: data, disableClose: true });\r\n\r\n /** adds the table from the dialog to the table list after dialog closes */\r\n dialogRef.afterClosed().subscribe((result: CecTable) => {\r\n if (result) {\r\n this.onTableSaved([result]);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Opens the dialog for adding a multiple new tables to the table list\r\n */\r\n protected openAddMultipleTablesDialog(): void {\r\n const data: TableManagerData = { type: 'multi' };\r\n const dialogRef = this.dialog.open(TableManagerDialogComponent, { data: data, disableClose: true });\r\n\r\n /** adds the multiplte tables from the dialog to the table list after dialog closes */\r\n dialogRef.afterClosed().subscribe((result: CecTable[]) => {\r\n if (result) {\r\n this.onTableSaved(result);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Opens the dialog for edition an existing single table from the table list\r\n * @param cecTable for evaluation of selected table\r\n */\r\n protected openEditTableDialog(cecTable: CecTable): void {\r\n const data: TableManagerData = { table: cecTable, type: 'single' };\r\n const dialogRef = this.dialog.open(TableManagerDialogComponent, { data: data, disableClose: true });\r\n\r\n /** edits the table from the table list after dialog closes */\r\n dialogRef.afterClosed().subscribe((result: CecTable) => {\r\n if (result) { \r\n this.value[this.value.indexOf(cecTable)] = result; \r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Adds a new tables to the table list\r\n * @param cecTables the new tables to add\r\n */\r\n protected onTableSaved(cecTables: CecTable[]): void {\r\n if (!this.value || !cecTables.length) {\r\n return;\r\n }\r\n\r\n /** pushes the created tables to the table list */\r\n this.value.push(...cecTables);\r\n }\r\n\r\n /**\r\n * Emits the event to prefill tables from correct report\r\n */\r\n protected prefillTables(): void {\r\n this.onPrefilled.emit();\r\n }\r\n\r\n /**\r\n * Clears tables from the table list\r\n */\r\n protected clearTables(): void {\r\n this.value = [];\r\n }\r\n\r\n /**\r\n * Remove table from the grid after clicking the x icon\r\n * @param index the index of desired table which has to be removed \r\n */\r\n protected removeTable(index: number): void {\r\n this.value.splice(index, 1);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected getControlValue(): CecTable[] {\r\n return this.value;\r\n }\r\n\r\n /** @inheritdoc */\r\n protected setControlValue(val: CecTable[]): void {\r\n if (!val || !val.length) {\r\n return null;\r\n }\r\n\r\n this.value = val;\r\n this.convertTableStatusToCecTableStatus(this.value);\r\n this.convertTableTypeToCecTableType(this.value);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected setControlDisabled(isDisable: boolean): void {\r\n this.isDisabled.set(isDisable);\r\n }\r\n\r\n}\r\n","@if (!isDisabled()) {\r\n \r\n \r\n @if (allowPrefill) {\r\n \r\n }\r\n \r\n \r\n}\r\n@if (value && value.length) {\r\n \r\n @for (cecTable of value; track cecTable; let i = $index) {\r\n @if (isDisabled()) {\r\n \r\n
    \r\n {{ evaluateButtonName(cecTable) }}\r\n
    \r\n
    \r\n } @else {\r\n \r\n \r\n cancel \r\n {{ evaluateButtonName(cecTable) }}\r\n \r\n \r\n }\r\n }\r\n
    \r\n \r\n}","import {Component, Inject, OnDestroy, OnInit} from '@angular/core';\r\nimport {MAT_DIALOG_DATA, MatDialogModule, MatDialogRef} from '@angular/material/dialog';\r\nimport {CecTable, CecTableAdminStatus, CecTableStatus, CecTableType} from '../../../common/types/cec-table';\r\nimport {FormBuilder, FormGroup, FormsModule, ReactiveFormsModule, UntypedFormGroup, Validators} from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule, MatHint, MatLabel } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { TableManagerData } from '../models/table-manager-data.interface';\r\n\r\n@Component({\r\n selector: 'table-manager-dialog',\r\n templateUrl: './table-manager-dialog.component.html',\r\n styleUrls: ['./table-manager-dialog.component.scss'],\r\n standalone: true,\r\n imports: [MatDialogModule, TranslateModule, MatCheckboxModule, FormsModule, MatLabel, MatFormFieldModule, MatHint, ReactiveFormsModule, MatInputModule, MatButtonModule, MatIconModule, MatTooltipModule]\r\n})\r\nexport class TableManagerDialogComponent implements OnInit, OnDestroy {\r\n\r\n /** Formgroup reference for checkboxes */\r\n protected formGroup: UntypedFormGroup;\r\n\r\n /** The table input value reference */\r\n protected value = '';\r\n\r\n /** Subscription for handling formgroup changes */\r\n private sub: Subscription;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: TableManagerData, private dialogRef: MatDialogRef, private builder: FormBuilder) {\r\n /** initializes form group */\r\n this.formGroup = this.builder.group({\r\n lifeStamp: false,\r\n yesOrNot: false,\r\n or: false,\r\n orTable: null,\r\n cancelled: false\r\n });\r\n\r\n /** subscribes to the formgroup observable */\r\n this.listenToFormChange(this.formGroup);\r\n }\r\n\r\n ngOnInit(): void {\r\n /** inserts value of table content */\r\n this.value = this.data?.table?.content;\r\n /** inserts value of or table and evaluates checkboxes */\r\n this.formGroup.patchValue({ 'orTable': this.data?.table?.orTable });\r\n this.evaluateCheckboxes(this.data?.table);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n /** unsubscribes from observable */\r\n this.sub?.unsubscribe();\r\n }\r\n\r\n /**\r\n * Listens to checkbox form changes and disables checkboxes according to business logic\r\n * @param formGroup the checkbox formgroup reference\r\n */\r\n private listenToFormChange(formGroup: FormGroup): void {\r\n this.sub = formGroup.valueChanges.subscribe(() => {\r\n const checked = this.formContainsCheckedValues(formGroup);\r\n this.sub.unsubscribe();\r\n if (!checked) {\r\n for (const field in this.formGroup.controls) {\r\n this.formGroup.controls[field].enable();\r\n }\r\n } else {\r\n for (const field in this.formGroup.controls) {\r\n if (!this.formGroup.controls[field].value && field !== 'lifeStamp' && field !== 'orTable') {\r\n this.formGroup.controls[field].disable();\r\n }\r\n }\r\n }\r\n\r\n this.handleOrTableValidator(formGroup);\r\n\r\n /** re-subscribes to the formgroup observable */\r\n this.listenToFormChange(formGroup);\r\n });\r\n }\r\n\r\n /**\r\n * Verifies if the form contains checked checkboxes\r\n * @param formGroup the checkbox formgroup reference\r\n * @returns true/false as formgroup checked status\r\n */\r\n private formContainsCheckedValues(formGroup: FormGroup): boolean {\r\n return Object.keys(formGroup.controls).some(\r\n (formKey) => formKey !== 'lifeStamp' && formKey !== 'orTable' && formGroup.controls[formKey].value\r\n );\r\n }\r\n\r\n private handleOrTableValidator(formGroup: FormGroup): void {\r\n if (!formGroup.get('or').value) {\r\n formGroup.get('orTable').removeValidators(Validators.required);\r\n formGroup.get('orTable').updateValueAndValidity();\r\n return;\r\n }\r\n\r\n formGroup.get('orTable').addValidators(Validators.required);\r\n formGroup.get('orTable').updateValueAndValidity();\r\n }\r\n\r\n /**\r\n * Evaluates checkboxes in process of dialog opening\r\n * @param cecTable for evaluation of desired CecTable\r\n */\r\n private evaluateCheckboxes(cecTable: CecTable): void {\r\n /** if cec table is not present, do nothing */\r\n if (!cecTable) {\r\n return;\r\n }\r\n\r\n /** prefills checkboxes according to cec table type */\r\n if (cecTable.type === CecTableType.LIFESTAMP) { this.formGroup.patchValue({ 'lifeStamp': true }); }\r\n if (cecTable.adminStatus === CecTableAdminStatus.YESORNOT) { this.formGroup.patchValue({ 'yesOrNot': true }); }\r\n if (cecTable.adminStatus === CecTableAdminStatus.OR) { this.formGroup.patchValue({ 'or': true });}\r\n if (cecTable.adminStatus === CecTableAdminStatus.CANCELLED) { this.formGroup.patchValue({ 'cancelled': true }); }\r\n }\r\n\r\n /**\r\n * Evaluates the cec table type (life stamp/normal)\r\n */\r\n private getTableType(): CecTableType {\r\n return this.formGroup.get('lifeStamp').value ? CecTableType.LIFESTAMP : CecTableType.NORMAL;\r\n }\r\n\r\n /**\r\n * Evaluates the cec table status\r\n */\r\n private getTableStatus(): CecTableAdminStatus {\r\n if (this.formGroup.get('yesOrNot').value) {\r\n return CecTableAdminStatus.YESORNOT;\r\n } else if (this.formGroup.get('cancelled').value) {\r\n return CecTableAdminStatus.CANCELLED;\r\n } else if (this.formGroup.get('or').value) {\r\n return CecTableAdminStatus.OR;\r\n } else {\r\n return CecTableAdminStatus.OK;\r\n }\r\n }\r\n\r\n /**\r\n * Inserts tables into the table list\r\n */\r\n protected saveTable(): void {\r\n /** merges all spaces and trims the final string before processing */\r\n this.value = this.value.replace(/\\s\\s+/g, ' ').trim();\r\n\r\n /** if dialog is type single, return single table */\r\n if (this.data.type === 'single') {\r\n /** closes dialog with processed single table object */\r\n this.dialogRef.close(new CecTable(this.value, this.getTableType(), this.getTableStatus(), CecTableStatus.OK, true));\r\n return;\r\n }\r\n\r\n /** splits the tables by space identfier */\r\n const tables = this.value.split(' ');\r\n const cecTables: CecTable[] = [];\r\n for (const table of tables) {\r\n const tableName = table.replace(/[{()}]/g, '');\r\n /** processes the tables to table objects and pushes them into array */\r\n cecTables.push(new CecTable(tableName, this.getTableType(), this.getTableStatus(), CecTableStatus.OK, true));\r\n }\r\n\r\n /** closes dialog with processed multiple table objects */\r\n this.dialogRef.close(cecTables);\r\n }\r\n}\r\n","
    \r\n
    \r\n

    {{'Table management'}}

    \r\n close \r\n
    \r\n \r\n {{'Table management' | translate}}\r\n \r\n \r\n \r\n @if (data.type === 'multi') {\r\n \r\n }\r\n @else {\r\n
    \r\n Life stamp\r\n Yes or Not\r\n Or\r\n @if (formGroup.get('or').value) {\r\n \r\n {{'Alternative table' | translate}}\r\n \r\n \r\n }\r\n Cancelled\r\n
    \r\n }\r\n \r\n \r\n \r\n
    \r\n","import { Component, ContentChildren, EventEmitter, Output } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { ToolbarItemDirective } from '../directives/toolbar-item.directive';\r\nimport { ToolbarFilterPipe } from '../pipes/toolbar-filter.pipe';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { ToolbarButtonFilterPipe } from '../pipes/toolbar-button-filter.pipe';\r\nimport { CecBreakpointPipe } from '../../pipes/cec-breakpoint.pipe';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\n\r\n@Component({\r\n selector: 'cec-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n standalone: true,\r\n imports: [MatButtonModule, MatIconModule, ToolbarFilterPipe, CommonModule, ToolbarItemDirective, MatTooltipModule, ToolbarButtonFilterPipe, CecBreakpointPipe, MatMenuModule],\r\n host: {\r\n style: 'width: fit-content',\r\n },\r\n})\r\nexport class ToolbarComponent {\r\n\r\n @Output()\r\n public onButtonClicked = new EventEmitter();\r\n\r\n /** Defines toolbar items in HTML */\r\n @ContentChildren(ToolbarItemDirective)\r\n public items: ToolbarItemDirective[] = [];\r\n\r\n public onClickButton(id: string): void {\r\n this.onButtonClicked.emit(id);\r\n }\r\n}\r\n","
    \r\n
    \r\n @for (item of items | toolbarFilter: 'left'; track item) {\r\n @if (!(['xs', 'sm', 'md', 'lg'] | breakpoint | async)) {\r\n \r\n \r\n }\r\n }\r\n
    \r\n
    \r\n @if ((['xs', 'sm', 'md', 'lg'] | breakpoint | async) && items.length) {\r\n \r\n \r\n @for (item of items | toolbarButtonFilter; track item) {\r\n @if (!item.items.length) {\r\n \r\n } @else {\r\n @for (subItem of item.items; track subItem) {\r\n \r\n }\r\n }\r\n }\r\n \r\n } @else {\r\n @for (item of items | toolbarFilter: 'right'; track item) {\r\n \r\n \r\n }\r\n }\r\n
    \r\n
    \r\n\r\n\r\n @switch (item.type) {\r\n @case ('button') {\r\n \r\n {{ item.icon }}\r\n \r\n }\r\n @case ('menu') {\r\n @if (item.items.length) {\r\n \r\n \r\n @for (menuItem of item.items; track menuItem) {\r\n \r\n }\r\n \r\n }\r\n }\r\n }\r\n","import { ContentChildren, Directive, Input } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'cec-toolbar>cec-toolbar-item, cec-toolbar-item>cec-toolbar-item',\r\n standalone: true\r\n})\r\nexport class ToolbarItemDirective {\r\n\r\n @Input()\r\n public id = '';\r\n\r\n @Input()\r\n public position: 'left' | 'right' = 'right';\r\n\r\n @Input()\r\n public type: 'button' | 'menu' = 'button';\r\n\r\n @Input()\r\n public icon = '';\r\n\r\n @Input()\r\n public tooltip = '';\r\n\r\n @Input()\r\n public visible = false;\r\n\r\n /** Defines toolbar items in HTML */\r\n @ContentChildren(ToolbarItemDirective)\r\n public items: ToolbarItemDirective[] = [];\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ToolbarItemDirective } from '../directives/toolbar-item.directive';\r\n\r\n/**\r\n * Filtering pipe used to filter toolbar items based on position\r\n */\r\n@Pipe({\r\n name: 'toolbarButtonFilter',\r\n standalone: true,\r\n})\r\nexport class ToolbarButtonFilterPipe implements PipeTransform {\r\n transform(\r\n items: ToolbarItemDirective[]\r\n ): ToolbarItemDirective[] {\r\n if (!items || !items.length) {\r\n return items;\r\n }\r\n\r\n return items.filter((p) => (p.type === 'button' || p.type === 'menu' ) && p.visible) ?? [];\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ToolbarItemDirective } from '../directives/toolbar-item.directive';\r\n\r\n/**\r\n * Filtering pipe used to filter toolbar items based on position\r\n */\r\n@Pipe({\r\n name: 'toolbarFilter',\r\n standalone: true,\r\n})\r\nexport class ToolbarFilterPipe implements PipeTransform {\r\n transform(\r\n items: ToolbarItemDirective[],\r\n position: string\r\n ): ToolbarItemDirective[] {\r\n if (!items || !items.length || !position) {\r\n return items;\r\n }\r\n\r\n return items.filter((p) => p.position === position && p.visible) ?? [];\r\n }\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nimport {Language} from '../app/common/components/navigation-bar/language-switcher/types/language-switcher.types';\r\n\r\nexport const environment = {\r\n production: false,\r\n\r\n translations: {\r\n locales: [Language.EN, Language.CZ, Language.PL, Language.SK, Language.HU, Language.RO],\r\n defaultLocale: Language.EN\r\n },\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"names":["SERVER_API_URL_NEW","catchError","of","switchMap","ApiDataService","constructor","http","httpHandlingService","SERVER_URI","get","url","uri","headers","authorizationHeaders","pipe","error","status","isUserLoggedIn","logout","getAll","post","data","put","patch","patchEmpty","undefined","delete","params","getFile","downloadFileHeaders","responseType","observe","downloadFile","response","contentDisposition","filename","split","trim","dataType","body","type","binaryData","downloadLink","document","createElement","href","window","URL","createObjectURL","Blob","setAttribute","appendChild","click","removeChild","_","i0","ɵɵinject","i1","HttpClient","i2","HttpHandlingService","_2","factory","ɵfac","providedIn","Country","CountryService","transformCountryCodeCountry","countryCode","CZ","SK","PL","HU","RO","transformCountryToCountryCode","country","HttpHeaders","localStorage","handleUserErrorOutput","fieldControl","hasError","invalid","handleUserErrorOutputAbstract","loggedUser","append","token","simpleHeader","remove","location","reload","LocalStorageService","key","JSON","parse","getItem","set","value","setItem","stringify","removeItem","getFromState","state","cashedState","setToState","sourceState","removeFromState","clear","SpinnerService","loading","setLoading","getLoading","SERVER_API_URL","CecTableAdminStatus","CecTableType","UtilService","isLoggedCompetitorAnOrganizer","competitionId","competitor","id","getLoggedCompetitorId","convertTableTypeToCecTableType","cecTables","cecTable","toString","LIFESTAMP","NORMAL","convertTableStatusToCecTableStatus","adminStatus","YESORNOT","OR","CANCELLED","OK","i3","RouterModule","HomeComponent","CompetitionDetailsComponent","ActivateComponent","SeasonResultsTableComponent","CompetitionAuthorGuard","competitionAuthorResolver","SeasonSpeedTrialResultsTableComponent","AppRoutingModule","_3","forRoot","path","component","loadComponent","then","DrivingReportComponent","canActivate","CompetitionCardComponent","PageWrapperComponent","breadcrumb","children","resolve","isOrganizer","RegisteredCrewsTableComponent","StageCardComponent","DrivingReportsTableComponent","StageResultsTableComponent","SpeedTrialResultsTableComponent","RoundResultsTableComponent","CompetitionResultsTableComponent","AnnualRegisteredCrewsTableComponent","redirectTo","pathMatch","scrollPositionRestoration","onSameUrlNavigation","imports","exports","NavigationStart","AppComponent","router","title","events","subscribe","event","console","log","ngOnInit","ngAfterViewInit","ɵɵdirectiveInject","i4","Router","selectors","decls","vars","template","AppComponent_Template","rf","ctx","ɵɵelement","BrowserModule","BrowserAnimationsModule","NavigationBarComponent","MatToolbarModule","MatIconModule","MatButtonModule","MatFormFieldModule","MatInputModule","TranslateLoader","TranslateModule","HttpClientModule","TranslateHttpLoader","LanguageSwitcherComponent","MatSelectModule","FormsModule","ReactiveFormsModule","MatMenuModule","ResultsComponent","MatDividerModule","MatCardModule","MatGridListModule","MatTabsModule","RaceInfoComponent","MatPaginatorModule","MatTableModule","RegistrationDialogComponent","MatDialogModule","MatDatepickerModule","MAT_DATE_FORMATS","MAT_DATE_LOCALE","MatNativeDateModule","MatCheckboxModule","MatListModule","AddCompetitionCardComponent","MatTooltipModule","LoginDialogComponent","ProfileInfoComponent","AddCompetitorCardComponent","EditCompetitorCardComponent","AddCrewCardComponent","SignInCardComponent","EditCrewCardComponent","DragDropModule","MultipleTableCreatorComponent","MatTreeModule","MatExpansionModule","ConfirmationDialogComponent","EditSpeedTrialResultComponent","ForgotPasswordDialogComponent","ArchiveComponent","SpinnerComponent","CecDateTimePickerComponent","TableListComponent","CecBreakpointPipe","MatSidenavModule","DATE_FORMAT","CompetitionsComponent","HttpLoaderFactory","AppModule","bootstrap","provide","useValue","loader","useFactory","deps","declarations","mergeMap","route","activateService","dialog","success","message","queryParams","onSignIn","navigateByUrl","openLoginDialog","dialogRef","open","afterClosed","result","ActivatedRoute","ActivateService","MatDialog","consts","ActivateComponent_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ActivateComponent_Template_button_click_10_listener","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","ɵɵproperty","ɵɵpureFunction2","_c0","HttpParams","signal","Validators","DialogComponent","SelectComponent","CrudDialogBase","forkJoin","AnnualRegistrationComponent","service","seasonId","successCreateKey","failCreateKey","successUpdateKey","failUpdateKey","seasonName","crews","competitors","formGroup","builder","group","crewId","required","driverId","navigatorId","sub","add","valueChanges","disableFields","getCompetitors","crew","patchValue","enableFields","beforeDialogShow","seasonName$","getActiveSeasonName","seasonId$","getActiveSeasonId","crews$","getAvailableCrews","enable","disable","afterDataSave","next","navigate","afterDataPrefill","AnnualRegistrationsTableService","standalone","features","ɵɵInheritDefinitionFeature","ɵɵStandaloneFeature","AnnualRegistrationComponent_Template","AnnualRegistrationComponent_Template_cec_dialog_onButtonClicked_0_listener","$event","ɵɵrestoreView","_r1","ɵɵresetView","onClickButton","ɵNgNoValidate","NgControlStatus","NgControlStatusGroup","FormGroupDirective","FormControlName","styles","inject","BehaviorSubject","map","getTableName","name","getGridData","getColumnDefinition","create","entity","update","Error","ctx_r1","getErrorMessage","competitionCardForm","getErrorMessageRangeDatePicker","AddCompetitionCardComponent_mat_expansion_panel_41_mat_list_option_5_Template_button_click_4_listener","stage_r5","_r4","$implicit","round_r6","ɵɵnextContext","onEditStage","AddCompetitionCardComponent_mat_expansion_panel_41_mat_list_option_5_Template_button_click_8_listener","onDeleteStage","ɵɵtextInterpolate1","stageName","ɵɵpropertyInterpolate","AddCompetitionCardComponent_mat_expansion_panel_41_Template_mat_expansion_panel_opened_0_listener","_r3","panelOpenState","AddCompetitionCardComponent_mat_expansion_panel_41_Template_mat_expansion_panel_closed_0_listener","ɵɵtemplate","AddCompetitionCardComponent_mat_expansion_panel_41_mat_list_option_5_Template","AddCompetitionCardComponent_mat_expansion_panel_41_Template_button_click_10_listener","onCreateStage","stages","competitor_r7","firstName","lastName","AddCompetitionCardComponent_mat_list_item_56_Template_button_click_2_listener","competitor_r9","_r8","deleteActiveAuthor","activeAuthors","length","addCompetitionCardService","rounds","authors","authorsFullData","onReturnCompetition","getAvailableAuthors","ngDoCheck","onSaveCompetition","onOpenNewRoundDialog","round","stage","onCancel","compareCompetitors","formControlName","selectedOption","authorsFieldIsEmpty","processAuthors","AddCompetitionCardService","AddCompetitionCardComponent_Template","AddCompetitionCardComponent_mat_error_13_Template","AddCompetitionCardComponent_mat_error_20_Template","AddCompetitionCardComponent_mat_error_31_Template","AddCompetitionCardComponent_mat_error_33_Template","AddCompetitionCardComponent_Template_button_click_37_listener","AddCompetitionCardComponent_mat_expansion_panel_41_Template","AddCompetitionCardComponent_mat_option_51_Template","AddCompetitionCardComponent_Template_button_click_52_listener","AddCompetitionCardComponent_mat_list_item_56_Template","AddCompetitionCardComponent_Template_button_click_58_listener","AddCompetitionCardComponent_Template_button_click_61_listener","picker_r10","EventEmitter","TranslateService","RoundService","SnackBarService","RoundDialogComponent","snackBar","translate","refresh","show","hide","instant","emit","danger","viewQuery","RoundDialogComponent_Query","RoundDialogComponent_Template","RoundDialogComponent_Template_cec_dialog_onButtonClicked_0_listener","ɵɵtwoWayListener","RoundDialogComponent_Template_input_ngModelChange_5_listener","ɵɵtwoWayBindingSet","ɵɵtwoWayProperty","MatFormField","MatLabel","TranslatePipe","DefaultValueAccessor","RequiredValidator","NgModel","MatInput","encapsulation","getDisplayResultsStatus","updateResultsStatus","UntypedFormControl","UntypedFormGroup","CecTable","CecTableStatus","tableContentGroup","tableContent","saveListOfTables","arrayOfTables","table","tableName","replace","push","getTableType","close","newTable","i","MatDialogRef","MultipleTableCreatorComponent_Template","MultipleTableCreatorComponent_Template_button_click_18_listener","Competition","CompetitionType","competitionName","registrationEnabledFrom","registrationEnabledTo","competitionStart","competitionEnd","author","competition","competitionReference","splice","indexOf","CEC","onGetAuthorsIds","setCompetitionParametersToFields","setValue","roundResult","loggedCompetitor","filter","authorFromResponse","authorsId","refilterAuthors","activeAuthor","additionalCompetitor","i5","StageCardService","getCorrectReport","getTime","getName","getDisplayReportsStatus","updateReportsStatus","CompetitionCardService","getCompetition","MAT_DIALOG_DATA","SpeedTrialRequest","utilService","speedTrialResultGroup","minutes","seconds","milliseconds","points","speedTrialResult","getSpeedTrialById","speedTrialResultURL","updateSpeedTrial","request","crewNumber","stageResultId","stageResults","EditSpeedTrialResultComponent_Template","EditSpeedTrialResultComponent_Template_button_click_33_listener","CompetitionResultsTableService","ResultsGridBase","BreadcrumbComponent","GridComponent","ToolbarComponent","ToolbarItemDirective","ResultSummaryComponent","ResultItemDirective","RoundResultsTableService","stage_r1","columnKey","ɵɵrepeaterCreate","CompetitionResultsTableComponent_Conditional_11_For_3_Template","_forTrack0","dialogKey","ɵɵrepeater","total","roundResultService","parent","snapshot","loadDisplayResultsStatus","onButtonClick","row","roundColumn","find","columnId","buttonId","entityId","getResult","setTimeout","navigateToSpeedTrialResults","onToolbarClick","itemId","recalculateResults","updateDisplayStatus","ɵɵProvidersFeature","CompetitionResultsTableComponent_Template","CompetitionResultsTableComponent_Template_cec_grid_onButtonClicked_1_listener","CompetitionResultsTableComponent_Template_cec_toolbar_onButtonClicked_2_listener","CompetitionResultsTableComponent_Conditional_11_Template","display","ɵɵconditional","competitionService","results","mapRounds","buttonText","execute","alert","ConfirmationDialogComponent_Template","ConfirmationDialogComponent_Template_button_click_11_listener","ArchiveComponent_Conditional_0_For_8_For_9_Conditional_7_For_9_Template_button_click_0_listener","drivingReport_r4","result_r5","onSelectDrivingReport","stageId","ArchiveComponent_Conditional_0_For_8_For_9_Conditional_7_For_9_Template","_forTrack2","drivingReportsMenu_r6","drivingReportsPerCrew","ArchiveComponent_Conditional_0_For_8_For_9_Conditional_8_For_9_Template_button_click_0_listener","stageResult_r8","_r7","onSelectStageResult","ArchiveComponent_Conditional_0_For_8_For_9_Conditional_8_For_9_Template","_forTrack3","stageResultsMenu_r9","ArchiveComponent_Conditional_0_For_8_For_9_Conditional_9_For_9_Template_button_click_0_listener","roundResult_r11","_r10","onSelectRoundResult","ArchiveComponent_Conditional_0_For_8_For_9_Conditional_9_For_9_Template","roundResultsMenu_r12","roundResults","ArchiveComponent_Conditional_0_For_8_For_9_Conditional_10_Template_button_click_0_listener","_r13","onSelectCompetitionResult","ArchiveComponent_Conditional_0_For_8_For_9_Conditional_7_Template","ArchiveComponent_Conditional_0_For_8_For_9_Conditional_8_Template","ArchiveComponent_Conditional_0_For_8_For_9_Conditional_9_Template","ArchiveComponent_Conditional_0_For_8_For_9_Conditional_10_Template","submenu_r14","competitionResults","ArchiveComponent_Conditional_0_For_8_For_9_Template","_forTrack1","resultsMenu_r16","ɵɵtextInterpolate2","season_r15","competitions","ArchiveComponent_Conditional_0_Template_button_click_0_listener","onGetArchive","ArchiveComponent_Conditional_0_For_8_Template","archiveMenu_r17","archive","ArchiveComponent_Conditional_3_For_8_For_8_Conditional_6_For_8_Template_div_click_0_listener","drivingReport_r20","_r19","result_r21","ArchiveComponent_Conditional_3_For_8_For_8_Conditional_6_For_8_Template","ɵɵclassProp","ArchiveComponent_Conditional_3_For_8_For_8_Conditional_7_For_8_Template_div_click_0_listener","stageResult_r23","_r22","ArchiveComponent_Conditional_3_For_8_For_8_Conditional_7_For_8_Template","ArchiveComponent_Conditional_3_For_8_For_8_Conditional_8_For_8_Template_div_click_0_listener","roundResult_r25","_r24","ArchiveComponent_Conditional_3_For_8_For_8_Conditional_8_For_8_Template","ArchiveComponent_Conditional_3_For_8_For_8_Conditional_9_Template_div_click_0_listener","_r26","ArchiveComponent_Conditional_3_For_8_For_8_Conditional_6_Template","ArchiveComponent_Conditional_3_For_8_For_8_Conditional_7_Template","ArchiveComponent_Conditional_3_For_8_For_8_Conditional_8_Template","ArchiveComponent_Conditional_3_For_8_For_8_Conditional_9_Template","ArchiveComponent_Conditional_3_For_8_For_8_Template","season_r27","ArchiveComponent_Conditional_3_Template_mat_expansion_panel_click_0_listener","_r18","ArchiveComponent_Conditional_3_For_8_Template","onCloseSideNav","archiveResultsDetailed","roundId","drivingReportId","outputs","ArchiveComponent_Template","ArchiveComponent_Conditional_0_Template","ArchiveComponent_Conditional_3_Template","ɵɵpureFunction0","selectedIndex","CompetitionDetailsComponent_Template","CommonModule","ChangeDetectorRef","FormBuilder","CompetitionRegistrationService","Subscription","CompetitorPipe","ItemListSelectorComponent","DateRangePickerComponent","CompetitionRegistrationComponent","updated","Date","cdr","accommodationDuration","noteCompetitor","additionalCompetitors","detectChanges","ngOnDestroy","unsubscribe","prefillOrganizerData","fillData","prefillBasicData","getCompetitionRegistration","getDataForPrefill","competitionDuration","emitEvent","getOrganizerDataForPrefill","CompetitionRegistrationComponent_Query","CompetitionRegistrationComponent_Template","CompetitionRegistrationComponent_Template_cec_dialog_onButtonClicked_0_listener","controls","disabled","ɵɵpipeBind4","ItemListSelectorPipe","transform","items","itemsSet","Set","obj","has","pure","controlName","values","forEach","item","includes","share","competitionRegistrationId","getCrews","RegisteredCrewsTableService","InfoDialogComponent","GridBase","apiService","infoDialogTextAreaLabelKey","navigateToCompetitionDetails","printRegistrations","infoDialog","showList","noteAuthor","registrationDialog","confirmationDialog","grid","exportExcel","onLogoutButtonClick","removeCrewFromCompetition","authorNoteUpdate","updateAuthorNote","text","RegisteredCrewsTableComponent_Query","RegisteredCrewsTableComponent_Template","RegisteredCrewsTableComponent_Template_cec_grid_onButtonClicked_1_listener","RegisteredCrewsTableComponent_Template_cec_toolbar_onButtonClicked_2_listener","RegisteredCrewsTableComponent_Template_cec_competition_registration_dialog_reload_7_listener","RegisteredCrewsTableComponent_Template_cec_confirmation_dialog_onButtonClicked_9_listener","RegisteredCrewsTableComponent_Template_cec_info_dialog_onButtonClicked_10_listener","GRID_COLUMN_DEFINITION","transKey","exportAble","hideAble","dateFormat","textAlign","columns","icon","tooltip","paramMap","CompetitionRegistration","SignInCardComponent_mat_option_15_Template_mat_option_click_0_listener","crew_r3","_r2","ctx_r3","selectDriverAndNavigatorAccordingToCrew","number","raceSignInForm","competitor_r5","SignInCardComponent_mat_form_field_18_mat_option_8_Template","SignInCardComponent_mat_form_field_18_mat_error_9_Template","drivers","competitor_r6","SignInCardComponent_mat_form_field_19_mat_option_8_Template","SignInCardComponent_mat_form_field_19_mat_error_9_Template","navigators","SignInCardComponent_mat_list_item_50_Template_button_click_2_listener","deleteAdditionalCompetitor","errorMessage","accommodationFrom","accommodationTo","driver","navigator","allCompetitors","addedCompetitors","serverIsDown","notRegisteredInSeason","alreadyInCompetition","onGetCrews","refilterDropdowns","signToCompetition","competitionRegistration","onGetAdditionalCompetitorsIds","handleCreateErrors","additionalCompetitorsIds","compareCrews","additionalCompetitorFieldIsEmpty","processAvailableCompetitors","errorKey","SignInCardComponent_Template","SignInCardComponent_mat_option_15_Template","SignInCardComponent_mat_error_16_Template","SignInCardComponent_mat_form_field_18_Template","SignInCardComponent_mat_form_field_19_Template","SignInCardComponent_mat_error_31_Template","SignInCardComponent_mat_option_45_Template","SignInCardComponent_Template_button_click_46_listener","SignInCardComponent_mat_list_item_50_Template","SignInCardComponent_mat_error_51_Template","SignInCardComponent_mat_error_52_Template","SignInCardComponent_mat_error_53_Template","SignInCardComponent_Template_button_click_58_listener","ɵɵtextInterpolate3","ɵɵpipeBind2","valid","viewChild","AsyncPipe","NavigationService","CompetitionsComponent_Conditional_0_Conditional_0_For_8_For_9_Template_button_click_0_listener","item_r6","_r5","rootItem_r4","onClickItem","labelKey","tmp_28_0","properties","CompetitionsComponent_Conditional_0_Conditional_0_For_8_Template_button_click_0_listener","CompetitionsComponent_Conditional_0_Conditional_0_For_8_For_9_Template","ɵɵrepeaterTrackByIdentity","CompetitionsComponent_Conditional_0_Conditional_0_For_8_Conditional_10_Template","submenu_r9","tmp_19_0","ɵ$index_14_r7","ɵ$count_14_r8","CompetitionsComponent_Conditional_0_Conditional_0_Template_button_click_0_listener","loadData","CompetitionsComponent_Conditional_0_Conditional_0_For_8_Template","menu_r10","navigation","rootItems","CompetitionsComponent_Conditional_0_Conditional_3_For_8_Conditional_0_For_8_Template_a_click_0_listener","item_r12","_r11","rootItem_r13","CompetitionsComponent_Conditional_0_Conditional_3_For_8_Conditional_0_For_8_Template","CompetitionsComponent_Conditional_0_Conditional_3_For_8_Conditional_1_Template_a_click_0_listener","_r14","tmp_17_0","CompetitionsComponent_Conditional_0_Conditional_3_For_8_Conditional_0_Template","CompetitionsComponent_Conditional_0_Conditional_3_For_8_Conditional_1_Template","CompetitionsComponent_Conditional_0_Conditional_3_For_8_Template","CompetitionsComponent_Conditional_0_Conditional_0_Template","CompetitionsComponent_Conditional_0_Conditional_3_Template","annualDialog","competitionDialog","breakpointPipe","loadAll","getCompetitions","rootItem","relativeTo","CompetitionsComponent_Query","CompetitionsComponent_Template","CompetitionsComponent_Conditional_0_Template","MatIcon","MatMenu","MatMenuItem","MatMenuTrigger","MatDivider","i6","MatExpansionPanel","MatExpansionPanelHeader","i7","MatButton","i8","MatListItem","LanguageSwitcherComponent_Conditional_0_Template_mat_select_valueChange_1_listener","languageSwitcherService","selectedLanguage","LanguageSwitcherComponent_Conditional_0_Template_mat_option_click_6_listener","changeLanguage","LanguageSwitcherComponent_Conditional_0_Template_mat_option_click_10_listener","LanguageSwitcherComponent_Conditional_0_Template_mat_option_click_14_listener","LanguageSwitcherComponent_Conditional_0_Template_mat_option_click_18_listener","LanguageSwitcherComponent_Conditional_0_Template_mat_option_click_22_listener","LanguageSwitcherComponent_Conditional_0_Template_mat_option_click_26_listener","ɵɵpropertyInterpolate1","toLowerCase","ɵɵsanitizeUrl","LanguageSwitcherComponent_Conditional_3_Template_a_click_5_listener","changeStringLanguage","LanguageSwitcherComponent_Conditional_3_Template_a_click_9_listener","LanguageSwitcherComponent_Conditional_3_Template_a_click_13_listener","LanguageSwitcherComponent_Conditional_3_Template_a_click_17_listener","LanguageSwitcherComponent_Conditional_3_Template_a_click_21_listener","LanguageSwitcherComponent_Conditional_3_Template_a_click_25_listener","LanguageSwitcherService","LanguageSwitcherComponent_Template","LanguageSwitcherComponent_Conditional_0_Template","LanguageSwitcherComponent_Conditional_3_Template","Language","environment","LoggedUser","init","use","language","toUpperCase","addLangs","translations","locales","setDefaultLang","defaultLocale","lang","example","target","textContent","EN","changeLanguageIfUserIsLogged","user","ctx_r0","form","login","password","minLength","maxLength","newPassword","passwordMatcher","bind","passwordNotMatch","changePassword","getCrewsByCompetitorURL","UntypedFormBuilder","ForgotPasswordDialogComponent_Template","ForgotPasswordDialogComponent_mat_error_10_Template","ForgotPasswordDialogComponent_Template_button_click_17_listener","ForgotPasswordDialogComponent_mat_error_20_Template","ForgotPasswordDialogComponent_Template_button_click_27_listener","ForgotPasswordDialogComponent_mat_error_30_Template","ForgotPasswordDialogComponent_mat_error_31_Template","ForgotPasswordDialogComponent_Template_button_click_36_listener","Login","LoggedCompetitor","loginFieldControl","passwordFieldControl","viewContainerRef","rememberMe","ngAfterViewChecked","onLoginUser","authenticateURL","id_token","getUserAndInsertDataToLocalStorage","handleLoginHttpErrors","usersURL","langKey","addDayToCurrentDate","authorities","getCompetitorAndInsertDataToLocalStorage","loggedUserId","userFromServer","competitorURL","role","userId","getCrewsByCompetitor","allFieldsAreFilled","days","currentDate","setDate","getDate","setErrors","unauthorized","onInputChangeCheck","forgotPassword","ViewContainerRef","LoginDialogComponent_Template","LoginDialogComponent_Template_input_ngModelChange_8_listener","LoginDialogComponent_mat_error_9_Template","LoginDialogComponent_Template_input_ngModelChange_15_listener","LoginDialogComponent_Template_button_click_16_listener","LoginDialogComponent_mat_error_19_Template","LoginDialogComponent_Template_mat_checkbox_ngModelChange_21_listener","LoginDialogComponent_Template_button_click_25_listener","LoginDialogComponent_mat_error_28_Template","LoginDialogComponent_Template_button_click_33_listener","NavigationBarComponent_Conditional_0_Conditional_1_Conditional_6_Template_button_click_0_listener","NavigationBarComponent_Conditional_0_Conditional_1_Conditional_6_Template_button_click_5_listener","openDialog","loggedIn","NavigationBarComponent_Conditional_0_Conditional_1_Template_button_click_0_listener","onGoHome","NavigationBarComponent_Conditional_0_Conditional_1_Conditional_6_Template","NavigationBarComponent_Conditional_0_Conditional_1_Conditional_7_Template","NavigationBarComponent_Conditional_0_Conditional_1_Conditional_8_Template","NavigationBarComponent_Conditional_0_Conditional_4_Conditional_3_Template_button_click_0_listener","NavigationBarComponent_Conditional_0_Conditional_4_Template_button_click_0_listener","handleSideNav","NavigationBarComponent_Conditional_0_Conditional_4_Conditional_3_Template","NavigationBarComponent_Conditional_0_Conditional_4_Conditional_4_Template","NavigationBarComponent_Conditional_0_Conditional_1_Template","NavigationBarComponent_Conditional_0_Conditional_4_Template","NavigationBarComponent_Conditional_17_Template_app_profile_info_onCloseSideNav_0_listener","_r6","closeSideNav","NavigationBarComponent_Conditional_18_Template_div_click_1_listener","NavigationBarComponent_Conditional_18_Template_div_click_7_listener","opened","routeReuseStrategy","shouldReuseRoute","onLogout","NavigationBarComponent_Template","NavigationBarComponent_Conditional_0_Template","NavigationBarComponent_Template_button_click_5_listener","NavigationBarComponent_Template_div_click_10_listener","NavigationBarComponent_Template_app_standings_onCloseSideNav_15_listener","NavigationBarComponent_Template_app_races_onCloseSideNav_16_listener","NavigationBarComponent_Conditional_17_Template","NavigationBarComponent_Conditional_18_Template","Competitor","Role","country_r2","ctx_r2","countryFieldControl","firstNameFieldControl","lastNameFieldControl","idNumberFieldControl","dateOfBirthFieldControl","addressFieldControl","phoneFieldControl","countryService","countries","Object","onSaveCompetitorCard","createCompetitorURL","selectedCountry","idNumber","dateOfBirth","address","phone","USER","competitorFromServer","getLanguageFromCountry","AddCompetitorCardComponent_Template","AddCompetitorCardComponent_Template_mat_select_valueChange_12_listener","AddCompetitorCardComponent_mat_option_13_Template","AddCompetitorCardComponent_mat_error_14_Template","AddCompetitorCardComponent_Template_input_ngModelChange_20_listener","AddCompetitorCardComponent_mat_error_21_Template","AddCompetitorCardComponent_Template_input_ngModelChange_26_listener","AddCompetitorCardComponent_mat_error_27_Template","AddCompetitorCardComponent_Template_input_ngModelChange_33_listener","AddCompetitorCardComponent_mat_error_34_Template","AddCompetitorCardComponent_Template_input_ngModelChange_39_listener","AddCompetitorCardComponent_mat_error_40_Template","AddCompetitorCardComponent_Template_input_ngModelChange_49_listener","AddCompetitorCardComponent_mat_error_50_Template","AddCompetitorCardComponent_Template_input_ngModelChange_55_listener","AddCompetitorCardComponent_mat_error_56_Template","AddCompetitorCardComponent_mat_error_57_Template","AddCompetitorCardComponent_Template_button_click_62_listener","datepicker_r4","Crew","number_r1","crewNumberFieldControl","AddCrewCardComponent_mat_option_21_Template_mat_option_click_0_listener","competitor_r4","processDrivers","driverFieldControl","AddCrewCardComponent_mat_option_28_Template_mat_option_click_0_listener","processNavigators","navigatorFieldControl","numbers","Array","fill","x","crewNumbers","availableCompetitors","selectedDriver","selectedNavigator","onSaveCrew","saveCrewURL","AddCrewCardComponent_Template","AddCrewCardComponent_Template_mat_select_valueChange_12_listener","AddCrewCardComponent_mat_option_13_Template","AddCrewCardComponent_mat_error_14_Template","AddCrewCardComponent_mat_option_21_Template","AddCrewCardComponent_mat_error_22_Template","AddCrewCardComponent_mat_option_28_Template","AddCrewCardComponent_mat_error_29_Template","AddCrewCardComponent_mat_error_30_Template","AddCrewCardComponent_Template_button_click_35_listener","onUpdateCompetitorCard","editCompetitorURL","handleUpdateErrors","EditCompetitorCardComponent_Template","EditCompetitorCardComponent_Template_mat_select_valueChange_12_listener","EditCompetitorCardComponent_mat_option_13_Template","EditCompetitorCardComponent_Template_input_ngModelChange_19_listener","EditCompetitorCardComponent_mat_error_20_Template","EditCompetitorCardComponent_Template_input_ngModelChange_25_listener","EditCompetitorCardComponent_mat_error_26_Template","EditCompetitorCardComponent_Template_input_ngModelChange_32_listener","EditCompetitorCardComponent_mat_error_33_Template","EditCompetitorCardComponent_Template_input_ngModelChange_38_listener","EditCompetitorCardComponent_mat_error_39_Template","EditCompetitorCardComponent_Template_input_ngModelChange_48_listener","EditCompetitorCardComponent_mat_error_49_Template","EditCompetitorCardComponent_Template_input_ngModelChange_54_listener","EditCompetitorCardComponent_mat_error_55_Template","EditCompetitorCardComponent_mat_error_56_Template","EditCompetitorCardComponent_Template_button_click_61_listener","competitor_r2","crewCardForm","EditCrewCardComponent_mat_list_item_40_Template_button_click_2_listener","editCrewCardService","initializeComponentData","EditCrewCardService","EditCrewCardComponent_Template","EditCrewCardComponent_mat_option_14_Template","EditCrewCardComponent_mat_option_24_Template","EditCrewCardComponent_mat_error_25_Template","EditCrewCardComponent_mat_option_34_Template","EditCrewCardComponent_mat_error_35_Template","EditCrewCardComponent_mat_list_item_40_Template","EditCrewCardComponent_mat_option_47_Template","EditCrewCardComponent_Template_button_click_48_listener","EditCrewCardComponent_mat_error_51_Template","EditCrewCardComponent_Template_button_click_56_listener","CrewSample","crewNumbersWithCompetitors","editCrewURL","crewSample","activeInCrews","crewInActiveCrews","EditCrewCardInfo","ProfileInfoComponent_Conditional_0_Conditional_6_Template_button_click_0_listener","openAddCompetitorCardDialogDialog","ProfileInfoComponent_Conditional_0_Conditional_7_Template_button_click_0_listener","openEditCompetitorCardDialogDialog","ProfileInfoComponent_Conditional_0_Conditional_8_Template_button_click_0_listener","openAddCrewCardDialog","competitorCardIsNotCreated","ProfileInfoComponent_Conditional_0_Conditional_9_For_8_Template_button_click_0_listener","crew_r8","openCrewDetailDialog","ProfileInfoComponent_Conditional_0_Conditional_9_For_8_Template","ProfileInfoComponent_Conditional_0_Conditional_9_Template_button_click_9_listener","ProfileInfoComponent_Conditional_0_Conditional_6_Template","ProfileInfoComponent_Conditional_0_Conditional_7_Template","ProfileInfoComponent_Conditional_0_Conditional_8_Template","ProfileInfoComponent_Conditional_0_Conditional_9_Template","ProfileInfoComponent_Conditional_0_Template_button_click_10_listener","username","competitorIsAlreadyInCrew","ProfileInfoComponent_Conditional_1_Conditional_6_Template_a_click_0_listener","_r12","ProfileInfoComponent_Conditional_1_Conditional_7_Template_a_click_0_listener","ProfileInfoComponent_Conditional_1_Conditional_8_Template_a_click_0_listener","ProfileInfoComponent_Conditional_1_Conditional_9_For_8_Template_a_click_0_listener","crew_r17","_r16","ProfileInfoComponent_Conditional_1_Conditional_9_For_8_Template","ProfileInfoComponent_Conditional_1_Conditional_9_Template_a_click_9_listener","_r15","ProfileInfoComponent_Conditional_1_Conditional_6_Template","ProfileInfoComponent_Conditional_1_Conditional_7_Template","ProfileInfoComponent_Conditional_1_Conditional_8_Template","ProfileInfoComponent_Conditional_1_Conditional_9_Template","ProfileInfoComponent_Conditional_1_Template_a_click_10_listener","sideNavMode","getCrewsRelatedForCompetitor","handleRegistrationHttpErrors","getCrewNumbersWithCompetitorsURL","crewNumbersWithCompetitorsAndSelectedCrew","inputs","ProfileInfoComponent_Template","ProfileInfoComponent_Conditional_0_Template","ProfileInfoComponent_Conditional_1_Template","Authority","User","emailControl","password2FieldControl","email","userEmail","password2","hidePasswordField","hidePassword2Field","onPasswordChangeCheck","passwordsdonotmatch","registrateUser","userexists","emailexists","handleRegistrationFieldErrors","fieldErrors","fieldError","getFieldControl","field","wrongloginpattern","wrongsize50","wrongsize60","wrongsize254","fieldName","RegistrationDialogComponent_Template","RegistrationDialogComponent_Template_input_ngModelChange_12_listener","RegistrationDialogComponent_mat_error_13_Template","RegistrationDialogComponent_Template_input_ngModelChange_18_listener","RegistrationDialogComponent_mat_error_19_Template","RegistrationDialogComponent_Template_input_ngModelChange_25_listener","RegistrationDialogComponent_Template_button_click_26_listener","RegistrationDialogComponent_mat_error_29_Template","RegistrationDialogComponent_Template_input_ngModelChange_34_listener","RegistrationDialogComponent_Template_button_click_35_listener","RegistrationDialogComponent_mat_error_38_Template","RegistrationDialogComponent_Template_input_ngModelChange_44_listener","RegistrationDialogComponent_mat_error_45_Template","RegistrationDialogComponent_Template_input_ngModelChange_50_listener","RegistrationDialogComponent_mat_error_51_Template","RegistrationDialogComponent_mat_error_52_Template","RegistrationDialogComponent_Template_button_click_57_listener","Race","ResultsComponent_Conditional_0_For_8_Conditional_7_For_9_Template_button_click_0_listener","ResultsComponent_Conditional_0_For_8_Conditional_7_For_9_Template","ResultsComponent_Conditional_0_For_8_Conditional_8_For_9_Template_button_click_0_listener","ResultsComponent_Conditional_0_For_8_Conditional_8_For_9_Template_button_click_5_listener","onSelectStageSpeedTrialResult","ResultsComponent_Conditional_0_For_8_Conditional_8_For_9_Template","ResultsComponent_Conditional_0_For_8_Conditional_9_For_9_Template_button_click_0_listener","ResultsComponent_Conditional_0_For_8_Conditional_9_For_9_Template_button_click_5_listener","onSelectRoundSpeedTrialResult","ResultsComponent_Conditional_0_For_8_Conditional_9_For_9_Template","ResultsComponent_Conditional_0_For_8_Conditional_10_Template_button_click_0_listener","ResultsComponent_Conditional_0_For_8_Conditional_10_Template_button_click_6_listener","onSelectCompetitionSpeedTrialResult","ResultsComponent_Conditional_0_For_8_Conditional_7_Template","ResultsComponent_Conditional_0_For_8_Conditional_8_Template","ResultsComponent_Conditional_0_For_8_Conditional_9_Template","ResultsComponent_Conditional_0_For_8_Conditional_10_Template","ResultsComponent_Conditional_0_Conditional_10_Template_button_click_0_listener","onSelectSeasonResult","seasonResults","ResultsComponent_Conditional_0_Conditional_11_Template_button_click_0_listener","onSelectSeasonSpeedTrialResult","speedTrialSeasonResults","ResultsComponent_Conditional_0_Template_button_click_0_listener","onGetResults","ResultsComponent_Conditional_0_For_8_Template","ResultsComponent_Conditional_0_Conditional_10_Template","ResultsComponent_Conditional_0_Conditional_11_Template","menu_r17","standings","ResultsComponent_Conditional_3_For_8_Conditional_6_For_8_Template_a_click_0_listener","ResultsComponent_Conditional_3_For_8_Conditional_6_For_8_Template","ResultsComponent_Conditional_3_For_8_Conditional_7_For_8_Template_a_click_0_listener","ResultsComponent_Conditional_3_For_8_Conditional_7_For_8_Template_a_click_5_listener","ResultsComponent_Conditional_3_For_8_Conditional_7_For_8_Template","ResultsComponent_Conditional_3_For_8_Conditional_8_For_8_Template_a_click_0_listener","ResultsComponent_Conditional_3_For_8_Conditional_8_For_8_Template_a_click_5_listener","ResultsComponent_Conditional_3_For_8_Conditional_8_For_8_Template","ResultsComponent_Conditional_3_For_8_Conditional_9_Template_a_click_0_listener","ResultsComponent_Conditional_3_For_8_Conditional_9_Template_a_click_6_listener","ResultsComponent_Conditional_3_For_8_Conditional_6_Template","ResultsComponent_Conditional_3_For_8_Conditional_7_Template","ResultsComponent_Conditional_3_For_8_Conditional_8_Template","ResultsComponent_Conditional_3_For_8_Conditional_9_Template","ResultsComponent_Conditional_3_Conditional_9_Template_a_click_0_listener","_r27","ResultsComponent_Conditional_3_Conditional_10_Template_a_click_0_listener","_r28","ResultsComponent_Conditional_3_Template_mat_expansion_panel_click_0_listener","ResultsComponent_Conditional_3_For_8_Template","ResultsComponent_Conditional_3_Conditional_9_Template","ResultsComponent_Conditional_3_Conditional_10_Template","races","competitionResultsDetailed","ResultsComponent_Template","ResultsComponent_Conditional_0_Template","ResultsComponent_Conditional_3_Template","StageResultsTableService","stageResult","speedTrial","radar","stageResultService","stageColumn","RoundResultsTableComponent_Template","RoundResultsTableComponent_Template_cec_grid_onButtonClicked_1_listener","RoundResultsTableComponent_Template_cec_toolbar_onButtonClicked_2_listener","RoundResultsTableComponent_Conditional_11_Template","roundService","mapStages","onPrintResults","MatTableDataSource","column_r1","header","ɵɵpureFunction1","crossRound","row_r2","columnDef","numberOfChampionshipPoints","ɵɵelementContainerStart","SeasonResultsTableComponent_ng_container_2_th_1_Template","SeasonResultsTableComponent_ng_container_2_td_2_Template","seasonResultsTableService","displayedColumns","competitionType","getSeasonResultsBySeasonId","indexOfRound","concat","dataSource","sort","a","b","totalNumberOfChampionshipPoints","count","symbol","SeasonResultsTableService","SeasonResultsTableComponent_Template","SeasonResultsTableComponent_ng_container_2_Template","SeasonResultsTableComponent_tr_3_Template","SeasonResultsTableComponent_tr_4_Template","SeasonSpeedTrialResultsTableService","championshipPoints","SeasonSpeedTrialResultsTableComponent_ng_container_3_th_1_Template","SeasonSpeedTrialResultsTableComponent_ng_container_3_td_2_Template","getSeasonSpeedTrialResultsBySeasonType","SeasonSpeedTrialResultsTableComponent_Template","SeasonSpeedTrialResultsTableComponent_ng_container_3_Template","SeasonSpeedTrialResultsTableComponent_tr_4_Template","SeasonSpeedTrialResultsTableComponent_tr_5_Template","StageResultBase","sortByRegistration","originalCrewNumbersOrder","loadDefaultValues","fillFormGroup","sortCrewNumbers","checked","localeCompare","t","SpeedTrialResultComponent","RadarComponent","SpeedTrialService","time","timePoints","totalPoints","speedTrialDialog","radarDialog","stageService","speedTrialService","navigateToSpecificDrivingReport","navigateToDrivingReports","createNewDrivingReport","printResults","stageProps","StageResultsTableComponent_Query","StageResultsTableComponent_Template","StageResultsTableComponent_Template_cec_grid_onButtonClicked_1_listener","StageResultsTableComponent_Template_cec_toolbar_onButtonClicked_2_listener","StageResultsTableComponent_Template_cec_speed_trial_result_dialog_reload_21_listener","StageResultsTableComponent_Template_cec_radar_dialog_reload_22_listener","StageResultsTableComponent_Conditional_23_Template","MatSlideToggleModule","InputComponent","RadarService","RadarComponent_Conditional_7_Template_mat_slide_toggle_change_0_listener","crew_r4","hasErrors","getData","getRawValue","RadarComponent_Template","RadarComponent_Template_cec_dialog_onButtonClicked_0_listener","RadarComponent_Conditional_7_Template","MatSlideToggle","MatTooltip","SpeedTrialResultComponent_Conditional_8_Template_mat_slide_toggle_change_0_listener","SpeedTrialResultComponent_Template","SpeedTrialResultComponent_Template_cec_dialog_onButtonClicked_0_listener","SpeedTrialResultComponent_Conditional_8_Template","SpeedTrialResultComponent_Conditional_9_Template","SpeedTrialResultComponent_Conditional_16_Template","_c1","ResultType","identifier","STAGE","mapResults","HomeComponent_Template","RaceInfoComponent_Template","AddCrewResponseEntity","content","enabled","orTable","DatePipe","shortName","place","coordinates","logo","timeZone","date","accomodation","signingFrom","signingTo","pages","label","Article","image","published","CompetitionSimpleDTO","CompetitionAdvancedDTO","validFrom","validTo","AlreadyRegisteredInCompetition","serverTime","registrationTime","CompetitionRegistrationFull","CompetitionRegistrationSimple","CompetitionRegistrationEdit","CompetitionRegistrationEditRequest","CompetitorSimple","validUntil","SpeedTrialPreRequest","imageUrl","activated","createdBy","createdDate","lastModifiedBy","lastModifiedDate","input","Renderer2","debounceTime","Subject","stringFormat","ControlBase","isDisabled","isRequired","_isRequired","ngControl","disabledFlag","showError","valueChanged","valueChangedDebouncer","subs","errorMessages","renderer","valueAccessor","showErrorField","textElement","_elementRef","nativeElement","querySelector","addClass","removeClass","onLangChange","beforeLanguageChange","getErrorMessages","control","hasValidator","writeValue","setControlValue","afterValueWrite","registerOnChange","fn","getControlValue","onChange","registerOnTouched","onTouched","setDisabledState","setControlDisabled","propagateValue","propagateBlur","afterFocusOut","touched","errors","err","errorObject","requiredLength","actualLength","min","actual","max","mouseInside","stopPropagation","NgControl","ControlBase_Query","ControlBase_input_HostBindingHandler","ControlBase_focusout_HostBindingHandler","output","setId","afterCancelClick","loadPrefilledData","CrudDialogBase_Query","GridBase_Query","initialLoad","BreadcrumbService","breadcrumb_r1","BreadcrumbComponent_Conditional_0_li_1_a_1_Template","BreadcrumbComponent_Conditional_0_li_1_span_3_Template","BreadcrumbComponent_Conditional_0_li_1_Conditional_5_Template","i_r2","tmp_5_0","breadcrumbs$","tmp_6_0","tmp_7_0","BreadcrumbComponent_Conditional_0_li_1_Template","breadcrumbService","isVisible","ɵɵInputFlags","SignalBased","BreadcrumbComponent_Template","BreadcrumbComponent_Conditional_0_Template","NgForOf","NgIf","platformLocation","_breadcrumbs$","asObservable","processBreadcrumbItems","baseUrl","createBreadcrumbs","root","breadcrumbs","child","routeURL","segment","join","PlatformLocation","ComponentPortal","DateTimePickerComponent","DateTimePickerDirective","element","overlay","viewContainer","changeDetector","selectDate","overlayRef","showPickerTimeout","subscriptions","hasAttached","attachPicker","clearTimeout","dispose","positionStrategy","getPositionStrategy","componentRef","attach","markForCheck","outsidePointerEvents","detachAndUnsubscribe","instance","detach","position","flexibleConnectedTo","withPositions","originX","originY","overlayX","overlayY","panelClass","ElementRef","Overlay","hostBindings","DateTimePickerDirective_HostBindings","DateTimePickerDirective_click_HostBindingHandler","ListOverlayDirective","FormControl","FormGroup","day_r1","day_r5","hours","DateTimePickerComponent_div_37_Template_div_click_0_listener","i_r3","index","DateTimePickerComponent_div_37_span_2_Template","currentDay","getMonth","getFullYear","clickedDate","day","day_r6","months","TimeEnum","currentYear","lastDay","prevLastDay","firstDayIndex","getDay","lastDayIndex","nextDays","prevDays","currentDaysHashTable","currentDaysArray","lastDays","isSetHoursOpen","currentClickedIndex","timeTypes","timeForm","getHours","getMinutes","isOpenMonth","isOpenYear","calcDays","keys","j","isOpenedMonth","isOpenedYear","timeToDecimal","arr","parseInt","prev","setMonth","monthIndex","setYear","year","setFullYear","getYearRange","start","stop","finalArray","from","increase","newValue","decrease","confirm","setHours","setMinutes","preventDefault","DateTimePickerComponent_Template","DateTimePickerComponent_Template_div_mousedown_0_listener","DateTimePickerComponent_Template_span_selectMonth_4_listener","DateTimePickerComponent_Template_span_isOpen_4_listener","DateTimePickerComponent_Conditional_6_Template","DateTimePickerComponent_Conditional_7_Template","DateTimePickerComponent_Template_span_selectYear_8_listener","DateTimePickerComponent_Template_span_isOpen_8_listener","DateTimePickerComponent_Conditional_10_Template","DateTimePickerComponent_Conditional_11_Template","DateTimePickerComponent_Template_span_click_13_listener","DateTimePickerComponent_Template_span_click_16_listener","DateTimePickerComponent_div_36_Template","DateTimePickerComponent_div_37_Template","DateTimePickerComponent_div_38_Template","DateTimePickerComponent_Template_mat_icon_click_46_listener","HOURS","DateTimePickerComponent_Template_mat_icon_click_48_listener","DateTimePickerComponent_Template_mat_icon_click_58_listener","MINUTES","DateTimePickerComponent_Template_mat_icon_click_60_listener","DateTimePickerComponent_Template_button_click_64_listener","tmp_20_0","tmp_21_0","tmp_22_0","NgClass","DecimalPipe","NumberValueAccessor","InjectionToken","ListOverlayComponent_div_1_Template_div_click_0_listener","item_r3","i_r4","ctx_r4","outputSelectedMonth","listData","LIST_DATA","ListOverlayComponent","selectMonth","list","getElementById","scrollIntoView","ListOverlayComponent_Template","ListOverlayComponent_div_1_Template","changeDetection","Injector","selected","selectYear","isOpen","showListTimeout","attachList","injector","providers","Number","ListOverlayDirective_HostBindings","ListOverlayDirective_click_HostBindingHandler","ListOverlayDirective_focus_HostBindingHandler","ListOverlayDirective_blur_HostBindingHandler","messageKey","onButtonClicked","ConfirmationDialogComponent_Query","ConfirmationDialogComponent_Template_cec_dialog_onButtonClicked_0_listener","CEC_BREAKPOINTS","xs","sm","md","lg","xl","xxl","msg_r1","CecDateTimePickerComponent_Conditional_6_For_1_Template","datepipe","increaseMins","moreThan","formattedDate","ngOnChanges","changes","processMoreThan","val","formatDate","isDisable","month","higher","markAsTouched","lower","updateValueAndValidity","ɵɵNgOnChangesFeature","CecDateTimePickerComponent_Template","CecDateTimePickerComponent_Template_mat_datepicker_toggle_selectDate_5_listener","CecDateTimePickerComponent_Conditional_6_Template","MatDatepickerToggle","MatError","MatSuffix","parseDate","msg_r4","DateRangePickerComponent_Conditional_12_For_1_Template","dateAdapter","dateRangeChange","dateRangeStart","dateRangeEnd","end","DateAdapter","DateRangePickerComponent_Template","DateRangePickerComponent_Template_input_dateChange_7_listener","dateRangeStart_r2","ɵɵreference","dateRangeEnd_r3","DateRangePickerComponent_Template_mat_datepicker_toggle_click_9_listener","DateRangePickerComponent_Conditional_12_Template","picker_r6","MatDateRangeInput","MatStartDate","MatEndDate","MatDateRangePicker","markForValidation","subTitle","DialogComponent_ng_template_0_Conditional_0_Conditional_3_Template","headerText","headerKey","DialogComponent_ng_template_0_Conditional_9_Template_button_click_0_listener","disableConfirmButton","DialogComponent_ng_template_0_Conditional_0_Template","ɵɵprojection","DialogComponent_ng_template_0_Template_button_click_4_listener","DialogComponent_ng_template_0_Conditional_9_Template","hideConfirmButton","initialValue","width","onClosed","afterAllClosed","reset","dialogTemplate","closeAll","DialogComponent_Query","DialogComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","MatDialogClose","MatDialogTitle","MatDialogActions","MatDialogContent","isFormGroup","c","onlySelf","args","MatTable","GridComponent_Conditional_0_For_9_th_1_Conditional_1_Template","ɵɵstyleProp","ɵɵelementContainer","columnSection_r3","_c2","element_r2","ɵɵclassMap","index_r4","GridComponent_Conditional_0_For_9_th_1_Template","GridComponent_Conditional_0_For_9_td_2_Template","GridComponent_Conditional_0_For_9_td_3_Template","GridComponent_Conditional_0_For_9_Template","GridComponent_Conditional_0_tr_10_Template","GridComponent_Conditional_0_tr_11_Template","GridComponent_Conditional_0_tr_12_Template","filteredData","columnContent_r6","element_r8","GridComponent_ng_template_1_Conditional_5_Conditional_1_Template","GridComponent_ng_template_1_Conditional_5_Conditional_2_Template","GridComponent_ng_template_1_Conditional_6_Template_button_click_0_listener","_r9","ctx_r6","evaluateValue","GridComponent_ng_template_1_Conditional_7_Template_div_click_0_listener","GridComponent_ng_template_1_Conditional_7_Conditional_2_Template","GridComponent_ng_template_1_Conditional_7_Conditional_3_Template","evaluateArray","GridComponent_ng_template_1_Conditional_8_Conditional_0_Template_div_click_0_listener","GridComponent_ng_template_1_Conditional_8_Conditional_1_Template_button_click_0_listener","GridComponent_ng_template_1_Conditional_8_Conditional_0_Template","GridComponent_ng_template_1_Conditional_8_Conditional_1_Template","subColumn_r13","GridComponent_ng_template_1_Conditional_10_For_1_Template","GridComponent_ng_template_1_Conditional_1_Template","GridComponent_ng_template_1_Conditional_4_Template","GridComponent_ng_template_1_Conditional_5_Template","GridComponent_ng_template_1_Conditional_6_Template","GridComponent_ng_template_1_Conditional_7_Template","GridComponent_ng_template_1_Conditional_8_Template","GridComponent_ng_template_1_Conditional_9_Template","GridComponent_ng_template_1_Conditional_10_Template","GridComponent_ng_template_1_Conditional_11_Template","_c3","_c4","tableId","hideColumns","gridData","detector","tableName$","data$","definition$","definition","processColumns","isArray","GridComponent_Query","GridComponent_Conditional_0_Template","GridComponent_ng_template_1_Template","MatHeaderCellDef","MatHeaderRowDef","MatColumnDef","MatCellDef","MatRowDef","MatFooterCellDef","MatFooterRowDef","MatHeaderCell","MatCell","MatFooterCell","MatHeaderRow","MatRow","MatFooterRow","MatIconButton","MatCard","NgTemplateOutlet","CompetitionAuthorService","isAuthor","InfoDialogComponent_Case_1_Conditional_0_Template_textarea_ngModelChange_4_listener","textAreaLabelKey","InfoDialogComponent_Case_1_Conditional_0_Template","InfoDialogComponent_Case_1_Conditional_1_Template","value_r3","InfoDialogComponent_Case_2_For_1_Template","showCustom","InfoDialogComponent_Query","InfoDialogComponent_Template_cec_dialog_onButtonClicked_0_listener","InfoDialogComponent_Case_1_Template","InfoDialogComponent_Case_2_Template","InfoDialogComponent_Case_3_Template","InputComponent_Conditional_6_For_1_Template","onInputChange","inputElement","InputComponent_Template","InputComponent_Template_input_input_4_listener","InputComponent_Conditional_6_Template","option_r1","ItemListSelectorComponent_For_12_Template_button_click_2_listener","disableDeleteIfSingle","_disableDeleteIfSingle","noOptions","options","selectedItem","option","disableSelect","addItem","item1","some","item2","hostAttrs","ItemListSelectorComponent_Template","ItemListSelectorComponent_Template_mat_select_ngModelChange_6_listener","ItemListSelectorComponent_Template_mat_select_selectionChange_6_listener","ItemListSelectorComponent_For_8_Template","ItemListSelectorComponent_For_12_Template","ɵɵpipeBind3","MatSelect","MatOption","MatList","CecBreakpointService","breakpointService$","breakpoints","breakpointsValues","currentBreakpoint$","contentChildren","$item","item_r1","postfix","ResultSummaryComponent_Conditional_0_For_1_Conditional_1_Template","ResultSummaryComponent_Conditional_0_For_1_Conditional_8_Template","hidePostfix","ResultSummaryComponent_Conditional_0_For_1_Template","contentQueries","ResultSummaryComponent_ContentQueries","dirIndex","ResultSummaryComponent_Conditional_0_Template","msg_r2","SelectComponent_Conditional_8_For_1_Template","fillSpace","onSelectChange","SelectComponent_Template","SelectComponent_Template_mat_select_selectionChange_4_listener","SelectComponent_For_7_Template","SelectComponent_Conditional_8_Template","distinctUntilChanged","fromEvent","currentBreakpointSubject","innerWidth","updateBreakpoint","windowWidth","newBreakpoint","dateInput","monthYearLabel","dateA11yLabel","monthYearA11yLabel","MAT_SNACK_BAR_DATA","MatSnackBarLabel","SnackBarComponent","SnackBarComponent_Template","_snackBar","horizontalPosition","verticalPosition","buttonName","openFromComponent","duration","warning","MatSnackBar","SpinnerComponent_Template","SpinnerComponent_div_0_Template","CdkDropList","moveItemInArray","TableManagerDialogComponent","TableListComponent_Conditional_0_Conditional_8_Template_button_click_0_listener","prefillTables","TableListComponent_Conditional_0_Template_button_click_0_listener","openAddTableDialog","TableListComponent_Conditional_0_Template_button_click_4_listener","openAddMultipleTablesDialog","TableListComponent_Conditional_0_Conditional_8_Template","TableListComponent_Conditional_0_Template_button_click_9_listener","clearTables","allowPrefill","corrected","evaluateTableClassAfterCorrection","cecTable_r4","evaluateTableClass","evaluateButtonName","TableListComponent_Conditional_1_For_4_Conditional_1_Template_div_cdkDragEntered_1_listener","entered","TableListComponent_Conditional_1_For_4_Conditional_1_Template_div_click_1_listener","openEditTableDialog","TableListComponent_Conditional_1_For_4_Conditional_1_Template_mat_icon_click_2_listener","i_r6","$index","removeTable","drops","TableListComponent_Conditional_1_For_4_Conditional_0_Template","TableListComponent_Conditional_1_For_4_Conditional_1_Template","TableListComponent_Conditional_1_For_4_Template","tables","addTableDialog","onPrefilled","dropsQuery","toArray","Promise","ngAfterContentChecked","container","cecTableStatus","MISSING","MORE","disableClose","onTableSaved","TableListComponent_Query","TableListComponent_Conditional_0_Template","TableListComponent_Conditional_1_Template","MatGridList","MatGridTile","CdkDrag","i9","i10","TableManagerDialogComponent_Conditional_13_Conditional_7_Template","lifeStamp","yesOrNot","or","cancelled","listenToFormChange","evaluateCheckboxes","formContainsCheckedValues","handleOrTableValidator","formKey","removeValidators","addValidators","getTableStatus","saveTable","TableManagerDialogComponent_Template","TableManagerDialogComponent_Template_input_ngModelChange_11_listener","TableManagerDialogComponent_Conditional_12_Template","TableManagerDialogComponent_Conditional_13_Template","TableManagerDialogComponent_Template_button_click_15_listener","MatCheckbox","ToolbarFilterPipe","ToolbarButtonFilterPipe","itemTemplate_r2","ToolbarComponent_For_3_Conditional_0_Template","ToolbarComponent_Conditional_6_For_6_Conditional_0_Template_button_click_0_listener","item_r4","ToolbarComponent_Conditional_6_For_6_Conditional_1_For_1_Template_button_click_0_listener","subItem_r7","ToolbarComponent_Conditional_6_For_6_Conditional_1_For_1_Template","ToolbarComponent_Conditional_6_For_6_Conditional_0_Template","ToolbarComponent_Conditional_6_For_6_Conditional_1_Template","ToolbarComponent_Conditional_6_For_6_Template","menu_r8","item_r9","ToolbarComponent_Conditional_9_For_1_Template","ToolbarComponent_ng_template_10_Case_0_Template_button_click_0_listener","item_r11","ToolbarComponent_ng_template_10_Case_1_Conditional_0_For_6_Template_button_click_0_listener","menuItem_r13","ToolbarComponent_ng_template_10_Case_1_Conditional_0_For_6_Template","menu_r14","ToolbarComponent_ng_template_10_Case_1_Conditional_0_Template","ToolbarComponent_ng_template_10_Case_0_Template","ToolbarComponent_ng_template_10_Case_1_Template","tmp_3_0","ToolbarComponent_ContentQueries","ToolbarComponent_For_3_Template","ToolbarComponent_Conditional_6_Template","ToolbarComponent_Conditional_9_Template","ToolbarComponent_ng_template_10_Template","visible","ToolbarItemDirective_ContentQueries","p","production","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}