{"version":3,"sources":["./src/app/components/about/about.component.ts","./src/app/components/about/about.component.html","./src/app/pages/db-info/mc-info/mc-info.component.ts","./src/app/pages/db-info/mc-info/mc-info.component.html","fs (ignored)","crypto (ignored)","./src/app/models/user.ts","stream (ignored)","./src/app/navigation/sidenav-list/sidenav-list.component.ts","./src/app/navigation/sidenav-list/sidenav-list.component.html","./src/app/pages/db-info/club-info/Dialogs/add-reader/add-reader.component.ts","./src/app/pages/db-info/club-info/Dialogs/add-reader/add-reader.component.html","./src/app/auth/authentication.service.ts","./src/app/pages/run-training/run-training.component.ts","./src/app/pages/run-training/run-training.component.html","./src/app/pages/db-info/series-info/series-info.component.ts","./src/app/pages/db-info/series-info/series-info.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/environments/environment.ts","./src/app/pages/live-competition/live-competition.component.ts","./src/app/pages/live-competition/live-competition.component.html","./src/app/components/message-input-dialog/message-input-dialog.component.ts","./src/app/components/message-input-dialog/message-input-dialog.component.html","./src/app/components/confirm-dialog/confirm-dialog.component.ts","./src/app/components/confirm-dialog/confirm-dialog.component.html","./src/app/auth/auth.interceptor.ts","./src/app/pages/db-members/db-members.component.ts","./src/app/pages/db-members/db-members.component.html","./src/app/pages/db-info/lap-info/lap-info.component.ts","./src/app/pages/db-info/lap-info/lap-info.component.html","./src/app/pages/db-members/member-profile/member-profile.component.ts","./src/app/pages/db-members/member-profile/member-profile.component.html","./src/app/pages/run-competition/run-competition.component.ts","./src/app/pages/run-competition/run-competition.component.html","./src/app/services/activeuser.service.ts","./src/app/auth/forgot-password/forgot-password.component.ts","./src/app/auth/forgot-password/forgot-password.component.html","./src/app/pages/db-members/add-member/add-member.component.ts","./src/app/pages/db-members/add-member/add-member.component.html","./src/app/pages/db-info/club-info/club-info.component.ts","./src/app/pages/db-info/club-info/club-info.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/pages/db-info/club-info/Dialogs/add-lap/add-lap.component.ts","./src/app/pages/db-info/club-info/Dialogs/add-lap/add-lap.component.html","./src/app/app.module.ts","./src/app/auth/register/register.component.ts","./src/app/auth/register/register.component.html","./src/app/services/db.service.ts","./src/app/pages/db-info/club-info/Dialogs/edit-lap/edit-lap.component.ts","./src/app/pages/db-info/club-info/Dialogs/edit-lap/edit-lap.component.html","./src/app/auth/login/login.component.ts","./src/app/auth/login/login.component.html","./src/app/pages/results-training/results-training.component.ts","./src/app/pages/results-training/results-training.component.html","./src/app/pages/live-training/live-training.component.ts","./src/app/pages/live-training/live-training.component.html","./src/app/pages/results-training/by-training/by-training.component.ts","./src/app/pages/results-training/by-training/by-training.component.html","./src/app/pages/prepare-competition/add-participant/add-participant.component.ts","./src/app/pages/prepare-competition/add-participant/add-participant.component.html","./src/app/services/signal-r.service.ts","./src/app/pages/db-events/db-events.component.ts","./src/app/pages/db-events/db-events.component.html","./src/app/material/material-module.ts","./src/app/components/info-card/info-card.component.ts","./src/app/components/info-card/info-card.component.html","./src/app/components/dummy/dummy.component.ts","./src/app/components/dummy/dummy.component.html","./src/app/services/config.service.ts","./src/app/pages/db-info/db-info.component.ts","./src/app/pages/db-info/db-info.component.html","./src/app/pages/prepare-competition/prepare-competition.component.ts","./src/app/pages/prepare-competition/prepare-competition.component.html","./src/app/pages/results-training/by-member/by-member.component.ts","./src/app/pages/results-training/by-member/by-member.component.html","./src/app/navigation/header/header.component.ts","./src/app/navigation/header/header.component.html","./src/app/layout/layout.component.ts","./src/app/layout/layout.component.html","./src/app/pages/db-events/add-event/add-event.component.ts","./src/app/pages/db-events/add-event/add-event.component.html","./src/app/app-routing.module.ts","./src/app/pages/results-competition/results-competition.component.ts","./src/app/pages/results-competition/results-competition.component.html","./src/app/services/data-room.service.ts","./src/app/pages/unit-status/unit-status.component.ts","./src/app/pages/unit-status/unit-status.component.html","./src/app/auth/reset-password/reset-password.component.ts","./src/app/auth/reset-password/reset-password.component.html","./src/app/pages/db-events/edit-event/edit-event.component.ts","./src/app/pages/db-events/edit-event/edit-event.component.html","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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","file":"main.7b8afd8383c98718f67c.js","sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-about',\r\n templateUrl: './about.component.html',\r\n styleUrls: ['./about.component.css']\r\n})\r\nexport class AboutComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n \r\n
\r\n Välkommen till Wäxjö MS Enduro tidtagning\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n - På denna sida kan du hitta tider från Wäxjö MS tidtagningsssytem\r\n
\r\n
\r\n - Om det är första gången du är här och är medlem i Wäxjö MS Enduro får du jättegärna registrera dig på siten. Ladda gärna upp en bild på dig själv!\r\n
\r\n
\r\n - Om du klickar på kuvertet uppe till höger kan du skicka feedback till adminsitratören och berätta vad du saknar, om något inte fungerar eller ge annan feedback!\r\n
\r\n\r\n
\r\n
\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FileInput } from 'ngx-material-file-input';\r\nimport { Table } from 'primeng/table';\r\nimport { Observable } from 'rxjs';\r\nimport { IBikeBrand } from '../../../models/interfaceModels';\r\nimport { DataRoomService } from '../../../services/data-room.service';\r\nimport { DbService } from '../../../services/db.service';\r\n \r\n@Component({\r\n selector: 'app-mc-info',\r\n templateUrl: './mc-info.component.html',\r\n styleUrls: ['./mc-info.component.scss']\r\n})\r\nexport class McInfoComponent implements OnInit {\r\n\r\n @ViewChild('dt') table: Table;\r\n\r\n public mcBrands: IBikeBrand[];\r\n private broadCastmcBrand: any;\r\n\r\n public accept = '.jpg, .png'\r\n public multiple = false;\r\n\r\n public selectedPic: FileInput;\r\n\r\n constructor(private dbService: DbService,\r\n public dataRoom:DataRoomService,) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.broadCastmcBrand = this.dbService.broadCastBikeBrands.subscribe(data => {\r\n this.mcBrands = data;\r\n });\r\n\r\n this.dbService.getBikeBrands();\r\n }\r\n\r\n onRowEditInit() {\r\n\r\n };\r\n\r\n ngOnDestroy(): void {\r\n this.broadCastmcBrand.unsubscribe();\r\n }\r\n\r\n onAddBikeBrand() {\r\n var newBikeBrand: IBikeBrand = {\r\n id: 0,\r\n bikeBrand: \"\",\r\n pictureUrl: \"\",\r\n picture: null,\r\n companyUrl: \"\",\r\n }\r\n this.mcBrands.push(newBikeBrand)\r\n this.table.initRowEdit(newBikeBrand)\r\n }\r\n\r\n onRowEditSave(bikeBrand: IBikeBrand) {\r\n // START TO CLEAN UP club Object\r\n var picFile: any;\r\n\r\n if (this.selectedPic) {\r\n if (this.selectedPic.files[0].name) {\r\n picFile = this.selectedPic.files[0];\r\n bikeBrand.pictureUrl = 'exists';\r\n bikeBrand.picture = null;\r\n }\r\n }\r\n else {\r\n picFile = null;\r\n bikeBrand.pictureUrl = \"/assets/img/profile.png\"\r\n }\r\n\r\n if (bikeBrand.id == 0)\r\n this.dbService.addBikeBrand(bikeBrand, picFile);\r\n else\r\n this.dbService.updateBikeBrand(bikeBrand, picFile)\r\n this.selectedPic = null;\r\n };\r\n\r\n onRowEditCancel() {\r\n\r\n };\r\n onDeletemcBrand(bikeBrand: IBikeBrand) {\r\n this.dbService.removeBikeBrand(bikeBrand)\r\n };\r\n}\r\n","\n \n
\n
\n
\n Tillverkare\n
\n
\n
\n \n
\n\n
\n\n
\n\n \n \n Märke \n Logo \n Url \n Ändra/Radera\n \n \n\n \n \n \n \n \n \n \n \n \n \n {{mcBrand.bikeBrand}}\n \n \n \n \n \n \n \n \n folder_open\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{mcBrand.companyUrl}}\n \n \n \n\n\n \n
\n \n \n \n \n
\n \n \n
\n
\n","/* (ignored) */","/* (ignored) */","export class User {\r\n\r\n constructor(\r\n public id: string,\r\n public username: string,\r\n public email: string,\r\n public password: string,\r\n public firstName: string,\r\n public lastName: string,\r\n public role: string,\r\n public token: string,\r\n\r\n ) { }\r\n}\r\n\r\n","/* (ignored) */","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../auth/authentication.service';\r\nimport { IMember } from '../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { ConfigService } from '../../services/config.service';\r\n\r\n@Component({\r\n selector: 'app-sidenav-list',\r\n templateUrl: './sidenav-list.component.html',\r\n styleUrls: ['./sidenav-list.component.css']\r\n})\r\nexport class SidenavListComponent implements OnInit {\r\n\r\n @Output() sidenavClose = new EventEmitter();\r\n\r\n public activeuser: IMember | undefined;\r\n public userRole: string = \"Admin\";\r\n public tokenExists: boolean = false;\r\n\r\n profilePic: any;\r\n\r\n constructor(\r\n public authService: AuthenticationService,\r\n public activeUserService: ActiveuserService,\r\n private router: Router,\r\n private sanitizer: DomSanitizer,\r\n private snackBar: MatSnackBar,\r\n private config:ConfigService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n public onSidenavClose = () => {\r\n this.sidenavClose.emit();\r\n }\r\n\r\n onLogout() {\r\n this.activeUserService.activeAsGuest();\r\n localStorage.removeItem('token');\r\n this.router.navigate(['/home']);\r\n this.sidenavClose.emit();\r\n }\r\n\r\n mailto(emailAddress: string, emailSubject: any) {\r\n return \"mailto:\" + emailAddress + \"?subject=\" + emailSubject\r\n }\r\n\r\n about() {\r\n this.snackBar.open('Time Tracker', ' Version:8.0.0 Date:21-01-08',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarOk\"\r\n })\r\n }\r\n}\r\n","\r\n \r\n

{{activeUserService.user.firstName}}

\r\n \r\n
\r\n \r\n home Home\r\n \r\n\r\n how_to_regAdministrera\r\n \r\n Administrera DB\r\n \r\n \r\n \r\n \r\n Administrera träning\r\n \r\n \r\n Administrera tävling\r\n \r\n \r\n \r\n Kontrollera status\r\n \r\n \r\n\r\n timerTider\r\n \r\n Träning\r\n \r\n \r\n \r\n Tävling\r\n \r\n \r\n \r\n\r\n login Länkar\r\n \r\n Klubb länkar\r\n \r\n \r\n \r\n \r\n Enduro länkar\r\n \r\n \r\n Övrigt\r\n \r\n \r\n\r\n\r\n\r\n \r\n registerRegistrera\r\n \r\n \r\n loginLogga in\r\n \r\n \r\n logoutLogga ut\r\n \r\n\r\n \r\n mail_outlineSkicka feedback\r\n \r\n\r\n\r\n \r\n infoAbout\r\n \r\n\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { AntennaTranslator, IRFIDReader } from '../../../../../models/interfaceModels';\r\nimport { DbService } from '../../../../../services/db.service';\r\nimport { AddLapData } from '../add-lap/add-lap.component';\r\n\r\n@Component({\r\n selector: 'app-add-reader',\r\n templateUrl: './add-reader.component.html',\r\n styleUrls: ['./add-reader.component.css']\r\n})\r\nexport class AddReaderComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private fb: FormBuilder,\r\n private dbService: DbService) { }\r\n\r\n public antennaTranslate: AntennaTranslator[] = this.data.antennaTranslate;\r\n\r\n public addReaderForm = this.fb.group({\r\n id: [0],\r\n clubModelId: [this.data.editClub.clubModelId],\r\n readerName: [\"\", [Validators.required, Validators.minLength(4)]],\r\n })\r\n\r\n ngOnInit(): void {\r\n if (this.data.editReader)\r\n this.addReaderForm.controls['readerName'].setValue(this.data.editReader.readerName)\r\n }\r\n\r\n onAddClick() {\r\n if (this.addReaderForm.valid) {\r\n //Create new RFID Reader\r\n if (!this.data.editReader) {\r\n var newReader: IRFIDReader = {\r\n rfidReaderModelId: 0,\r\n clubModelId: this.data.editClub.clubModelId,\r\n readerName: this.addReaderForm.value.readerName,\r\n isListening: false,\r\n isConnected: false,\r\n version : 1,\r\n antennaTranslator: this.antennaTranslate\r\n }\r\n console.log('Lägger till ny RFID läsare');\r\n this.dbService.addRFIDReader(newReader);\r\n this.dialogRef.close();\r\n }\r\n else {\r\n var newReader: IRFIDReader = {\r\n rfidReaderModelId: this.data.editReader.rfidReaderModelId,\r\n clubModelId: this.data.editClub.clubModelId,\r\n readerName: this.addReaderForm.value.readerName,\r\n isListening: false,\r\n isConnected: false,\r\n version : 1,\r\n antennaTranslator: this.antennaTranslate\r\n }\r\n console.log('Uppdaterar befintlig läsare');\r\n this.dbService.updateRFIDReader(newReader);\r\n this.dialogRef.close();\r\n }\r\n }\r\n }\r\n onCancelClick() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n\r\n
\r\n
\r\n

Lägg till läsare:

\r\n

Uppdatera läsare:

\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Läsarens namn måste anges\r\n \r\n \r\n Läsarens namn måste ha minst 4 bokstäver\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n Ext. {{antennaT.rfiDantenna}}:\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\"\r\nimport { User } from '../models/user';\r\nimport { ConfigService } from '../services/config.service';\r\nimport { IMember, ResetPasswordDto } from '../models/interfaceModels';\r\n\r\n \r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n\r\n private tempUser: User | undefined;\r\n\r\n constructor(private fb: FormBuilder, private http: HttpClient, private config: ConfigService) { }\r\n\r\n private configUrl = this.config.configUrl;\r\n private resetUrl = this.config.resetUrl;\r\n\r\n register(user: User) {\r\n console.log(user)\r\n return this.http.post(this.configUrl +'Authentication/Register', user);\r\n }\r\n\r\n login(user: User) {\r\n console.log(user)\r\n return this.http.post(this.configUrl +'Authentication/Login', user);\r\n }\r\n\r\n //getUserProfile(user: User) {\r\n getUserProfile(user: IMember) {\r\n return this.http.post(this.configUrl +'Authentication/GetUserProfileDB', user);\r\n }\r\n \r\n getSvemoID(userID: string) {\r\n this.tempUser = new User('', userID, '', '', '', '', '', '')\r\n //alert(userID);\r\n return this.http.post(this.configUrl +'Authentication/GetSvemoID', this.tempUser);\r\n }\r\n\r\n \r\n\r\n forgotPassword(email: string) {\r\n console.log(email);\r\n var tempUser = new forgotPassWordUser('', email,'','','',this.resetUrl,'')\r\n return this.http.post(this.configUrl + 'Authentication/ForgotPassword', tempUser);\r\n }\r\n\r\n public resetPassword = (body: ResetPasswordDto) => {\r\n return this.http.post(this.configUrl + 'Authentication/ResetPassword', body);\r\n }\r\n\r\n //roleMatch(allowedRoles: any[]): Boolean {\r\n // var isMatch = false;\r\n //// if (localStorage.getItem('token') != null) {\r\n // var payLoad = JSON.parse(window.atob(localStorage.getItem('token').split('.')[1]));\r\n // var userRole = payLoad.role;\r\n // allowedRoles.forEach(element => {\r\n // if (userRole == element) {\r\n // isMatch = true;\r\n // return false;\r\n // }\r\n // }); \r\n // }\r\n // return isMatch;\r\n //}\r\n}\r\n\r\nexport class forgotPassWordUser {\r\n constructor(\r\n public username: string,\r\n public email: string,\r\n public password: string,\r\n public firstName: string,\r\n public lastName: string,\r\n public role: string,\r\n public token: string,\r\n ) { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { IClub, IEvent, IMember } from '../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { DbService } from '../../services/db.service';\r\nimport { SignalRService } from '../../services/signal-r.service';\r\n\r\nexport interface LReaderStatus {\r\n readerName: string,\r\n readerStatus: number,\r\n};\r\n\r\n@Component({\r\n selector: 'app-run-training',\r\n templateUrl: './run-training.component.html',\r\n styleUrls: ['./run-training.component.css']\r\n})\r\nexport class RunTrainingComponent implements OnInit {\r\n\r\n constructor(private dbService: DbService,\r\n public dataRoom: DataRoomService,\r\n private signalR: SignalRService,\r\n private activeUserService: ActiveuserService,) { }\r\n\r\n public clubs: IClub[];\r\n private broadCastClubs: any;\r\n public selectedClub: IClub;\r\n\r\n checked = false;\r\n\r\n //public events: IEvent[] = [];\r\n public allEvents: IEvent[] = [];\r\n private broadCastallEvents: any;\r\n public selectedEvent: IEvent;\r\n\r\n public activePis: any[];\r\n private broadCastPisDB: any;\r\n private broadCastPisSignalR: any;\r\n public currentUser: IMember;\r\n private broadCastActiveUser: any;\r\n\r\n\r\n\r\n public readerStatus: LReaderStatus[] = [];\r\n\r\n public colors = [{ hasStarted: 0, color: \"red\" }, { hasStarted: 1, color: \"green\" },\r\n { hasStarted: 2, color: \"yellow\" }, { hasStarted: 3, color: \"black\" }]\r\n\r\n ngOnInit(): void {\r\n\r\n //DB SERVICES//\r\n this.broadCastClubs = this.dbService.broadCastClubs.subscribe(data => {\r\n this.clubs = data;\r\n })\r\n\r\n this.broadCastActiveUser = this.activeUserService.currentUser.subscribe(data => {\r\n this.currentUser = data\r\n this.selectedClub = this.currentUser.clubModel\r\n this.dbService.getEventsByClub(data.clubModel.clubModelId);\r\n })\r\n\r\n this.broadCastallEvents = this.dbService.broadCastEvents.subscribe(data => {\r\n if (this.selectedClub)\r\n this.allEvents = data.filter(event => event.clubModelId && event.eventType.type=='Träning')\r\n })\r\n this.broadCastPisDB = this.dbService.broadCastPis.subscribe(data => {\r\n this.activePis = data;\r\n console.log(data)\r\n })\r\n\r\n //SIGNALR SERVICES\r\n this.broadCastPisSignalR = this.signalR.broadCastPis.subscribe(data => {\r\n this.activePis = data;\r\n //this.signalR.broadCastEvents.subscribe(data => {\r\n // if (this.selectedClub)\r\n // this.allEvents = data.filter(event => event.clubModelId == this.selectedClub.clubModelId);\r\n //})\r\n })\r\n\r\n this.dbService.getActivePis();\r\n // this.dbService.getClubs();\r\n\r\n //TO DO REVIEWE\r\n this.signalR.getEventList();\r\n this.signalR.changedPiConnectionList();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.broadCastPisSignalR.unsubscribe();\r\n this.broadCastPisDB.unsubscribe();\r\n this.broadCastallEvents.unsubscribe();\r\n this.broadCastActiveUser.unsubscribe();\r\n this.broadCastClubs.unsubscribe();\r\n }\r\n\r\n\r\n onClubChange(event) {\r\n\r\n this.selectedClub = event.value;\r\n this.dbService.getActivePis();\r\n this.dbService.getEventsByClub(this.selectedClub.clubModelId);\r\n }\r\n getTheColor(status) {\r\n return this.colors.filter(item => item.hasStarted === status)[0].color\r\n }\r\n\r\n //Coloring of reader status (\r\n // RED =>, PI not connected;\r\n // YELLOW => PI connected but raeder not listening,\r\n // GREEN => PI connected and reader is listening )\r\n\r\n //To Do Fix loading of this!\r\n getTheColor2(readerName) {\r\n //Check if reader exists if so check if it's active\r\n var status = 0\r\n\r\n if (this.activePis) {\r\n this.activePis.forEach(Pi => {\r\n Pi.availableReaders.forEach(reader => {\r\n if (reader.readerName == readerName) {\r\n if (!reader.isConnected)\r\n status = 3;\r\n else if (reader.isListening)\r\n status = 2;\r\n else\r\n status = 1; \r\n }\r\n })\r\n })\r\n }\r\n else\r\n return 'pink'\r\n if (status == 0)\r\n return 'red';\r\n if (status == 1)\r\n return 'yellow';\r\n if (status == 2)\r\n return 'green';\r\n if (status == 3)\r\n return 'orange'\r\n else\r\n return 'pink';\r\n }\r\n\r\n onExpandRow(event) {\r\n\r\n }\r\n\r\n onStartEvent(event) {\r\n this.dbService.startEvent(event);\r\n }\r\n onPauseEvent(event) {\r\n this.dbService.pauseEvent(event);\r\n }\r\n onStopEvent(event) {\r\n this.dbService.stopEvent(event);\r\n }\r\n\r\n events(): IEvent[] {\r\n if (this.checked)\r\n return this.allEvents;\r\n else\r\n return this.allEvents.filter(data => data.hasStarted < 3)\r\n }\r\n\r\n comparer(o1: any, o2: any): boolean {\r\n // if possible compare by object's name, and not by reference.\r\n return o1 && o2 ? o1.name === o2.name : o2 === o2;\r\n }\r\n}\r\n\r\n","\n\n\n
\n

Hantera träning:

\n\n \n Välj klubb:\n \n\n {{club.name}}\n \n \n
\n Visa alla event\n
\n\n\n
\n\n\n \n\n \n
\n
\n
\n Events\n
\n
\n\n \n
\n
\n \n \n \n \n Datum \n Namn \n Klubb \n Event \n Status \n Actions\n \n \n \n \n \n \n \n\n \n\n \n \n {{events.eventDate}}\n \n \n {{events.eventName}}\n \n \n {{dataRoom.showClubName(events.clubModelId)}}\n \n \n \n {{events.eventType.type}}\n \n \n circle\n \n \n
\n \n \n \n
\n \n \n \n \n \n Namn: \n {{events.eventName}}\n circle\n
\n \n
\n \n \n Datum: \n {{events.eventDate}}\n \n \n Klubb: \n {{dataRoom.showClubName(events.clubModelId)}}\n \n \n \n \n \n \n \n\n \n
\n \n \n
\n \n \n
Varv:
\n
\n\n \n \n \n {{lap.lapModel.lapName}}\n \n \n Läsare \n Antenn \n Position\n Status \n \n\n \n \n \n {{lap.readerId}}\n \n \n {{lap.antennaId}}\n \n \n {{lap.name}}\n \n \n circle\n \n \n \n \n\n\n \n
\n
\n\n
\n
\n\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { Table } from 'primeng/table';\r\nimport { IClub, ISerie } from '../../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../../services/activeuser.service';\r\nimport { DbService } from '../../../services/db.service';\r\n\r\n@Component({\r\n selector: 'app-series-info',\r\n templateUrl: './series-info.component.html',\r\n styleUrls: ['./series-info.component.css']\r\n})\r\nexport class SeriesInfoComponent implements OnInit {\r\n\r\n @ViewChild('dt') table: Table;\r\n\r\n\r\n constructor(private dbService: DbService, public activeUserService: ActiveuserService, ) { }\r\n\r\n public clubs: IClub[];\r\n public broadCastClubs: any;\r\n public series: ISerie[];\r\n public broadCastSeries: any;\r\n\r\n\r\n ngOnInit(): void {\r\n this.broadCastClubs = this.dbService.broadCastClubs.subscribe(\r\n data => this.clubs = data)\r\n this.broadCastSeries = this.dbService.broadCastSeries.subscribe(\r\n data => {\r\n if (this.activeUserService.activeUserRole() != 'SAdmin') {\r\n this.series = data.filter(data => data.clubModelId == this.activeUserService.user.clubModelId);\r\n }\r\n else\r\n this.series = data;\r\n\r\n //data.forEach(serie => {\r\n // var tempSerie: ITempSerie = {\r\n // id: serie.seriesId,\r\n // serieName: serie.serieName,\r\n // clubModelId: serie.clubModelId,\r\n // clubModel : serie.clubModel,\r\n // }\r\n // this.tempSeries.push(tempSerie)\r\n //})\r\n })\r\n\r\n this.dbService.getClubs();\r\n this.dbService.getSeries();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.broadCastClubs.unsubscribe();\r\n this.broadCastSeries.unsubscribe();\r\n }\r\n\r\n onRowEditInit() {\r\n\r\n };\r\n\r\n onAddSerie() {\r\n var newSerie: ISerie = {\r\n id: 0,\r\n serieName: \"\",\r\n clubModelId: 0,\r\n eventsToCount:0,\r\n clubModel: { clubModelId: 0, name: \"\", address: \"\", pictureUrl: \"\", picture: null, rfidReaders: null, laps: null, autoStartActive:false },\r\n eventModel: null,\r\n }\r\n this.series.push(newSerie);\r\n\r\n\r\n //var newTempSerie: ITempSerie = {\r\n // id: 0,\r\n // serieName: \"\",\r\n // clubModelId: 0,\r\n // clubModel: {clubModelId: 0, name:\"\", address:\"\", picture:null, pictureUrl:\"\", rfidReaders:null, laps:null}\r\n //}\r\n //this.tempSeries.push(newTempSerie)\r\n this.table.initRowEdit(newSerie)\r\n }\r\n\r\n onRowEditSave(serie: ISerie) {\r\n\r\n serie.clubModelId = serie.clubModel.clubModelId;\r\n\r\n var addSerie: ISerie = {\r\n id: serie.id,\r\n serieName: serie.serieName,\r\n clubModelId: serie.clubModelId,\r\n eventsToCount: serie.eventsToCount,\r\n clubModel: null,\r\n eventModel: null,\r\n }\r\n\r\n if (addSerie.id == 0)\r\n this.dbService.addSerie(addSerie);\r\n else\r\n this.dbService.updateSerie(addSerie);\r\n\r\n };\r\n\r\n onRowEditCancel() {\r\n\r\n };\r\n\r\n onDeleteClubRFID(serie: ISerie) {\r\n this.dbService.removeSerie(serie)\r\n };\r\n\r\n}\r\n","\n \n
\n
\n
\n Serier\n
\n
\n\n
\n
\n \n
\n
\n
\n\n
\n\n \n \n Serie \n Räknas\n Klubb \n Ändra/Radera\n \n \n\n \n \n \n \n \n \n \n \n \n \n {{serie.serieName}}\n \n \n \n \n \n \n \n \n \n \n \n {{serie.eventsToCount}}\n \n \n \n \n \n \n \n Välj klubb:\n \n \n None\n {{club.name}}\n \n \n \n \n {{serie.clubModel.name}}\n \n \n \n\n \n \n \n \n \n \n \n \n
\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CreateMessage, DBMessage, MessageInputDialogComponent } from '../components/message-input-dialog/message-input-dialog.component';\r\nimport { IClub } from '../models/interfaceModels';\r\nimport { ActiveuserService } from '../services/activeuser.service';\r\nimport { ConfigService } from '../services/config.service';\r\nimport { DbService } from '../services/db.service';\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(private dialog: MatDialog,\r\n public activeUserService: ActiveuserService,\r\n public dbService: DbService,\r\n private http: HttpClient,\r\n private config: ConfigService ) { }\r\n\r\n configUrl = this.config.configUrl;\r\n\r\n public messagesClub: DBMessage[];\r\n public messagesTrackTime: DBMessage[];\r\n public clubs: IClub[];\r\n public broadCastClubs: any;\r\n\r\n ngOnInit(): void {\r\n this.broadCastClubs = this.dbService.broadCastClubsPlus.subscribe(data => {\r\n this.clubs = data;\r\n\r\n this.dbService.getMessagesByClub(-1).subscribe(data => {\r\n this.messagesTrackTime = data.reverse();\r\n this.dbService.getMessagesByClub(this.activeUserService.user.clubModelId).subscribe(data => {\r\n this.messagesClub = data.reverse();\r\n })\r\n })\r\n })\r\n\r\n console.log(this.activeUserService.activeUserRole())\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.broadCastClubs.unsubscribe();\r\n }\r\n\r\n onAddClubNews() {\r\n var createMessage: CreateMessage = {\r\n user: this.activeUserService.user,\r\n type: 'clubMessage',\r\n }\r\n\r\n const dialogRef = this.dialog.open(MessageInputDialogComponent, {\r\n\r\n position: { top: '1rem' },\r\n width: '25rem',\r\n maxHeight: '60%',\r\n panelClass: 'custom-dialog-container',\r\n data: {\r\n user: this.activeUserService.user,\r\n type: 'clubMessage', },\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result) {\r\n this.dbService.getMessagesByClub(this.activeUserService.user.clubModelId).subscribe(data => {\r\n this.messagesClub = data.reverse();\r\n })\r\n }\r\n console.log('The dialog was closed');\r\n });\r\n }\r\n\r\n\r\n onAddSoftwareNews() {\r\n var createMessage: CreateMessage = {\r\n user: this.activeUserService.user,\r\n type: 'trackTimeMessage',\r\n }\r\n\r\n const dialogRef = this.dialog.open(MessageInputDialogComponent, {\r\n\r\n position: { top: '1rem' },\r\n width: '25rem',\r\n maxHeight: '60%',\r\n panelClass: 'custom-dialog-container',\r\n data: {\r\n user: this.activeUserService.user,\r\n type: 'trackTimeMessage', },\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.dbService.getMessagesByClub(-1).subscribe(data => {\r\n this.messagesTrackTime = data.reverse();\r\n })\r\n }\r\n console.log('The dialog was closed');\r\n });\r\n }\r\n onDeleteMessage(messagelId: number) {\r\n this.dbService.removeMessage(messagelId).subscribe(data => {\r\n this.dbService.getMessagesByClub(-1).subscribe(data => {\r\n this.messagesTrackTime = data.reverse();\r\n })\r\n this.dbService.getMessagesByClub(this.activeUserService.user.clubModelId).subscribe(data => {\r\n\r\n this.messagesClub = data.reverse();\r\n })\r\n })\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

Välkommen till TrackTime Enduro tidtagning

\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { Component, OnInit } from '@angular/core';\r\nimport { IClub, IEvent, IMember } from '../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { DbService } from '../../services/db.service';\r\nimport { SignalRService } from '../../services/signal-r.service';\r\nimport { DisplayMember } from '../run-competition/run-competition.component';\r\n\r\n@Component({\r\n selector: 'app-live-competition',\r\n templateUrl: './live-competition.component.html',\r\n styleUrls: ['./live-competition.component.css']\r\n})\r\nexport class LiveCompetitionComponent implements OnInit {\r\n\r\n constructor(private dbService: DbService,\r\n public dataRoom: DataRoomService,\r\n private signalR: SignalRService,\r\n private activeUserService: ActiveuserService,) { }\r\n\r\n //Keep track of active user\r\n public activeUser: IMember;\r\n private broadCastActiveUser: any;\r\n\r\n //Event data\r\n public allEvents: IEvent[] = [];\r\n private broadCastallEvents: any;\r\n public selectedEvent: IEvent;\r\n public allClasses: string[] = [];\r\n public dummyallClasses: { name: string, idx: number }[] = [];\r\n\r\n public displayMembers: DisplayMember[] = [];\r\n public nbrParticipants: number = 0;\r\n public maxLaps: number = 0;\r\n\r\n //Keep track of clubs\r\n public clubs: IClub[];\r\n private broadCastClubs: any;\r\n public selectedClub: IClub;\r\n\r\n //SignalR services\r\n private signalRBroadCast: any;\r\n\r\n public headers: [{ header: string, field: string }];\r\n public statusColors = [{ status: \"Start\", color: \"green\" }, { status: \"Mål\", color: \"yellow\" },\r\n { status: \"Mellantid\", color: \"green\" }, { status: \"Unknown\", color: \"red\" }]\r\n\r\n ngOnInit(): void {\r\n this.broadCastActiveUser = this.activeUserService.currentUser.subscribe(data => {\r\n this.activeUser = data\r\n this.selectedClub = this.activeUser.clubModel\r\n this.dbService.getEventsByClub(data.clubModel.clubModelId);\r\n })\r\n this.broadCastClubs = this.dbService.broadCastClubs.subscribe(data => {\r\n this.clubs = data;\r\n })\r\n this.broadCastallEvents = this.dbService.broadCastEvents.subscribe(data => {\r\n if (this.selectedClub) {\r\n this.allEvents = data.filter(event => event.clubModelId && event.eventType.type == 'Tävling' && event.hasStarted < 3)\r\n if (this.selectedEvent) {\r\n this.selectedEvent.hasStarted = this.allEvents.find(data => data.eventId == this.selectedEvent.eventId).hasStarted;\r\n }\r\n }\r\n })\r\n\r\n //SignalR services\r\n this.signalR.getEventList();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //DB services\r\n this.broadCastActiveUser.unsubscribe();\r\n this.broadCastClubs.unsubscribe();\r\n this.broadCastallEvents.unsubscribe();\r\n // SignalR services\r\n this.signalR.stoplistenForEventData();\r\n if (this.signalRBroadCast)\r\n this.signalRBroadCast.unsubscribe();\r\n }\r\n\r\n onClubChange(event) {\r\n this.signalR.stoplistenForEventData();\r\n\r\n\r\n this.dbService.getActivePis();\r\n this.dbService.getEventsByClub(this.selectedClub.clubModelId);\r\n }\r\n\r\n onEventChange(event) {\r\n\r\n this.signalR.stoplistenForEventData();\r\n this.dbService.getRegisteredParticipantsInRace(this.selectedEvent.eventId).subscribe(data => {\r\n this.nbrParticipants = data.length;\r\n this.selectedEvent.memberInCompetition = data;\r\n this.displayMembers = this.dataRoom.createDisplayMembers(data);\r\n this.dbService.getMembersTimesEventDirect(event.value).subscribe(data => {\r\n if (data) {\r\n //console.log(data)\r\n //Create headers for all laps\r\n data.forEach(member => {\r\n this.displayMembers.find(dispMember => dispMember.svemoId == member.svemoId).confirmedTimeReadModel = member.confirmedTimeReadModel;\r\n this.displayMembers.find(dispMember => dispMember.svemoId == member.svemoId).intermediateTimeModel = member.intermediateTimeModel;\r\n this.displayMembers.find(dispMember => dispMember.svemoId == member.svemoId).lapTimeModel = member.lapTimeModel;\r\n member = this.dataRoom.totalTime(this.displayMembers.find(dispMember => dispMember.svemoId == member.svemoId))\r\n this.displayMembers.find(dispMember => dispMember.svemoId == member.svemoId).nbrLaps = member.lapTimeModel.length;\r\n // If this member has more laps then allready added to header add new headers\r\n if (member.lapTimeModel.length > this.maxLaps) {\r\n var addedLaps = member.lapTimeModel.length;\r\n console.log(this.selectedEvent.lapinEvent[0].lapModel.lapName)\r\n if (this.selectedEvent.eventType.case != 'Heat') {\r\n while (this.maxLaps < member.lapTimeModel.length) {\r\n if (!this.headers)\r\n this.headers = [{ header: this.selectedEvent.lapinEvent[0].lapModel.lapName, field: 'lapTimeModel[' + this.maxLaps + ']' }];\r\n else\r\n this.headers.push({ header: this.selectedEvent.lapinEvent[0].lapModel.lapName, field: 'lapTimeModel[' + this.maxLaps + ']' });\r\n this.maxLaps++;\r\n }\r\n }\r\n else {\r\n while (this.maxLaps < member.lapTimeModel.length) {\r\n if (!this.headers)\r\n this.headers = [{ header: 'Heat 1', field: 'lapTimeModel[' + this.maxLaps + ']' }];\r\n else\r\n this.headers.push({ header: 'Heat ' + this.maxLaps, field: 'lapTimeModel[' + this.maxLaps + ']' });\r\n this.maxLaps++;\r\n }\r\n }\r\n }\r\n })\r\n this.allClasses = this.dataRoom.uniqueClasses(this.displayMembers);\r\n this.dummyallClasses = [];\r\n this.allClasses.forEach(data => {\r\n this.dummyallClasses.push({ name: data, idx: 0 })\r\n })\r\n }\r\n });\r\n this.dbService.getClassModelsByEvent(event.value.eventId).subscribe(data => {\r\n this.selectedEvent.classesInEvent = data;\r\n })\r\n //this.eventsInSerie = this.allEvents.filter(data => data.seriesModelId == this.selectedEvent.seriesModelId);\r\n })\r\n\r\n this.signalRBroadCast = this.signalR.broadCastnewEventData.subscribe(eventData => {\r\n console.log('New data from event')\r\n if (eventData.timeRead) {\r\n console.log('Add TimeRead: ' + eventData.timeRead.timeReadID)\r\n this.displayMembers.find(member => member.svemoId == eventData.timeRead.svemoId)\r\n .confirmedTimeReadModel.push(eventData.timeRead)\r\n\r\n if (this.selectedEvent.eventType.case != 'Heat' && eventData.timeRead.status == \"Mål\"\r\n && eventData.timeRead.ladIdx\r\n == this.dataRoom.getLapsToRun(this.selectedEvent.classesInEvent, this.displayMembers.find(data => data.svemoId == eventData.timeRead.svemoId).className) *\r\n this.selectedEvent.lapinEvent.length) {\r\n\r\n this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId).nbrLaps = this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId).lapTimeModel.length;\r\n this.displayMembers.find(member => member.svemoId == eventData.timeRead.svemoId).isFinished = true;\r\n console.log('Mål')\r\n }\r\n }\r\n\r\n if (eventData.intermediateTime) {\r\n console.log('Add intermediate: ' + eventData.intermediateTime.timeReadID)\r\n this.displayMembers.find(member => member.svemoId == eventData.intermediateTime.svemoId)\r\n .intermediateTimeModel.push(eventData.intermediateTime)\r\n }\r\n\r\n if (eventData.lapTime) {\r\n this.displayMembers.find(member => member.svemoId == eventData.lapTime.svemoId)\r\n .lapTimeModel.push(eventData.lapTime)\r\n this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId).nbrLaps = this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId).lapTimeModel.length;\r\n //this.totalTime(this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId))\r\n this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId).totalTime =\r\n this.dataRoom.totalTime(this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId)).totalTime;\r\n\r\n console.log('Add laptime: ' + eventData.lapTime.timeReadID)\r\n\r\n //Check if this is the final lap in final Heat\r\n if (this.selectedEvent.eventType.case == 'Heat') {\r\n var nbrLaps = this.dataRoom.getLapsToRun(this.selectedEvent.classesInEvent, this.displayMembers.find(data => data.svemoId == eventData.timeRead.svemoId).className);\r\n var nbrHeats = this.dataRoom.getLapsToRun(this.selectedEvent.classesInEvent, this.displayMembers.find(data => data.svemoId == eventData.timeRead.svemoId).className);\r\n console.log('NbrLapsToRun:' + nbrLaps)\r\n console.log('NbrHeatsToRun:' + nbrHeats)\r\n console.log('NbrLapsRecorded:' + this.displayMembers.find(member => member.svemoId == eventData.lapTime.svemoId).lapTimeModel.length)\r\n if (this.displayMembers.find(member => member.svemoId == eventData.lapTime.svemoId).lapTimeModel.length == nbrLaps * nbrHeats) {\r\n this.displayMembers.find(member => member.svemoId == eventData.timeRead.svemoId).isFinished = true;\r\n }\r\n }\r\n }\r\n })\r\n\r\n this.signalR.listenForEventData(this.selectedEvent)\r\n }\r\n\r\n\r\n\r\n comparer(o1: any, o2: any): boolean {\r\n // if possible compare by object's name, and not by reference.\r\n return o1 && o2 ? o1.name === o2.name : o2 === o2;\r\n }\r\n getStatusColor(displayMember: DisplayMember) {\r\n if (displayMember.confirmedTimeReadModel.length > 0) {\r\n if (displayMember.isFinished)\r\n return \"black\"\r\n else {\r\n var lastRead = displayMember.confirmedTimeReadModel[displayMember.confirmedTimeReadModel.length - 1].status;\r\n return this.statusColors.filter(item => item.status == lastRead)[0].color\r\n }\r\n }\r\n else\r\n return 'blue'\r\n }\r\n displayLapName(LapId: number) {\r\n if (LapId)\r\n return this.selectedEvent.lapinEvent.find(lap => lap.lapId == LapId).lapModel.lapName\r\n else\r\n return 'Okännt'\r\n }\r\n convertToMiniTime(timeString: string): string {\r\n var noMilliSec = timeString.split(\".\").slice(0.1);\r\n var noHour = noMilliSec[0].split(\":\");\r\n return noHour[1] + \":\" + noHour[2];\r\n }\r\n}\r\n","\n \n
\n

Välj tävling:

\n \n Välj klubb:\n \n {{club.name}}\n \n \n \n Välj event:\n \n\n {{event.eventName}}\n \n \n
\n\n \n \n \n \n \n \n \n
\n \n #\n Namn\n Klass\n Status\n \n {{header.header}}\n \n \n Varv\n Tid\n
\n
\n \n \n \n \n \n \n \n {{displayMember.startNbr}}\n \n \n {{displayMember.firstName + ' ' + displayMember.lastName}}\n \n \n {{displayMember.className}}\n \n \n circle\n \n \n
\n {{displayLapName(time.lapID)}} \n {{convertToMiniTime(time.lapTime)}} \n
\n \n \n \n {{displayMember.nbrLaps}}\n \n \n {{displayMember.totalTime}} \n \n \n
\n\n \n
\n \n \n \n
\n
\n \n \n \n
\n Tid stämplar\n
\n
\n ID\n Tid\n Läsare\n Ant\n Status\n Varv#\n \n
\n
\n \n \n \n {{confirmedTimeReadModel.timeReadID}}\n \n \n {{confirmedTimeReadModel.time | date:'HH:mm:ss'}}\n \n \n {{confirmedTimeReadModel.readerId}}\n \n \n {{confirmedTimeReadModel.antennaId}}\n \n \n {{confirmedTimeReadModel.status}}\n \n \n {{confirmedTimeReadModel.ladIdx}}\n \n \n \n \n
\n \n \n
\n Mellantider\n
\n
\n Mellantid\n Tid\n ID1\n ID2\n \n
\n
\n \n \n \n {{displayLapName(intermediateTimeModel.lapID)}}\n \n \n {{convertToMiniTime(intermediateTimeModel.lapTime)}}\n \n \n {{intermediateTimeModel.id1}}\n \n \n {{intermediateTimeModel.id2}}\n \n \n \n \n
\n
\n
\n
\n\n\n
\n \n \n \n \n
\n \n #\n Namn\n Klass\n Status\n \n {{header.header}}\n \n \n Varv\n Tid\n
\n
\n \n \n \n \n \n \n \n {{displayMember.startNbr}}\n \n \n {{displayMember.firstName + ' ' + displayMember.lastName}}\n \n \n {{displayMember.className}}\n \n \n circle\n \n \n
\n {{displayLapName(time.lapID)}} \n {{convertToMiniTime(time.lapTime)}} \n
\n \n \n \n {{displayMember.nbrLaps}}\n \n \n {{displayMember.totalTime}} \n \n \n
\n\n \n
\n \n \n \n
\n
\n \n \n \n
\n Tid stämplar\n
\n
\n ID\n Tid\n Läsare\n Ant\n Status\n Varv#\n \n
\n
\n \n \n \n {{confirmedTimeReadModel.timeReadID}}\n \n \n {{confirmedTimeReadModel.time | date:'HH:mm:ss'}}\n \n \n {{confirmedTimeReadModel.readerId}}\n \n \n {{confirmedTimeReadModel.antennaId}}\n \n \n {{confirmedTimeReadModel.status}}\n \n \n {{confirmedTimeReadModel.ladIdx}}\n \n \n \n \n
\n \n \n
\n Mellantider\n
\n
\n Mellantid\n Tid\n ID1\n ID2\n \n
\n
\n \n \n \n {{displayLapName(intermediateTimeModel.lapID)}}\n \n \n {{convertToMiniTime(intermediateTimeModel.lapTime)}}\n \n \n {{intermediateTimeModel.id1}}\n \n \n {{intermediateTimeModel.id2}}\n \n \n \n \n
\n
\n
\n
\n
\n\n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IMember } from '../../models/interfaceModels';\r\nimport { DbService } from '../../services/db.service';\r\n\r\nexport interface CreateMessage {\r\n user: IMember,\r\n type:string,\r\n}\r\n\r\nexport interface DBMessage {\r\n messageId: number;\r\n clubModelId: number;\r\n svemoId: number;\r\n message: string;\r\n date: Date;\r\n}\r\n\r\n@Component({\r\n selector: 'app-message-input-dialog',\r\n templateUrl: './message-input-dialog.component.html',\r\n styleUrls: ['./message-input-dialog.component.css']\r\n})\r\nexport class MessageInputDialogComponent implements OnInit {\r\n\r\n public message: string;\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA)\r\n public data: CreateMessage,\r\n public dbService:DbService) { }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n onAddMessage() {\r\n var myDate = new Date();\r\n if (this.data.type == 'clubMessage') {\r\n var newMessage: DBMessage = {\r\n messageId: 0,\r\n clubModelId: +this.data.user.clubModelId,\r\n svemoId: +this.data.user.svemoId,\r\n message: this.message,\r\n date: myDate ,\r\n }\r\n }\r\n else {\r\n var newMessage: DBMessage = {\r\n messageId: 0,\r\n clubModelId: -1,\r\n svemoId: this.data.user.svemoId,\r\n message: this.message,\r\n date: myDate,\r\n }\r\n }\r\n \r\n this.dbService.addMessage(newMessage).subscribe(data => {\r\n this.dialogRef.close(true);\r\n })\r\n \r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","
\n
\n
\n

Skapa meddelande:

\n
\n
\n \n
\n
\n
\n\n\n \n Meddelande\n \n \n
\n
\n \n \n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.css']\n})\nexport class ConfirmDialogComponent implements OnInit {\n\n private title: string | undefined;\n private message: string | undefined;\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n ngOnInit() {\n }\n}\n","
\r\n

{{data.title}}

\r\n
\r\n {{data.message}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators'\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n\r\n constructor(private router: Router) {\r\n\r\n }\r\n\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (localStorage.getItem('token') != null) {\r\n\r\n const clonedReq = req.clone({\r\n headers: req.headers.set('Authorization', 'Bearer ' + localStorage.getItem('token'))\r\n });\r\n return next.handle(clonedReq).pipe(\r\n tap(\r\n succ => { },\r\n err => {\r\n if (err.status == 401) {\r\n\r\n localStorage.removeItem('token');\r\n //Modified\r\n this.router.navigateByUrl('/auth/login');\r\n }\r\n else if (err.status == 403)\r\n this.router.navigateByUrl('/forbidden');\r\n }\r\n )\r\n )\r\n }\r\n else\r\n return next.handle(req.clone());\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { Table } from 'primeng/table';\r\nimport { AuthenticationService } from '../../auth/authentication.service';\r\nimport { ConfirmDialogComponent } from '../../components/confirm-dialog/confirm-dialog.component';\r\nimport { IClub, IMember } from '../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { DbService } from '../../services/db.service';\r\nimport { AddMemberComponent } from './add-member/add-member.component';\r\nimport { MemberProfileComponent } from './member-profile/member-profile.component';\r\n\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Component({\r\n selector: 'app-db-members',\r\n templateUrl: './db-members.component.html',\r\n //styleUrls: ['./db-members.component.css']\r\n styleUrls: ['./db-members.component.scss']\r\n})\r\nexport class DbMembersComponent implements OnInit {\r\n\r\n @ViewChild('dt') table!: Table;\r\n\r\n public members: IMember[] | undefined;\r\n\r\n public selectedClubs?= new FormControl();\r\n public testClubs: IClub[] = [];\r\n\r\n public broadCastMembers: any;\r\n public broadCastActiveUser: any;\r\n\r\n constructor(\r\n public dbService: DbService,\r\n //public authService: AuthenticationService,\r\n public activeUserService: ActiveuserService,\r\n private router: Router,\r\n public dialog: MatDialog,\r\n public dataRoom:DataRoomService,\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.broadCastMembers = this.dbService.broadCastMembers.subscribe(data => {\r\n this.members = data; \r\n })\r\n this.broadCastActiveUser = this.activeUserService.currentUser.subscribe(data => {\r\n var broadcastClubs = this.dbService.broadCastClubs.subscribe(clubs => {\r\n var userClub = clubs.find(club => club.clubModelId == data.clubModelId)\r\n if (userClub) {\r\n this.testClubs.push(userClub)\r\n }\r\n })\r\n broadcastClubs.unsubscribe();\r\n })\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.broadCastActiveUser = this.activeUserService.currentUser.subscribe(user => {\r\n //console.log(user)\r\n if (user.clubModelId != 0) {\r\n var filterClub: number[] = [];\r\n filterClub.push(user.clubModelId)\r\n this.table.filter(filterClub, 'clubModelId', 'in')\r\n } \r\n })\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.broadCastActiveUser.unsubscribe();\r\n this.broadCastMembers.unsubscribe(); \r\n }\r\n\r\n onClubChange(event: { value: any[]; }) {\r\n var filterClubIds: any[] = [];\r\n event.value.forEach(data => filterClubIds.push(data.clubModelId))\r\n this.table.filter(filterClubIds, 'clubModelId', 'in')\r\n }\r\n onMemberDelete(member: IMember) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: 'Ta bort medlem från databasen',\r\n message: 'Är du säker på att du vill ta bort ' + member.firstName + ' ' +member.lastName + '?'\r\n }\r\n });\r\n confirmDialog.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.dbService.removeMember(member);\r\n }\r\n })\r\n }\r\n onAddMember() {\r\n const dialogRef = this.dialog.open(AddMemberComponent, {\r\n panelClass: 'custom-dialog-container'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log('The dialog was closed');\r\n });\r\n }\r\n onViewMember(selected_member) {\r\n const dialogRef = this.dialog.open(MemberProfileComponent, {\r\n position: { top: '1rem' },\r\n data: { member: selected_member},\r\n panelClass: 'custom-dialog-container'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log('The dialog was closed');\r\n });\r\n }\r\n\r\n filterTableSvemoId(Event: any) {\r\n if (null === Event)\r\n throw Error('Value is null')\r\n else\r\n this.table.filter(Event.target.value, 'svemoId', 'startsWith');\r\n }\r\n filterTableGlobal(Event: any) {\r\n if (null === Event)\r\n throw Error('Value is null')\r\n else\r\n this.table.filterGlobal(Event.target.value, 'contains')\r\n }\r\n filterTableFirstName(Event: any) {\r\n if (null === Event)\r\n throw Error('Value is null')\r\n else\r\n this.table.filter(Event.target.value, 'firstName', 'contains');\r\n }\r\n\r\n onFileChange($event: any) {\r\n console.log($event);\r\n const target: DataTransfer = ($event.target);\r\n const reader: FileReader = new FileReader();\r\n\r\n reader.onload = (evt: any) => {\r\n var newMembers: any[] = [];\r\n var newIMembers: IMember[] = [];\r\n var distinctNewMembers: any[] = [];\r\n const binaryString: string = evt.target.result;\r\n const workBook: XLSX.WorkBook = XLSX.read(binaryString, { type: 'binary' })\r\n const workSheetName: string = workBook.SheetNames[0];\r\n const workSheet: XLSX.WorkSheet = workBook.Sheets[workSheetName];\r\n newMembers = (XLSX.utils.sheet_to_json(workSheet, { header: 1 }))\r\n\r\n //Find out what columns i want\r\n var svemoID_col: number = newMembers[0].findIndex(data => data == 'IDSvemoTA');\r\n var firstName_col: number = newMembers[0].findIndex(data => data == 'Förnamn');\r\n var lastName_col: number = newMembers[0].findIndex(data => data == 'Efternamn');\r\n var club_col: number = newMembers[0].findIndex(data => data == 'Klubb');\r\n var count = 0;\r\n var countExists = 0;\r\n var countNotExists = 0;\r\n\r\n newMembers.forEach(newMember => {\r\n if (count != 0) {\r\n var existsDB = this.dbService.allMembers.findIndex(data => data.svemoId == +newMember[svemoID_col]) \r\n if (existsDB == -1) {\r\n var newIMember: IMember = {\r\n svemoId: newMember[svemoID_col],\r\n isActive: false,\r\n firstName: newMember[firstName_col],\r\n lastName: newMember[lastName_col],\r\n clubModel: null,\r\n clubModelId: +this.activeUserService.user.clubModelId,\r\n clubMembership: newMember[club_col],\r\n bikeBrandModel: null,\r\n bikeBrandModelId: +7,\r\n pictureUrl: null,\r\n picture: [],\r\n confirmedTimeReadModel: null,\r\n intermediateTimeModel: null,\r\n lapTimeModel: null,\r\n timeReadModel: null,\r\n };\r\n newIMembers.push(newIMember);\r\n \r\n countNotExists++;\r\n } \r\n }\r\n count++;\r\n })\r\n\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: 'Lägg till medlemmar',\r\n message: 'Är du säker på att du vill lägga till ' + countNotExists + ' medlemmar till databasen?'\r\n }\r\n });\r\n confirmDialog.afterClosed().subscribe(result => {\r\n if (result) {\r\n newIMembers.forEach(data => {\r\n this.dbService.addMember(data, null);\r\n })\r\n this.dbService.getMembers();\r\n }\r\n })\r\n // distinctNewMembers = this.uniqueMembers(newIMembers);\r\n }\r\n reader.readAsBinaryString($event.target.files[0]);\r\n }\r\n\r\n public uniqueMembers(fileIMembers: any[]) {\r\n var members: IMember[] = [];\r\n var counter = 0;\r\n fileIMembers.forEach(member => {\r\n if (counter != 0) {\r\n var exists = members.find(mem => mem.svemoId == member.svemoId)\r\n console.log(exists)\r\n var existsDB = this.dbService.allMembers.find(mem => mem.svemoId == member.svemoId)\r\n console.log(existsDB)\r\n if (!exists && !existsDB) {\r\n members.push(member)\r\n }\r\n }\r\n counter++;\r\n })\r\n console.log(counter);\r\n return members;\r\n }\r\n\r\n}\r\n","
\n \n\n \n \n \n
\n
\n
\n Medlemmar\n
\n
\n
\n \n
\n
\n \n
\n\n\n \n
\n \n Välj klubb:\n \n \n \n 0\">\n {{testClubs[0].name}}\n \n 1\" class=\"additional-selection\">\n (+{{testClubs.length - 1}} {{testClubs.length === 2 ? 'other' : 'others'}})\n \n \n {{club.name}}\n \n \n
\n
\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Välj klubb:\n \n \n \n 0\">\n {{testClubs[0].name}}\n \n 1\" class=\"additional-selection\">\n (+{{testClubs.length - 1}} {{testClubs.length === 2 ? 'other' : 'others'}})\n \n \n {{club.name}}\n \n \n \n \n\n \n \n ID \n Namn \n Klubb \n Aktiv \n MC \n \n \n \n\n \n \n\n \n \n \n Svemo ID \n {{member.svemoId}}\n \n \n \n {{member.firstName}} {{member.lastName}}\n \n \n Klubb: \n \n {{member.clubMembership}}\n \n \n \n \n \n Motorcykel: \n \n \n \n\n \n \n\n \n \n\n \n \n \n \n {{member.firstName}} {{member.lastName}}\n \n \n\n \n \n Svemo ID: \n {{member.svemoId}}\n \n \n Klubb: \n \n {{member.clubMembership}}\n \n \n Motorcykel: \n {{dataRoom.showBikeBrand(member.bikeBrandModelId)}}\n \n \n
\n \n \n
\n \n \n\n
\n\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-lap-info',\n templateUrl: './lap-info.component.html',\n styleUrls: ['./lap-info.component.css']\n})\nexport class LapInfoComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

lap-info works!

\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { FileInput } from 'ngx-material-file-input';\r\nimport { of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ConfirmDialogComponent } from '../../../components/confirm-dialog/confirm-dialog.component';\r\nimport { IBikeBrand, IMember } from '../../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../../services/activeuser.service';\r\nimport { ConfigService } from '../../../services/config.service';\r\nimport { DataRoomService } from '../../../services/data-room.service';\r\nimport { DbService } from '../../../services/db.service';\r\n\r\n@Component({\r\n selector: 'app-member-profile',\r\n templateUrl: './member-profile.component.html',\r\n styleUrls: ['./member-profile.component.css']\r\n})\r\nexport class MemberProfileComponent implements OnInit {\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data,\r\n private config: ConfigService,\r\n public activeUser: ActiveuserService,\r\n private dialog: MatDialog,\r\n private dbService: DbService,\r\n // private sanitizer: DomSanitizer,\r\n public dataRoom: DataRoomService,\r\n private snackBar: MatSnackBar,\r\n public dialogRef: MatDialogRef) {\r\n }\r\n\r\n \r\n\r\n // Image files to accept for upload\r\n public accept = '.jpg, .png'\r\n public multiple = false;\r\n\r\n public pictureUrl: FileInput;\r\n private updateUrlMember: IupdateUrlMember;\r\n\r\n public displayPic: any = [];\r\n public errorMsg: string;\r\n\r\n private broadCastProfilepic: any;\r\n\r\n public bikeBrands: IBikeBrand[] = this.dbService.allBikeBrands;\r\n\r\n public editProfile: boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.broadCastProfilepic = this.dbService\r\n .getProfilePic(this.data.member.svemoId)\r\n .pipe(catchError(error => {\r\n console.log(error)\r\n return of([]);\r\n })\r\n ).subscribe(data => {\r\n this.displayPic = data.picture;\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n this.broadCastProfilepic.unsubscribe();\r\n }\r\n onUpdatePicUrl() {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: this.data.member.firstName,\r\n message: 'Är du säker på att du vill uppdatera din profil?'\r\n }\r\n });\r\n confirmDialog.afterClosed().subscribe(result => {\r\n if (!this.pictureUrl)\r\n this.snackBar.open('Varning!','Du måste välja en fil att ladda upp!',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n if (result === true && this.pictureUrl) {\r\n\r\n this.updateUrlMember = {\r\n svemoId: this.data.member.svemoId,\r\n PictureUrl: this.pictureUrl.files[0]\r\n }\r\n\r\n this.dbService.updateMemberProfileUrl(this.updateUrlMember)\r\n this.dialogRef.close();\r\n }\r\n });\r\n }\r\n showImage() {\r\n if (this.displayPic) {\r\n if (this.displayPic.length != 0) {\r\n return this.dataRoom.showImage(this.displayPic);\r\n }\r\n else\r\n return '/assets/img/profile.png'\r\n }\r\n else\r\n return '/assets/img/profile.png'\r\n }\r\n\r\n public changeBike(bikeBrandId: number) {\r\n console.log(bikeBrandId)\r\n }\r\n\r\n public onEdit() {\r\n this.editProfile = !this.editProfile;\r\n }\r\n public onUpdate() {\r\n\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: this.data.member.firstName,\r\n message: 'Är du säker på att du vill uppdatera din profil?'\r\n }\r\n });\r\n confirmDialog.afterClosed().subscribe(result => {\r\n console.log(this.data.member)\r\n if (result) {\r\n if (this.pictureUrl) {\r\n this.updateUrlMember = {\r\n svemoId: this.data.member.svemoId,\r\n PictureUrl: this.pictureUrl.files[0]\r\n }\r\n this.dbService.updateMemberProfileUrl(this.updateUrlMember)\r\n }\r\n var updateMember: IMember = {\r\n svemoId : this.data.member.svemoId,\r\n firstName: this.data.member.firstName,\r\n lastName: this.data.member.lastName,\r\n isActive: this.data.member.isActive,\r\n clubMembership: this.data.member.clubMembership,\r\n clubModel: null,\r\n clubModelId: this.data.member.clubModelId,\r\n bikeBrandModel: null,\r\n bikeBrandModelId: this.data.member.bikeBrandModelId,\r\n pictureUrl: this.data.member.pictureUrl,\r\n picture: this.data.member.picture,\r\n confirmedTimeReadModel: null,\r\n intermediateTimeModel: null,\r\n lapTimeModel: null,\r\n timeReadModel: null,\r\n }\r\n console.log(updateMember)\r\n this.dbService.updateMember(updateMember);\r\n }\r\n this.editProfile = !this.editProfile;\r\n })\r\n \r\n }\r\n public onCancel() {\r\n this.editProfile = !this.editProfile;\r\n }\r\n}\r\n\r\nexport interface IupdateUrlMember {\r\n svemoId: number;\r\n PictureUrl: File;\r\n}\r\n","\r\n \r\n
\r\n
\r\n

{{data.member.firstName}} {{data.member.lastName}}

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

{{dataRoom.showClubName(data.member.clubModelId)}}

\r\n ({{data.member.clubMembership}})\r\n \r\n Klubb tillörighet:\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n

{{dataRoom.showBikeBrand(data.member.bikeBrandModelId)}}

\r\n
\r\n\r\n
\r\n \r\n \r\n Välj tillverkare:\r\n \r\n None\r\n {{bikeBrand.bikeBrand}}\r\n \r\n \r\n
\r\n
\r\n \r\n

Aktiv

\r\n
\r\n
\r\n
\r\n \r\n \r\n folder_open\r\n \r\n Uppdatera profilbild \r\n \r\n
\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 { Time } from '@angular/common';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { IClub, IConfirmedTimeRead, IEvent, IIntermediateTimeModel, ILap, ILapSetUp, ILapTimeModel, IMember, IMemberInCompetition, IPoint, ISerie, IStartType, ITimeRead } from '../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { DbService } from '../../services/db.service';\r\nimport { SignalRService } from '../../services/signal-r.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { Table } from 'primeng/table';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmDialogComponent } from '../../components/confirm-dialog/confirm-dialog.component';\r\n\r\nimport jsPDF from 'jspdf'\r\nimport autoTable from 'jspdf-autotable';\r\n\r\n@Component({\r\n selector: 'app-run-competition',\r\n templateUrl: './run-competition.component.html',\r\n styleUrls: ['./run-competition.component.css']\r\n})\r\nexport class RunCompetitionComponent implements OnInit {\r\n\r\n @ViewChild('dt') table: Table;\r\n @ViewChild('dtComputePoints') tableComputePoints: Table;\r\n \r\n\r\n constructor(private dbService: DbService,\r\n public dataRoom: DataRoomService,\r\n private signalR: SignalRService,\r\n private activeUserService: ActiveuserService,\r\n private snackBar: MatSnackBar,\r\n private config: ConfigService,\r\n public dialog: MatDialog,) { }\r\n\r\n //Keep track of readers\r\n public activePis: any[];\r\n private broadCastPisDB: any;\r\n private broadCastPisSignalR: any;\r\n public readersInEvent: string[] = [];\r\n\r\n //Keep track of clubs\r\n public clubs: IClub[];\r\n private broadCastClubs: any;\r\n public selectedClub: IClub;\r\n\r\n //Keep track of active user\r\n public activeUser: IMember;\r\n private broadCastActiveUser: any;\r\n \r\n //Keep track of event\r\n public allEvents: IEvent[] = [];\r\n private broadCastallEvents: any;\r\n public selectedEvent: IEvent;\r\n public selectedEventLaps: ILap[] = [];\r\n public eventsInSerie: IEvent[] = [];\r\n public displayMembers: DisplayMember[] = [];\r\n private signalRBroadCast: any;\r\n public allClasses: string[] = [];\r\n public dummyallClasses: { name: string, idx: number }[] = [];\r\n public selectedClasses: string[] = [];\r\n public pointTables: IPoint[] = [];\r\n\r\n\r\n public series: ISerie[] = []\r\n private broadCastSeries: any;\r\n\r\n private startTypes: IStartType[] = [];\r\n public nbrParticipants: number = 0;\r\n \r\n public checked: boolean = true;\r\n\r\n //Data to create manual time\r\n public startNumber: number = 0;\r\n public time: Date = new Date();\r\n public selectedAntenna: number = 1;\r\n public selectedReader: string = 'Ej vald'\r\n\r\n //Display properties\r\n //STATUSCOLOR FOR RACE\r\n public colors = [{ hasStarted: 0, color: \"red\", text:\"Ej startat\" }, { hasStarted: 1, color: \"green\", text:\"Pågår\"},\r\n { hasStarted: 2, color: \"yellow\", text: \"Paus\" }, { hasStarted: 3, color: \"black\", text: \"Avslutat\" }]\r\n //STATUS COLOR FOR RACER\r\n public statusColors = [{ status: \"Start\", color: \"green\" }, { status: \"Mål\", color: \"yellow\" },\r\n { status: \"Mellantid\", color: \"green\" }, { status: \"Unknown\", color: \"red\" }]\r\n public threeLatestTimes: IConfirmedTimeRead[] = [];\r\n public infoType: number = 0;\r\n public maxLaps: number = 0;\r\n public headers: [{ header: string, field: string }];\r\n\r\n ngOnInit(): void {\r\n //DB SERVICES//\r\n this.threeLatestTimes = [];\r\n this.broadCastSeries = this.dbService.broadCastSeries.subscribe(data => {\r\n this.series = data;\r\n })\r\n this.broadCastClubs = this.dbService.broadCastClubs.subscribe(data => {\r\n this.clubs = data;\r\n })\r\n this.broadCastActiveUser = this.activeUserService.currentUser.subscribe(data => {\r\n this.activeUser = data\r\n this.selectedClub = this.activeUser.clubModel\r\n this.dbService.getEventsByClub(data.clubModel.clubModelId);\r\n\r\n })\r\n this.broadCastallEvents = this.dbService.broadCastEvents.subscribe(data => {\r\n\r\n if (this.selectedClub) {\r\n this.allEvents = data.filter(event => event.clubModelId && event.eventType.type == 'Tävling' && event.hasStarted < 3)\r\n if (this.selectedEvent) {\r\n this.selectedEvent.hasStarted = this.allEvents.find(data => data.eventId == this.selectedEvent.eventId).hasStarted;\r\n }\r\n }\r\n })\r\n this.dbService.getStartTypes().subscribe(data => this.startTypes = data);\r\n this.broadCastPisDB = this.dbService.broadCastPis.subscribe(data => {\r\n this.activePis = data;\r\n })\r\n this.dbService.getPointTables().subscribe(data => {\r\n this.pointTables = data;\r\n })\r\n\r\n //SIGNALR SERVICES\r\n this.broadCastPisSignalR = this.signalR.broadCastPis.subscribe(data => {\r\n this.activePis = data;\r\n })\r\n\r\n this.dbService.getActivePis();\r\n this.signalR.getEventList();\r\n this.signalR.changedPiConnectionList();\r\n }\r\n ngOnDestroy(): void {\r\n this.broadCastClubs.unsubscribe();\r\n this.broadCastActiveUser.unsubscribe();\r\n this.broadCastSeries.unsubscribe();\r\n\r\n //SIGNALR SERVICES\r\n this.broadCastPisSignalR.unsubscribe();\r\n this.broadCastPisDB.unsubscribe();\r\n if (this.signalRBroadCast)\r\n this.signalRBroadCast.unsubscribe();\r\n\r\n this.signalR.stoplistenForEventData();\r\n }\r\n\r\n onClubChange(event) {\r\n this.signalR.stoplistenForEventData();\r\n this.threeLatestTimes = [];\r\n this.selectedClub = event.value;\r\n this.dbService.getActivePis();\r\n this.dbService.getEventsByClub(this.selectedClub.clubModelId);\r\n }\r\n\r\n onEventChange(event) {\r\n this.selectedEventLaps = [];\r\n this.selectedEvent.lapinEvent.forEach(data => {\r\n this.selectedEventLaps.push(data.lapModel);\r\n })\r\n if (this.signalRBroadCast)\r\n this.signalRBroadCast.unsubscribe();\r\n this.readersInEvent = [];\r\n this.signalR.stoplistenForEventData();\r\n this.dbService.getRegisteredParticipantsInRace(this.selectedEvent.eventId).subscribe(data => {\r\n this.nbrParticipants = data.length;\r\n this.selectedEvent.memberInCompetition = data;\r\n this.displayMembers = this.createDisplayMembers(data);\r\n this.dbService.getMembersTimesEventDirect(event.value).subscribe(data => {\r\n if (data) {\r\n //console.log(data)\r\n //Create headers for all laps\r\n data.forEach(member => {\r\n this.displayMembers.find(dispMember => dispMember.svemoId == member.svemoId).confirmedTimeReadModel = member.confirmedTimeReadModel;\r\n this.displayMembers.find(dispMember => dispMember.svemoId == member.svemoId).intermediateTimeModel = member.intermediateTimeModel;\r\n this.displayMembers.find(dispMember => dispMember.svemoId == member.svemoId).lapTimeModel = member.lapTimeModel;\r\n this.totalTime(this.displayMembers.find(dispMember => dispMember.svemoId == member.svemoId))\r\n this.displayMembers.find(dispMember => dispMember.svemoId == member.svemoId).nbrLaps = member.lapTimeModel.length;\r\n // If this member has more laps then allready added to header add new headers\r\n if (member.lapTimeModel.length > this.maxLaps) {\r\n var addedLaps = member.lapTimeModel.length;\r\n console.log(this.selectedEvent.lapinEvent[0].lapModel.lapName)\r\n if (this.selectedEvent.eventType.case != 'Heat') {\r\n while (this.maxLaps < member.lapTimeModel.length) {\r\n if (!this.headers)\r\n this.headers = [{ header: this.selectedEvent.lapinEvent[0].lapModel.lapName, field: 'lapTimeModel[' + this.maxLaps + ']' }];\r\n else\r\n this.headers.push({ header: this.selectedEvent.lapinEvent[0].lapModel.lapName, field: 'lapTimeModel[' + this.maxLaps + ']' });\r\n this.maxLaps++;\r\n }\r\n }\r\n else {\r\n while (this.maxLaps < member.lapTimeModel.length) {\r\n if (!this.headers)\r\n this.headers = [{ header: 'Heat 1', field: 'lapTimeModel[' + this.maxLaps + ']' }];\r\n else\r\n this.headers.push({ header: 'Heat ' + this.maxLaps, field: 'lapTimeModel[' + this.maxLaps + ']' });\r\n this.maxLaps++;\r\n }\r\n }\r\n }\r\n })\r\n this.allClasses = this.uniqueClasses();\r\n this.dummyallClasses = [];\r\n this.allClasses.forEach(data => {\r\n this.dummyallClasses.push({name:data, idx:0})\r\n })\r\n }\r\n });\r\n this.dbService.getClassModelsByEvent(event.value.eventId).subscribe(data => {\r\n this.selectedEvent.classesInEvent = data;\r\n })\r\n this.eventsInSerie = this.allEvents.filter(data => data.seriesModelId == this.selectedEvent.seriesModelId);\r\n })\r\n this.setReadersInEvent();\r\n this.infoType = 0;\r\n this.signalRBroadCast = this.signalR.broadCastnewEventData.subscribe(eventData => {\r\n console.log('New data from event')\r\n if (eventData.timeRead) {\r\n console.log('Add TimeRead: ' + eventData.timeRead.timeReadID)\r\n this.displayMembers.find(member => member.svemoId == eventData.timeRead.svemoId)\r\n .confirmedTimeReadModel.push(eventData.timeRead)\r\n if (this.threeLatestTimes.length < 3)\r\n this.threeLatestTimes.push(eventData.timeRead)\r\n else {\r\n this.threeLatestTimes.shift();\r\n this.threeLatestTimes.push(eventData.timeRead)\r\n }\r\n //var memberIdx:number = this.displayMembers.findIndex(dispMember => dispMember.svemoId == eventData.timeRead.svemoId);\r\n //this.displayMembers[memberIdx] = this.totalTime(this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId))\r\n if (this.selectedEvent.eventType.case != 'Heat' && eventData.timeRead.status == \"Mål\"\r\n && eventData.timeRead.ladIdx\r\n == this.dataRoom.getLapsToRun(this.selectedEvent.classesInEvent, this.displayMembers.find(data => data.svemoId == eventData.timeRead.svemoId).className) *\r\n this.selectedEvent.lapinEvent.length) {\r\n\r\n // this.totalTime(this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId))\r\n this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId).nbrLaps = this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId).lapTimeModel.length;\r\n this.displayMembers.find(member => member.svemoId == eventData.timeRead.svemoId).isFinished = true;\r\n console.log('Mål')\r\n }\r\n }\r\n \r\n\r\n if (eventData.intermediateTime) {\r\n console.log('Add intermediate: ' + eventData.intermediateTime.timeReadID)\r\n this.displayMembers.find(member => member.svemoId == eventData.intermediateTime.svemoId)\r\n .intermediateTimeModel.push(eventData.intermediateTime)\r\n \r\n }\r\n if (eventData.lapTime) {\r\n this.displayMembers.find(member => member.svemoId == eventData.lapTime.svemoId)\r\n .lapTimeModel.push(eventData.lapTime)\r\n this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId).nbrLaps = this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId).lapTimeModel.length;\r\n this.totalTime(this.displayMembers.find(dispMember => dispMember.svemoId == eventData.timeRead.svemoId))\r\n console.log('Add laptime: ' + eventData.lapTime.timeReadID)\r\n\r\n //Check if this is the final lap in final Heat\r\n if (this.selectedEvent.eventType.case == 'Heat') {\r\n var nbrLaps = this.dataRoom.getLapsToRun(this.selectedEvent.classesInEvent, this.displayMembers.find(data => data.svemoId == eventData.timeRead.svemoId).className);\r\n var nbrHeats = this.dataRoom.getLapsToRun(this.selectedEvent.classesInEvent, this.displayMembers.find(data => data.svemoId == eventData.timeRead.svemoId).className);\r\n console.log('NbrLapsToRun:' +nbrLaps)\r\n console.log('NbrHeatsToRun:' +nbrHeats)\r\n console.log('NbrLapsRecorded:' + this.displayMembers.find(member => member.svemoId == eventData.lapTime.svemoId).lapTimeModel.length)\r\n if (this.displayMembers.find(member => member.svemoId == eventData.lapTime.svemoId).lapTimeModel.length == nbrLaps * nbrHeats) {\r\n this.displayMembers.find(member => member.svemoId == eventData.timeRead.svemoId).isFinished = true;\r\n }\r\n }\r\n }\r\n })\r\n\r\n this.signalR.listenForEventData(this.selectedEvent)\r\n }\r\n\r\n comparer(o1: any, o2: any): boolean {\r\n // if possible compare by object's name, and not by reference.\r\n return o1 && o2 ? o1.name === o2.name : o2 === o2;\r\n }\r\n\r\n startTagCheck() {\r\n console.log('Starting Tag check!!');\r\n this.dbService.startTagCheck(this.selectedEvent);\r\n this.signalR.listenForNewEventCheckData(this.selectedEvent);\r\n this.signalR.broadCastnewEventCheckData.subscribe(data => {\r\n var checkMember = this.selectedEvent.memberInCompetition.find(member => member.svemoId == data.svemoId)\r\n checkMember.isChecked = data.isChecked;\r\n })\r\n }\r\n stopTagCheck() {\r\n console.log('Stop Tag check!!');\r\n this.dbService.stopTagCheck(this.selectedEvent);\r\n this.signalR.stoplistenForNewEventCheckData();\r\n };\r\n onStartEvent(event) {\r\n this.dbService.startEvent(event);\r\n if ((this.selectedEvent.hasStarted == 2 || this.selectedEvent.hasStarted == 0) &&\r\n this.startTypeName(this.selectedEvent.startTypeId).includes('knapp')) {\r\n var test: ITimeRead = {\r\n timeReadID: 0,\r\n time: new Date(),\r\n readerId: 'knapp',\r\n antennaId: 0,\r\n svemoId: this.displayMembers[0].svemoId,\r\n eventId: this.selectedEvent.eventId,\r\n }\r\n this.dbService.sendStartTime(test);\r\n }\r\n }\r\n onPauseEvent(event) {\r\n this.dbService.pauseEvent(event);\r\n }\r\n onStopEvent(event) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: 'Stoppa Race',\r\n message: 'Är du säker på att du vill stoppa racet, du kommer inte kunna starta igen?'\r\n }\r\n });\r\n confirmDialog.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.dbService.stopEvent(event);\r\n }\r\n })\r\n \r\n }\r\n onGetTime() {\r\n this.time = new Date(); \r\n }\r\n\r\n startTypeName(startTypeId: number) {\r\n return this.startTypes.find(data => data.id == startTypeId).startTypeName;\r\n }\r\n serieNamn(serieId: number) {\r\n return this.series.find(data => data.id == serieId).serieName;\r\n }\r\n\r\n info(infoType: number) {\r\n this.infoType = infoType;\r\n }\r\n\r\n\r\n getTheColor2(readerName) {\r\n //Check if reader exists if so check if it's active\r\n var status = 0\r\n\r\n if (this.activePis) {\r\n this.activePis.forEach(Pi => {\r\n Pi.availableReaders.forEach(reader => {\r\n if (reader.readerName == readerName) {\r\n if (!reader.isConnected)\r\n status = 3;\r\n else if (reader.isListening)\r\n status = 2;\r\n else\r\n status = 1;\r\n }\r\n })\r\n })\r\n }\r\n else\r\n return 'pink'\r\n if (status == 0)\r\n return 'red';\r\n if (status == 1)\r\n return 'yellow';\r\n if (status == 2)\r\n return 'green';\r\n if (status == 3)\r\n return 'orange'\r\n else\r\n return 'pink';\r\n }\r\n\r\n getStatusColor(displayMember: DisplayMember) { \r\n if (displayMember.confirmedTimeReadModel.length > 0) {\r\n if (displayMember.isFinished)\r\n return \"black\"\r\n else {\r\n var lastRead = displayMember.confirmedTimeReadModel[displayMember.confirmedTimeReadModel.length - 1].status;\r\n return this.statusColors.filter(item => item.status == lastRead)[0].color\r\n } \r\n }\r\n else\r\n return 'blue'\r\n }\r\n\r\n getTheColor(status) {\r\n return this.colors.filter(item => item.hasStarted === status)[0].color\r\n }\r\n getTheColorText(status) {\r\n return this.colors.filter(item => item.hasStarted === status)[0].text\r\n }\r\n displayLapName(LapId: number) {\r\n if (LapId)\r\n return this.selectedEvent.lapinEvent.find(lap => lap.lapId == LapId).lapModel.lapName\r\n else\r\n return 'Okännt'\r\n }\r\n setReadersInEvent() {\r\n this.selectedEvent.lapinEvent.forEach(data => {\r\n data.lapModel.lapSetUps.forEach(lapSetUp => {\r\n if (!this.readersInEvent.includes(lapSetUp.readerId))\r\n this.readersInEvent.push(lapSetUp.readerId)\r\n })\r\n })\r\n //console.log(this.readersInEvent)\r\n }\r\n createDisplayMembers(memberInComp: IMemberInCompetition[]): DisplayMember[]\r\n {\r\n var displayMembers: DisplayMember[] = [];\r\n\r\n memberInComp.forEach(member => {\r\n var displayMember: DisplayMember = {\r\n svemoId: member.svemoId,\r\n isActive: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).isActive,\r\n firstName: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).firstName,\r\n lastName: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).lastName,\r\n clubModel: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).clubModel,\r\n clubModelId: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).clubModelId,\r\n clubMembership: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).clubMembership,\r\n bikeBrandModel: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).bikeBrandModel,\r\n bikeBrandModelId: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).bikeBrandModelId,\r\n pictureUrl: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).pictureUrl,\r\n picture: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).picture,\r\n confirmedTimeReadModel: [],\r\n intermediateTimeModel: [],\r\n lapTimeModel: [],\r\n timeReadModel: [],\r\n id: member.id,\r\n eventId: member.eventId,\r\n className: member.className,\r\n startNbr: member.startNbr,\r\n isChecked: member.isChecked,\r\n isPresent: member.isPresent,\r\n isFinished: member.isFinished,\r\n totalTime: member.totalTime,\r\n position: member.position,\r\n nbrLaps: 0,\r\n points: 0,\r\n }\r\n displayMembers.push(displayMember);\r\n })\r\n return displayMembers\r\n }\r\n convertToMiniTime(timeString: string): string {\r\n var noMilliSec = timeString.split(\".\").slice(0.1);\r\n var noHour = noMilliSec[0].split(\":\");\r\n return noHour[1] + \":\" + noHour[2];\r\n }\r\n\r\n public updateLap: ILapTimeModel;\r\n onRowEditInit(oldLap: ILapTimeModel) {\r\n this.updateLap = oldLap;\r\n }\r\n onRowEditDelete(oldLap: ILapTimeModel, member: DisplayMember) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: 'Ta bort varvet från databasen',\r\n message: 'Är du säker på att du vill ta bort varvet från databasen?'\r\n }\r\n });\r\n confirmDialog.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.dbService.removeLapTime(oldLap).subscribe(\r\n (data: ILapTimeModel) => {\r\n if (data != null) {\r\n console.log(data);\r\n var removeIdx = member.lapTimeModel.findIndex(data => data.timeReadID == oldLap.timeReadID);\r\n member.lapTimeModel.splice(removeIdx, 1);\r\n this.snackBar.open('Lyckat!', 'Varvet togs bort från databasen', {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarOk\"\r\n });\r\n this.totalTime(this.displayMembers.find(dispMember => dispMember.svemoId == data.svemoId))\r\n this.displayMembers.find(dispMember => dispMember.svemoId == data.svemoId).nbrLaps = this.displayMembers.find(dispMember => dispMember.svemoId == data.svemoId).lapTimeModel.length;\r\n }\r\n else {\r\n console.log(data)\r\n }\r\n })\r\n }\r\n })\r\n\r\n \r\n }\r\n onRowEditSave(oldLap: ILapTimeModel, member: DisplayMember) {\r\n this.addingLap = false;\r\n if (oldLap.timeReadID == 0) {\r\n this.dbService.addLapTime(oldLap).subscribe(\r\n (data: ILapTimeModel) => {\r\n if (data != null) {\r\n console.log(data)\r\n oldLap = this.updateLap;\r\n member.lapTimeModel.find(data => data.timeReadID == 0).timeReadID = data.timeReadID;\r\n this.snackBar.open('Lyckat!', 'Varvet uppdaterat i databasen', {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarOk\"\r\n });\r\n }\r\n else {\r\n this.snackBar.open('Misslyckat!', 'Något gick fel, kunde inte uppdatera varvet', {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n }\r\n })\r\n }\r\n else {\r\n this.dbService.updateLapTime(oldLap).subscribe(\r\n (data: ILapTimeModel) => {\r\n if (data != null) {\r\n console.log(data)\r\n oldLap = this.updateLap;\r\n this.snackBar.open('Lyckat!', 'Varvet uppdaterat i databasen', {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarOk\"\r\n });\r\n }\r\n else {\r\n //this.messageService.add({ severity: 'error', summary: 'Misslyckat', detail: 'Något gick fel! Varvet uppdaaterades inte' });\r\n }\r\n })\r\n }\r\n this.totalTime(this.displayMembers.find(dispMember => dispMember.svemoId == member.svemoId))\r\n }\r\n onRowEditCancel(dMember: DisplayMember) {\r\n console.log(this.addingLap)\r\n if (this.addingLap)\r\n dMember.lapTimeModel.pop();\r\n this.addingLap = false;\r\n }\r\n\r\n public addingLap: Boolean = false;\r\n onAddLap(dMember: DisplayMember) {\r\n console.log(dMember)\r\n this.addingLap = true;\r\n var newLap: ILapTimeModel = {\r\n timeReadID: 0,\r\n lapTime: '00:00:00.000000',\r\n svemoId: dMember.svemoId,\r\n eventId: dMember.eventId,\r\n memberModel: null,\r\n eventModel: null,\r\n lapId: 0,\r\n lapModel: null,\r\n id1: 0,\r\n id2: 0,\r\n lapNbr: 0,\r\n }\r\n console.log(newLap)\r\n dMember.lapTimeModel.push(newLap);\r\n this.displayMembers.find(dispMember => dispMember.svemoId == dMember.svemoId).nbrLaps = this.displayMembers.find(dispMember => dispMember.svemoId == dMember.svemoId).lapTimeModel.length;\r\n this.table.initRowEdit(newLap);\r\n }\r\n\r\n public dummyLap: ILap;\r\n onConsole(lapTime: IIntermediateTimeModel) {\r\n console.log(lapTime)\r\n console.log(this.selectedEvent)\r\n\r\n ////this.messageService.add({ severity: 'success', summary: 'Lyckat', detail: 'Varvet är uppdaterat i databasen' });\r\n //this.snackBar.open('everything is broken', 'Major Error', {\r\n // duration: this.config.snackBarTiming,\r\n // panelClass: \"snackBarOk\"\r\n //});\r\n }\r\n onConsole2(member: DisplayMember) {\r\n console.log(member.lapTimeModel[0].lapTime)\r\n console.log(new Date(member.lapTimeModel[0].lapTime))\r\n console.log(new Date(member.confirmedTimeReadModel[0].time))\r\n ////this.messageService.add({ severity: 'success', summary: 'Lyckat', detail: 'Varvet är uppdaterat i databasen' });\r\n //this.snackBar.open('everything is broken', 'Major Error', {\r\n // duration: this.config.snackBarTiming,\r\n // panelClass: \"snackBarOk\"\r\n //});\r\n }\r\n\r\n totalTime(member: DisplayMember) {\r\n var hours: number = 0;\r\n var minutes: number = 0;\r\n var seconds: number = 0;\r\n \r\n member.lapTimeModel.forEach((data) => {\r\n console.log('bla')\r\n hours = hours + +data.lapTime.substring(0, 2);\r\n minutes = minutes + +data.lapTime.substring(3, 5);\r\n seconds = seconds + +data.lapTime.substring(6, 8);\r\n })\r\n minutes = minutes + Math.floor(seconds / 60);\r\n hours = hours + Math.floor(minutes / 60);\r\n var finalSeconds = seconds % 60;\r\n var finalMinutes = minutes % 60;\r\n var finalHours = hours;\r\n member.totalTime = finalHours.toString().padStart(2, \"0\") + ':' + finalMinutes.toString().padStart(2, \"0\") + ':' + finalSeconds.toString().padStart(2, \"0\");\r\n return member; \r\n }\r\n\r\n\r\n\r\n\r\n //Beräkna tider\r\n\r\n public selectedClasses: string[] = []; \r\n\r\n computePosition() {\r\n console.log(this.selectedEvent)\r\n this.allClasses.forEach(eventClass => {\r\n \r\n var i: number = 1;\r\n this.displayMembers.filter(data => data.className == eventClass).sort((a, b) => {\r\n return b.nbrLaps - a.nbrLaps || this.timeToSeconds(a.totalTime) - this.timeToSeconds(b.totalTime);\r\n }).forEach(member => {\r\n if (this.timeToSeconds(member.totalTime) != 0) {\r\n member.position = i;\r\n i++;\r\n member.points = this.pointTables.find(\r\n data => data.pointName === this.getPointTableName(member.className)\r\n && data.position === member.position).points;\r\n }\r\n else\r\n member.position = null;\r\n })\r\n })\r\n //var i:number = 1;\r\n //this.displayMembers.filter(data => data.className == \"Motion\").sort((a, b) => {\r\n // return b.nbrLaps - a.nbrLaps || this.timeToSeconds(a.totalTime) - this.timeToSeconds(b.totalTime);\r\n //}).forEach(member => {\r\n // member.position = i;\r\n // i++;\r\n //})\r\n }\r\n\r\n timeToSeconds(stringTime: string): number {\r\n if (stringTime) {\r\n var hours: number = 0;\r\n var minutes: number = 0;\r\n var seconds: number = 0;\r\n\r\n hours = +stringTime.substring(0, 2);\r\n minutes = +stringTime.substring(3, 5);\r\n seconds = +stringTime.substring(6, 8);\r\n\r\n return +(hours * 3600 + minutes * 60 + seconds);\r\n }\r\n else\r\n return +0;\r\n \r\n }\r\n \r\n\r\n protected uniqueClasses() {\r\n var classes: string[] = [];\r\n this.displayMembers.forEach(member => {\r\n var exists = classes.find(cla => cla == member.className)\r\n if (!exists) {\r\n classes.push(member.className)\r\n }\r\n })\r\n console.log(classes);\r\n return classes;\r\n }\r\n\r\n public getPointTableName(className: string) {\r\n var pointId = this.selectedEvent.classesInEvent.find(data => data.className === className).pointId; \r\n return this.pointTables.find(data => data.pointId === pointId).pointName;\r\n }\r\n\r\n exportPdf() {\r\n const doc = new jsPDF();\r\n\r\n this.allClasses.forEach(className => {\r\n var rows = [];\r\n doc.text(className, 14, 10);\r\n\r\n \r\n var cols = ['Pos', 'Nr.', 'Namn', 'Varv']\r\n this.headers.forEach(header => {\r\n cols.push(header.header);\r\n })\r\n\r\n cols.push('Total Tid')\r\n cols.push('Poäng')\r\n\r\n this.displayMembers.filter(data => data.className == className).sort((a, b) => {\r\n if (a.position === null || a.position === 0)\r\n return 1;\r\n return a.position - b.position;\r\n }).forEach(member => {\r\n var row = [member.position, member.startNbr, member.firstName+' '+ member.lastName, member.nbrLaps]\r\n var idx = 0;\r\n this.headers.forEach(header => {\r\n if (member.lapTimeModel[idx]) {\r\n row.push(member.lapTimeModel[idx].lapTime.substring(3, 8)); \r\n }\r\n else {\r\n row.push('---:---');\r\n }\r\n idx++;\r\n })\r\n row.push(member.totalTime.substring(0, 8))\r\n row.push(member.points);\r\n rows.push(row);\r\n })\r\n autoTable(doc, {\r\n head: [cols],\r\n body: rows\r\n })\r\n\r\n doc.addPage();\r\n\r\n })\r\n doc.save('table.pdf')\r\n }\r\n\r\n writeToDB() {\r\n \r\n this.displayMembers.forEach(displayMember => {\r\n var memberInCompetition: IMemberInCompetition = this.createMemberInCompetition(displayMember);\r\n this.dbService.putMemberInCompetition(memberInCompetition);\r\n })\r\n \r\n // var memberInCompetition: IMemberInCompetition = this.displayMembers[0];\r\n // this.dbService.putMemberInCompetition(memberInCompetition);\r\n\r\n }\r\n\r\n public createMemberInCompetition(displayMember: DisplayMember) {\r\n var memberInCompetition: IMemberInCompetition = {\r\n id : displayMember.id,\r\n eventId: displayMember.eventId,\r\n svemoId :displayMember.svemoId,\r\n className : displayMember.className,\r\n startNbr : displayMember.startNbr,\r\n isChecked : displayMember.isChecked,\r\n isPresent : displayMember.isPresent,\r\n isFinished : displayMember.isFinished,\r\n totalTime : displayMember.totalTime,\r\n position: displayMember.position,\r\n points: displayMember.points,\r\n }\r\n if (memberInCompetition.points == null)\r\n memberInCompetition.points = 0;\r\n if (memberInCompetition.position == null)\r\n memberInCompetition.position = 0;\r\n\r\n return memberInCompetition;\r\n }\r\n}\r\n\r\n\r\nexport interface DisplayMember extends IMemberInCompetition, IMember {\r\n nbrLaps: number;\r\n\r\n}\r\n\r\n","\n \n\n
\n

Genomför tävling:

\n \n Välj klubb:\n \n\n {{club.name}}\n \n \n \n Välj event:\n \n\n {{event.eventName}}\n \n \n
\n
\n\n \n \n
\n\n Välj klubb och event!\n\n
\n
\n\n \n \n \n Event ID:\n \n \n \n Datum:\n \n \n \n Namn på tävling:\n \n \n \n Ingår i serie:\n \n \n \n \n Tävlings form:\n \n \n \n \n Start form:\n \n \n \n Antal deltagare:\n \n \n \n \n\n \n \n \n \n\n \n \n

Deltävlingar i samma serie:

\n \n \n Namn\n Datum\n \n \n \n \n {{event.eventName}}\n \n \n {{event.eventDate}}\n \n \n \n \n
\n\n \n \n

Varv som ingår i tävling:

\n \n \n \n Namn\n Varv nummer:\n Antal stationer:\n \n \n \n \n \n \n \n {{lapinEvent.lapModel.lapName}}\n \n \n {{lapinEvent.lapNbr}}\n \n \n {{lapinEvent.lapModel.lapSetUps.length}}\n \n \n \n \n \n

Ingående läsare:

\n \n \n Position\n Namn\n Antenn\n Status\n \n \n \n \n {{lapSetUp.name}}\n \n \n {{lapSetUp.readerId}}\n \n \n {{lapSetUp.antennaId}}\n \n \n circle\n \n \n \n \n
\n
\n
\n \n

Läsar status:

\n
\n {{reader}}\n circle\n
\n
\n
\n\n \n \n\n

Deltagare:

\n\n \n \n
\n #\n Namn\n Namn\n Klass\n Bet.\n Tag\n
\n
\n \n \n \n {{memberInCompetition.startNbr}}\n \n \n {{dataRoom.showMemberName(memberInCompetition.svemoId)}}\n \n \n {{dataRoom.showMemberNameMini(memberInCompetition.svemoId)}}\n \n\n \n {{memberInCompetition.className}}\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n
\n\n
\n\n
\n\n \n \n
\n \n \n \n

RFID Status

\n
\n \n circle{{reader}}\n \n
\n\n

RACE Status

\n \n circle{{getTheColorText(selectedEvent.hasStarted)}}\n \n
\n

Start/Stop/Paus:

\n
\n \n \n \n
\n
\n
\n

Race Info:

\n\n
\n
\n Klass\n Varv\n Max Tid\n
\n
\n {{class.className}}\n {{class.nbrLaps}}\n {{class.maxTime}} h\n
\n
\n
\n
\n
\n \n \n \n >\n \n
\n \n Tid\n Läsare\n Ant.\n Status\n Varv\n Varv#\n \n
\n
\n\n \n \n \n \n {{threeLatestTimes.time | date:'HH:mm:ss'}}\n \n \n {{threeLatestTimes.readerId}}\n \n \n {{threeLatestTimes.antennaId}}\n \n \n {{threeLatestTimes.status}}\n \n \n {{ displayLapName(threeLatestTimes.lapID)}}\n \n \n {{threeLatestTimes.ladIdx}}\n \n \n \n \n\n
\n \n \n \n \n
\n \n #\n \n Namn\n Klass\n Status\n \n {{header.header}}\n \n
\n
\n \n \n \n \n \n \n \n {{displayMember.startNbr}}\n \n \n \n {{displayMember.firstName + ' ' + displayMember.lastName}}\n \n \n {{displayMember.className}}\n \n \n circle\n \n \n
\n \n {{convertToMiniTime(time.lapTime)}} \n
\n \n \n \n \n
\n \n
\n \n \n \n
\n Tid stämplar\n
\n
\n ID\n Tid\n Läsare\n Ant\n Status\n Varv#\n \n
\n
\n \n \n \n {{confirmedTimeReadModel.timeReadID}}\n \n \n {{confirmedTimeReadModel.time | date:'HH:mm:ss'}}\n \n \n {{confirmedTimeReadModel.readerId}}\n \n \n {{confirmedTimeReadModel.antennaId}}\n \n \n {{confirmedTimeReadModel.status}}\n \n \n {{confirmedTimeReadModel.ladIdx}}\n \n \n \n \n
\n \n \n
\n Mellantider\n
\n
\n Mellantid\n Tid\n ID1\n ID2\n \n
\n
\n \n \n \n {{displayLapName(intermediateTimeModel.lapID)}}\n \n \n {{convertToMiniTime(intermediateTimeModel.lapTime)}}\n \n \n {{intermediateTimeModel.id1}}\n \n \n {{intermediateTimeModel.id2}}\n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n\n \n \n \n \n \n
\n \n #\n Namn\n Klass\n Status\n \n {{header.header}}\n \n \n Varv\n Tid\n
\n
\n \n \n \n \n \n \n \n {{displayMember.startNbr}}\n \n \n {{displayMember.firstName + ' ' + displayMember.lastName}}\n \n \n {{displayMember.className}}\n \n \n circle\n \n \n
\n {{displayLapName(time.lapID)}} \n {{convertToMiniTime(time.lapTime)}} \n
\n \n \n \n {{displayMember.nbrLaps}}\n \n \n {{displayMember.totalTime}} \n \n \n
\n\n \n
\n \n \n
\n
\n Varv tider\n
\n
\n ID\n Tid\n Namn\n Varv#\n \n
\n
\n
\n \n
\n
\n\n \n \n \n {{lapTimeModel.timeReadID}}\n \n \n \n \n \n \n \n {{convertToMiniTime(lapTimeModel.lapTime)}} \n \n \n \n\n \n \n \n \n \n \n {{displayLapName(lapTimeModel.lapID)}} \n \n \n \n\n \n \n \n \n \n \n {{lapTimeModel.lapNbr}}\n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n
\n
\n
\n \n \n \n
\n Tid stämplar\n
\n
\n ID\n Tid\n Läsare\n Ant\n Status\n Varv#\n \n
\n
\n \n \n \n {{confirmedTimeReadModel.timeReadID}}\n \n \n {{confirmedTimeReadModel.time | date:'HH:mm:ss'}}\n \n \n {{confirmedTimeReadModel.readerId}}\n \n \n {{confirmedTimeReadModel.antennaId}}\n \n \n {{confirmedTimeReadModel.status}}\n \n \n {{confirmedTimeReadModel.ladIdx}}\n \n \n \n \n
\n \n \n
\n Mellantider\n
\n
\n Mellantid\n Tid\n ID1\n ID2\n \n
\n
\n \n \n \n {{displayLapName(intermediateTimeModel.lapID)}}\n \n \n {{convertToMiniTime(intermediateTimeModel.lapTime)}}\n \n \n {{intermediateTimeModel.id1}}\n \n \n {{intermediateTimeModel.id2}}\n \n \n \n \n
\n
\n
\n
\n
\n\n\n \n \n \n Beräkna poäng\n \n\n \n \n \n \n\n
\n \n #\n Namn\n Namn\n Status\n \n {{header.header}}\n \n\n \n Varv\n Tid\n Placering\n Poäng\n
\n
\n \n \n \n \n \n \n \n {{displayMember.startNbr}}\n \n \n {{displayMember.firstName + ' ' + displayMember.lastName}}\n \n \n {{displayMember.className}}\n \n \n circle\n \n \n
\n {{displayLapName(time.lapID)}} \n {{convertToMiniTime(time.lapTime)}} \n
\n \n \n \n {{displayMember.nbrLaps}}\n \n \n {{displayMember.totalTime}} \n \n \n {{displayMember.position}} \n \n \n {{displayMember.points}} \n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n\n
\n
\n
\n
\n","import { Injectable } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nimport { AuthenticationService } from '../auth/authentication.service';\r\nimport { IMember, IClub, IBikeBrand } from '../models/interfaceModels';\r\nimport { SignalRService } from './signal-r.service';\r\n//import { SignalRService } from './signal-r.service';\r\n\r\n \r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActiveuserService {\r\n\r\n\r\n public user: IMember = {\r\n svemoId: 0,\r\n firstName: 'Gäst',\r\n lastName: '',\r\n isActive: false,\r\n clubModel: {},\r\n clubModelId: 0,\r\n clubMembership : 'Okänd',\r\n bikeBrandModel: {id: 0, bikeBrand: '', pictureUrl: '', companyUrl: '',},\r\n bikeBrandModelId: 0,\r\n pictureUrl: '',\r\n picture: [],\r\n confirmedTimeReadModel: [],\r\n intermediateTimeModel: [],\r\n lapTimeModel: [],\r\n timeReadModel:[],\r\n // eventTimeReads: [],\r\n }\r\n\r\n //private messageSource = new BehaviorSubject(this.user)\r\n private messageSource = new BehaviorSubject(this.user)\r\n currentUser = this.messageSource.asObservable();\r\n\r\n constructor(private authService: AuthenticationService,\r\n private signalR: SignalRService,\r\n private sanitizer: DomSanitizer) { }\r\n\r\n //changeUser(user: User) {\r\n changeUser(user: IMember) {\r\n \r\n this.authService.getUserProfile(user).subscribe(\r\n (res: any) => {\r\n console.log('RETRIEVED USER')\r\n \r\n this.user = res;\r\n console.log('Changed user to: ', this.user.firstName)\r\n this.messageSource.next(this.user)\r\n if (this.signalR.isConnected) {\r\n this.signalR.sendIdentify({ connectionId: '', signalRInterest: '', userName: this.user.svemoId })\r\n }\r\n\r\n },\r\n err => {\r\n alert('Could not find user')\r\n this.user = {\r\n svemoId: 0,\r\n firstName: 'Gäst',\r\n lastName: '',\r\n isActive: false,\r\n clubModel: {},\r\n clubModelId: 0,\r\n clubMembership: 'Okänd',\r\n bikeBrandModel: { id: 0, bikeBrand: '', pictureUrl: '', picture: '', companyUrl: '', },\r\n bikeBrandModelId: 0,\r\n pictureUrl: '',\r\n picture: [],\r\n confirmedTimeReadModel: [],\r\n intermediateTimeModel: [],\r\n lapTimeModel: [],\r\n timeReadModel: [],\r\n }\r\n console.log('Changed user to: ', this.user.firstName)\r\n this.messageSource.next(this.user) \r\n if (this.signalR.isConnected) {\r\n this.signalR.sendIdentify({ connectionId: '', signalRInterest: '', userName: this.user.svemoId })\r\n }\r\n \r\n },\r\n )\r\n }\r\n\r\n activeAsGuest() {\r\n this.user = {\r\n svemoId: 0,\r\n firstName: 'Gäst',\r\n lastName: '',\r\n isActive: false,\r\n clubModel: {},\r\n clubModelId: 0,\r\n clubMembership: 'Okänd',\r\n bikeBrandModel: { id: 0, bikeBrand: '', pictureUrl: '', picture: '', companyUrl: '', },\r\n bikeBrandModelId: 0,\r\n pictureUrl: '',\r\n picture: [],\r\n confirmedTimeReadModel: [],\r\n intermediateTimeModel: [],\r\n lapTimeModel: [],\r\n timeReadModel: [],\r\n }\r\n if (this.signalR.isConnected) {\r\n this.signalR.sendIdentify({ connectionId: '', signalRInterest: '', userName: this.user.svemoId })\r\n }\r\n console.log('Changed user to: ', this.user.firstName)\r\n this.messageSource.next(this.user)\r\n }\r\n\r\n displayProfilePicture() {\r\n if (this.user.picture) {\r\n let objectURL = 'data:image/jpeg;base64,' + this.user.picture;\r\n var Url = this.sanitizer.bypassSecurityTrustUrl(objectURL);\r\n return Url;\r\n }\r\n else\r\n return '/assets/img/profile.png'\r\n }\r\n\r\n activeUserRole(): string {\r\n var checkToken = localStorage.getItem('token');\r\n if (checkToken) { \r\n var payLoad = JSON.parse(window.atob(checkToken.split('.')[1]));\r\n return payLoad.role;\r\n }\r\n else\r\n return \"Guest\"\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { AuthenticationService } from '../authentication.service';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.css']\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n\r\n constructor(private fb: FormBuilder,\r\n private authService: AuthenticationService,\r\n private activeUser: ActiveuserService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private config: ConfigService,\r\n private snackBar: MatSnackBar) { }\r\n\r\n userForgotPassword = this.fb.group({\r\n email:['',[Validators.email]]\r\n })\r\n\r\n ngOnInit(): void {\r\n }\r\n onResetPassword() {\r\n if (this.userForgotPassword.invalid) {\r\n this.snackBar.open('Kunde inte skicka länk', 'Du måste ange en korrekt email adress',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n this.userForgotPassword.markAllAsTouched();\r\n return;\r\n }\r\n \r\n this.authService.forgotPassword(this.userForgotPassword.value.email).subscribe(\r\n (res: any) => {\r\n console.log(res)\r\n }\r\n )\r\n }\r\n\r\n}\r\n","
\n \n \n \n Logga in:\n \n \n \n
\n\n
\n \n \n \n \n Måste ange korrekt email!\n \n \n
\n
\n
\n \n \n\n \n
\n\n
\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IBikeBrand, IClub, IMember, IupdateUrlMember } from '../../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../../services/activeuser.service';\r\nimport { DbService } from '../../../services/db.service';\r\n\r\nexport interface AddDialogData {\r\n\r\n}\r\n\r\n@Component({\r\n selector: 'app-add-member',\r\n templateUrl: './add-member.component.html',\r\n styleUrls: ['./add-member.component.css']\r\n})\r\nexport class AddMemberComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: AddDialogData,\r\n private fb: FormBuilder,\r\n private dbService: DbService,\r\n private activeUser: ActiveuserService, \r\n ) { }\r\n\r\n public member: IMember;\r\n public bikeBrands: IBikeBrand[] = this.dbService.allBikeBrands;\r\n public clubs: IClub[] = this.dbService.allClubs;\r\n\r\n public pictureUrl: File;\r\n\r\n public accept = '.jpg, .png'\r\n public multiple = false;\r\n\r\n private updateUrlMember: IupdateUrlMember;\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n addMemberForm = this.fb.group({\r\n svemoId: [, [Validators.required]],\r\n firstName: ['', [Validators.required]],\r\n lastName: ['', [Validators.required]],\r\n clubMembership: ['', [Validators.required]],\r\n bikeBrandModelId: [, [Validators.required]],\r\n clubModelId: [0, [Validators.required]],\r\n pictureUrl: [''],\r\n })\r\n\r\n onNoClick() {\r\n this.dialogRef.close();\r\n }\r\n\r\n async onAddClick() {\r\n if (this.addMemberForm.valid) {\r\n var picUrl = \"\";\r\n if (this.addMemberForm.value.pictureUrl) {\r\n this.updateUrlMember = { \r\n svemoId: this.addMemberForm.value.svemoId,\r\n PictureUrl: this.addMemberForm.value.pictureUrl.files[0]\r\n }\r\n picUrl = \"exists\";\r\n }\r\n else {\r\n picUrl = \"/assets/img/profile.png\"\r\n this.updateUrlMember = {\r\n svemoId: this.addMemberForm.value.svemoId,\r\n PictureUrl: null\r\n }\r\n }\r\n\r\n this.member = {\r\n svemoId: this.addMemberForm.value.svemoId,\r\n isActive: true,\r\n firstName: this.addMemberForm.value.firstName,\r\n lastName: this.addMemberForm.value.lastName,\r\n clubModel: null,\r\n clubModelId: +this.activeUser.user.clubModelId,\r\n clubMembership : this.addMemberForm.value.clubMembership,\r\n bikeBrandModel: null,\r\n bikeBrandModelId: +this.addMemberForm.value.bikeBrandModelId,\r\n pictureUrl: picUrl,\r\n picture: [],\r\n confirmedTimeReadModel: null,\r\n intermediateTimeModel: null,\r\n lapTimeModel: null,\r\n timeReadModel: null,\r\n }\r\n\r\n console.log(this.member)\r\n this.dbService.addMember(this.member, this.updateUrlMember)\r\n this.dialogRef.close();\r\n }\r\n else\r\n alert('Form is not valid')\r\n }\r\n}\r\n","\r\n

Lägg till medlem i databasen:

\r\n\r\n
\r\n
\r\n\r\n \r\n Svemo ID:\r\n \r\n \r\n Svemo ID måste anges\r\n \r\n \r\n\r\n \r\n Förnamn:\r\n \r\n \r\n Förnamn måste måste anges\r\n \r\n \r\n\r\n \r\n Efternamn:\r\n \r\n \r\n Efternamn måste måste anges\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n Välj tillverkare:\r\n \r\n {{bikeBrand.bikeBrand}}\r\n \r\n \r\n Du måste välja märke på motorcykel \r\n \r\n \r\n\r\n \r\n \r\n Klubb:\r\n \r\n \r\n Klubb namn måste anges\r\n \r\n \r\n\r\n\r\n \r\n \r\n folder_open\r\n Välj profilbild \r\n \r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { FileInput } from 'ngx-material-file-input';\r\nimport { MessageService } from 'primeng/api';\r\nimport { Table } from 'primeng/table';\r\nimport { ConfirmDialogComponent } from '../../../components/confirm-dialog/confirm-dialog.component';\r\nimport { AntennaTranslator, IAutoStart, IClub, ILap, IRFIDReader } from '../../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../../services/activeuser.service';\r\nimport { DataRoomService } from '../../../services/data-room.service';\r\nimport { DbService } from '../../../services/db.service';\r\nimport { AddLapComponent } from './Dialogs/add-lap/add-lap.component';\r\nimport { AddReaderComponent } from './Dialogs/add-reader/add-reader.component';\r\nimport { EditLapComponent } from './Dialogs/edit-lap/edit-lap.component';\r\n\r\n@Component({\r\n selector: 'app-club-info',\r\n templateUrl: './club-info.component.html',\r\n styleUrls: ['./club-info.component.scss']\r\n})\r\nexport class ClubInfoComponent implements OnInit {\r\n\r\n public accept = '.jpg, .png'\r\n public multiple = false;\r\n public clubs: IClub[] = this.dbService.allClubs;\r\n public broadCastClubs: any;\r\n\r\n public autoStarts: IAutoStart[] = [];\r\n\r\n public selectedPic: FileInput;\r\n\r\n public addingClub: boolean = false;\r\n //public activeuser: IMember;\r\n //tokenExists;\r\n //userRole;\r\n\r\n @ViewChild('dt') table: Table;\r\n @ViewChild('dtRFID') tableRFID: Table;\r\n @ViewChild('dtLap') tableLap: Table;\r\n\r\n constructor(private dbService: DbService,\r\n private router: Router,\r\n public dialog: MatDialog,\r\n //private sanitizer: DomSanitizer,\r\n public dataRoom: DataRoomService,\r\n public activeUserService:ActiveuserService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.broadCastClubs = this.dbService.broadCastClubs.subscribe(data => {\r\n this.clubs = data.filter(club => club.clubModelId > 0);\r\n }) \r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.broadCastClubs.unsubscribe();\r\n }\r\n\r\n updateClub(event:any, club: IClub) {\r\n club.autoStartActive = event.checked;\r\n this.onRowEditSave(club);\r\n }\r\n\r\n onAddClub() {\r\n //console.log(this.clubs)\r\n this.addingClub = true;\r\n var newClub: IClub = {\r\n clubModelId: 0,\r\n name: \"\",\r\n address: \"\",\r\n pictureUrl: \"\",\r\n picture: null,\r\n rfidReaders: [],\r\n laps: [],\r\n autoStartActive: false,\r\n }\r\n this.clubs.push(newClub)\r\n this.table.initRowEdit(newClub)\r\n }\r\n\r\n onDeleteClub(deleteClub: IClub) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: 'Ta bort klubb från databasen',\r\n message: 'Är du säker på att du vill ta bort ' + deleteClub.name + '?'\r\n }\r\n });\r\n confirmDialog.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.dbService.removeClub(deleteClub);\r\n }\r\n }) \r\n }\r\n onRowEditInit(club: any) {\r\n\r\n }\r\n onRowEditSave(club: IClub) {\r\n // START TO CLEAN UP club Object\r\n //console.log(club)\r\n this.addingClub = false;\r\n // console.log(this.selectedPic)\r\n var picFile: any;\r\n if (this.selectedPic) {\r\n if (this.selectedPic.files[0].name) {\r\n picFile = this.selectedPic.files[0];\r\n club.pictureUrl = 'exists';\r\n club.picture = null;\r\n }\r\n } \r\n else {\r\n picFile = null;\r\n club.pictureUrl = \"/assets/img/profile.png\"\r\n }\r\n if (club.clubModelId == 0)\r\n this.dbService.addClub(club, picFile);\r\n else\r\n this.dbService.updateClub(club, picFile)\r\n }\r\n onRowEditCancel(club: IClub, index: number) {\r\n if (this.addingClub)\r\n this.clubs.pop();\r\n }\r\n\r\n\r\n onAddReader(editClub: IClub) {\r\n\r\n var antennaTranslate: AntennaTranslator[] = [\r\n { rfiDantenna: +1, rfidReaderModelId: 0, id: 0, boxAntenna: +1 },\r\n { rfiDantenna: +2, rfidReaderModelId: 0, id: 0, boxAntenna: +1 },\r\n { rfiDantenna: +3, rfidReaderModelId: 0, id: 0, boxAntenna: +2 },\r\n { rfiDantenna: +4, rfidReaderModelId: 0, id: 0, boxAntenna: +2 }\r\n ]\r\n\r\n const dialogRef = this.dialog.open(AddReaderComponent, {\r\n position: { top: '1rem' },\r\n width: 'auto',\r\n maxHeight:'500px',\r\n //height: '500px',\r\n panelClass: 'custom-dialog-container',\r\n data: { editClub , antennaTranslate }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n console.log('The dialog was closed');\r\n });\r\n\r\n //this.clubs[this.clubs.findIndex(club => club.clubModelId == editClub.clubModelId)].rfidReaders.push(newReader)\r\n //this.tableRFID.initRowEdit(newReader)\r\n }\r\n onEditReader(editClub: IClub, editReader:IRFIDReader) {\r\n\r\n var antennaTranslate: AntennaTranslator[] = editReader.antennaTranslator;\r\n\r\n const dialogRef = this.dialog.open(AddReaderComponent, {\r\n width: 'auto',\r\n maxHeight: '500px',\r\n //height: '500px',\r\n panelClass: 'custom-dialog-container',\r\n data: { editClub, editReader: editReader , antennaTranslate }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n console.log('The dialog was closed');\r\n });\r\n\r\n //this.clubs[this.clubs.findIndex(club => club.clubModelId == editClub.clubModelId)].rfidReaders.push(newReader)\r\n //this.tableRFID.initRowEdit(newReader)\r\n }\r\n\r\n onRowEditInitRFID() {\r\n\r\n }\r\n onRowEditSaveRFID(rfidReader: IRFIDReader) {\r\n if (rfidReader.rfidReaderModelId == 0)\r\n this.dbService.addRFIDReader(rfidReader)\r\n else\r\n this.dbService.updateRFIDReader(rfidReader)\r\n }\r\n onRowEditCancelRFID(clubCancel: IClub) {\r\n this.dbService.getClubs();\r\n }\r\n onDeleteClubRFID(rfidReader: IRFIDReader) {\r\n this.dbService.removeRFIDReader(rfidReader)\r\n }\r\n\r\n\r\n onAddLap(editClub: IClub) {\r\n const dialogRef = this.dialog.open(AddLapComponent, {\r\n position: {top: '1rem'},\r\n width: 'auto',\r\n maxWidth: '90%',\r\n maxHeight: '60%',\r\n panelClass: 'custom-dialog-container',\r\n data: {editClub}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n console.log('The dialog was closed');\r\n });\r\n }\r\n\r\n updateLap(event: any, lap: ILap, club: IClub) {\r\n lap.autoStart = event.checked;\r\n this.dbService.updateLap(lap);\r\n }\r\n onRowEditInitLap(lap: ILap, editClub: IClub) {\r\n //const dialogRef = this.dialog.open(EditLapComponent, {\r\n // width: '80%',\r\n // height: '500px',\r\n // panelClass: 'custom-dialog-container',\r\n // data: { lap, club }\r\n //});\r\n //dialogRef.afterClosed().subscribe(result => {\r\n\r\n // console.log('The dialog was closed');\r\n //});\r\n const dialogRef = this.dialog.open(AddLapComponent, {\r\n position: { top: '1rem' },\r\n width: 'auto',\r\n maxWidth: '90%',\r\n maxHeight: '60%',\r\n panelClass: 'custom-dialog-container',\r\n data: { editClub, lap }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n console.log('The dialog was closed');\r\n });\r\n\r\n }\r\n\r\n onRowEditCancelLap() {\r\n\r\n }\r\n onDeleteLap(lap: ILap) {\r\n this.dbService.removeLap(lap.lapId)\r\n }\r\n}\r\n","\n \n \n
\n
\n
\n Klubbar\n
\n
\n \n
\n \n
\n
\n
\n\n \n \n \n \n Klubb \n AutoStart\n Adress \n Logga \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{club.name}}\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{club.address}}\n \n \n \n\n \n \n \n \n \n folder_open\n \n \n \n \n \n\n \n \n \n\n \n
\n \n \n \n \n
\n \n \n \n \n \n \n Klubb: \n \n \n \n \n \n \n \n {{club.name}}\n \n \n
\n \n \n
\n\n \n\n \n \n Adress: \n \n \n \n \n \n \n \n {{club.address}}\n \n \n \n \n \n Bild länk: \n \n \n \n \n folder_open\n \n \n \n \n \n \n \n\n \n\n \n \n AutoStart: \n \n \n \n\n \n \n \n\n \n\n \n\n
\n\n \n
\n \n \n
\n

Läsare:

\n
\n \n
\n
\n \n \n \n \n Namn \n \n \n \n \n \n \n \n \n \n \n \n \n {{rfidReaders.readerName}}\n \n \n \n \n
\n \n \n \n \n
\n \n \n
\n
\n
\n
\n\n\n \n \n
\n

Tillgängliga varv:

\n
\n \n
\n\n
\n \n \n \n \n Namn \n AutoStart\n Typ \n \n \n \n \n \n {{laps.lapName}}\n \n \n \n \n \n\n \n {{laps.type}}\n \n \n \n \n\n \n \n \n \n \n
\n
\n \n
\n
\n","import { Component } from '@angular/core';\r\nimport { AuthenticationService } from './auth/authentication.service';\r\nimport { ActiveuserService } from './services/activeuser.service';\r\nimport { DbService } from './services/db.service';\r\nimport { SignalRService } from './services/signal-r.service';\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 {\r\n title = 'TimeTracker';\r\n\r\n constructor(\r\n public authService: AuthenticationService,\r\n private activeUserService: ActiveuserService,\r\n private signalR: SignalRService,\r\n private dbService:DbService\r\n ) { }\r\n\r\n\r\n ngOnInit(): void {\r\n //Setting active user, if token exists uses existing if not set as guest!\r\n var checkToken = localStorage.getItem('token');\r\n if (checkToken) {\r\n var payLoad = JSON.parse(window.atob(checkToken.split('.')[1]));\r\n console.log('Token found setting user accordingly)')\r\n this.authService.getSvemoID(payLoad.UserId).subscribe(\r\n (res: any) => {\r\n this.activeUserService.changeUser(res)\r\n }\r\n )\r\n }\r\n else {\r\n console.log('Setting as Guest')\r\n this.activeUserService.activeAsGuest();\r\n }\r\n\r\n // Starta signaR connection to Server\r\n this.signalR.startConnection();\r\n this.dbService.getClubs();\r\n this.dbService.getMembers();\r\n this.dbService.getBikeBrands();\r\n this.dbService.getEvents();\r\n this.dbService.getSeries();\r\n this.dbService.getEventTypes();\r\n }\r\n}\r\n","\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, Inject, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IClub, ILap, ILapSetUp, IRFIDReader } from '../../../../../models/interfaceModels';\r\nimport { DbService } from '../../../../../services/db.service';\r\n\r\nexport interface AddLapData {\r\n editClub: IClub;\r\n lap: ILap;\r\n}\r\n\r\n@Component({\r\n selector: 'app-add-lap',\r\n templateUrl: './add-lap.component.html',\r\n styleUrls: ['./add-lap.component.css']\r\n})\r\nexport class AddLapComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: AddLapData,\r\n private fb: FormBuilder,\r\n private dbService: DbService) { }\r\n\r\n\r\n private broadCastRFID: any;\r\n\r\n public lap: ILap;\r\n addLapForm = this.fb.group({\r\n lapid: [0],\r\n lapName: [\"\", [Validators.required, Validators.minLength(4)]],\r\n type: [\"\", [Validators.required]],\r\n colorCode: [\"\"],\r\n club: [this.data.editClub.clubModelId],\r\n lapSetUps: this.fb.array([])\r\n })\r\n\r\n selectedLap: ILap;\r\n RFIDReaders: IRFIDReader[];\r\n\r\n ngOnInit(): void {\r\n this.broadCastRFID = this.dbService.getRFIDReadersByClub(this.data.editClub.clubModelId).subscribe(\r\n data => {\r\n this.RFIDReaders = data;\r\n })\r\n\r\n if (this.data.lap) {\r\n this.addLapForm.controls['lapid'].setValue(this.data.lap.lapId);\r\n this.addLapForm.controls['lapName'].setValue(this.data.lap.lapName);\r\n this.addLapForm.controls['type'].setValue(this.data.lap.type);\r\n this.addLapForm.controls['colorCode'].setValue(this.data.lap.colorCode);\r\n this.addLapForm.controls['club'].setValue(this.data.lap.clubModelId);\r\n this.data.lap.lapSetUps.forEach(data => {\r\n this.addExistsingTimePost(data);\r\n })\r\n }\r\n console.log(this.addLapForm.value)\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.broadCastRFID.unsubscribe();\r\n }\r\n\r\n addNewLapSetUpFormGroup(): FormGroup {\r\n return this.fb.group({\r\n id: [0, []],\r\n index: [0, [Validators.required]],\r\n name: ['', [Validators.required]],\r\n postName:[''],\r\n readerId: ['', [Validators.required]],\r\n antennaId: [0, [Validators.required]],\r\n lapModelLapId: [0],\r\n });\r\n }\r\n addExistingLapSetUpFormGroup(lapSetUp:ILapSetUp): FormGroup {\r\n return this.fb.group({\r\n id: [lapSetUp.id, []],\r\n index: [lapSetUp.index, [Validators.required]],\r\n name: [lapSetUp.name, [Validators.required]],\r\n postName: [lapSetUp.postName],\r\n readerId: [lapSetUp.readerId, [Validators.required]],\r\n antennaId: [lapSetUp.antennaId, [Validators.required]],\r\n lapModelLapId: [lapSetUp.lapModelLapId],\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n };\r\n\r\n onAddClick(): void {\r\n\r\n if (this.addLapForm.valid) {\r\n if (!this.data.lap) {\r\n this.lap = {\r\n lapId: this.addLapForm.value.lapId,\r\n lapName: this.addLapForm.value.lapName,\r\n type: this.addLapForm.value.type,\r\n colorCode: this.addLapForm.value.colorCode,\r\n clubModelId: this.data.editClub.clubModelId,\r\n lapSetUps: this.addLapForm.value.lapSetUps,\r\n autoStart:false,\r\n }\r\n\r\n //this.dbService.updateClub(this.data.club)\r\n this.dbService.addLap(this.lap);\r\n this.dialogRef.close();\r\n }\r\n else {\r\n this.lap = {\r\n lapId: this.data.lap.lapId,\r\n lapName: this.addLapForm.value.lapName,\r\n type: this.addLapForm.value.type,\r\n colorCode: this.addLapForm.value.colorCode,\r\n clubModelId: this.data.editClub.clubModelId,\r\n lapSetUps: this.addLapForm.value.lapSetUps,\r\n autoStart: this.data.lap.autoStart,\r\n }\r\n console.log('AGAIN')\r\n console.log(this.lap)\r\n this.dbService.updateLap(this.lap)\r\n this.dialogRef.close();\r\n }\r\n \r\n }\r\n else {\r\n alert('Form is not valid');\r\n }\r\n \r\n\r\n };\r\n\r\n get getLapSetUps() {\r\n return this.addLapForm.get('lapSetUps');\r\n };\r\n\r\n addTimePost(): void {\r\n (this.addLapForm.get('lapSetUps')).push(this.addNewLapSetUpFormGroup());\r\n }\r\n addExistsingTimePost(lapSetUp: ILapSetUp) {\r\n (this.addLapForm.get('lapSetUps')).push(this.addExistingLapSetUpFormGroup(lapSetUp));\r\n }\r\n\r\n onRemoveTimePost(removeIdx: number) {\r\n (this.addLapForm.get('lapSetUps')).removeAt(removeIdx);\r\n console.log(removeIdx);\r\n }\r\n\r\n onDebug() {\r\n console.log(this.addLapForm.value)\r\n }\r\n}\r\n","
\r\n
\r\n\r\n\r\n
\r\n

Skapa nytt varv på {{data.editClub.name}}

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

Varv info:

\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n Varv namn måste anges\r\n \r\n \r\n Varv namn måste ha minst 4 bokstäver\r\n \r\n \r\n\r\n \r\n Välj typ\r\n \r\n None\r\n Träning\r\n Tävling\r\n \r\n \r\n Varv typ måste anges\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n

Tid-stationer:

\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Välj position:\r\n \r\n None\r\n Start\r\n Mellantid\r\n Mål\r\n \r\n \r\n Position måste anges\r\n \r\n\r\n \r\n \r\n Välj läsare:\r\n \r\n None\r\n \r\n {{reader.readerName}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\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 { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n//import { NgxMatDatetimePickerModule, NgxMatNativeDateModule, NgxMatTimepickerModule} from '@angular-material-components/datetime-picker';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\n\r\n\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MaterialFileInputModule } from 'ngx-material-file-input';\r\n\r\nimport { Papa } from 'ngx-papaparse';\r\n\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { AuthenticationService } from './auth/authentication.service';\r\nimport { AuthInterceptor } from './auth/auth.interceptor';\r\n\r\nimport { TableModule } from 'primeng/table';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { LayoutComponent } from './layout/layout.component';\r\nimport { HeaderComponent } from './navigation/header/header.component';\r\nimport { SidenavListComponent } from './navigation/sidenav-list/sidenav-list.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { MaterialModule } from './material/material-module';\r\nimport { ActiveuserService } from './services/activeuser.service';\r\nimport { LoginComponent } from './auth/login/login.component';\r\nimport { RegisterComponent } from './auth/register/register.component';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { DbMembersComponent } from './pages/db-members/db-members.component';\r\nimport { AboutComponent } from './components/about/about.component';\r\nimport { ConfirmDialogComponent } from './components/confirm-dialog/confirm-dialog.component';\r\nimport { AddMemberComponent } from './pages/db-members/add-member/add-member.component';\r\nimport { MemberProfileComponent } from './pages/db-members/member-profile/member-profile.component';\r\nimport { DbInfoComponent } from './pages/db-info/db-info.component';\r\nimport { ClubInfoComponent } from './pages/db-info/club-info/club-info.component';\r\nimport { LapInfoComponent } from './pages/db-info/lap-info/lap-info.component';\r\nimport { McInfoComponent } from './pages/db-info/mc-info/mc-info.component';\r\nimport { SeriesInfoComponent } from './pages/db-info/series-info/series-info.component';\r\nimport { AddLapComponent } from './pages/db-info/club-info/Dialogs/add-lap/add-lap.component';\r\nimport { EditLapComponent } from './pages/db-info/club-info/Dialogs/edit-lap/edit-lap.component';\r\nimport { DbEventsComponent } from './pages/db-events/db-events.component';\r\nimport { EditEventComponent } from './pages/db-events/edit-event/edit-event.component';\r\nimport { AddEventComponent } from './pages/db-events/add-event/add-event.component';\r\nimport { RunTrainingComponent } from './pages/run-training/run-training.component';\r\nimport { RunCompetitionComponent } from './pages/run-competition/run-competition.component';\r\nimport { PrepareCompetitionComponent } from './pages/prepare-competition/prepare-competition.component';\r\nimport { LiveTrainingComponent } from './pages/live-training/live-training.component';\r\nimport { LiveCompetitionComponent } from './pages/live-competition/live-competition.component';\r\nimport { ResultsCompetitionComponent } from './pages/results-competition/results-competition.component';\r\nimport { ResultsTrainingComponent } from './pages/results-training/results-training.component';\r\nimport { ByTrainingComponent } from './pages/results-training/by-training/by-training.component';\r\nimport { ByMemberComponent } from './pages/results-training/by-member/by-member.component';\r\nimport { DummyComponent } from './components/dummy/dummy.component';\r\nimport { AddParticipantComponent } from './pages/prepare-competition/add-participant/add-participant.component';\r\nimport { ForgotPasswordComponent } from './auth/forgot-password/forgot-password.component';\r\nimport { ResetPasswordComponent } from './auth/reset-password/reset-password.component';\r\nimport { AddReaderComponent } from './pages/db-info/club-info/Dialogs/add-reader/add-reader.component';\r\nimport { InfoCardComponent } from './components/info-card/info-card.component';\r\nimport { MessageInputDialogComponent } from './components/message-input-dialog/message-input-dialog.component';\r\nimport { UnitStatusComponent } from './pages/unit-status/unit-status.component';\r\n\r\n\r\n\r\n\r\n \r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LayoutComponent,\r\n HeaderComponent,\r\n SidenavListComponent,\r\n HomeComponent,\r\n LoginComponent,\r\n RegisterComponent,\r\n DbMembersComponent,\r\n AboutComponent,\r\n ConfirmDialogComponent,\r\n AddMemberComponent,\r\n MemberProfileComponent,\r\n DbInfoComponent,\r\n ClubInfoComponent,\r\n LapInfoComponent,\r\n McInfoComponent,\r\n SeriesInfoComponent,\r\n AddLapComponent,\r\n EditLapComponent,\r\n DbEventsComponent,\r\n AddEventComponent,\r\n EditEventComponent,\r\n RunTrainingComponent,\r\n RunCompetitionComponent,\r\n PrepareCompetitionComponent,\r\n LiveTrainingComponent,\r\n LiveCompetitionComponent,\r\n ResultsCompetitionComponent,\r\n ResultsTrainingComponent,\r\n ByTrainingComponent,\r\n ByMemberComponent,\r\n DummyComponent,\r\n AddParticipantComponent,\r\n ForgotPasswordComponent,\r\n ResetPasswordComponent,\r\n AddReaderComponent,\r\n InfoCardComponent,\r\n MessageInputDialogComponent,\r\n UnitStatusComponent,\r\n ],\r\n imports: [\r\n FlexLayoutModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n MaterialModule,\r\n BrowserAnimationsModule,\r\n ToastrModule.forRoot(),\r\n MaterialFileInputModule,\r\n\r\n //NgxCsvParserModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n\r\n //NgxMatDatetimePickerModule,\r\n //NgxMatNativeDateModule,\r\n //NgxMatTimepickerModule,\r\n NgxMatSelectSearchModule,\r\n\r\n //PRIMENG MODULES\r\n TableModule,\r\n MultiSelectModule,\r\n InputTextModule,\r\n ButtonModule,\r\n HttpClientModule,\r\n ToastModule,\r\n DropdownModule,\r\n ],\r\n providers: [\r\n ActiveuserService,\r\n AuthenticationService, {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true,\r\n },\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../authentication.service';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ConfigService } from '../../services/config.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html',\r\n styleUrls: ['./register.component.css']\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n\r\n constructor(private fb: FormBuilder,\r\n private router: Router,\r\n private authService: AuthenticationService,\r\n private activeUser: ActiveuserService,\r\n private snackBar: MatSnackBar,\r\n private config: ConfigService\r\n ) { }\r\n\r\n loading = false;\r\n submitted = false;\r\n\r\n userLogin = this.fb.group({\r\n email: ['', [Validators.email, Validators.required]],\r\n username: ['', [Validators.required]],\r\n password: ['', [Validators.required]],\r\n })\r\n\r\n public acceptedUserTerms: boolean = false;\r\n\r\n hide = true;\r\n \r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n onSubmit() {\r\n this.submitted = true; \r\n // stop here if form is invalid\r\n if (this.acceptedUserTerms == false) {\r\n this.snackBar.open('Registreringen misslyckades: ', 'Du måste acceptera användar villkoren!',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n return;\r\n }\r\n\r\n if (this.userLogin.invalid) {\r\n this.snackBar.open('Registreringen misslyckades: ', 'Du måste ange Svemo ID, E-mail och lösenord och acceptera användarvillkoren',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.authService.register(this.userLogin.value).subscribe(\r\n (res: any) => {\r\n if (res.succeeded) {\r\n this.snackBar.open('Lyckad registrering: ', 'Välkommen till WMS tidtagningssystem',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarOk\"\r\n })\r\n this.authService.login(this.userLogin.value).subscribe(\r\n (res: any) => {\r\n localStorage.setItem('token', res.token);\r\n\r\n\r\n this.activeUser.changeUser(this.userLogin.value);\r\n this.userLogin.reset();\r\n this.router.navigateByUrl('/home');\r\n },\r\n err => {\r\n if (err.status == 400) {\r\n console.log(err);\r\n this.snackBar.open('Registreringen misslyckades: ', 'Det angivna Svemo ID finns inte med i databasen',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n }\r\n else {\r\n console.log(err);\r\n this.snackBar.open('Registreringen misslyckades: ', 'Det angivna Svemo ID finns inte med i databasen',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n }\r\n this.loading = false;\r\n })\r\n\r\n\r\n this.router.navigate(['/home']);\r\n\r\n } else {\r\n res.errors.forEach((element: { code: any; description: any; }) => {\r\n switch (element.code) {\r\n case 'DuplicateUserName':\r\n this.snackBar.open('Registreringen misslyckades: ', 'Finns redan en registrering med detta användarnamn',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n this.loading = false;\r\n break;\r\n case 'SvemoDoesNotExist':\r\n this.snackBar.open('Registreringen misslyckades: ', 'Detta Svemo ID finns inte registrerat som medlem',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n console.log('Detta Svemo ID finns inte registrerat som medlem', ' Registreringen misslyckades');\r\n this.loading = false;\r\n break;\r\n default:\r\n this.loading = false;\r\n this.snackBar.open('Registreringen misslyckades: ', 'Något gick fel',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n console.log(element.description)\r\n break;\r\n }\r\n })\r\n }\r\n },\r\n err => {\r\n this.snackBar.open('Registreringen misslyckades: ', 'Något gick fel',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n console.log(err.message)\r\n this.loading = false;\r\n },\r\n );\r\n }\r\n}\r\n","
\n \n \n \n Registrera ny användare:\n \n \n \n
\n \n\n\n\n\n
\n
\n
\n \n \n info_outline\n \n Svemo ID måste anges\n \n \n
\n
\n
\n \n \n info_outline\n \n E-mail måste anges\n \n \n Ingen giltig E-mail\n \n \n
\n
\n
\n \n \n {{hide ? 'visibility_off' : 'visibility'}}\n \n Lösenord måste anges\n \n \n
\n
\n
\n\n
\n

Villkor:

\n \n Den e-mail som du använder vid registrering kommer inte visas\n eller spridas till någon annan part. Den kommer endast användas i syfte att kunna återskapa\n ett nytt lösenord vid behov.\n \n
\n \n Om du vill att din data tas bort från systemet skickar du ett mail genom att klicka på kuvertet\n uppe till höger och skriver syfte och ditt ID-nummer!\n \n Acceptera användar villkoren\n
\n
\n
\n\n \n \n \n \n
\n\n
\n","import { Injectable, EventEmitter } from '@angular/core';\r\nimport { HttpClient, HttpEvent, HttpRequest, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, BehaviorSubject, ReplaySubject } from 'rxjs';\r\nimport { IMember, IClub, ILap, ILapSetUp, IBikeBrand, IRFIDReader, IEventType, IEvent, IPi, ITimeRead, ISerie, IClass, IMemberInCompetition, IStartType, IIntermediateTimeModel, IConfirmedTimeRead, IupdateUrlMember, IPoint, IEventMember, ILapTimeModel, ILapInEvent, } from '../models/interfaceModels'; //IEventLap\r\nimport { ConfigService } from './config.service';\r\n//import { IupdateUrlMember } from '../pages/dialogs/member-profile/member-profile.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DBMessage } from '../components/message-input-dialog/message-input-dialog.component';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DbService {\r\n\r\n constructor(private http: HttpClient,\r\n private config: ConfigService,\r\n private sanitizer: DomSanitizer,\r\n private snackBar: MatSnackBar) { }\r\n\r\n configUrl = this.config.configUrl;\r\n\r\n public allClubs: IClub[] | undefined;\r\n public allClubsPlus: IClub[] | undefined;\r\n public allBikeBrands: IBikeBrand[] | undefined;\r\n public allMembers: IMember[] = [];\r\n public allLaps: ILap[] = [];\r\n\r\n //USED IN NEW CLIENT\r\n changedMembers = new ReplaySubject();\r\n broadCastMembers = this.changedMembers.asObservable();\r\n changedMembersInEvent = new ReplaySubject();\r\n broadCastMemberInEvent = this.changedMembersInEvent.asObservable();\r\n\r\n //Retrieves all members in database including:\r\n // clubModel\r\n // bikeBrandModel\r\n getMembers() {\r\n \r\n this.http.get(this.configUrl + 'Member/').subscribe(\r\n (data: IMember[]) => {\r\n console.log('Retrieving all ' + data.length + ' membersfrom DB')\r\n //console.log(data)\r\n this.allMembers = data;\r\n this.changedMembers.next(data)\r\n }\r\n );\r\n }\r\n getMembersByEvent(eventId: number) {\r\n console.log('Retrieving members by EventId');\r\n return this.http.get(this.configUrl + 'Member/ByEvent/' + eventId)\r\n }\r\n updateMemberProfileUrl(file: IupdateUrlMember) { \r\n //Get original filetype\r\n var fileType = file.PictureUrl.name.split('.');\r\n var lastIdx = fileType.lastIndexOf;\r\n const formData = new FormData();\r\n formData.append('file', file.PictureUrl, file.svemoId.toString() + '.' + fileType[fileType.length-1])\r\n this.http.post(this.configUrl + 'Member/MemberUploadImage/', formData).subscribe(\r\n (data: boolean) => {\r\n if (data) \r\n this.getMembers(); \r\n else\r\n alert('could not update picture!')\r\n })\r\n }\r\n addMember(member: IMember, file: IupdateUrlMember) {\r\n this.http.post(this.configUrl + 'Member/', member).subscribe(\r\n (data: IMember) => {\r\n //this.changedMembers.next(data)\r\n if (member.pictureUrl == 'exists') {\r\n this.updateMemberProfileUrl(file);\r\n }\r\n else {\r\n this.getMembers();\r\n } \r\n });\r\n }\r\n getMembersByClub(clubModelId: number) {\r\n console.log('Retrieving members by ClubId');\r\n this.http.get(this.configUrl + 'Member/ByClub/' + clubModelId).subscribe(\r\n (data: IMember[]) => this.changedMembers.next(data)\r\n );\r\n }\r\n updateMember(member: IMember) {\r\n this.http.put(this.configUrl + 'Member/' + member.svemoId, member).subscribe(\r\n (data: IMember) => {\r\n //this.changedMembers.next(data)\r\n this.snackBar.open('Medlem uppdaterad!', member.firstName + ' ' + member.lastName + ' uppdaterades i databasen',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarOk\"\r\n })\r\n this.getMembers();\r\n });\r\n }\r\n removeMember(member: IMember) {\r\n this.http.delete(this.configUrl + 'Member/' + member.svemoId).subscribe(\r\n (data: IMember) => {\r\n //this.changedMembers.next(data)\r\n this.snackBar.open('Medlem borttagen!', member.firstName + ' ' + member.lastName + ' togs bort permanent från databasen!',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n this.getMembers();\r\n });\r\n }\r\n\r\n getProfilePic(svemoId: number): Observable {\r\n console.log('Retrieving picture of members by SvemoId');\r\n return this.http.get(this.configUrl + 'MemberDetails/' + svemoId)\r\n }\r\n\r\n // CLUB MOD\r\n private changedClubs = new ReplaySubject();\r\n broadCastClubs = this.changedClubs.asObservable();\r\n private changedClubsPlus = new ReplaySubject();\r\n broadCastClubsPlus = this.changedClubsPlus.asObservable();\r\n\r\n getClubs() {\r\n console.log('Retrieving Clubs from DB');\r\n this.http.get(this.configUrl + 'Club/').subscribe(\r\n (data: IClub[]) => {\r\n this.allClubs = data.filter(club => club.clubModelId > 0);\r\n this.allClubsPlus = data;\r\n this.changedClubs.next(this.allClubs)\r\n this.changedClubsPlus.next(this.allClubsPlus)\r\n });\r\n }\r\n updateClubPictureUrl(club:IClub, picFile:any) {\r\n //Get original filetype\r\n\r\n var fileType = picFile.name.split('.');\r\n var lastIdx = fileType.lastIndexOf;\r\n const formData = new FormData();\r\n formData.append('file', picFile, club.name + '.' + fileType[fileType.length - 1])\r\n\r\n this.http.post(this.configUrl + 'Club/ClubUploadImage/', formData).subscribe(\r\n (data: boolean) => {\r\n if (data)\r\n this.getClubs();\r\n else\r\n alert('could not update picture!')\r\n })\r\n }\r\n addClub(club: IClub, picFile : any) {\r\n this.http.post(this.configUrl + 'Club/', club).subscribe(\r\n (data: IClub[]) => {\r\n if (club.pictureUrl == 'exists') {\r\n this.updateClubPictureUrl(club, picFile)\r\n }\r\n else {\r\n this.changedClubs.next(data)\r\n } \r\n });\r\n\r\n }\r\n updateClub(club: IClub, picFile: any) {\r\n\r\n this.http.put(this.configUrl + 'Club/' + club.clubModelId, club).subscribe(\r\n (data: IClub[]) => { \r\n if (club.pictureUrl == 'exists') {\r\n this.updateClubPictureUrl(club, picFile)\r\n }\r\n else {\r\n this.changedClubs.next(data)\r\n }\r\n this.getClubs();\r\n });\r\n }\r\n removeClub(club: IClub) {\r\n this.http.delete(this.configUrl + 'Club/' + club.clubModelId).subscribe(\r\n (data: IClub[]) => this.changedClubs.next(data));\r\n }\r\n getClubById(clubID: number) {\r\n console.log('Retrieving club by clubId')\r\n return this.http.get(this.configUrl + 'Club/' + clubID);\r\n }\r\n private changedMessages = new ReplaySubject();\r\n broadCastMessages = this.changedMessages.asObservable();\r\n getMessagesByClub(clubId: number) {\r\n console.log(clubId)\r\n return this.http.get(this.configUrl + 'Message/' +clubId + '/4')\r\n }\r\n addMessage(message: DBMessage) {\r\n console.log(message)\r\n return this.http.post(this.configUrl + 'Message/', message)\r\n //.subscribe(\r\n //(data: DBMessage[]) => {\r\n\r\n //})\r\n }\r\n removeMessage(messageId: number) {\r\n return this.http.delete(this.configUrl + 'Message/' + messageId)\r\n //.subscribe(\r\n //(data: DBMessage[]) => {\r\n \r\n //})\r\n }\r\n\r\n // LAP MOD\r\n private changedLaps = new ReplaySubject();\r\n broadCastLaps = this.changedLaps.asObservable();\r\n getLaps(club: IClub) {\r\n console.log('Retrieving Laps at club by ClubId')\r\n this.http.get(this.configUrl + 'Lap/ByClub/' + club.clubModelId).subscribe(\r\n (data: ILap[]) => {\r\n this.changedLaps.next(data)\r\n this.allLaps = data;\r\n });\r\n }\r\n updateLap(lap: ILap) {\r\n this.http.put(this.configUrl + 'Lap/' + lap.lapId, lap).subscribe(\r\n (data: ILap[]) => {\r\n this.changedLaps.next(data)\r\n this.getClubs();\r\n });\r\n }\r\n removeLap(lapID: number) {\r\n this.http.delete(this.configUrl + 'Lap/' + lapID).subscribe(\r\n (data: ILap[]) => {\r\n this.changedLaps.next(data)\r\n this.getClubs();\r\n });\r\n }\r\n addLap(lap: ILap) {\r\n this.http.post(this.configUrl + 'Lap/', lap).subscribe(\r\n (data: ILap[]) => {\r\n this.changedLaps.next(data);\r\n this.getClubs();\r\n });\r\n }\r\n\r\n getAutoStarts(club: IClub) {\r\n console.log(\"Retrieving AutoStarts for club\")\r\n return this.http.get(this.configUrl + 'AutoStart/' + club.clubModelId)\r\n }\r\n\r\n\r\n // RFID MOD\r\n addRFIDReader(rfidReader: IRFIDReader) {\r\n this.http.post(this.configUrl + 'RFIDReader/', rfidReader).subscribe(\r\n (data: IRFIDReader) => {\r\n this.getClubs();\r\n })\r\n }\r\n updateRFIDReader(rfidReader: IRFIDReader) {\r\n console.log(rfidReader)\r\n this.http.put(this.configUrl + 'RFIDReader/' + rfidReader.rfidReaderModelId, rfidReader).subscribe(\r\n (data: IRFIDReader) => {\r\n this.getClubs();\r\n })\r\n }\r\n removeRFIDReader(rfidReader: IRFIDReader) {\r\n console.log(rfidReader)\r\n this.http.delete(this.configUrl + 'RFIDReader/' + rfidReader.rfidReaderModelId).subscribe(\r\n (data: IRFIDReader) => {\r\n alert(rfidReader.readerName + ' raderades från databasen');\r\n this.getClubs();\r\n });\r\n }\r\n getRFIDReadersByClub(clubModelId: number) {\r\n console.log('Retrieving RFID readers at club by clubId')\r\n return this.http.get(this.configUrl + 'RFIDReader/ByClub/' + clubModelId); \r\n }\r\n\r\n // BIKE BRAND MOD\r\n private changedBikeBrands = new ReplaySubject();\r\n broadCastBikeBrands = this.changedBikeBrands.asObservable();\r\n getBikeBrands() {\r\n console.log('Retrieving all bikebrands in DB')\r\n this.http.get(this.configUrl + 'BikeBrand/').subscribe(\r\n (data: IBikeBrand[]) => {\r\n this.allBikeBrands = data;\r\n this.changedBikeBrands.next(data)\r\n });\r\n }\r\n addBikeBrand(bikeBrand: IBikeBrand, picFile: any) {\r\n this.http.post(this.configUrl + 'BikeBrand/', bikeBrand).subscribe(\r\n (data: IBikeBrand[]) => {\r\n if (bikeBrand.pictureUrl = 'exists') {\r\n this.updateBikeBrandPicture(bikeBrand, picFile)\r\n }\r\n else this.getBikeBrands(); \r\n });\r\n };\r\n updateBikeBrandPicture(bikeBrand: IBikeBrand, picFile: any) {\r\n //Get original filetype\r\n var fileType = picFile.name.split('.');\r\n var lastIdx = fileType.lastIndexOf;\r\n const formData = new FormData();\r\n\r\n formData.append('file', picFile, bikeBrand.bikeBrand + '.' + fileType[fileType.length - 1])\r\n\r\n this.http.post(this.configUrl + 'BikeBrand/UploadImage/', formData).subscribe(\r\n (data: boolean) => {\r\n if (data)\r\n this.getBikeBrands();\r\n else\r\n alert('could not update picture!')\r\n })\r\n };\r\n updateBikeBrand(bikeBrand: IBikeBrand, picFile:any) {\r\n this.http.put(this.configUrl + 'BikeBrand/' + bikeBrand.id, bikeBrand).subscribe(\r\n (data: IBikeBrand) => {\r\n if (bikeBrand.pictureUrl == 'exists') {\r\n this.updateBikeBrandPicture(bikeBrand, picFile)\r\n }\r\n else\r\n this.getBikeBrands();\r\n })\r\n };\r\n removeBikeBrand(bikeBrand: IBikeBrand) {\r\n this.http.delete(this.configUrl + 'BikeBrand/' + bikeBrand.id).subscribe(\r\n (data: IBikeBrand) => {\r\n //this.snackbar.open(data.bikeBrand +' har tagits bort från tillverkare')\r\n alert(data.bikeBrand + ' har tagits bort från tillverkare')\r\n this.getBikeBrands();\r\n });\r\n }\r\n\r\n // SERIE\r\n private changedSeries = new ReplaySubject();\r\n broadCastSeries = this.changedSeries.asObservable();\r\n getSeries() {\r\n console.log('Retrieving all series in DB')\r\n this.http.get(this.configUrl + 'SeriesModels/').subscribe(\r\n (data: ISerie[]) => this.changedSeries.next(data)\r\n );\r\n }\r\n addSerie(serie: ISerie) {\r\n\r\n this.http.post(this.configUrl + 'SeriesModels/', serie).subscribe(\r\n (data: ISerie) => {\r\n //this.changedMembers.next(data)\r\n\r\n this.getSeries();\r\n });\r\n }\r\n updateSerie(serie: ISerie) {\r\n this.http.put(this.configUrl + 'SeriesModels/' + serie.id, serie).subscribe(\r\n (data: ISerie) => {\r\n //this.changedMembers.next(data)\r\n alert(serie.serieName + ' uppdaterades i databasen');\r\n this.getSeries();\r\n });\r\n }\r\n removeSerie(serie: ISerie) {\r\n this.http.delete(this.configUrl + 'SeriesModels/' + serie.id).subscribe(\r\n (data: ISerie) => {\r\n //this.changedMembers.next(data)\r\n alert(serie.serieName + ' raderades från databasen');\r\n this.getSeries();\r\n });\r\n }\r\n\r\n //EVENT\r\n private changedEventTypes = new ReplaySubject();\r\n broadCastEventTypes = this.changedEventTypes.asObservable();\r\n private changedEvents = new ReplaySubject(); //Here I took out a 1\r\n broadCastEvents = this.changedEvents.asObservable();\r\n getEventTypes() {\r\n console.log('Retrieving all EventTypes in DB')\r\n this.http.get(this.configUrl + 'EventType/').subscribe(\r\n (data: IEventType[]) => {\r\n this.changedEventTypes.next(data)\r\n });\r\n\r\n }\r\n getEvents() {\r\n console.log('Retrieving all Events in DB')\r\n this.http.get(this.configUrl + 'Event/').subscribe(\r\n (data: IEvent[]) => { \r\n this.changedEvents.next(data)\r\n });\r\n }\r\n getEventsByType(type: number) {\r\n console.log('Retrieving events by type')\r\n this.http.get(this.configUrl + 'Event/ByType/' + type).subscribe(\r\n (data: IEvent[]) => {\r\n this.changedEvents.next(data)\r\n });\r\n }\r\n getEventsByClub(clubModelId: number) {\r\n console.log('Retrieving events at club by clubId')\r\n if (clubModelId)\r\n this.http.get(this.configUrl + 'Event/ByClub/' + clubModelId).subscribe(\r\n (data: IEvent[]) => {\r\n this.changedEvents.next(data)\r\n });\r\n }\r\n addEvent(event: IEvent) {\r\n this.http.post(this.configUrl + 'Event/', event).subscribe(\r\n (data: any) => {\r\n this.getEvents();\r\n }\r\n )\r\n }\r\n getEventLaps(event: IEvent) {\r\n console.log('Retrieving laps in Event by IEvent')\r\n return this.http.post(this.configUrl + 'Event/GetEventLaps', event);\r\n }\r\n getEventBySerie(serieId: number) {\r\n console.log('Retrieves events in Serie')\r\n return this.http.get(this.configUrl + 'Event/BySerie/' +serieId)\r\n }\r\n removeEvent(event: IEvent) {\r\n this.http.delete(this.configUrl + 'Event/' + event.eventId).subscribe(\r\n (data: IEvent) => {\r\n //this.changedEvents.next(data)\r\n alert('Eventet har tagits bort från databasen');\r\n this.getEvents();\r\n });\r\n }\r\n updateEvent(eventUpdate: IEvent) {\r\n this.http.put(this.configUrl + 'Event/' + eventUpdate.eventId, eventUpdate).subscribe(\r\n (data: IEvent) => {\r\n alert(eventUpdate.eventName + ' uppdaterades i databasen');\r\n this.getEvents();\r\n });\r\n }\r\n updateLapsInEvent(lapsInEvent: ILapInEvent[]) {\r\n this.http.put(this.configUrl + 'LapInEvent/List/', lapsInEvent).subscribe(\r\n (data: any) => {\r\n //alert('Varven uppdaterades i databasen');\r\n this.getEvents();\r\n });\r\n }\r\n\r\n //AutoStart\r\n\r\n\r\n\r\n //RegisteredParticipants\r\n // Add is made via updateevent!!\r\n getRegisteredParticipantsInRace(eventId: number) {\r\n console.log('Retrieves allready registered participants in race');\r\n return this.http.get(this.configUrl + 'MemberInCompetitions/ByEvent/' +eventId);\r\n }\r\n\r\n //ClassModel\r\n //Adding via updateEvent\r\n getClassModelsByEvent(eventId: number) {\r\n console.log('Retireves allready defined classModels in race');\r\n return this.http.get(this.configUrl + 'Class/ByEvent/' + eventId);\r\n }\r\n\r\n //PI's\r\n private changedPis = new ReplaySubject();\r\n broadCastPis = this.changedPis.asObservable();\r\n getActivePis() {\r\n console.log('Retrieving all Active Pis from DB')\r\n this.http.get(this.configUrl + 'ActivePis/').subscribe(\r\n (data: IPi[]) => {\r\n this.changedPis.next(data)\r\n });\r\n }\r\n\r\n //Point Tables\r\n getPointTables() {\r\n console.log('Retrieving all Point Tables in DB');\r\n return this.http.get(this.configUrl + 'Point/');\r\n }\r\n getHeatPointTables() {\r\n console.log('Retrieving all HeatPoint Tables in DB');\r\n return this.http.get(this.configUrl + 'HeatPoint/');\r\n }\r\n \r\n //Start types\r\n getStartTypes() {\r\n console.log('Retrieving all Start Types in DB');\r\n return this.http.get(this.configUrl + 'StartType/')\r\n }\r\n\r\n //Action EVENTS\r\n startEvent(event: IEvent) {\r\n console.log('Sending start event to server!')\r\n return this.http.post(this.configUrl + 'Event/StartEvent', event).subscribe(\r\n (data: any) => {\r\n return data\r\n }\r\n )\r\n }\r\n startTagCheck(event: IEvent) {\r\n console.log('Sending start TagCheck to server!')\r\n return this.http.post(this.configUrl + 'Event/StartTagCheck', event).subscribe(\r\n (data: any) => {\r\n return data\r\n }\r\n )\r\n }\r\n pauseEvent(event: IEvent) {\r\n console.log('Sending pause event to server!')\r\n this.http.post(this.configUrl + 'Event/PauseEvent', event).subscribe(\r\n (data: any) => {\r\n return data\r\n }\r\n )\r\n this.http.post(this.configUrl + 'TimeRead/PauseHeat/' + event.eventId, null).subscribe(\r\n (data: any) => {\r\n return data\r\n }\r\n )\r\n }\r\n stopEvent(event: IEvent) {\r\n console.log('Sending stop event to server!')\r\n this.http.post(this.configUrl + 'Event/StopEvent', event).subscribe(\r\n (data: any) => {\r\n return data\r\n }\r\n )\r\n }\r\n stopTagCheck(event: IEvent) {\r\n console.log('Sending stop TagCheck to server!')\r\n this.http.post(this.configUrl + 'Event/StopTagCheck', event).subscribe(\r\n (data: any) => {\r\n return data\r\n }\r\n )\r\n }\r\n sendStartTime(timeRead: ITimeRead) {\r\n return this.http.post(this.configUrl + 'TimeRead/ButtonStart', timeRead).subscribe(\r\n (data: any) => {\r\n return data\r\n }\r\n )\r\n }\r\n //TimeReads\r\n\r\n // GET ALL MEMBERS AND TIMES IN EVENT\r\n private changedMembersTimesEvent = new ReplaySubject();\r\n broadCastMembersTimesEvent = this.changedMembersTimesEvent.asObservable();\r\n getMembersTimesEvent(event: IEvent) {\r\n console.log('Retrieving all Members AND times for members in Event by EventId')\r\n this.http.get(this.configUrl + 'Member/ByEvent/' + event.eventId).subscribe(\r\n (data: IMember[]) => {\r\n this.changedMembersTimesEvent.next(data)\r\n });\r\n }\r\n\r\n getMembersTimesEventDirect(event: IEvent) {\r\n console.log('Retrieving all Members AND times for members in Event by EventId')\r\n return this.http.get(this.configUrl + 'Member/ByEvent/' + event.eventId);\r\n }\r\n getMemberTimeReads(member: IMember) {\r\n return this.http.get(this.configUrl + 'TimeRead/' + member.svemoId)\r\n }\r\n\r\n //GET ALL INTERMEDIATES FOR ONE RACER IN ONE EVENT\r\n private changedIntermediateTimes = new ReplaySubject();\r\n broadCastIntermediateTimes = this.changedIntermediateTimes.asObservable();\r\n getMemberIntermediatesEvent(eventId: number, svemoId: number) {\r\n console.log('Retrieving all intermediate times for one member and event by eventId and svemoId')\r\n this.http.get\r\n (this.configUrl + 'IntermediateTime/ByEventSvemo/' + eventId + '/' + svemoId).subscribe(\r\n (data: IIntermediateTimeModel[]) => {\r\n this.changedIntermediateTimes.next(data);\r\n return data;\r\n });\r\n }\r\n\r\n //GET ALL LAP TIMES FOR ONE RACER IN ONE EVENT\r\n private changedLapTimes = new ReplaySubject();\r\n broadCastLapTimes = this.changedLapTimes.asObservable();\r\n getMemberLapTimesEvent(eventId: number, svemoId: number) {\r\n console.log('Retrieving all lap times for one member and event by eventId and svemoId')\r\n this.http.get\r\n (this.configUrl + 'LapTime/ByEventSvemo/' + eventId + '/' + svemoId).subscribe(\r\n (data: IIntermediateTimeModel[]) => {\r\n this.changedLapTimes.next(data);\r\n return data;\r\n });\r\n }\r\n\r\n //GET ALL CONFIRMED TIMEREADS FOR ONE RACER IN ONE EVENT\r\n private changedConfirmedTimeReads = new ReplaySubject();\r\n broadCastConfirmedTimeReads = this.changedConfirmedTimeReads.asObservable();\r\n getMemberConfirmedTimeReadsEvent(eventId: number, svemoId: number) {\r\n console.log('Retrieving all confirmed timereads for one member and event by eventId and svemoId')\r\n this.http.get\r\n (this.configUrl + 'ConfirmedTimeRead/ByEventSvemo/' + eventId + '/' + svemoId).subscribe(\r\n (data: IConfirmedTimeRead[]) => {\r\n this.changedConfirmedTimeReads.next(data);\r\n return data;\r\n });\r\n }\r\n\r\n\r\n\r\n //LAPTIMES\r\n getAllMemberLapTimes(member: IMember) {\r\n console.log('Retrieving all lap times for one member svemoId')\r\n return this.http.get (this.configUrl + 'LapTime/ByMember/' + member.svemoId)\r\n }\r\n updateLapTime(lapTime: ILapTimeModel) {\r\n console.log('Updating laptime')\r\n return this.http.put(this.configUrl + 'Laptime/' + lapTime.timeReadID, lapTime);\r\n }\r\n addLapTime(lapTime: ILapTimeModel) {\r\n console.log('Adding Lap to DB')\r\n return this.http.post(this.configUrl + 'Laptime/', lapTime);\r\n }\r\n removeLapTime(lapTime: ILapTimeModel) {\r\n console.log('Removing Lap from DB')\r\n return this.http.delete(this.configUrl + 'LapTime/'+ lapTime.timeReadID)\r\n }\r\n\r\n\r\n\r\n getMemberProfileUrl(svemoId: number) {\r\n\r\n }\r\n\r\n\r\n private changedLapSetUps = new BehaviorSubject([]);\r\n broadCastLapSetUps = this.changedLapSetUps.asObservable();\r\n\r\n private changedTimeReads = new ReplaySubject();\r\n broadCastTimeRead = this.changedTimeReads.asObservable();\r\n\r\n\r\n addMembersInCompetition(membersInCompetition: IMemberInCompetition[]) {\r\n this.http.post(this.configUrl + 'MemberInCompetitions/', membersInCompetition).subscribe(\r\n (data: any) => {\r\n alert('ParticipantsAddedToDB')\r\n return data\r\n }\r\n )\r\n }\r\n putMemberInCompetition(memberInCompetition: IMemberInCompetition) {\r\n this.http.put(this.configUrl + 'MemberInCompetitions/'+memberInCompetition.id, memberInCompetition).subscribe(\r\n (data: any) => {\r\n //alert('ParticipantUpdatedDB')\r\n //return data\r\n }\r\n )\r\n }\r\n\r\n getTimeReadsEvent(event: IEvent) {\r\n console.log('Retrieving all timereads for one event by eventId')\r\n this.http.get(this.configUrl + 'TimeRead/GetTimesEvent/' + event.eventId).subscribe(\r\n (data: ITimeRead[]) => {\r\n this.changedTimeReads.next(data)\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IClub, ILap, ILapSetUp, IRFIDReader } from '../../../../../models/interfaceModels';\r\nimport { DbService } from '../../../../../services/db.service';\r\n\r\nexport interface EditLapData {\r\n lap: ILap;\r\n club: IClub;\r\n}\r\n\r\n@Component({\r\n selector: 'app-edit-lap',\r\n templateUrl: './edit-lap.component.html',\r\n styleUrls: ['./edit-lap.component.css']\r\n})\r\n\r\nexport class EditLapComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: EditLapData,\r\n private fb: FormBuilder,\r\n private dbService: DbService) { }\r\n\r\n public RFIDReaders: IRFIDReader[];\r\n private broadCastRFID: any;\r\n\r\n updateLapForm = this.fb.group({\r\n id: [this.data.lap.lapId],\r\n lapName: [this.data.lap.lapName, [Validators.required, Validators.minLength(4)]],\r\n type: [this.data.lap.type, [Validators.required]],\r\n colorCode: [this.data.lap.colorCode],\r\n clubRefId: [this.data.lap.clubModelId],\r\n lapSetUps: this.fb.array([ ])\r\n })\r\n\r\n setupLapSetUps(lapSetUps: ILapSetUp): FormGroup {\r\n return this.fb.group({\r\n id: [lapSetUps.id, []],\r\n index: [lapSetUps.index, [Validators.required]],\r\n name: [lapSetUps.name, [Validators.required]],\r\n readerId: [lapSetUps.readerId, [Validators.required]],\r\n antennaId: [lapSetUps.antennaId, [Validators.required]],\r\n //lapRefId: [lapSetUps.lapRefId],\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.dbService.getRFIDReadersByClub(this.data.lap.clubModelId).subscribe(\r\n data => {\r\n this.RFIDReaders = data;\r\n })\r\n\r\n for (let i = 0; i < this.data.lap.lapSetUps.length; i++) {\r\n (this.updateLapForm.get('lapSetUps')).push(this.setupLapSetUps(this.data.lap.lapSetUps[i]));\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n\r\n\r\n addNewLapSetUpFormGroup(): FormGroup {\r\n return this.fb.group({\r\n lapid: [0, []],\r\n index: [0, [Validators.required]],\r\n name: ['', [Validators.required]],\r\n readerId: ['', [Validators.required]],\r\n antennaId: [0, [Validators.required]],\r\n lapRefId: [0],\r\n });\r\n }\r\n\r\n get getLapSetUps() {\r\n return this.updateLapForm.get('lapSetUps');\r\n };\r\n\r\n addTimePost(): void {\r\n (this.updateLapForm.get('lapSetUps')).push(this.addNewLapSetUpFormGroup());\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n };\r\n\r\n onAddClick(): void {\r\n\r\n if (this.updateLapForm.valid) {\r\n\r\n var editlap: ILap = {\r\n lapId: this.data.lap.lapId,\r\n lapName: this.updateLapForm.value.lapName,\r\n type: this.updateLapForm.value.type,\r\n colorCode: this.updateLapForm.value.colorCode,\r\n clubModelId: this.data.club.clubModelId,\r\n lapSetUps: this.updateLapForm.value.lapSetUps,\r\n autoStart: this.data.lap.autoStart \r\n }\r\n\r\n\r\n this.dbService.updateLap(editlap)\r\n\r\n this.dialogRef.close();\r\n }\r\n else\r\n alert('Form is not valid')\r\n\r\n };\r\n}\r\n","
\r\n
\r\n

Redigera varv på {{data.club.name}}

\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Varv info:
\r\n
\r\n
\r\n \r\n \r\n \r\n Varv namn måste anges\r\n \r\n \r\n Varv namn måste ha minst 4 bokstäver\r\n \r\n \r\n
\r\n
\r\n \r\n Välj typ\r\n \r\n None\r\n Träning\r\n Tävling\r\n \r\n \r\n Varv typ måste anges\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Tid-stationer:
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Välj position:\r\n \r\n None\r\n Start\r\n Mellantid\r\n Mål\r\n \r\n \r\n Varv typ måste anges\r\n \r\n\r\n \r\n \r\n Välj läsare:\r\n \r\n None\r\n \r\n {{reader.readerName}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\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 { Validators, FormBuilder } from '@angular/forms';\r\nimport { AuthenticationService } from '../authentication.service';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { IMember } from '../../models/interfaceModels';\r\nimport { ConfigService } from '../../services/config.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n activeuser: IMember | undefined;\r\n userRole: any;\r\n\r\n constructor(private fb: FormBuilder,\r\n private authService: AuthenticationService,\r\n private activeUser: ActiveuserService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private config: ConfigService,\r\n private snackBar: MatSnackBar\r\n ) { }\r\n\r\n\r\n userLogin = this.fb.group({\r\n username: ['', [Validators.required]],\r\n password: ['', [Validators.required]],\r\n })\r\n\r\n hide = true;\r\n\r\n loading = false;\r\n submitted = false;\r\n\r\n ngOnInit(): void {\r\n \r\n\r\n }\r\n\r\n onLogin() {\r\n this.submitted = true;\r\n // stop here if form is invalid\r\n if (this.userLogin.invalid) {\r\n this.snackBar.open('Kunde inte logga in', 'Du måste ange Svemo ID och lösenord',\r\n {\r\n duration: this.config.snackBarTiming ,\r\n panelClass:\"snackBarErr\"\r\n })\r\n this.userLogin.markAllAsTouched();\r\n return;\r\n }\r\n \r\n this.loading = true;\r\n this.authService.login(this.userLogin.value).subscribe(\r\n (res: any) => {\r\n localStorage.setItem('token', res.token);\r\n this.activeUser.changeUser(this.userLogin.value);\r\n this.snackBar.open('Lyckad inloggning', 'Välkommen till WMS tidtagningssystem',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarOk\"\r\n })\r\n this.router.navigateByUrl('/home');\r\n },\r\n err => {\r\n if (err.status == 400)\r\n this.snackBar.open('Kunde inte logga in', 'Fel användarnamn eller lösenord Identifieringen misslyckades',\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarErr\"\r\n })\r\n \r\n else {\r\n console.log(err);\r\n alert(err.message);\r\n }\r\n this.loading = false;\r\n }\r\n\r\n )\r\n }\r\n\r\n}\r\n","
\n \n \n \n Logga in:\n \n \n \n
\n
\n \n \n \n Svemo ID måste anges\n \n \n
\n
\n
\n \n \n {{hide ? 'visibility_off' : 'visibility'}}\n \n Lösenord måste anges\n \n \n
\n
\n
\n \n \n \n \n \n
\n\n
\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-results-training',\n templateUrl: './results-training.component.html',\n styleUrls: ['./results-training.component.css']\n})\nexport class ResultsTrainingComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\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 { IConfirmedTimeRead, IEvent, IIntermediateTimeModel, IMember } from '../../models/interfaceModels';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { DbService } from '../../services/db.service';\r\nimport { SignalRService } from '../../services/signal-r.service';\r\n\r\n@Component({\r\n selector: 'app-live-training',\r\n templateUrl: './live-training.component.html',\r\n styleUrls: ['./live-training.component.css']\r\n})\r\nexport class LiveTrainingComponent implements OnInit {\r\n\r\n constructor(private dbService: DbService,\r\n private signalR: SignalRService,\r\n public dataRoom:DataRoomService,) { }\r\n\r\n\r\n //Retrieved from DB\r\n // Will only show filtered events based on Träning and that hasStarted = 1\r\n public eventsInDB: IEvent[] = [];\r\n private broadCasteventsInDB: any;\r\n public selectedEvent: IEvent = null;\r\n\r\n public confirmedTimeReadsInEvent: IConfirmedTimeRead[] = [];\r\n // USED for Option 1\r\n private broadCastconfirmedTimeReadsInEvent: any;\r\n public LapTimesInEvent: IIntermediateTimeModel[] = [];\r\n\r\n private signalRBroadCast: any;\r\n\r\n\r\n //Filtered inside app\r\n public membersInEvent: IMember[] = [];\r\n private broadCastMembersInEvent: any;\r\n\r\n\r\n //Styling props\r\n public statusColors = [{ status: \"Start\", color: \"green\" }, { status: \"Mål\", color: \"black\" },\r\n { status: \"Mellantid\", color: \"green\" }, { status: \"Unknown\", color: \"red\" }]\r\n public maxLaps: number = 0;\r\n public headers: [{ header: string , field:string }];\r\n public nameColumns: [{ header: string, field: string }] = [{ header: 'Name', field:'firstName'}]\r\n\r\n ngOnInit(): void {\r\n //TODO | Make sure getEvents is called when event status changes at server side!\r\n this.broadCasteventsInDB = this.dbService.broadCastEvents.subscribe(data => {\r\n this.eventsInDB = data.filter(event => event.hasStarted == 1 && event.eventType.type == 'Träning');\r\n });\r\n\r\n }\r\n \r\n ngOnDestroy(): void {\r\n this.broadCasteventsInDB.unsubscribe();\r\n\r\n this.signalR.stoplistenForEventData();\r\n if (this.signalRBroadCast)\r\n this.signalRBroadCast.unsubscribe();\r\n }\r\n\r\n onSelectedEvent(event) {\r\n //MAKE SURE NO SIGNALR EXISTS THAT IS LISTENING TO EVENT DATA\r\n this.signalR.stoplistenForEventData();\r\n //Option 1\r\n this.dbService.getMembersTimesEventDirect(event.value).subscribe(data => {\r\n if (data) {\r\n //Create headers for all laps\r\n data.forEach(member => {\r\n // If this member has more laps then allready added to header add new headers\r\n if (member.lapTimeModel.length > this.maxLaps) {\r\n var addedLaps = member.lapTimeModel.length;\r\n while (this.maxLaps < member.lapTimeModel.length) {\r\n if (!this.headers)\r\n this.headers = [{ header: 'Lap ' + (this.maxLaps + 1), field: 'lapTimeModel'}];\r\n else\r\n this.headers.push({ header: 'Lap ' + (this.maxLaps + 1), field: 'lapTimeModel' });\r\n this.maxLaps++;\r\n }\r\n }\r\n })\r\n }\r\n this.membersInEvent = data;\r\n console.log('All member times are updated')\r\n console.log(this.membersInEvent); \r\n })\r\n \r\n \r\n this.signalRBroadCast = this.signalR.broadCastnewEventData.subscribe(eventData => {\r\n console.log('New data from event')\r\n //console.log(eventData);\r\n //console.log(this.membersInEvent)\r\n\r\n if (eventData.newMember) {\r\n if (!this.membersInEvent.find(member => member.svemoId == eventData.newMember.svemoId)) {\r\n console.log('Add new member')\r\n this.membersInEvent.push(this.dbService.allMembers.find(member => member.svemoId == eventData.newMember.svemoId))\r\n var newMember = this.membersInEvent.find(member => member.svemoId == eventData.newMember.svemoId);\r\n newMember.confirmedTimeReadModel = [];\r\n newMember.intermediateTimeModel = [];\r\n newMember.lapTimeModel = [];\r\n } \r\n }\r\n if (eventData.timeRead) {\r\n console.log('Add TimeRead: ' + eventData.timeRead.timeReadID)\r\n console.log(this.membersInEvent.find(member => member.svemoId == eventData.timeRead.svemoId))\r\n this.membersInEvent.find(member => member.svemoId == eventData.timeRead.svemoId)\r\n .confirmedTimeReadModel.push(eventData.timeRead)\r\n }\r\n\r\n if (eventData.intermediateTime) {\r\n console.log('Add intermediate: ' + eventData.intermediateTime.timeReadID)\r\n this.membersInEvent.find(member => member.svemoId == eventData.intermediateTime.svemoId)\r\n .intermediateTimeModel.push(eventData.intermediateTime)\r\n }\r\n if (eventData.lapTime) {\r\n this.membersInEvent.find(member => member.svemoId == eventData.lapTime.svemoId)\r\n .lapTimeModel.push(eventData.lapTime)\r\n console.log('Add laptime: ' + eventData.lapTime.timeReadID)\r\n }\r\n })\r\n\r\n this.signalR.listenForEventData(this.selectedEvent)\r\n }\r\n\r\n\r\n convertToMiniTime(timeString: string): string {\r\n \r\n if (timeString.charAt(8) == \".\") {\r\n var noMilliSec = timeString.split(\".\").slice(0.1);\r\n var noHour = noMilliSec[0].split(\":\");\r\n var hour = noHour[0];\r\n var minutes = noHour[1];\r\n var seconds = noHour[2];\r\n var milliSecond = noMilliSec[1].charAt(0);\r\n }\r\n else {\r\n //console.log(timeString)\r\n var splitTime = timeString.split(\":\").slice();\r\n var hour = splitTime[0];\r\n var minutes = splitTime[1];\r\n var seconds = splitTime[2];\r\n var milliSecond = splitTime[3].charAt(4)\r\n } \r\n return minutes + \":\" + seconds + \".\" + milliSecond;\r\n }\r\n\r\n getStatusColor(timeReads: IConfirmedTimeRead[]) {\r\n if (timeReads.length > 0) {\r\n var lastRead = timeReads[timeReads.length - 1].status;\r\n return this.statusColors.filter(item => item.status == lastRead)[0].color\r\n }\r\n else\r\n return 'pink'\r\n }\r\n\r\n displayLapName(LapId: number) {\r\n\r\n return this.selectedEvent.lapinEvent.find(lap => lap.lapId == LapId).lapModel.lapName\r\n //return 'bla'\r\n }\r\n\r\n bla() {\r\n console.log(this.membersInEvent[0].lapTimeModel)\r\n }\r\n\r\n onExpandMember(member: IMember) {\r\n console.log(member) \r\n }\r\n}\r\n\r\n//TODO | Expand member on live training to se timereads and intermediates!\r\n","
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n Träning Live!\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n Välj träning:\r\n \r\n \r\n {{event.eventDate}} - {{event.eventName}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n Namn\r\n \r\n \r\n \r\n {{col.header}}\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{member.firstName + ' ' + member.lastName}}\r\n \r\n \r\n two_wheeler\r\n \r\n \r\n {{displayLapName(time.lapID)}}\r\n {{convertToMiniTime(time.lapTime)}} \r\n \r\n \r\n \r\n \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, ViewChild } from '@angular/core';\r\nimport { Table } from 'primeng/table';\r\nimport { IClub, IEvent, IEventMember, IMember } from '../../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../../services/activeuser.service';\r\nimport { DataRoomService } from '../../../services/data-room.service';\r\nimport { DbService } from '../../../services/db.service';\r\n\r\n@Component({\r\n selector: 'app-by-training',\r\n templateUrl: './by-training.component.html',\r\n styleUrls: ['./by-training.component.css']\r\n})\r\nexport class ByTrainingComponent implements OnInit {\r\n\r\n @ViewChild('dt') table: Table;\r\n\r\n constructor(private dbService: DbService,\r\n public dataRoom: DataRoomService,\r\n private activeUserService: ActiveuserService) { }\r\n\r\n public eventsWithMembers: IEventMember[] = [];\r\n public events: IEvent[];\r\n public broadCastEvents: any;\r\n\r\n public clubs: IClub[];\r\n private broadCastClubs: any;\r\n public selectedClubs: IClub[] = [];\r\n\r\n private activeUser: IMember = this.activeUserService.user; \r\n\r\n maxLapsInEvent: { eventId: number, maxLaps: number }[] = [];\r\n\r\n \r\n\r\n ngOnInit(): void {\r\n \r\n this.broadCastEvents = this.dbService.broadCastEvents.subscribe(data => {\r\n this.eventsWithMembers = [];\r\n this.events = data;\r\n data.forEach(event => {\r\n this.eventsWithMembers.push(this.dataRoom.createEventMembers(event));\r\n })\r\n })\r\n this.broadCastClubs = this.dbService.broadCastClubs.subscribe(data => {\r\n this.clubs = data;\r\n this.selectedClubs.push(this.clubs.find(club => club.clubModelId == this.activeUser.clubModelId))\r\n }) \r\n }\r\n\r\n ngAfterViewInit() { \r\n this.onClubChange(this.selectedClubs)\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.broadCastEvents.unsubscribe();\r\n this.broadCastClubs.unsubscribe();\r\n }\r\n\r\n onClubChange(clubs:IClub[]) {\r\n var filterClubIds = [];\r\n clubs.forEach(data => filterClubIds.push(data.clubModelId))\r\n this.table.filter(filterClubIds, 'clubModelId', 'in')\r\n }\r\n\r\n expandCommand(event: IEventMember, expanded: boolean) {\r\n if (!expanded && event.members == null) {\r\n this.dbService.getMembersTimesEventDirect(event).subscribe(data => {\r\n console.log(data)\r\n if (data) {\r\n //Find max laps in Event\r\n var maxLaps = 0;\r\n data.forEach(member => {\r\n if (member.lapTimeModel.length > maxLaps)\r\n maxLaps = member.lapTimeModel.length;\r\n })\r\n\r\n }\r\n event.members = data;\r\n var newLapCount = { eventId: event.eventId, maxLaps: maxLaps }\r\n this.maxLapsInEvent.push(newLapCount);\r\n\r\n })\r\n }\r\n }\r\n\r\n expandMemberCommand(member: IMember, expanded: boolean) {\r\n console.log(member)\r\n }\r\n\r\n maxEventLaps(eventId: number) {\r\n if (this.maxLapsInEvent.find(data => data.eventId == eventId)) {\r\n return this.maxLapsInEvent.find(data => data.eventId == eventId).maxLaps\r\n }\r\n else\r\n return 0;\r\n }\r\n\r\n displayLapName(LapId: number, event:IEventMember) {\r\n return event.lapinEvent.find(lap => lap.lapId == LapId).lapModel.lapName\r\n }\r\n\r\n Bla() {\r\n console.log(this.selectedClubs)\r\n console.log(this.eventsWithMembers)\r\n }\r\n}\r\n","
\r\n \r\n Välj klubb:\r\n \r\n {{club.name}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Datum \r\n Plats \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{event.eventDate}}\r\n {{event.eventName}}\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{member.firstName + ' ' + member.lastName}}\r\n \r\n \r\n {{displayLapName(time.lapID, event)}}\r\n {{dataRoom.convertToMiniTime(time.lapTime)}} \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n

Tillgängliga tider:

\r\n
\r\n \r\n \r\n
\r\n Läsare\r\n Antenn\r\n Tidpunkt\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n {{timeReadModel.readerId}}\r\n \r\n \r\n {{timeReadModel.antennaId}}\r\n \r\n \r\n {{timeReadModel.time | date: 'HH:mm:ss'}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { take, takeUntil } from 'rxjs/operators';\r\nimport { IEvent, IMember, IMemberInCompetition } from '../../../models/interfaceModels';\r\nimport { DbService } from '../../../services/db.service';\r\n\r\n@Component({\r\n selector: 'app-add-participant',\r\n templateUrl: './add-participant.component.html',\r\n styleUrls: ['./add-participant.component.css']\r\n})\r\nexport class AddParticipantComponent implements OnInit {\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data,\r\n public dbService: DbService,\r\n private fb: FormBuilder,\r\n public dialogRef: MatDialogRef) { }\r\n\r\n protected members: IMember[] = this.dbService.allMembers;\r\n protected event: IEvent = this.data.event;\r\n\r\n public selectedMember: IMember;\r\n\r\n //public membersCtrl: FormControl = new FormControl();\r\n public membersFilterCtrl: FormControl = new FormControl();\r\n\r\n public filteredMembers: ReplaySubject = new ReplaySubject(1);\r\n\r\n public allClasses: string[] = this.uniqueClasses();\r\n //public selectedClass: string;\r\n public newClass: string;\r\n\r\n public startNbr: number;\r\n\r\n addParticipant = this.fb.group({\r\n member: [, [Validators.required]],\r\n startNbr: [, [Validators.required]],\r\n className: [, [Validators.required]],\r\n })\r\n\r\n protected _onDestroy = new Subject();\r\n\r\n @ViewChild('selectMember', { static: true }) singleSelect: MatSelect;\r\n\r\n ngOnInit(): void {\r\n //this.membersCtrl.setValue(this.members[0]);\r\n\r\n this.filteredMembers.next(this.members.slice());\r\n\r\n this.membersFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.filterMembers();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setInitialValue();\r\n }\r\n\r\n protected setInitialValue() {\r\n this.filteredMembers\r\n .pipe(take(1), takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n // setting the compareWith property to a comparison function\r\n // triggers initializing the selection according to the initial value of\r\n // the form control (i.e. _initializeSelection())\r\n // this needs to be done after the filteredBanks are loaded initially\r\n // and after the mat-option elements are available\r\n this.singleSelect.compareWith = (a: IMember, b: IMember) => a && b && a.svemoId === b.svemoId;\r\n });\r\n }\r\n\r\n protected filterMembers() {\r\n if (!this.members) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.membersFilterCtrl.value;\r\n if (!search) {\r\n this.filteredMembers.next(this.members.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter the banks\r\n this.filteredMembers.next(\r\n this.members.filter(member => member.firstName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n protected uniqueClasses() {\r\n var classes: string[] = []; \r\n this.data.participants.forEach(member => {\r\n var exists = classes.find(cla => cla == member.className)\r\n if (!exists) {\r\n classes.push(member.className)\r\n }\r\n })\r\n console.log(classes);\r\n return classes;\r\n }\r\n\r\n public addNewClass() {\r\n this.allClasses.push(this.newClass);\r\n var mem = this.addParticipant.value.member;\r\n var strNbr = this.addParticipant.value.startNbr;\r\n this.addParticipant.setValue({ member: mem, className: this.allClasses[this.allClasses.length - 1], startNbr: strNbr });\r\n }\r\n onNoClick() {\r\n this.dialogRef.close(null);\r\n }\r\n onAddClick() {\r\n if (this.addParticipant.valid) {\r\n var addParticipant: IMemberInCompetition = {\r\n id: 0,\r\n eventId: this.data.event.eventId,\r\n svemoId: this.addParticipant.value.member.svemoId,\r\n className: this.addParticipant.value.className,\r\n startNbr: this.addParticipant.value.startNbr,\r\n isChecked: false,\r\n isPresent: false,\r\n isFinished: false,\r\n totalTime: '00:00:00.000000',\r\n position: 0,\r\n points: 0,\r\n }\r\n this.dialogRef.close(addParticipant);\r\n }\r\n else\r\n alert('Du har inte fyllt i formuläret korrekt')\r\n }\r\n\r\n bla() {\r\n //console.log(this.membersCtrl.value)\r\n //console.log(this.allClasses)\r\n //console.log(this.data.participants)\r\n console.log(this.addParticipant)\r\n }\r\n}\r\n","
\n
\n

Välj medlem:

\n
\n\n
\n \n\n \n \n \n \n \n \n {{member.svemoId}} {{member.firstName}} {{member.lastName}}\n \n \n \n\n\n \n Start nummer:\n \n \n \n\n \n \n \n Annan klass\n \n\n \n {{class}}\n \n \n \n\n \n Klass namn:\n \n \n \n \n
\n \n \n
\n\n\n
\n\n \n\n\n
\n\n","import { Injectable, EventEmitter } from '@angular/core';\r\n\r\nimport * as signalR from \"@aspnet/signalr\";\r\n\r\nimport { ConfigService } from './config.service';\r\nimport { BehaviorSubject, ReplaySubject } from 'rxjs';\r\n\r\n\r\nimport { ActiveuserService } from './activeuser.service';\r\nimport { IClient, IPi, IEvent, IRFIDReader, ITimeRead, ISendTime, IIntermediateTimeModel, IMemberInCompetition } from '../models/interfaceModels';\r\nimport { DbService } from './db.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SignalRService {\r\n\r\n constructor(private config: ConfigService, private dbService: DbService, ) { }\r\n\r\n public isConnected = false;\r\n //public client: IClient = { connectionId: '', signalRInterest : '', userName : '' }\r\n public configUrl: string = this.config.configUrlSignalR;\r\n\r\n\r\n private hubConnection!: signalR.HubConnection;\r\n\r\n private changedClients = new BehaviorSubject([]);\r\n broadCastClients = this.changedClients.asObservable();\r\n\r\n\r\n // CHANGE IN PI\r\n private changedPis = new ReplaySubject();\r\n broadCastPis = this.changedPis.asObservable();\r\n // Listens for connected readers\r\n public changedPiConnectionList() {\r\n this.hubConnection.on('changedPiConnections', (piList: IPi[]) => {\r\n console.log('New Pis added from SignalR')\r\n console.log(piList)\r\n piList.forEach(pi => {\r\n pi.availableReaders.forEach(reader => {\r\n console.log(reader.readerName + ' active: ' + reader.isListening + ' at ' + pi.clubName)\r\n })\r\n \r\n })\r\n this.changedPis.next(piList);\r\n });\r\n }\r\n\r\n private changedEvents = new ReplaySubject(1);\r\n broadCastEvents = this.changedEvents.asObservable();\r\n\r\n public startConnection = () => {\r\n\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(this.configUrl)\r\n .build();\r\n this.hubConnection\r\n .start()\r\n .then(() => {\r\n this.isConnected = true;\r\n console.log('Connection started');\r\n })\r\n .catch(err => console.log('Error while starting connection: ' + err))\r\n }\r\n\r\n\r\n //Identifiera användare mot servern\r\n public sendIdentify(client: IClient) {\r\n this.hubConnection.invoke('IdentifyConnectionClient', client);\r\n }\r\n\r\n // Asks for connected readers\r\n public getPiConnectionList() {\r\n this.hubConnection.invoke('sendPiListToClient', (piList: IPi[]) => {\r\n this.changedPis.next(piList);\r\n });\r\n }\r\n\r\n public startEvent(event: IEvent) {\r\n this.hubConnection.invoke('StartEvent', event);\r\n }\r\n public startReaders(readers: IRFIDReader[]) {\r\n console.log(readers)\r\n this.hubConnection.invoke('startReaders', readers);\r\n }\r\n\r\n public getEventList(): void {\r\n this.hubConnection.on('updateEventList', () => {\r\n this.dbService.getEvents();\r\n })\r\n }\r\n\r\n //Gets all connected Clients\r\n public getClientConnectionList() : void {\r\n this.hubConnection.on('changedClientConnections', (clients: IClient[]) => {\r\n this.changedClients.next(clients);\r\n })\r\n }\r\n\r\n\r\n\r\n //Listen for updates in timereads\r\n public changedTimeReads(event: IEvent): void { \r\n this.hubConnection.on('changedTimeReads', (timeReads: any) => {\r\n console.log(timeReads)\r\n //this.dbService.getTimeReadsEvent(event);\r\n })\r\n }\r\n public changedConfirmedTimeReads(event: IEvent): void {\r\n \r\n this.hubConnection.on('changedConfirmedTimeReads', (timeReads: any) => {\r\n console.log(timeReads)\r\n //this.dbService.getMembersTimesEvent(event);\r\n })\r\n }\r\n\r\n\r\n // NEW SignalR\r\n // keeps track of active event\r\n public activeEvent: IEvent | undefined;\r\n\r\n\r\n //Broadcasts new event data\r\n private newEventData = new ReplaySubject();\r\n broadCastnewEventData = this.newEventData.asObservable();\r\n public listenForEventData(event: IEvent): void {\r\n console.log(\"Starting signalR service -- listenForEventData --\")\r\n\r\n this.hubConnection.on('newEventData', (eventData: ISendTime) => {\r\n if (event.eventId == eventData.timeRead.eventId || event.eventId == eventData.newMember.eventId) {\r\n console.log(\"Data recieved from signalR -- listenForEventData\")\r\n console.log(eventData)\r\n if (eventData.intermediateTime) {\r\n var test = this.stringifyTimes(eventData.intermediateTime)\r\n eventData.intermediateTime.lapTime = test;\r\n }\r\n if (eventData.lapTime) {\r\n var test = this.stringifyTimes(eventData.lapTime)\r\n eventData.lapTime.lapTime = test;\r\n }\r\n this.newEventData.next(eventData);\r\n }\r\n })\r\n }\r\n public stoplistenForEventData(): void {\r\n console.log(\"Quiting signalR service -- listenForEventData --\")\r\n this.hubConnection.off('newEventData');\r\n }\r\n\r\n //BroadCastTagCheck\r\n private newEventCheckData = new ReplaySubject();\r\n broadCastnewEventCheckData = this.newEventCheckData.asObservable();\r\n public listenForNewEventCheckData(event: IEvent): void {\r\n console.log(\"Starting signalR service -- listenFor newEventCheckData --\")\r\n this.hubConnection.on('newEventCheckData', (eventData: any) => {\r\n console.log(eventData)\r\n if (event.eventId == eventData.eventId) {\r\n console.log(\"Data recieved from signalR -- listenFor newEventCheckData\")\r\n this.newEventCheckData.next(eventData);\r\n }\r\n })\r\n }\r\n public stoplistenForNewEventCheckData(): void {\r\n console.log(\"Quiting signalR service -- listenForEventData --\")\r\n this.hubConnection.off('newEventCheckData');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n public stringifyTimes(timeRecord: any): any {\r\n\r\n var Hour = ('00000' + timeRecord.lapTime.hours).slice(-2);\r\n var Minute = ('00000' + timeRecord.lapTime.minutes).slice(-2);\r\n var Second = ('00000' + timeRecord.lapTime.seconds).slice(-2);\r\n var Millisecond = ('0000000' + timeRecord.lapTime.milliseconds).slice(-7);\r\n \r\n return Hour+':' + Minute + ':' + Second +':' + Millisecond\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmDialogComponent } from '../../components/confirm-dialog/confirm-dialog.component';\r\nimport { IEvent } from '../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { DbService } from '../../services/db.service';\r\nimport { AddEventComponent } from './add-event/add-event.component';\r\nimport { EditEventComponent } from './edit-event/edit-event.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-db-events',\r\n templateUrl: './db-events.component.html',\r\n styleUrls: ['./db-events.component.css']\r\n})\r\nexport class DbEventsComponent implements OnInit {\r\n\r\n public events: IEvent[] = [];\r\n public broadCastEvents: any;\r\n\r\n constructor(private dbService: DbService,\r\n public activeUserService: ActiveuserService,\r\n private dialog: MatDialog,\r\n public dataRoom: DataRoomService,) { }\r\n\r\n ngOnInit(): void {\r\n this.broadCastEvents = this.dbService.broadCastEvents.subscribe(\r\n data => {\r\n this.events = data\r\n })\r\n \r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.broadCastEvents.unsubscribe();\r\n }\r\n\r\n onAddEvent() {\r\n var editEvent = null;\r\n const dialogRef = this.dialog.open(AddEventComponent, {\r\n \r\n position: { top: '1rem' },\r\n width: 'auto',\r\n maxHeight:'60%',\r\n panelClass: 'custom-dialog-container',\r\n data: { editEvent },\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log('The dialog was closed');\r\n });\r\n }\r\n onEditEvent(editEvent: IEvent) {\r\n \r\n const dialogRef = this.dialog.open(AddEventComponent, {\r\n panelClass: 'custom-dialog-container',\r\n data: { editEvent },\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log('The dialog was closed');\r\n });\r\n }\r\n onDeleteEvent(events: IEvent) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: events.eventName,\r\n message: 'Är du säker på att du vill ta bort detta event från datbasen?'\r\n }\r\n });\r\n confirmDialog.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.dbService.removeEvent(events);\r\n }\r\n })\r\n }\r\n\r\n\r\n}\r\n","\n \n\n \n
\n
\n
\n Events\n
\n
\n\n
\n \n
\n
\n
\n\n \n \n\n Datum \n Namn \n Klubb \n Event \n Typ \n Ändra/Radera \n \n \n\n \n \n \n \n {{events.eventDate}}\n \n \n {{events.eventName}}\n \n \n \n {{dataRoom.showClubName(events.clubModelId)}}\n \n \n {{events.eventType.type}}\n \n \n {{events.eventType.case}}\n \n \n
\n \n \n
\n \n \n \n \n \n Namn: \n {{events.eventName}}\n
\n \n \n
\n \n \n Datum: \n {{events.eventDate}}\n \n \n Klubb: \n {{dataRoom.showClubName(events.clubModelId)}}\n \n\n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatListModule } from '@angular/material/list';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\n \n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n MatSidenavModule,\n MatToolbarModule,\n MatButtonModule,\n MatIconModule,\n MatListModule,\n MatCardModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatDialogModule,\n MatMenuModule,\n MatTabsModule,\n MatCheckboxModule,\n MatTooltipModule,\n MatSnackBarModule,\n \n ],\n exports: [\n MatSidenavModule,\n MatToolbarModule,\n MatButtonModule,\n MatIconModule,\n MatListModule,\n MatCardModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatDialogModule,\n MatMenuModule,\n MatTabsModule,\n MatCheckboxModule,\n MatTooltipModule,\n MatSnackBarModule\n ],\n})\nexport class MaterialModule { }\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { DbService } from '../../services/db.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-info-card',\r\n templateUrl: './info-card.component.html',\r\n styleUrls: ['./info-card.component.css']\r\n})\r\n\r\n\r\n\r\nexport class InfoCardComponent implements OnInit {\r\n\r\n @Input() messageString: string;\r\n @Input() clubModelId;\r\n @Input() date;\r\n @Input() svemoId;\r\n @Input() messageId;\r\n\r\n\r\n @Output() onDelete = new EventEmitter();\r\n\r\n public picture: any;\r\n\r\n constructor(public dataRoom: DataRoomService,\r\n public activeUserService: ActiveuserService,) { }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n onDeleteMessage(messageId: number) {\r\n // console.log(messageId)\r\n // this.dbService.removeMessage(messageId)\r\n this.onDelete.emit(messageId);\r\n }\r\n}\r\n","
\n
\n
\n \n \n \n {{date | date}}\n {{this.dataRoom.showMemberName(svemoId)}}\n
\n\n
\n
\n

Meddelande:

\n \n
\n \n {{messageString}}\n
\n
\n\n\n
\n","import { Component, OnInit } from '@angular/core';\r\nimport { getType } from '@angular/flex-layout/extended/typings/style/style-transforms';\r\nimport { IClub, IConfirmedTimeRead, IEvent, IIntermediateTimeModel, IMember, ISerie, IStartType } from '../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { DbService } from '../../services/db.service';\r\nimport { SignalRService } from '../../services/signal-r.service';\r\n\r\n@Component({\r\n selector: 'app-dummy',\r\n templateUrl: './dummy.component.html',\r\n styleUrls: ['./dummy.component.css']\r\n})\r\nexport class DummyComponent implements OnInit {\r\n\r\n constructor(private dbService: DbService,\r\n public dataRoom: DataRoomService,\r\n private signalR: SignalRService,\r\n private activeUserService: ActiveuserService,) { }\r\n\r\n public series: ISerie[] = []\r\n private broadCastSeries: any;\r\n\r\n public time = new Date();\r\n\r\n public clubs: IClub[];\r\n private broadCastClubs: any;\r\n public selectedClub: IClub;\r\n public allEvents: IEvent[] = [];\r\n public selectedEvent: IEvent;\r\n private broadCastallEvents: any;\r\n private startTypes: IStartType[] = [];\r\n\r\n public members: IMember[] = [];\r\n public lTimes: IIntermediateTimeModel[] = [];\r\n\r\n ngOnInit(): void {\r\n \r\n this.broadCastSeries = this.dbService.broadCastSeries.subscribe(data => {\r\n this.series = data;\r\n })\r\n this.broadCastClubs = this.dbService.broadCastClubs.subscribe(data => {\r\n this.clubs = data;\r\n }) \r\n this.broadCastallEvents = this.dbService.broadCastEvents.subscribe(data => {\r\n this.allEvents = data;\r\n if (this.selectedClub) {\r\n this.allEvents = data.filter(event => event.clubModelId && event.eventType.type == 'Tävling' && event.hasStarted < 3)\r\n if (this.selectedEvent) {\r\n this.selectedEvent.hasStarted = this.allEvents.find(data => data.eventId == this.selectedEvent.eventId).hasStarted;\r\n }\r\n }\r\n this.dbService.getMembersTimesEventDirect(this.allEvents[0]).subscribe(data => {\r\n if (data) {\r\n //Create headers for all laps\r\n console.log(data)\r\n this.members = data;\r\n\r\n }\r\n })\r\n })\r\n this.dbService.getStartTypes().subscribe(data => this.startTypes = data);\r\n\r\n\r\n this.signalR.getEventList();\r\n this.signalR.changedPiConnectionList();\r\n }\r\n ngOnDestroy(): void {\r\n this.broadCastClubs.unsubscribe();\r\n this.broadCastSeries.unsubscribe();\r\n\r\n //SIGNALR SERVICES\r\n this.signalR.stoplistenForEventData();\r\n }\r\n\r\n\r\n public time2: Date = new Date();\r\n\r\n toConsole() {\r\n this.time2 = new Date();\r\n\r\n }\r\n\r\n showTimeFromDate(): Date { \r\n return this.time2;\r\n }\r\n}\r\n","

dummy works!

\n
0\">\n\n\n\n\n
\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigService {\r\n\r\n constructor() { }\r\n\r\n/* public resetUrl: string = 'http://localhost:4200/#/auth/resetPassword'*/\r\n public resetUrl: string = 'https://www.tracktime.se/#/auth/resetPassword'\r\n\r\n/* public configUrl: string = 'http://localhost:65362/api/';*/\r\n public configUrl: string = 'https://apinew.wmstime.se/api/';\r\n\r\n/* public configUrlSignalR: string = 'http://localhost:65362/signalRClient';*/\r\n public configUrlSignalR: string = 'https://apinew.wmstime.se/signalRClient';\r\n\r\n\r\n public snackBarTiming: number = 3000;\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-db-info',\n templateUrl: './db-info.component.html',\n styleUrls: ['./db-info.component.css']\n})\nexport class DbInfoComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\r\n \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, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\n//import { NgxCsvParser, NgxCSVParserError } from 'ngx-csv-parser';\r\n\r\nimport { IClass, IEvent, IEventType, IMember, IMemberInCompetition, IPoint, ISerie, IStartType } from '../../models/interfaceModels';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { DbService } from '../../services/db.service';\r\nimport { Papa } from 'ngx-papaparse';\r\nimport { AddParticipantComponent } from './add-participant/add-participant.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Table } from 'primeng/table';\r\n\r\n@Component({\r\n selector: 'app-prepare-competition',\r\n templateUrl: './prepare-competition.component.html',\r\n styleUrls: ['./prepare-competition.component.css']\r\n})\r\n\r\nexport class PrepareCompetitionComponent implements OnInit {\r\n\r\n\r\n @ViewChild('dt') table: Table;\r\n //public grid: GridComponent;\r\n //@ViewChild('participantGridNotRegistered')\r\n //public notRegisteredgrid: GridComponent;\r\n\r\n //public registeredparticipants: IMember[];\r\n public registeredparticipantsInCompetition: IMemberInCompetition[] = [];\r\n public notregisteredparticipants: IMember[] = [];\r\n\r\n public events: IEvent[] = [];\r\n private broadCastEvents: any;\r\n public selectedEvent: IEvent;\r\n\r\n public series: ISerie[] = [];\r\n private broadCastSeries: any;\r\n public selectedSerie: ISerie;\r\n\r\n public availableClasses: IClass[] = [];\r\n\r\n public members: IMember[] = [];\r\n private broadCastMembers: any;\r\n\r\n public pointTables: IPoint[] = [];\r\n public selectedPointTable: IPoint;\r\n\r\n public heatPointTables: IPoint[] = [];\r\n public selectedHeatPointTable: IPoint;\r\n public ignoreFirstStartPost: Boolean = false;\r\n\r\n public startTypes: IStartType[] = [];\r\n public selectedStartType: IStartType;\r\n\r\n public eventTypes: IEventType[] = [];\r\n private broadCastEventTypes: any;\r\n\r\n private addNewParameters: boolean = true;\r\n\r\n constructor(private dbService: DbService,\r\n private fb: FormBuilder,\r\n public dataRoom: DataRoomService,\r\n private papa: Papa,\r\n public dialog: MatDialog,\r\n //private csvParser:NgxCsvParser,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.broadCastEvents = this.dbService.broadCastEvents.subscribe(data => {\r\n this.events = data.filter(data => data.eventType.type == \"Tävling\");\r\n });\r\n this.broadCastSeries = this.dbService.broadCastSeries.subscribe(data => {\r\n if (this.selectedEvent) {\r\n this.series = data.filter(data => data.clubModelId == this.selectedEvent.clubModelId)\r\n if (this.selectedEvent.seriesModelId > 0)\r\n this.selectedSerie = this.series.find(data => data.id == this.selectedEvent.seriesModelId);\r\n }\r\n })\r\n this.broadCastMembers = this.dbService.broadCastMembers.subscribe(data => {\r\n this.members = data;\r\n });\r\n this.broadCastEventTypes = this.dbService.broadCastEventTypes.subscribe(data => {\r\n this.eventTypes = data.filter(eventType => eventType.type == 'Tävling');\r\n })\r\n this.dbService.getEventTypes();\r\n this.availableClasses = [];\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.broadCastEvents.unsubscribe();\r\n this.broadCastSeries.unsubscribe();\r\n this.broadCastMembers.unsubscribe();\r\n this.broadCastEventTypes.unsubscribe();\r\n }\r\n\r\n selectEvent($event: any) {\r\n this.dbService.getSeries();\r\n // TODO!\r\n // Here we should get pointtables by Club!\r\n this.dbService.getPointTables().subscribe(data => {\r\n this.pointTables = data.filter(\r\n (pTable, i, arr) => arr.findIndex(t => t.pointName === pTable.pointName) === i)\r\n })\r\n this.dbService.getHeatPointTables().subscribe(data => {\r\n this.heatPointTables = data.filter(\r\n (pTable, i, arr) => arr.findIndex(t => t.pointName === pTable.pointName) === i)\r\n })\r\n this.dbService.getStartTypes().subscribe(data => {\r\n this.startTypes = data;\r\n if (this.selectedEvent.startTypeId > 0) {\r\n this.selectedStartType = this.startTypes.find(serie => serie.id == this.selectedEvent.startTypeId); \r\n }\r\n \r\n })\r\n\r\n this.dbService.getRegisteredParticipantsInRace(this.selectedEvent.eventId).subscribe(data => {\r\n this.registeredparticipantsInCompetition = data;\r\n if (data.length > 0) { \r\n this.dbService.getClassModelsByEvent(this.selectedEvent.eventId).subscribe(data2 => {\r\n this.availableClasses = data2\r\n })\r\n }\r\n })\r\n }\r\n\r\n onFileInput($event: any) {\r\n this.registeredparticipantsInCompetition = [];\r\n this.notregisteredparticipants = [];\r\n this.availableClasses = [];\r\n const fileList = $event.srcElement.files;\r\n this.parseCsvFile(fileList[0]);\r\n }\r\n\r\n //getParticipants() {\r\n\r\n //}\r\n\r\n parseCsvFile(file) {\r\n this.papa.parse(file, {\r\n header: true,\r\n dynamicTyping: true,\r\n skipEmptyLines: 'greedy',\r\n worker: true,\r\n encoding: 'Cp1252',\r\n //chunk: this.papaParseChunk,\r\n complete: (result) => {\r\n //console.log('Parsed: ', result.data)\r\n result.data.forEach(racer => {\r\n if (this.members.findIndex(data => data.svemoId == racer.IDSvemoTA) != -1) {\r\n var newMemberInCompetiton: IMemberInCompetition = {\r\n id: 0,\r\n svemoId: racer.IDSvemoTA,\r\n className: racer.Class.split(\" \")[0],\r\n startNbr: racer.No,\r\n eventId: this.selectedEvent.eventId,\r\n isChecked: false,\r\n isPresent: false,\r\n isFinished: false,\r\n totalTime: '00:00:00.000000',\r\n position: 0,\r\n points: 0,\r\n }\r\n this.registeredparticipantsInCompetition.push(newMemberInCompetiton)\r\n }\r\n else {\r\n var missingMember: IMember = {\r\n svemoId: racer.IDSvemoTA,\r\n isActive: true,\r\n firstName: racer.FirstName,\r\n lastName: racer.LastName,\r\n clubModel: null,\r\n clubModelId: 1,\r\n clubMembership: racer.Club,\r\n bikeBrandModel: null,\r\n bikeBrandModelId: 1,\r\n pictureUrl: \"\",\r\n picture:null,\r\n confirmedTimeReadModel: null,\r\n intermediateTimeModel: null,\r\n lapTimeModel: null,\r\n timeReadModel: null,\r\n }\r\n this.notregisteredparticipants.push(missingMember)\r\n var newMemberInCompetiton: IMemberInCompetition = {\r\n id: 0,\r\n svemoId: racer.IDSvemoTA,\r\n className: racer.Class.split(\" \")[0],\r\n startNbr: racer.No,\r\n isChecked: false,\r\n isPresent: false,\r\n isFinished: false,\r\n eventId: this.selectedEvent.eventId,\r\n totalTime: '00:00:00.000000',\r\n position: 0,\r\n points: 0,\r\n }\r\n this.registeredparticipantsInCompetition.push(newMemberInCompetiton)\r\n }\r\n })\r\n this.retrievClasses(this.registeredparticipantsInCompetition)\r\n }\r\n });\r\n }\r\n\r\n addToMemberDB() {\r\n this.notregisteredparticipants.forEach(addMember => {\r\n this.dbService.addMember(addMember, {svemoId:addMember.svemoId, PictureUrl:null});\r\n })\r\n this.notregisteredparticipants = [];\r\n this.registeredparticipantsInCompetition = this.registeredparticipantsInCompetition; \r\n }\r\n\r\n getFirstName(svemoId: number) {\r\n if (this.members.find(data => data.svemoId == svemoId))\r\n return this.members.find(data => data.svemoId == svemoId).firstName\r\n else\r\n return \"Okänd\"\r\n }\r\n getLastName(svemoId: number) {\r\n if (this.members.find(data => data.svemoId == svemoId))\r\n return this.members.find(data => data.svemoId == svemoId).lastName\r\n else\r\n return \"\"\r\n }\r\n getEventType(Event: IEvent) {\r\n return this.eventTypes.find(data => data.id == Event.eventTypeId).case\r\n }\r\n\r\n retrievClasses(participants: IMemberInCompetition[]) {\r\n this.availableClasses = [];\r\n var availableClasses = participants\r\n .map(data => data.className)\r\n .filter((classInCompetition, index, arr) => arr.indexOf(classInCompetition) == index)\r\n availableClasses.forEach(data => {\r\n var newClass: IClass = {\r\n id: 0,\r\n eventId: this.selectedEvent.eventId,\r\n className: data,\r\n nbrLaps: 0,\r\n maxTime: 0,\r\n pointId: 0,\r\n lapsInHeat: 0,\r\n heatPointId :0,\r\n }\r\n this.availableClasses.push(newClass)\r\n })\r\n console.log(this.availableClasses)\r\n }\r\n\r\n AddParametersToDB() {\r\n //If this is new added parameters\r\n \r\n this.selectedEvent.memberInCompetition = this.registeredparticipantsInCompetition;\r\n this.selectedEvent.startTypeId = this.selectedStartType.id;\r\n this.selectedEvent.seriesModelId = this.selectedSerie.id;\r\n this.selectedEvent.classesInEvent = this.availableClasses;\r\n this.dbService.updateEvent(this.selectedEvent);\r\n }\r\n\r\n addParticipant() {\r\n const dialogRef = this.dialog.open(AddParticipantComponent, {\r\n data: { event: this.selectedEvent, participants :this.registeredparticipantsInCompetition },\r\n panelClass: 'custom-dialog-container'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n if (result != null) {\r\n //Check that racer is not in list allready\r\n if (!this.registeredparticipantsInCompetition.find(data => data.svemoId == result.svemoId)) {\r\n this.registeredparticipantsInCompetition.push(result)\r\n this.retrievClasses(this.registeredparticipantsInCompetition);\r\n this.table.value = this.registeredparticipantsInCompetition;\r\n alert('Föraren är tillagd i tävlingen')\r\n }\r\n else {\r\n alert('Föraren finns redan registrerad i tävlingen')\r\n }\r\n }\r\n else {\r\n alert('Ingen förare tillagd')\r\n }\r\n console.log('The dialog was closed');\r\n });\r\n }\r\n\r\n deleteParticipant(deleteParticipant: IMemberInCompetition) {\r\n var removeIndex = this.registeredparticipantsInCompetition.findIndex(data =>\r\n data.svemoId === deleteParticipant.svemoId);\r\n this.registeredparticipantsInCompetition.splice(removeIndex, 1);\r\n this.retrievClasses(this.registeredparticipantsInCompetition);\r\n this.table.value = this.registeredparticipantsInCompetition; \r\n }\r\n\r\n displayEventCase(eventTypeId: number) : string {\r\n return this.eventTypes.find(eventType => eventType.id == eventTypeId).case\r\n }\r\n\r\n\r\n bla() {\r\n\r\n }\r\n}\r\n","\n\n\n
\n
\n

Förbered tävling:

\n
\n \n Välj Event\n \n \n {{event.eventName}}\n \n \n \n
\n
\n\n\n \n\n \n \n \n
\n \n Datum:\n \n \n \n Klubb:\n \n \n \n Tävlings typ:\n \n \n
\n
\n\n \n \n
\n
\n \n \n
\n
\n
\n Deltagare:\n
\n
\n
\n \n
\n
\n \n
\n
\n \n #\n Namn\n Klass\n \n
\n \n \n \n {{registeredparticipantInCompetition.startNbr}}\n \n \n {{getFirstName(registeredparticipantInCompetition.svemoId)}} {{getLastName(registeredparticipantInCompetition.svemoId)}}\n \n \n {{registeredparticipantInCompetition.className}}\n \n \n \n \n \n \n\n
\n
\n
\n \n \n \n
\n
\n
\n Ej i DB:\n
\n
\n
\n \n
\n
\n \n #\n Namn\n Klass\n \n
\n \n \n \n {{notregisteredparticipants.svemoId}}\n \n \n {{notregisteredparticipants.firstName}}\n \n \n {{notregisteredparticipants.lastName}}\n \n \n \n\n
\n
\n
\n
\n\n \n 0\">\n\n \n
\n \n Definiera klass info:\n \n\n
\n \n Antal varv: {{availableClasses[i].className}}\n \n \n \n Max tid: {{availableClasses[i].className}} (h)\n \n \n \n Poäng tabell: {{availableClasses[i].className}} \n \n \n {{pointTable.pointName}}\n \n \n \n
\n
\n\n \n
\n \n Definiera klass info:\n \n\n
\n {{availableClass.className}}:\n
\n \n Antal Varv/Heat:\n \n \n \n Antal Heat:\n \n \n \n Heat poäng:\n \n \n {{pointTable.pointName}}\n \n \n \n \n Poäng tabell:\n \n \n {{pointTable.pointName}}\n \n \n \n
\n
\n
\n
\n \n
\n
\n\n
\n \n Lägg till i serie\n \n \n {{serie.serieName}}\n \n \n \n\n \n Start typ\n \n \n {{startType.startTypeName}}\n \n \n \n
\n Ignorera första start kontroll\n
\n \n
\n\n
\n \n
\n
\n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-by-member',\n templateUrl: './by-member.component.html',\n styleUrls: ['./by-member.component.css']\n})\nexport class ByMemberComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n\n//TODO | All show training by member\n","\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../auth/authentication.service';\r\nimport { IMember } from '../../models/interfaceModels';\r\nimport { MemberProfileComponent } from '../../pages/db-members/member-profile/member-profile.component';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { ConfigService } from '../../services/config.service';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n @Output() public sidenavToggle = new EventEmitter();\r\n\r\n public activeuser: IMember | undefined;\r\n public userRole: string = \"Admin\";\r\n public tokenExists: boolean = false;\r\n\r\n profilePic: any;\r\n\r\n constructor(\r\n public authService: AuthenticationService,\r\n public activeUserService: ActiveuserService,\r\n private router: Router,\r\n private sanitizer: DomSanitizer,\r\n private snackBar: MatSnackBar,\r\n private config:ConfigService,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n onLogout() {\r\n this.activeUserService.activeAsGuest();\r\n localStorage.removeItem('token');\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n public onToggleSidenav = () => {\r\n this.sidenavToggle.emit();\r\n }\r\n\r\n showImage(userBlob: any) {\r\n //let objectURL = 'data:image/jpeg;base64,' + userBlob.image;\r\n //return this.sanitizer.bypassSecurityTrustUrl(objectURL);\r\n }\r\n\r\n onViewMember() {\r\n console.log(this.activeuser)\r\n const dialogRef = this.dialog.open(MemberProfileComponent, {\r\n position: {top:'1rem'},\r\n data: { member: this.activeUserService.user },\r\n panelClass: 'test' //'custom-dialog-container'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log('The dialog was closed');\r\n });\r\n }\r\n\r\n mailto(emailAddress: string, emailSubject: any) {\r\n return \"mailto:\" + emailAddress + \"?subject=\" + emailSubject\r\n }\r\n\r\n about() {\r\n this.snackBar.open('Time Tracker', ' Version:8.0.0 Date:21-03-29' ,\r\n {\r\n duration: this.config.snackBarTiming,\r\n panelClass: \"snackBarOk\"\r\n })\r\n }\r\n} \r\n","\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n Administrera DB\r\n \r\n \r\n \r\n \r\n Administrera träning\r\n \r\n \r\n Administrera tävling\r\n \r\n \r\n \r\n Kontrollera status\r\n \r\n \r\n \r\n\r\n \r\n \r\n Träning\r\n \r\n \r\n \r\n Tävling\r\n \r\n \r\n \r\n \r\n \r\n Klubb länkar\r\n \r\n \r\n \r\n \r\n Enduro länkar\r\n \r\n \r\n Övrigt\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.css']\n})\nexport class LayoutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IClub, IEvent, IEventType, ILap, ILapInEvent } from '../../../models/interfaceModels';\r\nimport { DbService } from '../../../services/db.service';\r\n\r\nexport interface AddEvent {\r\n editEvent: IEvent,\r\n}\r\nexport interface LapIn {\r\n lapId: number;\r\n}\r\n\r\n@Component({\r\n selector: 'app-add-event',\r\n templateUrl: './add-event.component.html',\r\n styleUrls: ['./add-event.component.css']\r\n})\r\nexport class AddEventComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: AddEvent,\r\n private fb: FormBuilder, private dbService: DbService) { }\r\n\r\n public clubs: IClub[];\r\n public selectedClub: IClub;\r\n private broadCastClubs: any;\r\n\r\n public eventTypes: IEventType[];\r\n public selectedEventType: IEventType;\r\n private broadCastEventTypes: any;\r\n\r\n public Laps: ILap[];\r\n public LapsinEvent: ILap[];\r\n public selectedLap: ILap;\r\n public selectedEventLap: ILap;\r\n\r\n\r\n distinctEventTypes() {\r\n if (this.eventTypes) {\r\n return this.eventTypes.filter(\r\n (event, i, arr) => arr.findIndex(t => t.type === event.type) === i);\r\n }\r\n else\r\n return [];\r\n }\r\n eventCases(eventType: string) {\r\n if (eventType)\r\n return this.eventTypes.filter(eType => eType.type == eventType);\r\n else\r\n return [];\r\n }\r\n \r\n addEventForm = this.fb.group({\r\n id: [0],\r\n eventDate: ['', [Validators.required]],\r\n eventName: ['', [Validators.required]],\r\n clubModelId: [, [Validators.required]],\r\n eventType: [, [Validators.required]],\r\n eventTypeId: [, [Validators.required]],\r\n hasStarted: [false],\r\n weatherData: [''],\r\n temperature: [''],\r\n laps: [[], Validators.required]\r\n })\r\n\r\n ngOnInit(): void {\r\n this.LapsinEvent = [];\r\n this.broadCastClubs = this.dbService.broadCastClubs.subscribe(data => {\r\n console.log('CLUBS')\r\n this.clubs = data;\r\n });\r\n this.broadCastEventTypes = this.dbService.broadCastEventTypes.subscribe(data => {\r\n this.eventTypes = data;\r\n if (this.data.editEvent) {\r\n console.log('Bla')\r\n\r\n this.addEventForm.controls['eventDate'].setValue(this.data.editEvent.eventDate);\r\n this.addEventForm.controls['eventName'].setValue(this.data.editEvent.eventName);\r\n this.clubs.forEach(club => {\r\n if (club.clubModelId == this.data.editEvent.clubModelId) {\r\n this.selectedClub = club;\r\n }\r\n })\r\n this.addEventForm.controls['clubModelId'].setValue(this.data.editEvent.clubModelId);\r\n this.addEventForm.controls['eventType'].setValue(this.data.editEvent.eventType);\r\n this.addEventForm.controls['eventTypeId'].setValue(this.data.editEvent.eventTypeId);\r\n\r\n var findIdxDistinctEvents = this.distinctEventTypes().findIndex(data => data.type == this.data.editEvent.eventType.type);\r\n this.selectedEventType = this.distinctEventTypes()[findIdxDistinctEvents]; \r\n this.data.editEvent.lapinEvent.forEach(data => {\r\n this.addEventForm.value.laps.push(data.lapId)\r\n })\r\n }\r\n });\r\n \r\n };\r\n\r\n //addExistingLapFormGroup(lap: ILapInEvent) {\r\n // return lap.lapId\r\n //}\r\n //addExistsingLap(lap: ILapInEvent) {\r\n // (this.addEventForm.get('laps')).push(this.addExistingLapFormGroup(lap));\r\n //}\r\n\r\n ngOnDestroy(): void {\r\n this.broadCastClubs.unsubscribe();\r\n this.broadCastEventTypes.unsubscribe();\r\n }\r\n \r\n lapInEventCreate(laps: number[], eventId:number): ILapInEvent[] {\r\n var lapsInEvent: ILapInEvent[];\r\n lapsInEvent = [];\r\n laps.forEach(lap => {\r\n var lapInEvent: ILapInEvent = {\r\n lapId: lap,\r\n lapModel: null,\r\n eventId: eventId,\r\n eventModel: null,\r\n lapNbr: 0,\r\n };\r\n lapsInEvent.push(lapInEvent);\r\n })\r\n return lapsInEvent;\r\n }\r\n\r\n onClubChange(event) {\r\n this.clubs.forEach(club => {\r\n if (club.clubModelId == event.value) { this.selectedClub = club; }\r\n })\r\n this.LapsinEvent = [];\r\n };\r\n onCaseChange(eventTypeId:any) {\r\n console.log(eventTypeId)\r\n var eventTypeIdx = this.eventTypes.findIndex(data => data.id == eventTypeId.value);\r\n this.addEventForm.controls['eventType'].setValue(this.eventTypes[eventTypeIdx]);\r\n };\r\n\r\n\r\n onClick() {\r\n console.log(this.LapsinEvent)\r\n }\r\n\r\n onAddClick() {\r\n console.log(this.addEventForm.valid)\r\n console.log(this.addEventForm)\r\n if (this.addEventForm.valid) {\r\n this.broadCastClubs.unsubscribe();\r\n this.broadCastEventTypes.unsubscribe();\r\n if (!this.data.editEvent) {\r\n var event: IEvent = {\r\n eventId: 0,\r\n eventDate: this.addEventForm.value.eventDate,\r\n eventName: this.addEventForm.value.eventName,\r\n club: null,\r\n clubModelId: +this.addEventForm.value.clubModelId,\r\n eventType: null,\r\n eventTypeId: +this.addEventForm.value.eventTypeId,\r\n hasStarted: 0,\r\n weatherData: '',\r\n temperature: '',\r\n memberInEvent: null,\r\n memberInCompetition: null,\r\n timeReadModel: null,\r\n confirmedTimeReadModel: null,\r\n intermediateTimeModel: null,\r\n lapRepetitions: 0,\r\n lapTimeModel: null,\r\n lapinEvent: this.lapInEventCreate(this.addEventForm.value.laps, 0),\r\n seriesModel: null,\r\n seriesModelId: 0,\r\n ignoreFirstStartPost: false,\r\n classesInEvent: null,\r\n startType: null,\r\n startTypeId: 0,\r\n }\r\n console.log(event)\r\n this.dbService.addEvent(event)\r\n this.broadCastClubs.unsubscribe();\r\n this.broadCastEventTypes.unsubscribe();\r\n this.dialogRef.close();\r\n }\r\n else {\r\n var event: IEvent = {\r\n eventId: this.data.editEvent.eventId,\r\n eventDate: this.addEventForm.value.eventDate,\r\n eventName: this.addEventForm.value.eventName,\r\n club: null,\r\n clubModelId: +this.addEventForm.value.clubModelId,\r\n eventType: null,\r\n eventTypeId: +this.addEventForm.value.eventTypeId,\r\n hasStarted: this.data.editEvent.hasStarted,\r\n weatherData: this.data.editEvent.weatherData,\r\n temperature: this.data.editEvent.temperature,\r\n memberInEvent: null,\r\n memberInCompetition: null,\r\n timeReadModel: null,\r\n confirmedTimeReadModel: null,\r\n intermediateTimeModel: null,\r\n lapRepetitions: this.data.editEvent.lapRepetitions,\r\n lapTimeModel: null,\r\n lapinEvent: this.lapInEventCreate(this.addEventForm.value.laps, this.data.editEvent.eventId),\r\n seriesModel: null,\r\n seriesModelId: this.data.editEvent.seriesModelId,\r\n ignoreFirstStartPost: this.data.editEvent.ignoreFirstStartPost,\r\n classesInEvent: null,\r\n startType: null,\r\n startTypeId: this.data.editEvent.startTypeId,\r\n }\r\n console.log(event)\r\n this.dbService.updateEvent(event);\r\n this.dbService.updateLapsInEvent(event.lapinEvent);\r\n\r\n this.dialogRef.close();\r\n }\r\n \r\n }\r\n else if (this.addEventForm.valid)\r\n alert('Du måste välja minst ett varv att följa')\r\n else\r\n this.addEventForm.markAllAsTouched();\r\n }\r\n\r\n onNoClick() {\r\n this.dialogRef.close();\r\n }\r\n onDebug() {\r\n console.log(this.addEventForm.value)\r\n console.log(this.selectedClub)\r\n\r\n }\r\n}\r\n","
\n
\n

Lägg till Event:

\n

Uppdatera Event:

\n
\n
\n \n
\n
\n
\n \n
\n \n Event datum:\n \n \n Event datum måste anges\n \n \n \n Event namn:\n \n \n Du måste specificera namn på eventet\n \n \n
\n\n
\n \n Välj klubb:\n \n {{club.name}}\n \n \n \n\n \n Välj typ av event:\n \n {{eventType.type}}\n \n \n\n
\n\n
\n\n \n Välj varv:\n \n \n {{lap.lapName}}\n \n \n Du måste välja minst ett varv\n \n \n\n \n Välj upplägg:\n \n {{eventType.case}}\n \n \n
\n
\n \n
\n\n \n \n \n
\n\n
\n
\n\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ForgotPasswordComponent } from './auth/forgot-password/forgot-password.component';\r\nimport { LoginComponent } from './auth/login/login.component';\r\nimport { RegisterComponent } from './auth/register/register.component';\r\nimport { ResetPasswordComponent } from './auth/reset-password/reset-password.component';\r\nimport { DummyComponent } from './components/dummy/dummy.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { DbEventsComponent } from './pages/db-events/db-events.component';\r\nimport { DbInfoComponent } from './pages/db-info/db-info.component';\r\nimport { DbMembersComponent } from './pages/db-members/db-members.component';\r\nimport { LiveCompetitionComponent } from './pages/live-competition/live-competition.component';\r\nimport { LiveTrainingComponent } from './pages/live-training/live-training.component';\r\nimport { PrepareCompetitionComponent } from './pages/prepare-competition/prepare-competition.component';\r\nimport { ResultsCompetitionComponent } from './pages/results-competition/results-competition.component';\r\nimport { ResultsTrainingComponent } from './pages/results-training/results-training.component';\r\nimport { RunCompetitionComponent } from './pages/run-competition/run-competition.component';\r\nimport { RunTrainingComponent } from './pages/run-training/run-training.component';\r\nimport { UnitStatusComponent } from './pages/unit-status/unit-status.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'home', component: HomeComponent },\r\n {\r\n path: 'components',\r\n children: [\r\n {path:'dummy', component:DummyComponent}\r\n ],\r\n },\r\n { path: '', redirectTo: '/home', pathMatch: 'full' },\r\n {\r\n path: 'auth',\r\n children: [\r\n { path: 'login', component: LoginComponent },\r\n { path: 'register', component: RegisterComponent },\r\n { path: 'forgotPassword', component: ForgotPasswordComponent },\r\n { path: 'resetPassword', component: ResetPasswordComponent }\r\n ],\r\n },\r\n {\r\n path: 'pages',\r\n children: [\r\n {\r\n path: 'admin',\r\n children: [\r\n { path: 'members', component: DbMembersComponent },\r\n { path: 'events', component: DbEventsComponent },\r\n { path: 'dbInfo', component: DbInfoComponent },\r\n { path: 'startTraining', component: RunTrainingComponent },\r\n { path: 'prepareCompetition', component: PrepareCompetitionComponent },\r\n { path: 'runCompetition', component: RunCompetitionComponent },\r\n { path: 'unitStatus', component : UnitStatusComponent},\r\n //{ path: 'clientStatus', component: ClientStatusComponent }\r\n ]\r\n },\r\n {\r\n path: 'results',\r\n children: [\r\n { path: 'liveTraining', component: LiveTrainingComponent },\r\n { path: 'resultsTraining', component: ResultsTrainingComponent },\r\n { path: 'liveCompetition', component: LiveCompetitionComponent },\r\n { path: 'resultsCompetition', component: ResultsCompetitionComponent }\r\n ]\r\n },\r\n //{ path: 'dummy', component: DummyComponent }\r\n\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { useHash: true }\r\n )],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport { IClass, IClub, IEvent, IMember, ISerie } from '../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { DbService } from '../../services/db.service';\r\nimport { SignalRService } from '../../services/signal-r.service';\r\nimport { DisplayMember } from '../run-competition/run-competition.component';\r\n\r\n@Component({\r\n selector: 'app-results-competition',\r\n templateUrl: './results-competition.component.html',\r\n styleUrls: ['./results-competition.component.css']\r\n})\r\nexport class ResultsCompetitionComponent implements OnInit {\r\n\r\n constructor(private dbService: DbService,\r\n public dataRoom: DataRoomService,\r\n private activeUserService: ActiveuserService,) { }\r\n\r\n public activeUser: IMember;\r\n private broadCastActiveUser: any;\r\n\r\n //Keep track of clubs\r\n public clubs: IClub[];\r\n private broadCastClubs: any;\r\n public selectedClub: IClub;\r\n\r\n //Event data\r\n public allEvents: IEvent[] = [];\r\n private broadCastallEvents: any;\r\n public selectedEvent: IEvent;\r\n public allClasses: string[] = [];\r\n public dummyallClasses: { name: string, idx: number }[] = [];\r\n public displayMembers: DisplayMember[][] = [];\r\n public headerArray: [{ header: string, field: string }][] = [];\r\n\r\n //Series data\r\n public displayCompetition: DisplayCompetition[];\r\n //public totalSerie: DisplayTotalCompetition[];\r\n public totalSerie : DisplayTotalCompetition[];\r\n\r\n\r\n //Series data\r\n public allSeries: ISerie[] = [];\r\n public selectedSerie: ISerie;\r\n private broadCastAllSeries: any;\r\n\r\n ngOnInit(): void {\r\n this.broadCastActiveUser = this.activeUserService.currentUser.subscribe(data => {\r\n this.activeUser = data\r\n this.selectedClub = this.activeUser.clubModel\r\n this.broadCastAllSeries = this.dbService.broadCastSeries.subscribe(data => {\r\n if (this.selectedClub) {\r\n this.allSeries = data.filter(series => series.clubModelId == this.selectedClub.clubModelId)\r\n }\r\n })\r\n })\r\n this.broadCastClubs = this.dbService.broadCastClubs.subscribe(data => {\r\n this.clubs = data;\r\n\r\n })\r\n this.broadCastallEvents = this.dbService.broadCastEvents.subscribe(data => {\r\n if (this.selectedSerie) {\r\n this.allEvents = data.filter(event =>\r\n event.seriesModelId == this.selectedSerie.id && event.eventType.type == 'Tävling' && event.hasStarted > 2);\r\n this.allEvents.forEach(event => {\r\n this.dbService.getRegisteredParticipantsInRace(event.eventId).subscribe(data => {\r\n event.memberInCompetition = data;\r\n var displayMember = this.dataRoom.createDisplayMembers(data);\r\n var maxLaps = 0;\r\n var headers: [{ header: string, field: string }];\r\n\r\n this.dbService.getMembersTimesEventDirect(event).subscribe(data => {\r\n if (data) {\r\n //console.log(data)\r\n //Create headers for all laps\r\n data.forEach(member => {\r\n displayMember.find(dispMember => dispMember.svemoId == member.svemoId).confirmedTimeReadModel = member.confirmedTimeReadModel;\r\n displayMember.find(dispMember => dispMember.svemoId == member.svemoId).intermediateTimeModel = member.intermediateTimeModel;\r\n displayMember.find(dispMember => dispMember.svemoId == member.svemoId).lapTimeModel = member.lapTimeModel;\r\n\r\n member = this.dataRoom.totalTime(displayMember.find(dispMember => dispMember.svemoId == member.svemoId))\r\n displayMember.find(dispMember => dispMember.svemoId == member.svemoId).nbrLaps = member.lapTimeModel.length;\r\n // If this member has more laps then allready added to header add new headers\r\n if (member.lapTimeModel.length > maxLaps) {\r\n var addedLaps = member.lapTimeModel.length;\r\n //console.log(this.selectedEvent.lapinEvent[0].lapModel.lapName)\r\n if (event.eventType.case != 'Heat') {\r\n while (maxLaps < member.lapTimeModel.length) {\r\n if (!headers)\r\n headers = [{ header: event.lapinEvent[0].lapModel.lapName, field: 'lapTimeModel[' + maxLaps + ']' }];\r\n else\r\n headers.push({ header: event.lapinEvent[0].lapModel.lapName, field: 'lapTimeModel[' + maxLaps + ']' });\r\n maxLaps++;\r\n }\r\n }\r\n else {\r\n while (maxLaps < member.lapTimeModel.length) {\r\n if (!headers)\r\n headers = [{ header: 'Heat 1', field: 'lapTimeModel[' + maxLaps + ']' }];\r\n else\r\n headers.push({ header: 'Heat ' + maxLaps, field: 'lapTimeModel[' + maxLaps + ']' });\r\n maxLaps++;\r\n }\r\n }\r\n }\r\n })\r\n }\r\n })\r\n this.displayMembers.push(displayMember);\r\n this.headerArray.push(headers);\r\n this.allClasses = this.dataRoom.uniqueClasses(displayMember);\r\n this.displayCompetition.push(this.createDisplayCompetition(event, displayMember, this.dataRoom.uniqueClasses(displayMember), headers));\r\n this.displayCompetition.sort((n1, n2) => {\r\n if (n1.event.eventName > n2.event.eventDate) {\r\n return 1;\r\n }\r\n if (n1.event.eventDate < n2.event.eventDate) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n })\r\n })\r\n })\r\n }\r\n })\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //DB services\r\n this.broadCastActiveUser.unsubscribe();\r\n this.broadCastClubs.unsubscribe();\r\n this.broadCastallEvents.unsubscribe();\r\n this.broadCastAllSeries.unsubscribe();\r\n\r\n }\r\n onClubChange(event: any) {\r\n this.selectedClub = event.value;\r\n this.broadCastAllSeries = this.dbService.broadCastSeries.subscribe(data => {\r\n if (this.selectedClub) {\r\n this.allSeries = data.filter(series => series.clubModelId == this.selectedClub.clubModelId)\r\n if (this.allSeries.length > 0) {\r\n this.selectedSerie = this.allSeries[0];\r\n this.dbService.getEventsByClub(this.selectedClub.clubModelId); \r\n }\r\n }\r\n })\r\n }\r\n\r\n onSerieChange(test: any) {\r\n this.dbService.getEventsByClub(this.selectedClub.clubModelId);\r\n this.displayCompetition = [];\r\n }\r\n comparer(o1: any, o2: any): boolean {\r\n // if possible compare by object's name, and not by reference.\r\n return o1 && o2 ? o1.name === o2.name : o2 === o2;\r\n }\r\n\r\n console() {\r\n /* console.log(this.displayCompetition)*/\r\n console.log(this.totalSerie)\r\n }\r\n\r\n public createDisplayCompetition(even: IEvent, dispMembers: DisplayMember[], eventCla: string[], head: [{ header: string, field: string }]) {\r\n\r\n var displayCompetition: DisplayCompetition = {\r\n event : even,\r\n displayMembers: dispMembers,\r\n eventClasses : eventCla,\r\n headers : head,\r\n }\r\n return displayCompetition\r\n }\r\n\r\n public createTotalSerie(competitionEvents: DisplayCompetition[], className:string): DisplayTotalCompetition[] {\r\n var totalDisplay: DisplayTotalCompetition[] = [];\r\n var eventidx = 0;\r\n competitionEvents.forEach(event => {\r\n event.displayMembers.forEach(member => {\r\n var memberExists = totalDisplay.find(displayMem => displayMem.svemoId == member.svemoId)\r\n if (!memberExists) {\r\n var displayTotal: DisplayTotalCompetition = {\r\n svemoId: member.svemoId,\r\n firstName: member.firstName,\r\n lastName: member.lastName,\r\n //classArray: [],\r\n //pointArray: [],\r\n infoArray: [],\r\n totalPoints: 0,\r\n }\r\n for (let i = 0; i < eventidx + 1; i++) {\r\n if (i < eventidx) {\r\n //displayTotal.classArray.push('');\r\n //displayTotal.pointArray.push(0);\r\n displayTotal.infoArray.push({\r\n class: '',\r\n points: 0,\r\n eventName: competitionEvents[i].event.eventName,\r\n eventDate: competitionEvents[i].event.eventDate,\r\n })\r\n }\r\n else {\r\n displayTotal.infoArray.push({\r\n class: member.className,\r\n points: member.points,\r\n eventName: competitionEvents[eventidx].event.eventName,\r\n eventDate: competitionEvents[eventidx].event.eventDate,\r\n })\r\n\r\n //displayTotal.classArray.push(member.className);\r\n //displayTotal.pointArray.push(member.points);\r\n //displayTotal.totalPoints = displayTotal.totalPoints + member.points;\r\n }\r\n }\r\n \r\n totalDisplay.push(displayTotal);\r\n }\r\n else {\r\n //if (memberExists.classArray.length < eventidx+1) {\r\n if (memberExists.infoArray.length < eventidx + 1) {\r\n for (let i = memberExists.infoArray.length; i < eventidx; i++) {\r\n //memberExists.classArray.push('');\r\n //memberExists.pointArray.push(0);\r\n memberExists.infoArray.push({\r\n class: '',\r\n points: 0,\r\n eventName: competitionEvents[i].event.eventName,\r\n eventDate: competitionEvents[i].event.eventDate,\r\n })\r\n }\r\n }\r\n memberExists.infoArray.push({\r\n class: member.className,\r\n points: member.points,\r\n eventName: competitionEvents[eventidx].event.eventName,\r\n eventDate: competitionEvents[eventidx].event.eventDate,\r\n })\r\n // memberExists.classArray.push(member.className);\r\n // memberExists.pointArray.push(member.points);\r\n\r\n }\r\n })\r\n eventidx++;\r\n })\r\n \r\n totalDisplay.forEach(participant => {\r\n var totalPoints: number = 0;\r\n var nbrResultsToCount = this.selectedSerie.eventsToCount;\r\n\r\n if (participant.infoArray.length < competitionEvents.length) {\r\n for (let i = participant.infoArray.length; i < competitionEvents.length; i++) {\r\n participant.infoArray.push({\r\n class: '',\r\n points: 0,\r\n eventName: competitionEvents[i].event.eventName,\r\n eventDate: competitionEvents[i].event.eventDate,\r\n });\r\n // participant.pointArray.push(0);\r\n }\r\n }\r\n\r\n\r\n //if (participant.pointArray.length < nbrResultsToCount) {\r\n // nbrResultsToCount = participant.pointArray.length;\r\n //}\r\n \r\n \r\n for (let i = 0; i < nbrResultsToCount; i++) {\r\n totalPoints = totalPoints + participant.infoArray.sort((n1, n2) => n2.points - n1.points)[i].points;\r\n //totalPoints = totalPoints + participant.pointArray.sort((n1, n2) => n2 - n1)[i];\r\n }\r\n participant.totalPoints = totalPoints;\r\n participant.infoArray.sort((n1, n2) => {\r\n if (n1.eventDate > n2.eventDate) {\r\n return 1;\r\n }\r\n\r\n if (n1.eventDate < n2.eventDate) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n }\r\n )})\r\n\r\n return totalDisplay.filter(data => data.infoArray[1].class == className);\r\n //return totalDisplay.filter(data=> data.classArray[1] == className);\r\n }\r\n\r\n\r\n}\r\n\r\nexport interface DisplayTotalCompetition {\r\n svemoId: number;\r\n firstName: string;\r\n lastName: string;\r\n infoArray: InfoArray[];\r\n //classArray: string[];\r\n //pointArray: number[];\r\n totalPoints: number;\r\n}\r\n\r\nexport interface InfoArray {\r\n class: string;\r\n points: number;\r\n eventName: string;\r\n eventDate: string;\r\n}\r\n\r\nexport interface DisplayCompetition {\r\n event : IEvent,\r\n displayMembers: DisplayMember[],\r\n eventClasses: string[],\r\n headers: [{ header: string, field: string }]\r\n}\r\n\r\n","\n \n
\n

Välj tävling:

\n \n Välj klubb:\n \n {{club.name}}\n \n \n \n Välj serie:\n \n\n {{serie.serieName}}\n \n \n
\n \n\n \n
\n

{{class}}

\n \n \n \n
\n \n Pos.\n Poäng\n Namn\n \n {{competition[i].header.header}}\n \n \n Varv\n Tid\n
\n
\n \n \n \n \n \n \n {{displayMember.position}}\n \n \n {{displayMember.points}}\n \n \n {{displayMember.firstName + ' ' + displayMember.lastName}}\n \n\n\n \n
\n \n {{dataRoom.convertToMiniTime(time.lapTime)}} \n
\n \n \n \n {{displayMember.nbrLaps}}\n \n \n {{displayMember.totalTime}} \n \n \n
\n\n \n
\n\n
\n
\n \n \n \n
\n Tid stämplar\n
\n
\n ID\n Tid\n Läsare\n Ant\n Status\n Varv#\n \n
\n
\n \n \n \n {{confirmedTimeReadModel.timeReadID}}\n \n \n {{confirmedTimeReadModel.time | date:'HH:mm:ss'}}\n \n \n {{confirmedTimeReadModel.readerId}}\n \n \n {{confirmedTimeReadModel.antennaId}}\n \n \n {{confirmedTimeReadModel.status}}\n \n \n {{confirmedTimeReadModel.ladIdx}}\n \n \n \n \n
\n \n \n
\n Mellantider\n
\n
\n Mellantid\n Tid\n ID1\n ID2\n \n
\n
\n \n \n \n \n \n \n {{dataRoom.convertToMiniTime(intermediateTimeModel.lapTime)}}\n \n \n {{intermediateTimeModel.id1}}\n \n \n {{intermediateTimeModel.id2}}\n \n \n \n \n
\n
\n
\n
\n
\n\n
\n \n 0\" label=\"Totalt\" >\n
\n

{{class}}

\n \n\n \n
\n Namn\n {{event.eventName}}\n Totalt\n
\n
\n\n \n \n \n {{displayMember.firstName + ' ' + displayMember.lastName}}\n \n \n
\n {{info.points}} \n
\n \n\n \n {{displayMember.totalPoints}}\n \n \n
\n
\n
\n
\n\n\n
\n\n\n \n\n
\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { IClass, IClub, IConfirmedTimeRead, IEvent, IEventMember, IMember, IMemberInCompetition } from '../models/interfaceModels';\r\nimport { DisplayMember } from '../pages/run-competition/run-competition.component';\r\nimport { DbService } from './db.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataRoomService {\r\n\r\n constructor(\r\n private dbService: DbService,\r\n private sanitizer: DomSanitizer,) {\r\n\r\n dbService.broadCastClubs.subscribe(data => {\r\n this.clubs = data;\r\n });\r\n }\r\n\r\n public clubs: IClub[];\r\n\r\n public showLapName(LapId: number) {\r\n var laps = this.dbService.allLaps\r\n }\r\n\r\n public showClubName(clubId: number) {\r\n var clubs = this.dbService.allClubs;\r\n if (clubs) {\r\n var club = clubs.find(data => data.clubModelId == clubId);\r\n if (club)\r\n return club.name\r\n else\r\n return 'Okänd'\r\n }\r\n else\r\n return 'Okänd' \r\n }\r\n public showMemberName(svemoId: number) {\r\n var members = this.dbService.allMembers;\r\n if (members) {\r\n var member = members.find(data => data.svemoId == svemoId);\r\n if (member)\r\n return member.firstName + ' ' + member.lastName\r\n else\r\n return 'Okänd'\r\n }\r\n else\r\n return 'Okänd'\r\n }\r\n public showMemberNameMini(svemoId: number) {\r\n var members = this.dbService.allMembers;\r\n if (members) {\r\n var member = members.find(data => data.svemoId == svemoId);\r\n if (member)\r\n return member.firstName[0] + ' ' + member.lastName\r\n else\r\n return 'Okänd'\r\n }\r\n else\r\n return 'Okänd'\r\n }\r\n\r\n public showClubPic(clubId: number) {\r\n if (this.dbService.allClubs) { \r\n var clubpic = this.dbService.allClubs.find(data => data.clubModelId == clubId).picture;\r\n if (clubpic) {\r\n let objectURL = 'data:image/jpeg;base64,' + clubpic;\r\n var Url = this.sanitizer.bypassSecurityTrustUrl(objectURL);\r\n return Url;\r\n }\r\n else\r\n return '/assets/img/profile.png'\r\n }\r\n else\r\n return '/assets/img/profile.png'\r\n }\r\n\r\n public showBikeBrandImage(bikeBrandId: number) {\r\n var bikeBrands = this.dbService.allBikeBrands;\r\n if (bikeBrands) {\r\n var bikePic = bikeBrands.find(data => data.id == bikeBrandId);\r\n if (bikePic) {\r\n let objectURL = 'data:image/jpeg;base64,' + bikePic.picture;\r\n var Url = this.sanitizer.bypassSecurityTrustUrl(objectURL);\r\n return Url;\r\n }\r\n else\r\n return '/assets/img/baby.png'\r\n }\r\n else\r\n return '/assets/img/baby.png'\r\n }\r\n\r\n public showBikeBrand(bikeBrandId: number) {\r\n var bikeBrands = this.dbService.allBikeBrands;\r\n if (bikeBrands) {\r\n var bikeBrand = bikeBrands.find(bike => bike.id == bikeBrandId)\r\n if (bikeBrand)\r\n return bikeBrand.bikeBrand;\r\n else\r\n return 'ej känt'\r\n }\r\n else\r\n return 'ej känt'\r\n }\r\n\r\n public showImage(picture: any) {\r\n \r\n if (picture) {\r\n let objectURL = 'data:image/jpeg;base64,' + picture;\r\n var Url = this.sanitizer.bypassSecurityTrustUrl(objectURL);\r\n return Url;\r\n }\r\n else\r\n return '/assets/img/profile.png'\r\n }\r\n\r\n public showRacerPicture(svemoId: number) {\r\n var members = this.dbService.allMembers;\r\n if (members) {\r\n var memberPic = members.find(data => data.svemoId == svemoId);\r\n if (memberPic.picture) {\r\n let objectURL = 'data:image/jpeg;base64,' + memberPic.picture;\r\n var Url = this.sanitizer.bypassSecurityTrustUrl(objectURL);\r\n return Url;\r\n }\r\n else\r\n return '/assets/img/profile.png'\r\n }\r\n else\r\n return '/assets/img/profile.png'\r\n }\r\n\r\n public createEventMembers(originalEvent: IEvent) : IEventMember {\r\n var newEventMember: IEventMember = {\r\n eventId: originalEvent.eventId,\r\n eventDate: originalEvent.eventDate, \r\n eventName: originalEvent.eventName,\r\n club: originalEvent.club,\r\n clubModelId: originalEvent.clubModelId,\r\n eventType: originalEvent.eventType,\r\n eventTypeId: originalEvent.eventTypeId,\r\n hasStarted: originalEvent.hasStarted,\r\n startType: originalEvent.startType,\r\n startTypeId: originalEvent.startTypeId,\r\n weatherData: originalEvent.weatherData,\r\n temperature: originalEvent.temperature,\r\n lapinEvent: originalEvent.lapinEvent,\r\n memberInEvent: originalEvent.memberInEvent,\r\n memberInCompetition: originalEvent.memberInCompetition,\r\n timeReadModel: originalEvent.timeReadModel,\r\n confirmedTimeReadModel: originalEvent.confirmedTimeReadModel,\r\n intermediateTimeModel: originalEvent.intermediateTimeModel,\r\n lapTimeModel: originalEvent.lapTimeModel,\r\n seriesModel: originalEvent.seriesModel,\r\n seriesModelId: originalEvent.seriesModelId,\r\n ignoreFirstStartPost:originalEvent.ignoreFirstStartPost,\r\n lapRepetitions:originalEvent.lapRepetitions,\r\n members: null,\r\n classesInEvent: originalEvent.classesInEvent,\r\n }\r\n return newEventMember;\r\n }\r\n\r\n public convertToMiniTime(timeString: string): string {\r\n \r\n if (timeString.charAt(8) == \".\") {\r\n var noMilliSec = timeString.split(\".\").slice(0.1);\r\n var noHour = noMilliSec[0].split(\":\");\r\n var hour = noHour[0];\r\n var minutes = noHour[1];\r\n var seconds = noHour[2];\r\n var milliSecond = noMilliSec[1]\r\n }\r\n else {\r\n var splitTime = timeString.split(\":\").slice();\r\n var hour = splitTime[0];\r\n var minutes = splitTime[1];\r\n var seconds = splitTime[2];\r\n var milliSecond = splitTime[3]\r\n }\r\n return minutes + \":\" + seconds + \".\" + milliSecond.charAt(0);\r\n }\r\n\r\n public getLapsToRun(classesInEvent: IClass[], className: string) : number {\r\n var classModel = classesInEvent.find(data => data.className == className);\r\n return classModel.nbrLaps;\r\n }\r\n public getHeatsToRun(classesInEvent: IClass[], className: string): number {\r\n var classModel = classesInEvent.find(data => data.className == className);\r\n return classModel.lapsInHeat;\r\n }\r\n\r\n // Display of data\r\n\r\n public createMemberInCompetition(displayMember: DisplayMember) {\r\n var memberInCompetition: IMemberInCompetition = {\r\n id: displayMember.id,\r\n eventId: displayMember.eventId,\r\n svemoId: displayMember.svemoId,\r\n className: displayMember.className,\r\n startNbr: displayMember.startNbr,\r\n isChecked: displayMember.isChecked,\r\n isPresent: displayMember.isPresent,\r\n isFinished: displayMember.isFinished,\r\n totalTime: displayMember.totalTime,\r\n position: displayMember.position,\r\n points: displayMember.points,\r\n }\r\n if (memberInCompetition.points == null)\r\n memberInCompetition.points = 0;\r\n if (memberInCompetition.position == null)\r\n memberInCompetition.position = 0;\r\n\r\n return memberInCompetition;\r\n }\r\n\r\n public createDisplayMembers(memberInComp: IMemberInCompetition[]): DisplayMember[] {\r\n var displayMembers: DisplayMember[] = [];\r\n\r\n memberInComp.forEach(member => {\r\n var displayMember: DisplayMember = {\r\n svemoId: member.svemoId,\r\n isActive: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).isActive,\r\n firstName: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).firstName,\r\n lastName: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).lastName,\r\n clubModel: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).clubModel,\r\n clubModelId: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).clubModelId,\r\n clubMembership: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).clubMembership,\r\n bikeBrandModel: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).bikeBrandModel,\r\n bikeBrandModelId: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).bikeBrandModelId,\r\n pictureUrl: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).pictureUrl,\r\n picture: this.dbService.allMembers.find(data => data.svemoId == member.svemoId).picture,\r\n timeReadModel: [],\r\n confirmedTimeReadModel: [],\r\n intermediateTimeModel: [],\r\n lapTimeModel: [],\r\n id: member.id,\r\n eventId: member.eventId,\r\n className: member.className,\r\n startNbr: member.startNbr,\r\n isChecked: member.isChecked,\r\n isPresent: member.isPresent,\r\n isFinished: member.isFinished,\r\n totalTime: member.totalTime,\r\n position: member.position,\r\n nbrLaps: 0,\r\n points: member.points,\r\n }\r\n displayMembers.push(displayMember);\r\n })\r\n return displayMembers\r\n }\r\n public filterDisplayMembers(displayMember: DisplayMember[], className: string): DisplayMember[] {\r\n if (displayMember)\r\n return displayMember.filter(dispMember => dispMember.className == className)\r\n else\r\n return null\r\n }\r\n //Computes total time from strings and returns a string\r\n public totalTime(member: DisplayMember) {\r\n var hours: number = 0;\r\n var minutes: number = 0;\r\n var seconds: number = 0;\r\n\r\n member.lapTimeModel.forEach((data) => {\r\n hours = hours + +data.lapTime.substring(0, 2);\r\n minutes = minutes + +data.lapTime.substring(3, 5);\r\n seconds = seconds + +data.lapTime.substring(6, 8);\r\n })\r\n minutes = minutes + Math.floor(seconds / 60);\r\n hours = hours + Math.floor(minutes / 60);\r\n var finalSeconds = seconds % 60;\r\n var finalMinutes = minutes % 60;\r\n var finalHours = hours;\r\n member.totalTime = finalHours.toString().padStart(2, \"0\") + ':' + finalMinutes.toString().padStart(2, \"0\") + ':' + finalSeconds.toString().padStart(2, \"0\");\r\n return member;\r\n }\r\n\r\n //Gets unique classes from a displayMember list\r\n //returns string array with classNames\r\n public uniqueClasses(displayMembers:DisplayMember[]) {\r\n var classes: string[] = [];\r\n displayMembers.forEach(member => {\r\n var exists = classes.find(cla => cla == member.className)\r\n if (!exists) {\r\n classes.push(member.className)\r\n }\r\n })\r\n // console.log(classes);\r\n return classes;\r\n }\r\n\r\n\r\n //Validators\r\n public validateConfirmPassword = (passwordControl: AbstractControl): ValidatorFn => {\r\n return (confirmationControl: AbstractControl): { [key: string]: boolean } | null => {\r\n\r\n const confirmValue = confirmationControl.value;\r\n const passwordValue = passwordControl.value;\r\n\r\n if (confirmValue === '') {\r\n return null;\r\n }\r\n\r\n if (confirmValue !== passwordValue) {\r\n return { mustMatch: true }\r\n }\r\n\r\n return null;\r\n };\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { IClub, IMember } from '../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { DbService } from '../../services/db.service';\r\nimport { SignalRService } from '../../services/signal-r.service';\r\n\n@Component({\n selector: 'app-unit-status',\n templateUrl: './unit-status.component.html',\n styleUrls: ['./unit-status.component.css']\n})\nexport class UnitStatusComponent implements OnInit {\n\n constructor(private dbService: DbService,\n public dataRoom: DataRoomService,\n private signalR: SignalRService,\n private activeUserService: ActiveuserService,) { }\n\n public clubs: IClub[];\r\n public currentUser: IMember;\r\n public selectedClub: IClub;\r\n private broadCastPisDB: any;\r\n private broadCastClubs: any;\n private broadCastActiveUser: any;\n private broadCastPisSignalR: any;\n\n public activePis: any[];\n\n ngOnInit(): void {\n this.broadCastClubs = this.dbService.broadCastClubs.subscribe(data => {\r\n this.clubs = data;\r\n console.log(this.clubs)\r\n })\n this.broadCastActiveUser = this.activeUserService.currentUser.subscribe(data => {\r\n this.currentUser = data\r\n this.selectedClub = this.currentUser.clubModel\r\n this.dbService.getEventsByClub(data.clubModel.clubModelId);\r\n\r\n this.broadCastPisDB = this.dbService.broadCastPis.subscribe(data => {\r\n this.activePis = data;\r\n console.log('Active Pis from DB');\r\n console.log(data)\r\n })\r\n })\n\n //SIGNALR SERVICES\r\n this.broadCastPisSignalR = this.signalR.broadCastPis.subscribe(data => {\r\n this.activePis = data;\r\n console.log('Active Pis from SignalR');\r\n console.log(data)\r\n //this.signalR.broadCastEvents.subscribe(data => {\r\n // if (this.selectedClub)\r\n // this.allEvents = data.filter(event => event.clubModelId == this.selectedClub.clubModelId);\r\n //})\r\n })\n\n this.dbService.getActivePis();\n this.signalR.changedPiConnectionList();\n }\n getTheColor2(readerName) {\r\n //Check if reader exists if so check if it's active\r\n var status = 0\r\n if (this.activePis) {\r\n this.activePis.forEach(Pi => {\r\n Pi.availableReaders.forEach(reader => {\r\n if (reader.readerName == readerName) {\r\n if (!reader.isConnected)\r\n status = 3;\r\n else if (reader.isListening)\r\n status = 2;\r\n else\r\n status = 1;\r\n }\r\n })\r\n })\r\n }\r\n else\r\n return 'pink'\r\n if (status == 0)\r\n return 'red';\r\n if (status == 1)\r\n return 'yellow';\r\n if (status == 2)\r\n return 'green';\r\n if (status == 3)\r\n return 'orange'\r\n else\r\n return 'pink';\r\n }\n}\n","\n\n \n \n\n \n
\n
\n
\n Status Läsare\n
\n
\n
\n
\n\n \n \n \n \n {{club.name}}\n \n \n \n \n \n \n
\n Läsare\n
\n
\n \n \n \n {{reader.readerName}}\n \n \n circle\n \n\n \n \n
\n \n \n
\n\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ResetPasswordDto } from '../../models/interfaceModels';\r\nimport { ActiveuserService } from '../../services/activeuser.service';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { DataRoomService } from '../../services/data-room.service';\r\nimport { AuthenticationService } from '../authentication.service';\r\n\n@Component({\n selector: 'app-reset-password',\n templateUrl: './reset-password.component.html',\n styleUrls: ['./reset-password.component.css']\n})\nexport class ResetPasswordComponent implements OnInit {\n\n public resetPasswordForm: FormGroup;\r\n\r\n public showError: boolean;\r\n public errorMessage: string;\r\n private _token: string;\r\n private _email: string;\r\n\r\n \r\n\r\n constructor(private _authService: AuthenticationService, private dataRoom: DataRoomService ,\r\n private _route: ActivatedRoute,\r\n private router:Router) { }\r\n ngOnInit(): void {\r\n this.resetPasswordForm = new FormGroup({\r\n password: new FormControl('', [Validators.required]),\r\n confirm: new FormControl('')\r\n });\r\n this.resetPasswordForm.get('confirm').setValidators([Validators.required,\r\n this.dataRoom.validateConfirmPassword(this.resetPasswordForm.get('password'))]);\r\n\r\n this._token = this._route.snapshot.queryParams['token'];\r\n this._email = this._route.snapshot.queryParams['email'];\r\n }\n\n public validateControl = (controlName: string) => {\r\n return this.resetPasswordForm.controls[controlName].invalid && this.resetPasswordForm.controls[controlName].touched\r\n }\r\n public hasError = (controlName: string, errorName: string) => {\r\n return this.resetPasswordForm.controls[controlName].hasError(errorName)\r\n }\r\n public resetPassword = (resetPasswordFormValue) => {\r\n const resetPass = { ...resetPasswordFormValue };\r\n const resetPassDto: ResetPasswordDto = {\r\n password: resetPass.password,\r\n confirmPassword: resetPass.confirm,\r\n token: this._token,\r\n email: this._email\r\n }\r\n this._authService.resetPassword(resetPassDto)\r\n .subscribe(_ => {\r\n this.router.navigate(['/auth/login'])\r\n },\r\n error => {\r\n this.showError = true;\r\n this.errorMessage = error;\r\n })\n }\n}\n","
\n \n \n \n Skapa nytt lösenord::\n \n \n \n
\n
\n \n \n info_outline\n \n Lösenord måste anges\n \n \n
\n
\n
\n \n \n info_outline\n \n Lösenord måste konfirmeras\n \n \n Lösenorden stämmer inte överrens\n \n \n
\n
\n\n \n \n\n \n\n
\n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-edit-event',\n templateUrl: './edit-event.component.html',\n styleUrls: ['./edit-event.component.css']\n})\nexport class EditEventComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

edit-event works!

\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}