{"version":3,"file":"main.js","mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;AC5IA;;;;;;;;;;ACAA","sources":["./src/app/all-free-agents/all-free-agents.component.ts","./src/app/all-free-agents/all-free-agents.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/auth.guard.ts","./src/app/interceptors/error.interceptor.ts","./src/app/interceptors/interceptor-provider.ts","./src/app/interceptors/jwt.interceptor.ts","./src/app/models/player.ts","./src/app/models/team.ts","./src/app/services/alert-service.service.ts","./src/app/services/offers.service.ts","./src/app/services/player-mapper.service.ts","./src/app/services/players.service.ts","./src/app/services/salary-scale.service.ts","./src/app/views/adm-teams-summary/adm-teams-summary.component.ts","./src/app/views/adm-teams-summary/adm-teams-summary.component.html","./src/app/views/login/login.component.ts","./src/app/views/login/login.component.html","./src/app/views/my-free-agents/my-free-agents.component.ts","./src/app/views/my-free-agents/my-free-agents.component.html","./src/app/views/my-salary-cap/my-salary-cap.component.ts","./src/app/views/my-salary-cap/my-salary-cap.component.html","./src/app/views/negotiations/negotiations.component.ts","./src/app/views/negotiations/negotiations.component.html","./src/app/views/results/results.component.ts","./src/app/views/results/results.component.html","./src/app/widgets/nego-player-detail/nego-player-detail.component.html","./src/app/widgets/nego-player-detail/nego-player-detail.component.ts","./src/app/widgets/offer-sender/offer-sender.component.ts","./src/app/widgets/offer-sender/offer-sender.component.html","./src/app/widgets/player-detail/player-detail.component.ts","./src/app/widgets/player-detail/player-detail.component.html","./src/app/widgets/player-result/player-result.component.ts","./src/app/widgets/player-result/player-result.component.html","./src/app/widgets/table-player-detail/table-player-detail.component.ts","./src/app/widgets/table-player-detail/table-player-detail.component.html","./src/aws-exports.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/@aws-amplify/ui-components/dist/esm/ lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","ignored|/codebuild/output/src3020415796/src/lhsdh-freeagents/node_modules/amazon-cognito-identity-js/es/utils|crypto","ignored|/codebuild/output/src3020415796/src/lhsdh-freeagents/node_modules/crypto-js|crypto"],"sourcesContent":["import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { Player } from '../models/player';\nimport { PlayersService } from '../services/players.service';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Auth } from 'aws-amplify';\nimport { AlertServiceService } from '../services/alert-service.service';\n\n@Component({\n selector: 'app-all-free-agents',\n templateUrl: './all-free-agents.component.html',\n styleUrls: ['./all-free-agents.component.css'],\n animations: [\n trigger('detailExpand', [\n state('collapsed', style({ height: '0px', minHeight: '0' })),\n state('expanded', style({ height: '*' })),\n transition(\n 'expanded <=> collapsed',\n animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')\n ),\n ]),\n ],\n})\nexport class AllFreeAgentsComponent implements OnInit, AfterViewInit {\n displayedColumns: string[] = [\n 'teamCity',\n 'name',\n 'position',\n 'OVK',\n 'age',\n 'status',\n 'expSalary',\n ];\n dataSource: MatTableDataSource = new MatTableDataSource();\n expandedElement: Player | null;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n connectedUserTeam: number = 0;\n\n constructor(private playerService: PlayersService, private alertService: AlertServiceService) {\n Auth.currentUserInfo()\n .then((info) => {\n const team = info.attributes['custom:team'];\n this.connectedUserTeam = +team;\n })\n .catch(() => console.log('Not signed in'));\n }\n\n ngOnInit(): void {\n this.playerService.getFreeAgents().subscribe(\n (players) => {\n players.sort((a: Player, b: Player) => {\n if (a.team.teamCity.localeCompare(b.team.teamCity) === 0) {\n if (a.status.localeCompare(b.status) === 0) {\n return a.position.localeCompare(b.position);\n }\n return a.status.localeCompare(b.status) * -1;\n }\n return a.team.teamCity.localeCompare(b.team.teamCity);\n });\n this.dataSource.data = players as Player[];\n this.dataSource.filterPredicate = (data: Player, filter: string) => {\n return (\n data.name.toLowerCase().includes(filter) ||\n data.teamCity.toLowerCase().includes(filter) ||\n data.position.toLowerCase().includes(filter)\n );\n };\n },\n (error) => {\n this.alertService.showErrorMsg(\"Nous n'avons pas réussi a charger les agents libres. Contacter Kriss\");\n }\n );\n }\n\n ngAfterViewInit(): void {\n this.dataSource.sort = this.sort;\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.dataSource.filter = filterValue.trim().toLowerCase();\n }\n}\n","
\n \n Recherche\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 \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n\n \n \n \n
Équipe {{element.teamCity}} Nom {{element.name}} Position {{element.position}} Overall {{element.OVK}} Age {{element.age}} Statut \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
Salaire Attendu {{element.expSalary}} \n
\n \n
\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AuthGuard } from './auth.guard';\nimport { LoginComponent } from './views/login/login.component';\nimport { AllFreeAgentsComponent } from './all-free-agents/all-free-agents.component';\nimport { MyFreeAgentsComponent } from './views/my-free-agents/my-free-agents.component';\nimport { MySalaryCapComponent } from './views/my-salary-cap/my-salary-cap.component';\nimport { NegotiationsComponent } from './views/negotiations/negotiations.component';\nimport { AdmTeamsSummaryComponent } from './views/adm-teams-summary/adm-teams-summary.component';\nimport { ResultsComponent } from './views/results/results.component';\n\n\nconst routes: Routes = [\n {path: 'all-free-agents', component: AllFreeAgentsComponent, canActivate: [AuthGuard]},\n { path: 'login', component: LoginComponent },\n { path: 'my-free-agents', component: MyFreeAgentsComponent, canActivate: [AuthGuard]},\n { path: 'my-salary-cap', component: MySalaryCapComponent, canActivate: [AuthGuard]},\n { path: 'negociations', component: NegotiationsComponent, canActivate: [AuthGuard]},\n { path: 'adm-teams-summary', component: AdmTeamsSummaryComponent, canActivate: [AuthGuard]},\n { path: 'adm-results', component: ResultsComponent, canActivate: [AuthGuard]},\n { path: '**', redirectTo: '/all-free-agents' }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { MediaMatcher } from '@angular/cdk/layout';\nimport { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild, NgZone } from '@angular/core';\nimport { Auth, Hub } from 'aws-amplify';\nimport { Router } from '@angular/router';\nimport { PlayerMapperService } from './services/player-mapper.service';\nimport { Team } from './models/team';\nimport { Player } from './models/player';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css'],\n})\nexport class AppComponent implements OnInit, OnDestroy {\n title = 'lhsdb-freeagents';\n isSignedIn: boolean = false;\n connectedUsername: string;\n mobileQuery: MediaQueryList;\n teamLogoURL: string = \"\";\n isAdmin: boolean = false;\n\n private _mobileQueryListener: () => void;\n @ViewChild('sidenav') sideNav;\n\n constructor(\n changeDetectorRef: ChangeDetectorRef,\n media: MediaMatcher,\n private router: Router,\n private ngZone: NgZone,\n private playerMapperService: PlayerMapperService\n ) {\n this.mobileQuery = media.matchMedia('(max-width: 600px)');\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\n this.mobileQuery.addListener(this._mobileQueryListener);\n\n Hub.listen('auth', (data) => {\n switch (data.payload.event) {\n case 'signOut':\n console.log('Logout Clicked');\n this.isSignedIn = false;\n this.sideNav.toggle();\n this.ngZone.run(() => this.router.navigate(['login'], { replaceUrl: true }));\n break;\n case 'signIn':\n this.onLogin();\n }\n });\n }\n\n ngOnInit() {\n this.onLogin();\n }\n\n ngOnDestroy(): void {\n this.mobileQuery.removeListener(this._mobileQueryListener);\n }\n\n onLogin(){\n Auth.currentUserInfo()\n .then((info) => {\n const team = info.attributes['custom:team'];\n const isAdm = info.attributes['custom:isAdmin'];\n\n this.setTeamLogoURL(team);\n this.isSignedIn = true;\n this.isAdmin = (isAdm == 1);\n })\n .catch(() => console.log('Not signed in'));\n }\n\n setTeamLogoURL(teamID: number)\n {\n const team: Team = this.playerMapperService.mapTeam(+teamID);\n this.connectedUsername= team.teamCity + \" \" + team.teamName;\n this.teamLogoURL = 'https://assets.nhle.com/logos/nhl/svg/'+ team.logoId + '_dark.svg';\n }\n\n getNegociationsCount()\n {\n const storageKey = \"LHSDB-FA-2024\";\n let currentNegociations = [];\n let savedNegociations = JSON.parse(localStorage.getItem(storageKey));\n\n if(savedNegociations != null){\n currentNegociations = savedNegociations;\n }\n return currentNegociations.length;\n }\n}\n","\n \n \n LHSDB Agents Libres\n \n \n {{connectedUsername}}\n \n\n\n\n \n\n \n Mes Agents Libres \n Masse Salariale\n Joueurs Disponibles \n \n Négociations \n \n Sommaire par\n équipe \n Résultats\n préliminaires \n \n \n \n\n \n
\n \n
\n
\n
\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule, LOCALE_ID } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatSidenavModule } from '@angular/material/sidenav'\nimport { MatCardModule } from '@angular/material/card';\nimport { MatListModule } from '@angular/material/list'\nimport { AllFreeAgentsComponent } from './all-free-agents/all-free-agents.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n\nimport { LoginComponent } from './views/login/login.component';\nimport { MyFreeAgentsComponent } from './views/my-free-agents/my-free-agents.component';\nimport { MySalaryCapComponent } from './views/my-salary-cap/my-salary-cap.component';\nimport { NegotiationsComponent } from './views/negotiations/negotiations.component';\nimport { PlayerDetailComponent } from './widgets/player-detail/player-detail.component';\n\n/* Add Amplify imports */\nimport { AmplifyUIAngularModule } from '@aws-amplify/ui-angular';\nimport { AmplifyAngularModule, AmplifyService } from 'aws-amplify-angular';\nimport { HttpInterceptorProviders} from './interceptors/interceptor-provider';\nimport { AuthGuard } from './auth.guard';\n\n// Locales\nimport { registerLocaleData } from '@angular/common';\nimport localeFr from \"@angular/common/locales/fr\";\nimport { TablePlayerDetailComponent } from './widgets/table-player-detail/table-player-detail.component';\nimport { OfferSenderComponent } from './widgets/offer-sender/offer-sender.component';\nimport { NegoPlayerDetailComponent } from './widgets/nego-player-detail/nego-player-detail.component';\nimport { AdmTeamsSummaryComponent } from './views/adm-teams-summary/adm-teams-summary.component';\nimport { PlayerResultComponent } from './widgets/player-result/player-result.component';\nimport { ResultsComponent } from './views/results/results.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n AllFreeAgentsComponent,\n LoginComponent,\n MyFreeAgentsComponent,\n MySalaryCapComponent,\n NegotiationsComponent,\n PlayerDetailComponent,\n TablePlayerDetailComponent,\n OfferSenderComponent,\n NegoPlayerDetailComponent,\n AdmTeamsSummaryComponent,\n PlayerResultComponent,\n ResultsComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n //MAT\n MatButtonModule,\n MatTableModule,\n MatChipsModule,\n MatToolbarModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatSortModule,\n MatSidenavModule,\n MatListModule,\n MatCardModule,\n MatGridListModule,\n MatTooltipModule,\n MatBadgeModule,\n MatSliderModule,\n MatSnackBarModule,\n MatSelectModule,\n MatProgressSpinnerModule,\n // Amplify\n AmplifyUIAngularModule\n ],\n providers: [\n AmplifyService,\n AuthGuard,\n HttpInterceptorProviders,\n { provide: LOCALE_ID, useValue: \"fr-ca\" }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\nregisterLocaleData(localeFr, \"fr\");\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport Auth from '@aws-amplify/auth';\nimport { Observable } from 'rxjs';\n\n\n/**\n * Prevent access to routes if access-token is not present.\n *\n * @export\n * @class AuthGuard\n * @implements {CanActivate}\n */\n@Injectable()\nexport class AuthGuard implements CanActivate {\n constructor(private _router: Router) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean {\n\n return Auth.currentAuthenticatedUser().then(() => { return true; })\n .catch(() => {\n this._router.navigate(['/login']);\n return false;\n });\n\n return true;\n\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { Auth } from 'aws-amplify';\n\n\n/**\n * This is used to logout the user, when the server responds with an unathorized status code.\n * Especially when the session token expires.\n * @export\n * @class ErrorInterceptor\n * @implements {HttpInterceptor}\n */\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n\n constructor() { }\n\n\n /**\n * Intercepter intercepts the responses, and then process based on the recieved status code\n * @param {HttpRequest} request\n * @param {HttpHandler} next\n * @returns {Observable>}\n * @memberof ErrorInterceptor\n */\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n\n return next.handle(request).pipe(catchError(err => {\n\n if (err.status === 401) {\n\n // auto logout if 401 response returned from api\n Auth.signOut({ global: true })\n .then(data => console.log(data))\n .catch(err => console.log(err));\n\n }\n\n // err.error is not null, if the ResponsenEntity contains an Exception\n // err.error.message will give the custom message send from the server\n const error = err.error.message || err.statusText;\n return throwError(error);\n\n }))\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport {JwtInterceptor} from './jwt.interceptor';\nimport {ErrorInterceptor} from './error.interceptor';\n\nexport const HttpInterceptorProviders = [\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor , multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor , multi: true }\n];\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Auth } from 'aws-amplify';\n\nimport { from, Observable } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\n/**\n * This will append jwt token for the http requests.\n *\n * @export\n * @class JwtInterceptor\n * @implements {HttpInterceptor}\n */\n@Injectable()\nexport class JwtInterceptor implements HttpInterceptor {\n\n constructor() { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n\n return from(Auth.currentSession())\n .pipe(\n switchMap((auth: any) => { // switchMap() is used instead of map().\n\n let jwt = auth.accessToken.jwtToken;\n let with_auth_request = request.clone({\n setHeaders: {\n Authorization: `Bearer ${jwt}`\n }\n });\n return next.handle(with_auth_request);\n }),\n catchError((err) => {\n console.log(\"Error \", err);\n return next.handle(request);\n })\n );\n\n }\n\n}\n","import { Team } from './team';\nimport { ExpectedSalary } from '../services/salary-scale.service';\n\nconst formatter = new Intl.NumberFormat('fr-CA', {\n style: 'decimal',\n currency: 'USD',\n minimumFractionDigits: 0\n})\n\nexport class Player {\n\tuniqueID: number;\n\tname: string;\n\tURLLink: string;\n\tteam: Team;\n\tcontract: number;\n\tsalary: number;\n\tOVK: number;\n\tposition: string;\n\tisFA: boolean;\n\tage: number;\n status: string;\n expectedSalary: ExpectedSalary;\n\n constructor(\tuniqueID: number, name: string){\n this.uniqueID = uniqueID;\n this.name = name;\n }\n\n get teamCity(){\n if(this.team)\n {\n return this.team.teamCity;\n }\n return null;\n }\n\n get expSalary(): string{\n if(this.expectedSalary)\n {\n const min = formatter.format(this.expectedSalary.min);\n const max = formatter.format(this.expectedSalary.max);\n return min + \"$ à \" + max + \"$\";\n }\n return \"\";\n }\n\n}\n","export class Team {\n teamID: number;\n teamName: string;\n teamCity: string;\n logoId: string;\n\n constructor( teamID: number, teamCity: string, teamName: string, logoID: string){\n this.teamID = teamID;\n this.teamCity = teamCity;\n this.teamName = teamName;\n this.logoId = logoID;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertServiceService {\n\n constructor(private _snackBar: MatSnackBar) { }\n\n showConfirmMsg(msg: string)\n {\n this._snackBar.open(msg, 'OK', {duration: 5000, panelClass: ['mat-toolbar', 'mat-primary']});\n }\n\n showErrorMsg(msg: string)\n {\n this._snackBar.open(msg, 'Oups', {duration: 5000, panelClass: ['mat-toolbar', 'mat-warn']});\n }\n\n showAccentMsg(msg: string)\n {\n this._snackBar.open(msg, 'OK', {duration: 5000, panelClass: ['mat-toolbar', 'mat-accent']});\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Player } from '../models/player';\nimport { Offer } from '../models/offer';\nimport { Auth } from 'aws-amplify';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OffersService {\n OFFERS_RESSOURCE_URL = 'https://lhsdb-fa-api.piriwin.com/offers';\n //OFFERS_RESSOURCE_URL = 'https://localhost:44351/offers';\n\n constructor(private restClient: HttpClient) { }\n\n async sendNewContractOffer(\n player: Player,\n amount: number,\n isOwner: boolean\n ): Promise {\n var success: boolean = false;\n /*\n await Auth.currentUserInfo()\n .then((info) => {\n const team = info.attributes['custom:team'];\n const newOffer: Offer = new Offer(\n player.uniqueID,\n team,\n info.username,\n isOwner,\n amount,\n player.status,\n player.name\n );\n\n this.restClient\n .post(this.OFFERS_RESSOURCE_URL, newOffer, { responseType: 'text' })\n .subscribe(\n (data) => {\n console.log('Success data=' + data);\n success = true;\n },\n (error) => {\n console.error('There was an error!' + error, error.message);\n success = false;\n }\n );\n })\n .catch(() => {\n console.log('Not signed in');\n });*/\n window.alert(\"Le marché des agents libres est maintenant fermé\");\n return false;\n }\n\n getOffersByTeam(teamId: number): Observable {\n return this.restClient\n .get(this.OFFERS_RESSOURCE_URL + '/teams/' + teamId)\n .pipe(\n map((responseData) => {\n const playersArray: Offer[] = [];\n\n for (const key in responseData) {\n if (responseData.hasOwnProperty(key)) {\n const offerResponse = { ...responseData[key] };\n // const mappedPlayer = this.playerMapper.playerResponseToPlayer(playerResponse);\n playersArray.push(offerResponse);\n }\n }\n return playersArray;\n })\n );\n }\n\n getOffersForPlayer(playerId: number): Observable {\n return this.restClient\n .get(this.OFFERS_RESSOURCE_URL + '/players/' + playerId)\n .pipe(\n map((responseData) => {\n const offersArray: Offer[] = [];\n\n for (const key in responseData) {\n if (responseData.hasOwnProperty(key)) {\n const offerResponse = { ...responseData[key] };\n offersArray.push(offerResponse);\n }\n }\n return offersArray;\n })\n );\n }\n\n removeOffer(playerId: number): Observable {\n // return this.restClient.delete(this.OFFERS_RESSOURCE_URL + \"/\" + playerId);\n window.alert(\"Le marché des agents libres est maintenant fermé\");\n return;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PlayerResponse } from '../models/backend/playerResponse';\nimport { Player } from '../models/player';\nimport { Team } from '../models/team';\nimport { SalaryScaleService } from './salary-scale.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PlayerMapperService {\n constructor(private salaryScaleService: SalaryScaleService) {}\n\n playerResponseToPlayer(playerResponse: PlayerResponse): Player {\n var player: Player = new Player(\n playerResponse.uniqueID,\n playerResponse.name\n );\n player.OVK = playerResponse.ovk;\n player.URLLink = playerResponse.urlLink;\n player.age = playerResponse.age;\n player.isFA = playerResponse.isFA;\n player.position = playerResponse.position;\n player.salary = playerResponse.salary;\n player.team = this.mapTeam(playerResponse.team);\n player.status = this.mapStatus(playerResponse.isFA, playerResponse.age);\n player.contract = this.mapContract(playerResponse.contract, playerResponse.isFA, playerResponse.age);\n player.expectedSalary = this.salaryScaleService.getPlayerExpectedSalary(player);\n return player;\n }\n\n\n mapStatus(IsFA: boolean, Age: number): string {\n if (IsFA) {\n if (Age > 26) {\n if (Age > 34) {\n return '35+';\n }\n return 'UFA';\n } else {\n return 'RFA';\n }\n } else {\n return 'Signed';\n }\n }\n\n mapTeam(teamId: number): Team {\n switch (teamId) {\n case 1:\n return new Team(teamId, 'Buffalo', 'Sabres', \"BUF\");\n case 2:\n return new Team(teamId, 'Ottawa ', 'Senators', \"OTT\");\n case 3:\n return new Team(teamId, 'Montreal', 'Canadiens', \"MTL\");\n case 4:\n return new Team(teamId, 'Boston', 'Bruins', \"BOS\");\n case 5:\n return new Team(teamId, 'Toronto', 'Maple Leafs', \"TOR\");\n case 6:\n return new Team(teamId, 'Pittsburgh', 'Penguins', \"PIT\");\n case 7:\n return new Team(teamId, 'Philadelphia', 'Flyers', \"PHI\");\n case 8:\n return new Team(teamId, 'Winnipeg', 'Jets', \"WPG\");\n case 9:\n return new Team(teamId, 'Florida', 'Panthers', \"FLA\");\n case 10:\n return new Team(teamId, 'Tampa Bay', 'Lightning', \"TBL\");\n case 11:\n return new Team(teamId, 'NYR', 'Rangers', \"NYR\");\n case 12:\n return new Team(teamId, 'NYI', 'Islanders', \"NYI\");\n case 13:\n return new Team(teamId, 'New Jersey', 'Devils', \"NJD\");\n case 14:\n return new Team(teamId, 'Washington', 'Capitals', \"WSH\");\n case 15:\n return new Team(teamId, 'Carolina', 'Hurricanes', \"CAR\");\n case 16:\n return new Team(teamId, 'Dallas', 'Stars', \"DAL\");\n case 17:\n return new Team(teamId, 'Chicago', 'Blackhawks', \"CHI\");\n case 18:\n return new Team(teamId, 'San Jose', 'Sharks', \"SJS\");\n case 19:\n return new Team(teamId, 'St. Louis', 'Blues', \"STL\");\n case 20:\n return new Team(teamId, 'Vancouver', 'Canucks', \"VAN\");\n case 21:\n return new Team(teamId, 'Columbus', 'Blue Jackets', \"CBJ\");\n case 22:\n return new Team(teamId, 'Detroit', 'Red Wings', \"DET\");\n case 23:\n return new Team(teamId, 'Colorado', 'Avalanche', \"COL\");\n case 24:\n return new Team(teamId, 'Calgary', 'Flames', \"CGY\");\n case 25:\n return new Team(teamId, 'Edmonton', 'Oilers', \"EDM\");\n case 26:\n return new Team(teamId, 'Phoenix', 'Coyotes', \"UTA\");\n case 27:\n return new Team(teamId, 'Anaheim', 'Ducks', \"ANA\");\n case 28:\n return new Team(teamId, 'Los Angeles', 'Kings', \"LAK\");\n case 29:\n return new Team(teamId, 'Nashville', 'Predators', \"NSH\");\n case 30:\n return new Team(teamId, 'Minnesota', 'Wild', \"MIN\");\n case 31:\n return new Team(teamId, 'Vegas', 'Golden Knights', \"VGK\");\n case 32:\n return new Team(teamId, 'Seattle', 'Kraken', \"SEA\");\n case 33:\n return new Team(teamId, 'Agent Libres','Libre', \"NHL\");\n default:\n return new Team(teamId, 'Unknown', 'Team', \"NHL\");\n }\n }\n\n mapContract(Contract: number, IsFA: boolean, Age: number): number {\n if (IsFA && Age > 34) {\n return 0;\n }\n return Contract;\n }\n}\n","import { Injectable, OnInit } from '@angular/core';\nimport { Player } from '../models/player';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { PlayerResponse } from '../models/backend/playerResponse';\nimport { PlayerMapperService } from './player-mapper.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlayersService {\n //PLAYER_RESSOURCE_URL = 'https://localhost:44351/players';\n PLAYER_RESSOURCE_URL = 'https://lhsdb-fa-api.piriwin.com/players';\n\n constructor(\n private restClient: HttpClient,\n private playerMapper: PlayerMapperService) { }\n\n getFreeAgents(): Observable {\n return this.restClient.get(this.PLAYER_RESSOURCE_URL + '/freeagents')\n .pipe(\n map(responseData => {\n const playersArray: Player[] = [];\n\n for (const key in responseData) {\n if (responseData.hasOwnProperty(key)) {\n const playerResponse = { ...responseData[key] };\n const mappedPlayer = this.playerMapper.playerResponseToPlayer(playerResponse);\n playersArray.push(mappedPlayer);\n }\n }\n return playersArray;\n }));\n }\n\n getPlayersFromTeam (teamId: number, onlyFA:boolean): Observable{\n\n let queryParams = new HttpParams().set('faOnly', String(onlyFA));\n\n return this.restClient.get(this.PLAYER_RESSOURCE_URL + '/teams/' + teamId, { params: queryParams })\n .pipe(\n map(responseData => {\n const playersArray: Player[] = [];\n\n for (const key in responseData) {\n if (responseData.hasOwnProperty(key)) {\n const playerResponse = { ...responseData[key] };\n const mappedPlayer = this.playerMapper.playerResponseToPlayer(playerResponse);\n playersArray.push(mappedPlayer);\n }\n }\n return playersArray;\n }));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Player } from '../models/player';\n\nexport interface ExpectedSalary{\n min: number;\n max: number;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SalaryScaleService {\n constructor() {}\n\n getPlayerExpectedSalary(player: Player): ExpectedSalary {\n let ret: ExpectedSalary = { min: 0, max: 8000000 };\n\n switch (player.position) {\n case 'Attaquant':\n case 'Défenseur':\n ret = this.getForwardExpectedSalary(player);\n break;\n case 'Gardien':\n ret = this.getGoalieExpectedSalary(player);\n break;\n }\n\n if (player.status === '35+') {\n return { min: ret.min, max: 10000000 };\n }\n return ret;\n }\n private getGoalieExpectedSalary(player: Player): ExpectedSalary {\n var ovk = player.OVK;\n switch (true) {\n case ovk > 83:\n return { min: 6500000, max: 8000000 };\n case ovk >= 81 && ovk <= 83:\n return { min: 5000000, max: 6500000 };\n case ovk >= 77 && ovk <= 80:\n return { min: 3000000, max: 5000000 };\n case ovk >= 75 && ovk <= 76:\n return { min: 2000000, max: 3000000 };\n case ovk >= 73 && ovk <= 74:\n return { min: 1500000, max: 2000000 };\n case ovk >= 71 && ovk <= 72:\n return { min: 1000000, max: 1500000 };\n case ovk >= 69 && ovk <= 70:\n return { min: 750000, max: 1000000 };\n case ovk >= 65 && ovk <= 68:\n return { min: 500000, max: 750000 };\n case ovk < 65:\n return { min: 300000, max: 500000 };\n\n default:\n return { min: 0, max: 0 };\n }\n }\n private getForwardExpectedSalary(player: Player): ExpectedSalary {\n var ovk = player.OVK;\n switch (true) {\n case ovk > 83:\n return { min: 6500000, max: 8000000 };\n\n case ovk >= 81 && ovk <= 83:\n return { min: 5000000, max: 6500000 };\n\n case ovk >= 77 && ovk <= 80:\n return { min: 3500000, max: 5000000 };\n\n case ovk >= 74 && ovk <= 76:\n return { min: 2500000, max: 3500000 };\n\n case ovk >= 69 && ovk <= 73:\n return { min: 1000000, max: 2500000 };\n\n case ovk >= 65 && ovk <= 68:\n return { min: 500000, max: 1000000 };\n\n case ovk < 65:\n return { min: 300000, max: 500000 };\n\n default:\n return { min: 0, max: 0 };\n }\n }\n /*\n Compensation pour obtenir un RFA\n 7M à 8 M---> 3 choix de 1ere + 2 choix de 2eme\n 6M à 7,99M ---> 2 choix de 1ere + 2 choix de 2eme\n 5M à 5,99M ---> 2 choix de 1ere + 1 choix de 2eme\n 4,2M à 4,99M ---> 2 choix de 1ere\n 3,5M à 4,19M ---> 1 choix de 1ere + 1 choix de 2eme\n 2,7M à 3,49M ---> 1 choix de 1ere\n 2M à 2,69M ---> 2 choix de 2eme\n 1M à 1,99M ---> 1 choix de 2eme\n */\n getCompensationForSalary(salary: number): string {\n if (salary >= 7000000) {\n return '3x 1st round + 2x 2nd round';\n } else if (salary >= 6000000) {\n return '2x 1st round + 2x 2nd round';\n } else if (salary >= 5000000) {\n return '2x 1st round + 1 2nd round';\n } else if (salary >= 4200000) {\n return '2x 1st round';\n } else if (salary >= 3500000) {\n return '1x 1st round + 1x 2nd round';\n } else if (salary >= 2700000) {\n return '1st round pick';\n } else if (salary >= 2000000) {\n return '2x 2nd round';\n } else if (salary >= 1000000) {\n return '2nd round pick';\n }\n return '';\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Team } from 'src/app/models/team';\nimport { OffersService } from 'src/app/services/offers.service';\nimport { PlayerMapperService } from 'src/app/services/player-mapper.service';\n\nexport interface TeamSummary{\n team: Team;\n owned: number;\n others: number;\n}\n\n@Component({\n selector: 'app-adm-teams-summary',\n templateUrl: './adm-teams-summary.component.html',\n styleUrls: ['./adm-teams-summary.component.css']\n})\n\nexport class AdmTeamsSummaryComponent implements OnInit {\n allTeams: Team[] = [];\n teamSummaries: TeamSummary[] = [];\n waitingFor: string[] = [];\n\n constructor(private playerMapperService: PlayerMapperService, private offerService: OffersService) { }\n\n ngOnInit(): void {\n this.fillTeamList();\n this.fillSummaries();\n\n }\n\n fillSummaries() {\n this.allTeams.forEach(teamIterator => {\n this.offerService.getOffersByTeam(teamIterator.teamID).subscribe(\n (offers) => {\n let ownedCount: number = 0;\n let othersCounts: number = 0;\n\n offers.forEach(offer => {\n if(offer.isOwner){\n ownedCount++;\n }\n else{\n othersCounts++;\n }\n });\n\n let teamSummary: TeamSummary = {\n team : teamIterator,\n owned : ownedCount,\n others : othersCounts\n }\n\n this.teamSummaries.push(teamSummary);\n\n if(ownedCount === 0 && othersCounts === 0){\n this.waitingFor.push(teamIterator.teamName);\n }\n\n },\n (error) => {\n console.error(error);\n }\n );\n });\n }\n\n fillTeamList() {\n for (let index = 1; index <= 32; index++) {\n const team: Team = this.playerMapperService.mapTeam(index);\n this.allTeams.push(team);\n }\n this.allTeams.sort((a, b) => a.teamCity.localeCompare(b.teamCity));\n }\n\n}\n","
\n

Décompte des offres par équipe

\n\n
\n
Équipe
\n
Offres à ses joueurs
\n
Offres aux autres
\n
\n\n
\n
{{teamSummary.team.teamName}}
\n
{{teamSummary.owned}}
\n
{{teamSummary.others}}
\n
\n \n

On attend les offres de:

\n
    \n
  • {{item}}
  • \n
\n
\n","import { Component, OnInit, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Auth, Hub } from 'aws-amplify';\nimport { AmplifyService } from 'aws-amplify-angular'\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements OnInit {\n\n constructor(\n private router: Router,\n private amplifyService: AmplifyService,\n private zone: NgZone,\n private spinner: NgxSpinnerService) {\n\n\n // Used for listening to login events\n Hub.listen(\"auth\", ({ payload: { event, data } }) => {\n if (event === \"cognitoHostedUI\" || event === \"signedIn\" || event === 'signIn') {\n console.log(event);\n this.zone.run(() => this.router.navigate(['/all-free-agents']));\n } else {\n this.spinner.hide();\n }\n });\n\n //currentAuthenticatedUser: when user comes to login page again\n Auth.currentAuthenticatedUser()\n .then(() => {\n this.router.navigate(['/all-free-agents'], { replaceUrl: true });\n }).catch((err) => {\n this.spinner.hide();\n console.log(err);\n })\n\n }\n\n ngOnInit(): void {\n }\n}\n","
\n
\n \n \n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { PlayersService } from 'src/app/services/players.service';\nimport { Player } from 'src/app/models/player';\nimport { Auth, Hub } from 'aws-amplify';\nimport { OffersService } from 'src/app/services/offers.service';\nimport { Offer } from 'src/app/models/offer';\nimport { AlertServiceService } from 'src/app/services/alert-service.service';\n\nconst formatter = new Intl.NumberFormat('fr-CA', {\n style: 'currency',\n currency: 'CAD',\n minimumFractionDigits: 0\n})\n\n@Component({\n selector: 'app-my-free-agents',\n templateUrl: './my-free-agents.component.html',\n styleUrls: ['./my-free-agents.component.css'],\n})\n\nexport class MyFreeAgentsComponent implements OnInit {\n\n isDeleteButtonEnabled: boolean = true;\n\n // players\n ufas: Player[] = [];\n rfas: Player[] = [];\n trenteCinq: Player[] = [];\n\n // offers\n playersWithOfferIds: number[] = [];\n playersWithOffer: Player[] = [];\n myOffers: Offer[] = [];\n\n constructor(private playerService: PlayersService, private offerService: OffersService, private alertService: AlertServiceService) {}\n\n ngOnInit(): void {\n\n Auth.currentUserInfo()\n .then((info) => {\n const team = info.attributes['custom:team'];\n this.fetchPlayersWithOffer(team);\n })\n .catch(() => console.log('Not signed in'));\n }\n\n fetchPlayersWithOffer(team: number){\n this.offerService.getOffersByTeam(team).subscribe(\n (offers) => {\n this.myOffers = offers;\n\n this.myOffers.forEach(offer => {\n if(offer.isOwner){\n this.playersWithOfferIds.push(offer.playerId);\n }\n });\n\n this.fetchFreeAgents(team);\n },\n (error) => {\n console.error(error);\n this.fetchFreeAgents(team);\n }\n );\n }\n\n fetchFreeAgents(team: number){\n\n this.playerService.getPlayersFromTeam(team, true).subscribe((players) => {\n for (let player of players) {\n\n if (this.playersWithOfferIds.indexOf(player.uniqueID) !== -1) {\n this.playersWithOffer.push(player);\n\n } else {\n switch (player.status) {\n case 'UFA':\n this.ufas.push(player);\n break;\n case 'RFA':\n this.rfas.push(player);\n break;\n case '35+':\n this.trenteCinq.push(player);\n break;\n\n default:\n break;\n }\n }\n }\n }, (error) => {\n this.alertService.showErrorMsg(\"Nous n'avons pas réussi a charger les agents libres. Contacter Kriss\");\n });\n }\n\n getContractFor(playerId: number){\n var amount = \"0$\";\n this.myOffers.forEach(offer => {\n if(offer.playerId == playerId){\n amount = formatter.format(offer.amount);\n }\n });\n\n return amount;\n }\n\n deleteOffer(playerId : number){\n this.offerService.removeOffer(playerId).subscribe(\n (data) => {\n this.alertService.showConfirmMsg(\"L'offre a été effacé correctement\");\n },\n (error) => {\n this.alertService.showErrorMsg(\"Une erreur s'est produite.\");\n }\n );\n }\n\n}\n","
\n

Mes Agents Libres

\n \n
\n

Instructions:

\n

Cette page contient tous vos agents libres(UFA, RFA et 35+)

\n

Durant la première phase vous ne devez PAS faire d'offres à vos RFA et 35+.

\n

Vous DEVEZ faire des offres à vos UFA qui se trouvent sur cette page (ou les libérer).

\n

Vous pouvez aussi faire des offres au UFA et RFA des autres équipes dans la page \"Joueurs Disponibles\".

\n \n
\n\n
\n

RFA - Agents libres avec restrictions

\n \n RFA\n \n
\n
\n
\n
\n \n {{rfa.status}}\n \n

{{rfa.name}}

\n \n \n Pos: {{rfa.position}}\n \n Age: {{rfa.age}}\n \n Overall: {{rfa.OVK}}\n \n Bracket: {{rfa.expSalary}}\n \n Durée du contrat: {{rfa.contract}}\n \n \n \n
\n
\n
\n\n
\n \n
\n

35+ - Agents libres de 35 ans ou plus

\n \n 35+\n \n
\n
\n
\n
\n \n {{agent.status}}\n \n

{{agent.name}}

\n \n \n Pos: {{agent.position}}\n \n Age: {{agent.age}}\n \n Overall: {{agent.OVK}}\n \n \n \n
\n
\n
\n\n
\n \n
\n

UFA - Agents libres sans restriction

\n \n UFA\n \n
\n
\n

Joueurs auxquels vous avez proposé un contrat:

\n
\n
\n
\n \n {{signed.status}}\n \n

{{signed.name}}

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

Joueurs toujours en attente:

\n \n
\n\n\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Auth, Hub } from 'aws-amplify';\nimport { PlayersService } from 'src/app/services/players.service';\nimport { Player } from 'src/app/models/player';\nimport {MatTableDataSource} from '@angular/material/table';\nimport { PlayerMapperService } from 'src/app/services/player-mapper.service';\nimport { Team } from 'src/app/models/team';\nimport { MatSelectChange } from '@angular/material/select';\nimport { OffersService } from 'src/app/services/offers.service';\nimport { Offer } from 'src/app/models/offer';\n\n@Component({\n selector: 'app-my-salary-cap',\n templateUrl: './my-salary-cap.component.html',\n styleUrls: ['./my-salary-cap.component.css'],\n})\nexport class MySalaryCapComponent implements OnInit {\n displayedColumns: string[] = [\n 'name',\n 'position',\n 'OVK',\n 'statut',\n 'contract',\n 'salary',\n 'expectedSalary',\n ];\n allTeams: Team[] = [];\n selectedTeam: Team;\n isAdmin: boolean = true;\n loggedTeamNumber: number;\n\n forwards: Player[] = [];\n defensemen: Player[] = [];\n goalies: Player[] = [];\n players35: Player[] = [];\n\n forwardDataSource: MatTableDataSource = new MatTableDataSource();\n defenseDataSource: MatTableDataSource = new MatTableDataSource();\n goalieDataSource: MatTableDataSource = new MatTableDataSource();\n players35DataSource: MatTableDataSource = new MatTableDataSource();\n\n currentTeamName: string = '';\n currentTeamLogoURL: string = '';\n\n //offers\n playersWithOfferIds: number[] = [];\n myOffers: Offer[] = [];\n\n constructor(\n private playerService: PlayersService,\n private playerMapperService: PlayerMapperService,\n private offerService: OffersService\n ) {}\n\n ngOnInit(): void {\n Auth.currentUserInfo()\n .then((info) => {\n // For admin\n const isAdmin = info.attributes['custom:isAdmin'];\n this.isAdmin = isAdmin == 1;\n\n //if (this.isAdmin) {\n this.fillTeamList();\n //}\n\n const team = info.attributes['custom:team'];\n this.loggedTeamNumber = team;\n this.initTables(team);\n })\n .catch(() => console.log('Not signed in'));\n }\n\n initTables(team: number) {\n this.setTeam(team);\n this.splitPlayers(team);\n this.fetchPlayersWithOffer(team);\n }\n\n fillTeamList() {\n for (let index = 1; index <= 32; index++) {\n const team: Team = this.playerMapperService.mapTeam(index);\n this.allTeams.push(team);\n }\n this.allTeams.sort((a, b) => a.teamCity.localeCompare(b.teamCity));\n }\n\n onTeamSelect(event: MatSelectChange) {\n var newTeam: Team = event.value;\n\n // clear tables\n this.forwards = [];\n this.defensemen = [];\n this.goalies = [];\n this.players35 = [];\n\n this.initTables(newTeam.teamID);\n }\n\n setTeam(teamID: number) {\n const team: Team = this.playerMapperService.mapTeam(+teamID);\n this.selectedTeam = team;\n this.currentTeamName = team.teamCity + ' ' + team.teamName;\n this.currentTeamLogoURL = 'https://assets.nhle.com/logos/nhl/svg/'+ team.logoId + '_dark.svg';\n }\n\n splitPlayers(team: number) {\n this.playerService.getPlayersFromTeam(team, false).subscribe((players) => {\n for (let player of players) {\n if (player.status === '35+') {\n this.players35.push(player);\n } else {\n switch (player.position) {\n case 'Attaquant':\n this.forwards.push(player);\n break;\n case 'Défenseur':\n this.defensemen.push(player);\n break;\n case 'Gardien':\n this.goalies.push(player);\n break;\n\n default:\n break;\n }\n }\n }\n\n this.sortPlayers(this.forwards);\n this.forwardDataSource.data = this.forwards as Player[];\n\n this.sortPlayers(this.defensemen);\n this.defenseDataSource.data = this.defensemen as Player[];\n\n this.sortPlayers(this.goalies);\n this.goalieDataSource.data = this.goalies as Player[];\n\n this.sortPlayers(this.players35);\n this.players35DataSource.data = this.players35 as Player[];\n });\n }\n\n sortPlayers(players: Player[]) {\n var sortedArray = players.sort((a: Player, b: Player) => {\n if (a.OVK < b.OVK) {\n return 1;\n }\n\n if (a.OVK > b.OVK) {\n return -1;\n }\n\n if (a.salary < b.salary) {\n return -1;\n }\n return 0;\n });\n return sortedArray;\n }\n\n fetchPlayersWithOffer(team: number) {\n if (this.loggedTeamNumber == team) {\n this.offerService.getOffersByTeam(team).subscribe(\n (offers) => {\n this.myOffers = offers;\n\n this.myOffers.forEach((offer) => {\n if (offer.isOwner) {\n this.playersWithOfferIds.push(offer.playerId);\n }\n });\n },\n (error) => {\n console.error(error);\n }\n );\n }\n }\n\n displayExpectedSalary(player: Player) {\n // if player has already a salary (happens in 2nd round)\n if (player.salary > 0) {\n return player.salary;\n }\n\n if (player.status === 'UFA') {\n if (this.playersWithOfferIds.indexOf(player.uniqueID) !== -1) {\n for (let index = 0; index < this.myOffers.length; index++) {\n const offer = this.myOffers[index];\n if (offer.playerId == player.uniqueID) {\n return offer.amount;\n }\n }\n }\n return player.expectedSalary.max;\n } else if (player.status === 'RFA') {\n return player.expectedSalary.min;\n } else if (player.status === '35+') {\n return player.expectedSalary.min;\n }\n return player.salary;\n }\n\n getFwdTop12Cap() {\n return this.getCapForTop(this.forwards, 12);\n }\n\n getFwdTop12ExpCap() {\n return this.getExpectedCapFor(this.forwards, 12);\n }\n\n getDefTop6Cap() {\n return this.getCapForTop(this.defensemen, 6);\n }\n\n getDefTop6ExpCap() {\n return this.getExpectedCapFor(this.defensemen, 6);\n }\n\n getGoalTop2Cap() {\n return this.getCapForTop(this.goalies, 2);\n }\n\n getGoalTop2ExpCap() {\n return this.getExpectedCapFor(this.goalies, 2);\n }\n\n getTotalCap() {\n return this.getFwdTop12Cap() + this.getDefTop6Cap() + this.getGoalTop2Cap();\n }\n\n getTotalExpCap() {\n return (\n this.getFwdTop12ExpCap() +\n this.getDefTop6ExpCap() +\n this.getGoalTop2ExpCap()\n );\n }\n\n getTotalFreeSpace() {\n return 50000000 - this.getTotalCap();\n }\n\n getTotalExpFreeSpace() {\n return 50000000 - this.getTotalExpCap();\n }\n\n getCapForTop(players: Player[], top: number) {\n let cap = 0;\n\n if (players.length < top) {\n return cap;\n }\n\n for (let index = 0; index < top; index++) {\n const player = players[index];\n if (player.salary) {\n cap += player.salary;\n }\n }\n\n if (players.length > top) {\n for (let index = top; index < players.length; index++) {\n const player = players[index];\n\n if (player.salary && player.salary > 1000000) {\n cap += player.salary - 1000000;\n }\n }\n }\n return cap;\n }\n\n getExpectedCapFor(players: Player[], top: number) {\n let cap = 0;\n if (players.length < top) {\n return cap;\n }\n\n for (let index = 0; index < top; index++) {\n const player = players[index];\n cap += this.displayExpectedSalary(player);\n }\n\n if (players.length > top) {\n for (let index = top; index < players.length; index++) {\n const player = players[index];\n\n const expectedSalary = this.displayExpectedSalary(player);\n if (expectedSalary > 1000000) {\n cap += expectedSalary - 1000000;\n }\n }\n }\n return cap;\n }\n\n getColorPlayer(player: Player) {\n if (player.salary > 1000000) {\n return 'yellow';\n } else {\n return 'inherited';\n }\n }\n}\n","
\n \n \n Équipe\n \n {{ team.teamCity }}\n \n \n\n
\n

{{currentTeamName | uppercase}}

\n \n

MASSE SALARIALE ACTUELLE:{{getTotalCap() | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}}

\n

MASSE SALARIALE ATTENDUE:{{getTotalExpCap() | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}}

\n
\n

ESPACE ACTUELLEMENT DISPONIBLE:{{getTotalFreeSpace() | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}}

\n

ESPACE DISPONIBLE ESPÉRÉ:{{getTotalExpFreeSpace() | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}}

\n
\n\n

Attaque

\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 \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n
Rang {{i + 1}} Nom \n {{player.name}}\n TOTAL TOP 12 Overall {{player.OVK}} Statut \n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
Durée {{player.contract}} Salaire {{player.salary | number}} {{getFwdTop12Cap() | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}} Attendu {{displayExpectedSalary(player)| number}} {{getFwdTop12ExpCap() | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}}\n
\n\n

Défense

\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 \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n
Rang {{i + 1}} Nom {{player.name}} TOTAL TOP 6 Overall {{player.OVK}} Statut \n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
Durée {{player.contract}} Salaire {{player.salary | number}} {{getDefTop6Cap() | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}} Attendu {{displayExpectedSalary(player) | number}} {{getDefTop6ExpCap() | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}}\n
\n\n

Gardiens

\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 \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n
Rang {{i + 1}} Nom {{player.name}} TOTAL TOP 2 Overall {{player.OVK}} Statut \n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
Durée {{player.contract}} Salaire {{player.salary | number}} {{getGoalTop2Cap() | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}} Attendu {{displayExpectedSalary(player) | number}} {{getGoalTop2ExpCap() | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}}\n
\n\n
0\">\n

35 ans et plus

\n

Ne comptent pas dans votre masse

\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 \n\n \n \n \n \n\n \n \n \n\n \n\n \n \n
Rang {{i + 1}} Nom {{player.name}} Overall {{player.OVK}} Statut \n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
Durée {{player.contract}} Salaire {{player.salary | number}} Attendu {{displayExpectedSalary(player) | number}}
\n
\n
\n\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Player } from 'src/app/models/player';\nimport { Offer } from 'src/app/models/offer';\nimport { PlayersService } from 'src/app/services/players.service';\nimport { OffersService } from 'src/app/services/offers.service';\nimport { Auth } from 'aws-amplify';\nimport { AlertServiceService } from 'src/app/services/alert-service.service';\n\nconst formatter = new Intl.NumberFormat('fr-CA', {\n style: 'currency',\n currency: 'CAD',\n minimumFractionDigits: 0\n});\n\n@Component({\n selector: 'app-negotiations',\n templateUrl: './negotiations.component.html',\n styleUrls: ['./negotiations.component.css'],\n})\n\nexport class NegotiationsComponent implements OnInit {\n storageKey: string = 'LHSDB-FA-2024';\n allPlayers: Player[] = [];\n playersWithOfferIds: number[] = [];\n offersMade: Offer[] = [];\n isDeleteButtonEnabled: boolean = true;\n \n wantedPlayers: Player[] = [];\n playersWithOffer: Player[] = [];\n\n constructor(private playerService: PlayersService, private offerService: OffersService, private alertService: AlertServiceService) {}\n\n ngOnInit(): void {\n Auth.currentUserInfo()\n .then((info) => {\n const team = info.attributes['custom:team'];\n this.fetchPlayersWithOffer(team);\n })\n .catch(() => console.log('Not signed in'));\n }\n\n fetchPlayersWithOffer(team: number){\n this.offerService.getOffersByTeam(team).subscribe(\n (offers) => {\n this.offersMade = offers;\n\n this.offersMade.forEach(offer => {\n if(!offer.isOwner){\n this.playersWithOfferIds.push(offer.playerId);\n }\n });\n\n this.getAllPlayers();\n },\n (error) => {\n console.error(error);\n this.getAllPlayers();\n }\n );\n }\n\n getAllPlayers() {\n this.playerService.getFreeAgents().subscribe(\n (players) => {\n this.allPlayers = players;\n\n var savedNegociations = JSON.parse(\n localStorage.getItem(this.storageKey)\n );\n\n this.allPlayers.forEach(\n (player) => {\n\n if (this.playersWithOfferIds.indexOf(player.uniqueID) !== -1) {\n this.playersWithOffer.push(player);\n }\n else {\n if (savedNegociations != null) {\n savedNegociations.forEach(\n (element) => {\n\n if (player.uniqueID === element) {\n this.wantedPlayers.push(player);\n }\n }\n );\n }\n }\n }\n )\n },\n (error) => {\n this.alertService.showErrorMsg(\"Nous n'avons pas réussi a charger les agents libres. Contacter Kriss\");\n }\n );\n }\n \n\n getContractFor(playerId: number){\n var amount = \"0$\";\n this.offersMade.forEach(offer => {\n if(offer.playerId == playerId){\n amount = formatter.format(offer.amount);\n }\n });\n return amount;\n }\n\n getChipColor(player: Player){\n if(player != null){\n if(player.status === 'UFA')\n {\n return 'primary';\n }\n if(player.status === 'RFA')\n {\n return 'accent';\n }\n if(player.status === '35+')\n {\n return 'warn';\n }\n }\n }\n\n deleteOffer(playerId : number){\n this.offerService.removeOffer(playerId).subscribe(\n () => {\n console.log(\"Deleted\");\n this.alertService.showConfirmMsg(\"L'offre a été effacé correctement\");\n },\n error => {\n console.log(\"Error inconnue\");\n this.alertService.showErrorMsg(\"Une erreur s'est produite.\");\n }\n );\n }\n\n}\n","
\n

Négociations

\n \n
\n

Instructions:

\n

Cette page vous permet d'offrir des contrats aux agents libres(UFA, RFA) des autres équipes.

\n

Vous avez le droit de faire un total de 30 offres maximum.

\n

Pour entamer des négociations dans cette page vous devez d'abord aller dans la page \"Joueurs Disponibles\".

\n

Puis, choisir joueur qui vous intéresse dans la table et cliquer sur le bouton \"Entamer des négociations\".

\n

Ensuite, vous pourrez offrir le contrat désiré à chaque joueur tout en respectant leur bracket de la charte.

\n

ATTENTION! pour les RFA vous devez posséder les compensations avant de faire une offre.

\n \n
\n
\n

Joueurs auxquels vous avez proposé un contrat ({{playersWithOffer.length}} sur 30):

\n
\n
\n
\n \n {{signed.status}}\n \n

{{signed.name}}

\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { Player } from 'src/app/models/player';\nimport { AlertServiceService } from 'src/app/services/alert-service.service';\nimport { OffersService } from 'src/app/services/offers.service';\nimport { PlayersService } from 'src/app/services/players.service';\n\n@Component({\n selector: 'app-results',\n templateUrl: './results.component.html',\n styleUrls: ['./results.component.css']\n})\nexport class ResultsComponent implements OnInit {\n freeAgentsDataSource: Player[] = [];\n allRFAs: Player[] = [];\n allUFAs: Player[] = [];\n\n filteredUFAs: Player[] = [];\n filteredRFAs: Player[] = [];\n\n pageStart: number = 0;\n pageEnd: number = 20;\n maxUFA: number = 0;\n\n constructor(private playerService: PlayersService, private alertService: AlertServiceService, private offerService: OffersService) { }\n\n ngOnInit(): void {\n this.fetchAllFreeAgents();\n }\n\n fetchAllFreeAgents() {\n this.playerService.getFreeAgents().subscribe(\n (players) => {\n players.sort((a: Player, b: Player) => {\n const n1 = a.OVK;\n const n2 = b.OVK;\n if (n1 < n2) {\n return 1;\n }\n\n if (n1 > n2) {\n return -1;\n }\n\n return 0;\n });\n this.freeAgentsDataSource = players as Player[];\n this.split();\n },\n (error) => {\n this.alertService.showErrorMsg(\n \"Nous n'avons pas réussi a charger les agents libres. Contacter Kriss\"\n );\n }\n );\n }\n split() {\n for (let index = 0; index < this.freeAgentsDataSource.length; index++) {\n const player = this.freeAgentsDataSource[index];\n\n if (player.status === 'UFA') {\n // if(this.allUFAs.length < 10){\n this.allUFAs.push(player);\n //}\n } else if (player.status === 'RFA') {\n this.allRFAs.push(player);\n }\n }\n this.maxUFA = this.allUFAs.length;\n this.filter();\n //this.filterRFA();\n }\n\n filter() {\n this.filteredUFAs = []\n for (let index = this.pageStart; index < this.pageEnd; index++) {\n const ufa = this.allUFAs[index];\n\n this.filteredUFAs.push(ufa);\n }\n }\n\n filterRFA() {\n this.allRFAs.forEach(\n (player) => {\n this.offerService.getOffersForPlayer(player.uniqueID).subscribe(\n (offers) => {\n if (offers?.length > 0) {\n this.filteredRFAs.push(player);\n }\n },\n (error) => {\n console.error(\"Error retrieving RFA offers:\" + error);\n }\n );\n }\n );\n }\n\n nextPage() {\n\n if (this.pageEnd === this.maxUFA) {\n return;\n }\n\n this.pageStart += 20;\n this.pageEnd += 20;\n\n if (this.pageEnd > this.maxUFA) {\n this.pageEnd = this.maxUFA;\n }\n\n this.filter();\n }\n\n previousPage() {\n if (this.pageStart === 0) {\n return;\n }\n\n this.pageStart -= 20;\n this.pageEnd -= 20;\n\n if (this.pageStart < 0) {\n this.pageStart = 0;\n }\n\n this.filter();\n }\n\n}\n","
\n

Résultats

\n UFA\n \n \n
\n \n \n
\n
\n RFA \n
\n
\n
\n
\n
","
\n
\n
\n \n {{player.status}}\n \n \"Card\n
\n\n \n
\n\n
{{player.name}}
\n

\n \"Logo\n \n Position: {{player.position}}\n Équipe: {{player.team.teamCity}}\n Age: {{player.age}}\n Overall: {{player.OVK}}\n Bracket: {{player.expSalary}}\n Durée du contrat: {{player.contract}}\n \n

\n
\n
\n \n

\n Compensation: {{getCompensation()}}\n

\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n","import { Component, OnInit, Input, ViewChild } from '@angular/core';\nimport { Player } from 'src/app/models/player';\nimport { OfferSenderComponent } from '../offer-sender/offer-sender.component';\nimport { OffersService } from 'src/app/services/offers.service';\nimport { AlertServiceService } from 'src/app/services/alert-service.service';\nimport { Router } from '@angular/router';\nimport { SalaryScaleService } from 'src/app/services/salary-scale.service';\n\n@Component({\n selector: 'app-nego-player-detail',\n templateUrl: './nego-player-detail.component.html',\n styleUrls: ['./nego-player-detail.component.css'],\n})\nexport class NegoPlayerDetailComponent implements OnInit {\n @Input() player: Player;\n @Input() nbOffers: number;\n @ViewChild('offerSender') offerSenderWidget: OfferSenderComponent;\n isSendBtnDisabled: boolean = false;\n storageKey: string = 'LHSDB-FA-2024';\n\n constructor(\n private offerService: OffersService,\n private alertService: AlertServiceService,\n private router: Router,\n private salaryScale: SalaryScaleService\n ) {}\n\n ngOnInit(): void {}\n\n getPlayerFaceImage() {\n\n const nhlAvatarsURL =\n 'https://assets.nhle.com/mugs/nhl/latest/';\n var playerID = this.player.URLLink.substring(\n this.player.URLLink.lastIndexOf('/') + 1\n );\n const playerAvatarURL = nhlAvatarsURL + playerID + '.png';\n\n return playerAvatarURL;\n }\n\n getHeaderBackgroundImageUrl() {\n const teamLogoURL = 'https://assets.nhle.com/logos/nhl/svg/' + this.player.team.logoId + '_dark.svg';\n return teamLogoURL;\n }\n\n isButtonDisabled() {\n return this.isSendBtnDisabled ;\n }\n\n getChipColor() {\n if (this.player != null) {\n if (this.player.status === 'UFA') {\n return 'primary';\n }\n if (this.player.status === 'RFA') {\n return 'accent';\n }\n if (this.player.status === '35+') {\n return 'warn';\n }\n }\n }\n\n submitOffer() {\n if (this.nbOffers >= 30) {\n this.alertService.showErrorMsg(\"Vous avez dépassé le nombre maximal d'offres\");\n } else {\n if (this.offerSenderWidget != null) {\n if (this.offerSenderWidget.getOfferTextBox().valid) {\n this.setSendBtnDisabled(true);\n var contractOffer = this.offerSenderWidget.getOfferTextBox().value;\n\n if (\n !this.offerService.sendNewContractOffer(\n this.player,\n contractOffer,\n false\n )\n ) {\n this.setSendBtnDisabled(false);\n this.alertService.showErrorMsg(\n \"Une erreur s'est produite. Veuillez réessayer\"\n );\n } else {\n this.alertService.showConfirmMsg(\n 'Vous avez offert un contrat à ' + this.player.name\n );\n this.delay(3000).then((any) => {\n window.location.reload();\n //this.router.navigateByUrl(\"/negociations\");\n });\n }\n } else {\n this.alertService.showErrorMsg('Le salaire offert est invalide.');\n }\n }\n }\n }\n\n setSendBtnDisabled(enabled: boolean) {\n this.isSendBtnDisabled = enabled;\n }\n\n onRemovePlayer() {\n this.setSendBtnDisabled(true);\n var currentNegociations = [];\n var savedNegociations = JSON.parse(localStorage.getItem(this.storageKey));\n\n if (savedNegociations != null) {\n currentNegociations = savedNegociations;\n\n currentNegociations.splice(\n currentNegociations.indexOf(this.player.uniqueID),\n 1\n );\n\n localStorage.setItem(\n this.storageKey,\n JSON.stringify(currentNegociations)\n );\n this.alertService.showConfirmMsg(\n this.player.name + ' a été enlevé de votre liste de négociations.'\n );\n\n this.delay(2000).then((any) => {\n window.location.reload();\n //this.router.navigateByUrl(\"/negociations\");\n });\n }\n }\n\n async delay(ms: number) {\n await new Promise((resolve) => setTimeout(() => resolve(), ms)).then(() =>\n console.log('offre envoyé')\n );\n }\n\n getCompensation() {\n if (this.offerSenderWidget != null) {\n var offer = this.offerSenderWidget.getOfferTextBox().value;\n return this.salaryScale.getCompensationForSalary(offer);\n }\n return '';\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { Player } from 'src/app/models/player';\nimport { UntypedFormControl, Validators } from '@angular/forms';\n\n@Component({\n selector: 'app-offer-sender',\n templateUrl: './offer-sender.component.html',\n styleUrls: ['./offer-sender.component.css'],\n})\nexport class OfferSenderComponent implements OnInit {\n @Input() player: Player;\n\n sliderMax: number = 100;\n sliderMin: number = 0;\n sliderStep: number = 10000;\n offerValue: number = 0;\n\n offerTextBox = new UntypedFormControl(this.offerValue);\n\n constructor() {}\n\n ngOnInit(): void {\n if (this.player != null) {\n this.sliderMax = this.player.expectedSalary.max;\n this.sliderMin = this.player.expectedSalary.min;\n\n var diff =\n (this.player.expectedSalary.max - this.player.expectedSalary.min) / 2;\n this.offerValue = this.player.expectedSalary.min + diff;\n }\n\n //[Validators.required, Validators.max(this.sliderMax), Validators.min(this.sliderMin)]\n this.offerTextBox.setValidators([\n Validators.required,\n Validators.max(this.sliderMax),\n Validators.min(this.sliderMin),\n ]);\n }\n\n getErrorMessage() {\n return \"Veuillez entrer une offre valide respectant l'intervalle.\";\n }\n\n formatLabel(value: number) {\n if (value >= 1000000) {\n return value / 1000000 + 'M$';\n }\n return value;\n }\n\n getOfferTextBox() : UntypedFormControl{\n return this.offerTextBox;\n }\n\n getSliderColor(){\n if(this.player != null){\n if(this.player.status === 'UFA')\n {\n return 'primary';\n }\n if(this.player.status === 'RFA')\n {\n return 'accent';\n }\n if(this.player.status === '35+')\n {\n return 'warn';\n }\n }\n }\n}\n","\n\n\n\n Offre\n \n \n {{getErrorMessage()}}\n\n","import { Component, OnInit, Input, ViewChild } from '@angular/core';\nimport { Player } from 'src/app/models/player';\nimport { OfferSenderComponent } from '../offer-sender/offer-sender.component';\nimport { OffersService } from 'src/app/services/offers.service';\nimport { AlertServiceService } from 'src/app/services/alert-service.service';\n\n@Component({\n selector: 'app-player-detail',\n templateUrl: './player-detail.component.html',\n styleUrls: ['./player-detail.component.css'],\n})\nexport class PlayerDetailComponent implements OnInit {\n @Input() player: Player;\n @ViewChild('offerSender') offerSenderWidget: OfferSenderComponent;\n isSendBtnEnabled: boolean = true;\n\n constructor(\n private offerService: OffersService,\n private alertService: AlertServiceService\n ) { }\n\n ngOnInit(): void { }\n\n getHeaderBackgroundImageUrl() {\n const teamLogoURL = 'https://assets.nhle.com/logos/nhl/svg/' + this.player.team.logoId + '_dark.svg';\n return `url(${teamLogoURL})`;\n }\n\n getPlayerFaceImage() {\n const nhlAvatarsURL =\n 'https://assets.nhle.com/mugs/nhl/latest/';\n var playerID = this.player.URLLink.substring(\n this.player.URLLink.lastIndexOf('/') + 1\n );\n const playerAvatarURL = nhlAvatarsURL + playerID + '.png';\n\n return playerAvatarURL;\n }\n\n getBlendUrl() {\n return `url(${this.getPlayerFaceImage()}), url(\"/assets/img/backgrounds/NHL20_UltimateBG_2.jpg\")`;\n }\n\n submitOffer() {\n if (this.offerSenderWidget != null) {\n if (this.offerSenderWidget.getOfferTextBox().valid) {\n this.setSendBtnEnabled(false);\n var contractOffer = this.offerSenderWidget.getOfferTextBox().value;\n\n if (!this.offerService.sendNewContractOffer(this.player, contractOffer, true)) {\n this.setSendBtnEnabled(true);\n this.alertService.showErrorMsg(\"Une erreur s'est produite. Veuillez réessayer\");\n }\n else {\n this.alertService.showConfirmMsg('Vous avez offert un contrat à ' + this.player.name);\n }\n } else {\n this.alertService.showErrorMsg('Le salaire offert est invalide.');\n }\n }\n }\n\n releasePlayer() {\n this.setSendBtnEnabled(false);\n if (!this.offerService.sendNewContractOffer(this.player, 0, true)) {\n this.setSendBtnEnabled(true);\n this.alertService.showErrorMsg(\"Une erreur s'est produite. Veuillez réessayer\");\n } else {\n this.alertService.showConfirmMsg('Vous avez libéré ' + this.player.name);\n }\n }\n\n setSendBtnEnabled(enabled: boolean) {\n this.isSendBtnEnabled = enabled;\n }\n}\n","\n \n {{player.status}}\n \n \n
\n {{player.name}} \n {{player.status}}\n
\n\n \"Photo\n

Informations

\n \n \n Pos: {{player.position}}\n Age: {{player.age}}\n Overall: {{player.OVK}}\n Bracket: {{player.expSalary}}\n Durée du contrat: {{player.contract}}\n \n \n \n \n

Négociations

\n \n \n \n
\n
\n","import { Component, Input, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { Offer } from 'src/app/models/offer';\nimport { Player } from 'src/app/models/player';\nimport { OffersService } from 'src/app/services/offers.service';\nimport { PlayerMapperService } from 'src/app/services/player-mapper.service';\n\n@Component({\n selector: 'app-player-result',\n templateUrl: './player-result.component.html',\n styleUrls: ['./player-result.component.css']\n})\nexport class PlayerResultComponent implements OnInit {\n @Input() player: Player;\n offers: Offer[] = [];\n winners: number[] = [];\n average: number = 0;\n ownerOffer: number = 0;\n displayLoading: boolean = false;\n ownerWins: boolean = true;\n\n constructor(private offerService: OffersService, private playerMapperService: PlayerMapperService, private cd: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.getOffers();\n }\n\n getOffers() {\n this.displayLoading = true;\n this.offerService.getOffersForPlayer(this.player.uniqueID).subscribe(\n (offers) => {\n this.offers = offers;\n this.calculate();\n this.displayLoading = false;\n this.cd.markForCheck();\n },\n (error) => {\n console.error(error);\n this.displayLoading = false;\n }\n );\n }\n calculate() {\n let amounts: number[] = [];\n for (let index = 0; index < this.offers.length; index++) {\n const offer = this.offers[index];\n\n if(offer.isOwner){\n this.ownerOffer = offer.amount;\n }else{\n amounts.push(offer.amount);\n }\n }\n this.average = 0;\n const average = arr => arr.reduce((p, c) => p + c, 0) / arr.length;\n\n if (amounts.length > 0) {\n const result = average(amounts);\n this.average = result;\n }\n\n if(this.ownerOffer >= this.average){\n this.winners.push(this.player.team.teamID);\n this.ownerWins = true;\n }else {\n this.ownerWins = false;\n this.findWinners();\n }\n }\n\n findWinners() {\n var smallestDiff = 10000000;\n\n for (let index = 0; index < this.offers.length; index++) {\n const offer = this.offers[index];\n if(!offer.isOwner){\n var newDifference = Math.abs(this.average - offer.amount);\n if (newDifference < smallestDiff) {\n smallestDiff = newDifference;\n }\n }\n }\n console.log(\"SmallestDiff= \" + smallestDiff);\n\n for (let index = 0; index < this.offers.length; index++) {\n const offer = this.offers[index];\n if(!offer.isOwner){\n var newDifference = Math.abs(this.average - offer.amount);\n console.log(offer.playerName+ \" New Diff= \" + newDifference);\n if (newDifference === smallestDiff) {\n this.winners.push(offer.teamId);\n }\n }\n }\n\n\n }\n\n getWinners(){\n let winnersText: string = \"\";\n for (let index = 0; index < this.winners.length; index++) {\n const element = this.winners[index];\n const winnerTeam = this.playerMapperService.mapTeam(element);\n winnersText += winnerTeam.teamCity + \" \";\n }\n\n return winnersText;\n }\n\n getOfferedBy(offer: Offer){\n const offeredByTeam = this.playerMapperService.mapTeam(offer.teamId);\n return offeredByTeam.teamCity\n }\n\n getChipColor() {\n if (this.player != null) {\n if (this.player.status === 'UFA') {\n return 'primary';\n }\n if (this.player.status === 'RFA') {\n return 'accent';\n }\n if (this.player.status === '35+') {\n return 'warn';\n }\n }\n }\n\n getPlayerFaceImage() {\n const nhlAvatarsURL =\n 'https://assets.nhle.com/mugs/nhl/latest/';\n var playerID = this.player.URLLink.substring(\n this.player.URLLink.lastIndexOf('/') + 1\n );\n const playerAvatarURL = nhlAvatarsURL + playerID + '.png';\n\n return playerAvatarURL;\n }\n\n getHeaderBackgroundImageUrl() {\n const teamLogoURL = 'https://assets.nhle.com/logos/nhl/svg/' + this.player.team.logoId + '_dark.svg';\n return teamLogoURL;\n }\n}\n","
\n \n
\n
\n \n {{player.status}}\n \n \"Card\n
\n\n
\n
{{player.name}}
\n \"Logo\n

\n \n Équipe: {{player.team.teamCity}}\n Position: {{player.position}}\n Overall: {{player.OVK}}\n Bracket: {{player.expSalary}}\n Durée: {{player.contract}} an(s)\n Offre reçue: {{ownerOffer | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}}\n \n \n

\n
\n
\n

Moy. Offres: {{average | currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}}

\n

Gagnant(s): {{getWinners()}}

\n

Historique:

\n \n {{getOfferedBy(offre)}} a offert {{offre.amount |\n currency:'CAD':'symbol-narrow':'1.0-2':'fr-CA'}}\n \n
\n
\n \n \n \n \n
\n
\n \n
","import { Component, OnInit, Input } from '@angular/core';\nimport { Player } from 'src/app/models/player';\nimport { AlertServiceService } from 'src/app/services/alert-service.service';\n\n@Component({\n selector: 'app-table-player-detail',\n templateUrl: './table-player-detail.component.html',\n styleUrls: ['./table-player-detail.component.css'],\n})\nexport class TablePlayerDetailComponent implements OnInit {\n @Input() player: Player;\n @Input() connectedTeam: number;\n\n constructor(private alertService: AlertServiceService) {}\n\n ngOnInit(): void {}\n\n getPlayerFaceImage() {\n const nhlAvatarsURL =\n 'https://assets.nhle.com/mugs/nhl/latest/';\n\n if(this.player.URLLink == null)\n {\n console.log(this.player.name);\n return \"\";\n }\n\n var playerID = this.player.URLLink.substring(\n this.player.URLLink.lastIndexOf('/') + 1\n );\n const playerAvatarURL = nhlAvatarsURL + playerID + '.png';\n\n return playerAvatarURL;\n }\n\n getHeaderBackgroundImageUrl() {\n const teamLogoURL = 'https://assets.nhle.com/logos/nhl/svg/' + this.player.team.logoId + '_dark.svg';\n return teamLogoURL;\n }\n\n isButtonDisabled() {\n return this.player.status === '35+' || this.player.team.teamID == this.connectedTeam;\n }\n\n onStartNegociations() {\n const storageKey = 'LHSDB-FA-2024';\n var currentNegociations = [];\n var savedNegociations = JSON.parse(localStorage.getItem(storageKey));\n\n if (savedNegociations != null) {\n currentNegociations = savedNegociations;\n }\n\n for (const playerId of currentNegociations) {\n if (this.player.uniqueID === playerId) {\n this.alertService.showErrorMsg(\"Ce joueur est déjà dans votre liste\");\n return;\n }\n }\n currentNegociations.push(this.player.uniqueID);\n localStorage.setItem(storageKey, JSON.stringify(currentNegociations));\n this.alertService.showConfirmMsg(this.player.name + \" a été ajouté à votre liste de négociations.\");\n }\n \n}\n","
\n
\n
\n \"Card\n
\n \n
\n \"Logo\n
{{player.name}}
\n

\n \n Pos: {{player.position}}\n Age: {{player.age}}\n Overall: {{player.OVK}}\n Bracket: {{player.expSalary}}\n \n

\n
\n \n
\n
\n
\n
","/* eslint-disable */\n// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.\n\nconst awsmobile = {\n \"aws_project_region\": \"us-east-2\",\n \"aws_cognito_identity_pool_id\": \"us-east-2:806616824497\",\n \"aws_cognito_region\": \"us-east-2\",\n \"aws_user_pools_id\": \"us-east-2_TQAabE2yt\",\n \"aws_user_pools_web_client_id\": \"b8ecca0e3ns7kg0l63kigth30\",\n \"oauth\": {\n \"domain\": \"lhsdb-fa.auth.us-east-2.amazoncognito.com\",\n \"scope\": [\n \"phone\",\n \"email\",\n \"openid\",\n \"profile\",\n \"aws.cognito.signin.user.admin\"\n ],\n \"redirectSignIn\": \"http://localhost:4200/login\",\n \"redirectSignOut\": \"http://localhost:4200/login\",\n \"responseType\": \"code\"\n }\n};\n\n\nexport default awsmobile;\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/plugins/zone-error'; // Included with Angular CLI.\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\nimport Amplify, { Auth } from 'aws-amplify';\nimport awsconfig from './aws-exports';\n\n/* Configure Amplify resources */\nAmplify.configure(awsconfig);\n\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./amplify-amazon-button_5.entry.js\": [\n\t\t1572,\n\t\t\"default-node_modules_aws-amplify_ui-components_dist_esm_helpers-3bfb485a_js\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-amazon-button_5_entry_js\"\n\t],\n\t\"./amplify-auth-fields_9.entry.js\": [\n\t\t7995,\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-auth-fields_9_entry_js\"\n\t],\n\t\"./amplify-authenticator.entry.js\": [\n\t\t66416,\n\t\t\"default-node_modules_aws-amplify_ui-components_dist_esm_helpers-3bfb485a_js\",\n\t\t\"common\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-authenticator_entry_js\"\n\t],\n\t\"./amplify-button_3.entry.js\": [\n\t\t5156,\n\t\t\"default-node_modules_aws-amplify_ui-components_dist_esm_helpers-3bfb485a_js\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-button_3_entry_js\"\n\t],\n\t\"./amplify-checkbox.entry.js\": [\n\t\t4932,\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-checkbox_entry_js\"\n\t],\n\t\"./amplify-confirm-sign-in_8.entry.js\": [\n\t\t91939,\n\t\t\"default-node_modules_aws-amplify_ui-components_dist_esm_helpers-3bfb485a_js\",\n\t\t\"common\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-confirm-sign-in_8_entry_js\"\n\t],\n\t\"./amplify-container.entry.js\": [\n\t\t25068,\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-container_entry_js\"\n\t],\n\t\"./amplify-federated-buttons_2.entry.js\": [\n\t\t78881,\n\t\t\"default-node_modules_aws-amplify_ui-components_dist_esm_helpers-3bfb485a_js\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-federated-buttons_2_entry_js\"\n\t],\n\t\"./amplify-federated-sign-in.entry.js\": [\n\t\t35214,\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-federated-sign-in_entry_js\"\n\t],\n\t\"./amplify-form-field_4.entry.js\": [\n\t\t11313,\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-form-field_4_entry_js\"\n\t],\n\t\"./amplify-greetings.entry.js\": [\n\t\t166,\n\t\t\"default-node_modules_aws-amplify_ui-components_dist_esm_helpers-3bfb485a_js\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-greetings_entry_js\"\n\t],\n\t\"./amplify-icon-button.entry.js\": [\n\t\t524,\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-icon-button_entry_js\"\n\t],\n\t\"./amplify-icon.entry.js\": [\n\t\t82673,\n\t\t\"default-node_modules_aws-amplify_ui-components_dist_esm_icons-42c98dcb_js\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-icon_entry_js\"\n\t],\n\t\"./amplify-link.entry.js\": [\n\t\t79413,\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-link_entry_js\"\n\t],\n\t\"./amplify-nav_2.entry.js\": [\n\t\t11841,\n\t\t\"default-node_modules_aws-amplify_ui-components_dist_esm_helpers-3bfb485a_js\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-nav_2_entry_js\"\n\t],\n\t\"./amplify-photo-picker.entry.js\": [\n\t\t81746,\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-photo-picker_entry_js\"\n\t],\n\t\"./amplify-picker.entry.js\": [\n\t\t49950,\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-picker_entry_js\"\n\t],\n\t\"./amplify-radio-button_2.entry.js\": [\n\t\t73159,\n\t\t\"default-node_modules_aws-amplify_ui-components_dist_esm_helpers-3bfb485a_js\",\n\t\t\"common\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-radio-button_2_entry_js\"\n\t],\n\t\"./amplify-s3-album.entry.js\": [\n\t\t78490,\n\t\t\"common\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-s3-album_entry_js\"\n\t],\n\t\"./amplify-s3-image-picker.entry.js\": [\n\t\t12852,\n\t\t\"common\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-s3-image-picker_entry_js\"\n\t],\n\t\"./amplify-s3-image.entry.js\": [\n\t\t26265,\n\t\t\"common\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-s3-image_entry_js\"\n\t],\n\t\"./amplify-s3-text-picker.entry.js\": [\n\t\t80043,\n\t\t\"common\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-s3-text-picker_entry_js\"\n\t],\n\t\"./amplify-s3-text.entry.js\": [\n\t\t55751,\n\t\t\"common\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-s3-text_entry_js\"\n\t],\n\t\"./amplify-select-mfa-type.entry.js\": [\n\t\t55914,\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-select-mfa-type_entry_js\"\n\t],\n\t\"./amplify-sign-in-button.entry.js\": [\n\t\t4020,\n\t\t\"default-node_modules_aws-amplify_ui-components_dist_esm_icons-42c98dcb_js\",\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-sign-in-button_entry_js\"\n\t],\n\t\"./amplify-tooltip.entry.js\": [\n\t\t12479,\n\t\t\"node_modules_aws-amplify_ui-components_dist_esm_amplify-tooltip_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 11010;\nmodule.exports = webpackAsyncContext;","/* (ignored) */","/* (ignored) */"],"names":["map","OffersService","constructor","restClient","sendNewContractOffer","player","amount","isOwner","success","window","alert","getOffersByTeam","teamId","get","OFFERS_RESSOURCE_URL","pipe","responseData","playersArray","key","hasOwnProperty","offerResponse","push","getOffersForPlayer","playerId","offersArray","removeOffer","i0","factory","providedIn","NegoPlayerDetailComponent","offerService","alertService","router","salaryScale","ngOnInit","getPlayerFaceImage","nhlAvatarsURL","playerID","URLLink","substring","lastIndexOf","playerAvatarURL","getHeaderBackgroundImageUrl","teamLogoURL","team","logoId","isButtonDisabled","isSendBtnDisabled","getChipColor","status","submitOffer","nbOffers","showErrorMsg","offerSenderWidget","getOfferTextBox","valid","setSendBtnDisabled","contractOffer","value","showConfirmMsg","name","delay","then","any","location","reload","enabled","onRemovePlayer","currentNegociations","savedNegociations","JSON","parse","localStorage","getItem","storageKey","splice","indexOf","uniqueID","setItem","stringify","ms","Promise","resolve","setTimeout","console","log","getCompensation","offer","getCompensationForSalary","selectors","viewQuery","ctx"],"sourceRoot":"webpack:///"}