{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/Fixture/fixture-item/fixture-item.component.ts","./src/app/Fixture/fixture-item/fixture-item.component.html","./src/app/Fixture/fixture-list/fixture-list.component.html","./src/app/Fixture/fixture-list/fixture-list.component.ts","./src/app/IFrameLoader/iframeloader-util/iframeloader-util.component.ts","./src/app/IFrameLoader/iframeloader-util/iframeloader-util.component.html","./src/app/League/league-item/league-item.component.html","./src/app/League/league-item/league-item.component.ts","./src/app/League/league-list/league-list.component.ts","./src/app/League/league-list/league-list.component.html","./src/app/Service/sportcast.service.service.ts","./src/app/Sport/sport-item/sport-item.component.html","./src/app/Sport/sport-item/sport-item.component.ts","./src/app/Sport/sport-list/sport-list.component.html","./src/app/Sport/sport-list/sport-list.component.ts","./src/app/Types/Enums/BetUpdateType.ts","./src/app/UI/betslip-floating/betslip-floating.component.ts","./src/app/UI/betslip-floating/betslip-floating.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/control/betslip-action/betslip-action.component.ts","./src/app/control/betslip-action/betslip-action.component.html","./src/app/control/betslip-header/betslip-header.component.ts","./src/app/control/betslip-header/betslip-header.component.html","./src/app/control/betslip-items/betslip-items.component.ts","./src/app/control/betslip-items/betslip-items.component.html","./src/app/control/betslip/betslip.component.ts","./src/app/control/betslip/betslip.component.html","./src/app/pipes/currency-present.pipe.ts","./src/app/pipes/safe-url.pipe.ts","./src/environments/environment.prod.ts","./src/main.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FixtureResponse } from 'src/app/Types/Response/FixtureResponse';\r\nimport { SportcastServiceService } from 'src/app/Service/sportcast.service.service';\r\n\r\n@Component({\r\n selector: 'fixture-item',\r\n templateUrl: './fixture-item.component.html',\r\n styleUrls: ['./fixture-item.component.scss']\r\n})\r\nexport class FixtureItemComponent {\r\n @Input() isExpanded : Boolean = false;\r\n @Input() fixture : FixtureResponse |null = null;\r\n @Input() iFrameURL: string = \"\";\r\n @Input() sportName: String | undefined = \"\";\r\n\r\n IframeOpen = false;\r\n\r\n constructor(\r\n private eventEmitterService: SportcastServiceService\r\n ){}\r\n\r\n alterState() {\r\n this.ToggleIframe(this.fixture, this.iFrameURL);\r\n this.IframeOpen = true;\r\n }\r\n\r\n onToggleIframe(open: boolean) {\r\n this.IframeOpen = open;\r\n }\r\n\r\n expandRow(){\r\n this.isExpanded = !this.isExpanded ;\r\n }\r\n\r\n ToggleSportNav()\r\n {\r\n this.eventEmitterService.ToggleSportNavEmitter();\r\n }\r\n\r\n ToggleIframe(fixtureResponse: FixtureResponse |null = null, url: string)\r\n {\r\n this.eventEmitterService.ToggleIframeEmitter(fixtureResponse, url);\r\n }\r\n\r\n setCurrentSport()\r\n {\r\n this.eventEmitterService.setCurrentSportSelected(this.sportName);\r\n }\r\n}\r\n","
\r\n
{{fixture?.fixtureName}}
\r\n
","
\r\n \r\n
\r\n","import { Component, Input, OnInit, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { SportcastServiceService } from 'src/app/Service/sportcast.service.service';\r\nimport { FixtureResponse, PayLoad } from 'src/app/Types/Response/FixtureResponse';\r\n\r\n@Component({\r\n selector: 'fixture-list',\r\n templateUrl: './fixture-list.component.html',\r\n styleUrls: ['./fixture-list.component.scss']\r\n})\r\nexport class FixtureListComponent implements OnInit, OnDestroy{\r\n Fixtures: FixtureResponse[] = [];\r\n NavOpen = true;\r\n @Input() LeagueId: Number | undefined = 0;\r\n @Input() SportName: String | undefined = \"\";\r\n\r\n private subscription: Subscription | undefined;\r\n\r\n toggleNav(){\r\n this.NavOpen = !this.NavOpen;\r\n }\r\n\r\n constructor(private sportcastService: SportcastServiceService) {}\r\n\r\n ngOnInit(){\r\n this.subscription = this.sportcastService.getFixture(this.LeagueId).subscribe((res) => {\r\n this.Fixtures = res.filter(x => x.leagueId == this.LeagueId);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges , ViewChild, ElementRef, OnDestroy } from '@angular/core';\r\nimport { FixtureResponse } from 'src/app/Types/Response/FixtureResponse';\r\nimport { environment } from 'src/environments/environment';\r\nimport { SportcastServiceService } from 'src/app/Service/sportcast.service.service';\r\nimport { Bet } from 'src/app/Types/Models/Bet';\r\n@Component({\r\n selector: 'iframeloader-util',\r\n templateUrl: './iframeloader-util.component.html',\r\n styleUrls: ['./iframeloader-util.component.scss']\r\n})\r\nexport class IframeloaderUtilComponent implements OnDestroy {\r\n @Input() fixture: FixtureResponse | null = null;\r\n @Input() IframeOpen: boolean = false;\r\n @Output() toggleIframe: EventEmitter = new EventEmitter();\r\n @Input() iFrameURL: string = '';\r\n @ViewChild('widgethost') widgethost!: ElementRef;\r\n\r\n @Input() Bets: Bet[] = [];\r\n @Input() ClientId: string = '';\r\n\r\n constructor(private sportcastService: SportcastServiceService) {\r\n window.addEventListener('message', this.handleMessage.bind(this));\r\n }\r\n\r\n ngOnInit()\r\n {\r\n this.sportcastService.iFrameToggleSub = this.sportcastService.iFrameToggle.subscribe((params: any) =>{\r\n this.IframeOpen = true;\r\n this.fixture = params.fixture;\r\n this.iFrameURL = params.url;\r\n this.iFrameURL = `${environment.iFrameURL}${params.fixture.fixtureId}`;\r\n });\r\n }\r\n\r\n onToggleIframe(open: boolean) {\r\n this.toggleIframe.emit(open);\r\n this.IframeOpen = open;\r\n }\r\n\r\n handleMessage(message: MessageEvent) {\r\n var iframe = document.getElementById(\"widgethost\");\r\n\r\n if(iframe != null)\r\n {\r\n var iWindow = ( iframe).contentWindow;\r\n if (message.source === iWindow) {\r\n const response = (message.data);\r\n this.sportcastService.updateBetSlip(response);\r\n this.sportcastService.setFixtureID(this.fixture?.fixtureId);\r\n }\r\n }\r\n\r\n if (environment.allowedPlatformUrls.includes(message.origin)) {\r\n if (message.data && message.data.punterId) {\r\n const punterId = message.data.punterId;\r\n this.sportcastService.setClientId(punterId);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n window.removeEventListener('message', this.handleMessage);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n","
\r\n
{{league?.leagueName}}
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\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, Input } from '@angular/core';\r\nimport { LeagueResponse } from 'src/app/Types/Response/LeaguesResponse';\r\n\r\n@Component({\r\n selector: 'league-item',\r\n templateUrl: './league-item.component.html',\r\n styleUrls: ['./league-item.component.scss']\r\n})\r\nexport class LeagueItemComponent {\r\n isExpanded : Boolean = false ;\r\n @Input() league : LeagueResponse |null = null ;\r\n @Input() sportName: String | undefined = \"\";\r\n\r\n expandRow(){\r\n this.isExpanded = !this.isExpanded ;\r\n }\r\n\r\n ngOnInit(){}\r\n}\r\n","import { Component, Input, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { SportcastServiceService } from 'src/app/Service/sportcast.service.service';\r\nimport { LeagueResponse} from 'src/app/Types/Response/LeaguesResponse';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'league-list',\r\n templateUrl: './league-list.component.html',\r\n styleUrls: ['./league-list.component.scss'],\r\n})\r\nexport class LeagueListComponent implements OnDestroy {\r\n LeaguesResponse: LeagueResponse[] =[];\r\n NavOpen: Boolean | undefined;\r\n PriorityLeagues = environment.league;\r\n @Input() SportId: Number | undefined = 0;\r\n @Input() SportName: String | undefined = \"\";\r\n\r\n private subscription!: Subscription;\r\n\r\n toggleNav(){\r\n this.NavOpen = !this.NavOpen;\r\n }\r\n\r\n constructor(private sportcastService: SportcastServiceService) {}\r\n\r\n ngOnInit(){\r\n this.subscription = this.sportcastService.getLeagues(this.SportId).subscribe((res) => {\r\n this.LeaguesResponse = res.filter(x => x.sportId == this.SportId);\r\n this.LeaguesResponse = this.leagueSort(this.LeaguesResponse);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n public leagueSort(leagues : LeagueResponse[]){\r\n var array = leagues.sort((a, b) => a.leagueName.localeCompare(b.leagueName));\r\n let priorityArray: any = []\r\n let priorityList = this.PriorityLeagues.reverse();\r\n\r\n array.forEach(x => {\r\n if(priorityList.includes(x.leagueName)) {\r\n priorityArray.push(array[array.indexOf(x)]);\r\n array.splice(array.indexOf(x), 1);\r\n }\r\n })\r\n return [...priorityArray, ...array];\r\n }\r\n}\r\n","
\r\n \r\n
\r\n","import { EventEmitter, Injectable} from '@angular/core';\r\nimport { Observable, catchError, BehaviorSubject, Subscription } from 'rxjs';\r\nimport { LeagueResponse } from '../Types/Response/LeaguesResponse';\r\nimport { environment } from 'src/environments/environment';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Sport } from '../Types/Response/SportResponse';\r\nimport { FixtureResponse } from '../Types/Response/FixtureResponse';\r\nimport { Bet, DebitResponse } from '../Types/Models/Bet';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { RequestBetPriceByIdResponse } from '../Types/Response/RequestBetPriceByIdResponse';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SportcastServiceService{\r\n APIKey = environment.APIKey;\r\n slipEp = environment.slipEp;\r\n ClientId: string = \"\";\r\n fixtureId: string | null = null;\r\n stake: number = 0;\r\n currentSportSelected: String = \"\";\r\n sportToggle: EventEmitter = new EventEmitter();\r\n sportToggleSub: Subscription = new Subscription();\r\n iFrameToggle: EventEmitter = new EventEmitter();\r\n iFrameToggleSub: Subscription = new Subscription();\r\n betslipToggle: EventEmitter = new EventEmitter();\r\n betslipToggleSub: Subscription = new Subscription();\r\n clearBetslip: EventEmitter = new EventEmitter();\r\n clearBetslipSub: Subscription = new Subscription();\r\n addBet: EventEmitter = new EventEmitter();\r\n addBetSub: Subscription = new Subscription();\r\n removeBet: EventEmitter = new EventEmitter();\r\n removeBetSub: Subscription = new Subscription();\r\n togglePlaceBetButton: EventEmitter = new EventEmitter();\r\n togglePlaceBetButtonSub: Subscription = new Subscription();\r\n createNewBetList: EventEmitter = new EventEmitter();\r\n createNewBetListSub: Subscription = new Subscription();\r\n setBetslipCount: EventEmitter = new EventEmitter();\r\n setBetslipCountSub: Subscription = new Subscription();\r\n sportscastApiBaseUrl = environment.sportscastApiBaseUrl;\r\n\r\n constructor(private http : HttpClient, private toastr: ToastrService) { }\r\n\r\n async updateBetSlip(response: any) {\r\n const betslipObject = JSON.parse(response);\r\n const betSlipUuid = betslipObject && betslipObject.betslipUid;\r\n const betslipResponse = await this.http.get(`${this.sportscastApiBaseUrl}/api/Transaction/GetBetSlipData?BetSlipUuid=${betSlipUuid}`).toPromise();\r\n\r\n if (betslipResponse) {\r\n this.addBet.emit({ BetSlipUid: betslipResponse.betSlipUuid, SportName: this.getCurrentSportSelected(), Match: betslipResponse.fixtureName, Description: betslipResponse.description, Odds: betslipResponse.odds, ClientId: this.ClientId, Stake: this.stake, FixtureID: this.fixtureId });\r\n } else {\r\n console.log(`Error on updateBetSlip method. Response from GetBetSlipData call: ${betslipResponse}`);\r\n }\r\n }\r\n\r\n public getSports(): Observable {\r\n const url = environment.localUrl + environment.sportsRequestUrl;\r\n return this.http.get(url);\r\n }\r\n\r\n public getLeagues(SportId: Number | undefined = 0) : Observable {\r\n const url = environment.localUrl + environment.leagueRequestUrl ;\r\n const body = { SportId: SportId}\r\n return this.http.post(url, body) ;\r\n }\r\n\r\n public getFixture(LeagueId: Number| undefined = 0, fixtureId: string = '') : Observable{\r\n const url = environment.localUrl + environment.fixtureRequestUrl ;\r\n const body = { LeagueId: LeagueId, fixtureId: fixtureId }\r\n return this.http.post(url, body) ;\r\n }\r\n\r\n setClientId(ClientId: string) {\r\n this.ClientId = ClientId;\r\n }\r\n\r\n setFixtureID(fixtureId: string| null = null){\r\n this.fixtureId = fixtureId\r\n }\r\n\r\n public placeBet(bets: Bet[]) :Observable{\r\n const url = environment.transactionUrl + environment.placeBetUrl;\r\n const body = bets;\r\n return this.http.post(url, body).pipe(\r\n catchError((error: any) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n public BetConfirmation(BetslipUid: string, fixtureId: string): Observable {\r\n const url = environment.baseUrl + environment.betConfirmationUrl;\r\n const body = {\r\n APIKey: this.APIKey,\r\n BetslipUid,\r\n fixtureId: this.fixtureId,\r\n timestamp: new Date().toISOString()\r\n };\r\n const options = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'text/json',\r\n Accept: 'application/json'\r\n })\r\n };\r\n return this.http.post(url, body, options).pipe(\r\n catchError((error: any) => {\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n public setCurrentSportSelected(sportName: String | undefined = \"\")\r\n {\r\n this.currentSportSelected = sportName;\r\n }\r\n\r\n public getCurrentSportSelected() : String\r\n {\r\n return this.currentSportSelected;\r\n }\r\n\r\n //Toggles Sport List div in app.component.html\r\n public ToggleSportNavEmitter()\r\n {\r\n this.sportToggle.emit();\r\n }\r\n\r\n public ToggleIframeEmitter(fixtureResponse: FixtureResponse |null = null, url: string)\r\n {\r\n this.iFrameToggle.emit({fixture: fixtureResponse, url: url});\r\n }\r\n\r\n public ToggleBetslipEmitter()\r\n {\r\n this.betslipToggle.emit();\r\n }\r\n\r\n public ClearBetslipEmitter()\r\n {\r\n this.clearBetslip.emit();\r\n }\r\n\r\n public RemoveBetEmitter(index: number)\r\n {\r\n this.removeBet.emit(index);\r\n }\r\n\r\n public TogglePlaceBetButtonEmitter(toggle: boolean)\r\n {\r\n this.togglePlaceBetButton.emit(toggle);\r\n }\r\n\r\n public CreateNewBetListEmitter(bets: Bet[] = [])\r\n {\r\n this.createNewBetList.emit(bets);\r\n }\r\n\r\n public SetBetSlipCountEmitter(count: number)\r\n {\r\n this.setBetslipCount.emit(count);\r\n }\r\n\r\n async updateBetSlipOnPriceOrFixtureChange(betSlipUuid: string) {\r\n const betslipResponse = await this.http.get(`${this.sportscastApiBaseUrl}/api/Transaction/GetBetSlipData?BetSlipUuid=${betSlipUuid}`).toPromise();\r\n\r\n if (betslipResponse) {\r\n this.addBet.emit({ BetSlipUid: betslipResponse.betSlipUuid, SportName: this.getCurrentSportSelected(), Match: betslipResponse.fixtureName, Description: betslipResponse.description, Odds: betslipResponse.odds, ClientId: this.ClientId, Stake: this.stake, FixtureID: this.fixtureId });\r\n } else {\r\n this.toastr.error(\"Submit Bet\", \"An error has occured. Please try again later.\");\r\n console.log(`Error on updateBetSlip method. Response from GetBetSlipData call: ${betslipResponse}`);\r\n }\r\n }\r\n\r\npublic RequestBetPriceById(betsUuid: string[]): Observable {\r\n const url = environment.sportscastApiBaseUrl + environment.requestBetPriceByIdUrl;\r\n const body = betsUuid;\r\n const options = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'text/json',\r\n Accept: 'application/json'\r\n })\r\n };\r\n return this.http.post(url, body, options).pipe(\r\n catchError((error: any) => {\r\n throw error;\r\n })\r\n );\r\n}\r\n}\r\n","
\r\n
{{sports?.name}}
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\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, Input } from '@angular/core';\r\nimport { Sport } from 'src/app/Types/Response/SportResponse';\r\n\r\n@Component({\r\n selector: 'sport-item',\r\n templateUrl: './sport-item.component.html',\r\n styleUrls: ['./sport-item.component.scss']\r\n})\r\nexport class SportItemComponent {\r\n isExpanded : Boolean = false ;\r\n @Input() sports : Sport |null = null ;\r\n\r\n messageMe(){\r\n this.isExpanded = !this.isExpanded ;\r\n }\r\n \r\n}\r\n","
\r\n \r\n
\r\n","import { Component, Input, OnInit, OnDestroy } from '@angular/core';\r\nimport { Subscription} from 'rxjs';\r\nimport { SportcastServiceService } from 'src/app/Service/sportcast.service.service';\r\nimport { Sport } from 'src/app/Types/Response/SportResponse';\r\n\r\n@Component({\r\n selector: 'sport-list',\r\n templateUrl: './sport-list.component.html',\r\n styleUrls: ['./sport-list.component.scss'],\r\n})\r\nexport class SportListComponent implements OnInit, OnDestroy{\r\n SportsAvailable: Sport[] = [];\r\n @Input() NavOpen: Boolean | undefined;\r\n\r\n private subscription: Subscription | undefined;\r\n\r\n constructor(private sportcastService: SportcastServiceService) {}\r\n\r\n toggleNav(){\r\n this.NavOpen = !this.NavOpen;\r\n }\r\n\r\n ngOnInit() : void{\r\n this.subscription = this.sportcastService.getSports().subscribe((res) => {\r\n this.SportsAvailable = res;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","export enum BetUpdateType {\r\n ExpiredFixture = 'fixture_expired',\r\n ChangedOdds = 'price_change'\r\n}","import { Component, OnInit, Output, EventEmitter, Input} from '@angular/core';\r\nimport { trigger , state , style , transition , animate } from '@angular/animations';\r\nimport { Bet } from 'src/app/Types/Models/Bet';\r\nimport { SportcastServiceService } from 'src/app/Service/sportcast.service.service';\r\n\r\n@Component({\r\n selector: 'app-betslip-floating',\r\n templateUrl: './betslip-floating.component.html',\r\n styleUrls: ['./betslip-floating.component.scss'],\r\n animations:[\r\n trigger('toggleBetslipPill' , [\r\n\r\n state(\"open\",style({\r\n bottom : '0px'\r\n })),\r\n state(\"closed\" , style({\r\n bottom: '-100vh'\r\n })),\r\n transition('open => closed',[\r\n animate('0.2s')\r\n ]),\r\n transition('closed => open',[\r\n animate('0.2s')\r\n ])\r\n ])\r\n ]\r\n})\r\n\r\nexport class BetslipFloatingComponent implements OnInit {\r\n @Output() toggleBetslip: EventEmitter = new EventEmitter();\r\n isBetslipOpen : Boolean = true;\r\n betSlipCount: number = 0;\r\n previousBetCount = 0;\r\n\r\n constructor(private sportCastService: SportcastServiceService) \r\n {\r\n this.sportCastService.setBetslipCountSub = this.sportCastService.setBetslipCount.subscribe((count: number) =>{\r\n this.SetBetslipCount(count);\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onViewBetSlip(): void {\r\n this.toggleBetslip.emit();\r\n }\r\n\r\n SetBetslipCount(count: number) {\r\n this.betSlipCount = count;\r\n }\r\n}\r\n","
\r\n

Bet Slip -1\">({{ betSlipCount }})

\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nconst routes: Routes = [];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, Input } from '@angular/core';\r\nimport { trigger , state , style , transition , animate } from '@angular/animations';\r\nimport { faClose, faBars, faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { SportcastServiceService } from './Service/sportcast.service.service';\r\nimport { faCheck } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n animations:[\r\n trigger('toggleNav' , [\r\n\r\n state(\"open\",style({\r\n left : '0px'\r\n })),\r\n state(\"closed\" , style({\r\n left: '-100vw'\r\n })),\r\n transition('open => closed',[\r\n animate('0.2s')\r\n ]),\r\n transition('closed => open',[\r\n animate('0.2s')\r\n ])\r\n\r\n ]),\r\n trigger('toggleBetToasterIn' , [\r\n transition(':enter',[\r\n style({\r\n opacity: 0\r\n }),\r\n animate('1s ease-in', style({\r\n opacity: 1\r\n }))\r\n ])\r\n ]),\r\n\r\n trigger('toggleBetToasterOut' , [\r\n transition(':leave',[\r\n animate('1s ease-out', style({\r\n opacity: 0\r\n }))\r\n ])\r\n\r\n ])\r\n ]\r\n})\r\n\r\nexport class AppComponent {\r\n faCheck = faCheck;\r\n faTimes = faTimes;\r\n faClose = faClose;\r\n faBars = faBars;\r\n title = 'sportcast-widget';\r\n @Input() NavOpen = true;\r\n @Input() ShowBetToaster = false;\r\n @Input() IsBetSuccess = true;\r\n @Input() BetStatusTitle = \"\";\r\n @Input() BetStatusDescription = \"\";\r\n\r\n showBetslip: boolean = false;\r\n\r\n constructor(\r\n private eventEmitterService : SportcastServiceService\r\n ){}\r\n\r\n ngOnInit()\r\n {\r\n this.eventEmitterService.sportToggleSub = this.eventEmitterService.sportToggle.subscribe(() =>{\r\n this.toggleNav();\r\n });\r\n }\r\n\r\n toggleNav() {\r\n this.NavOpen = !this.NavOpen;\r\n }\r\n\r\n ToggleBetToaster(data?: any)\r\n {\r\n if(data != undefined)\r\n {\r\n this.IsBetSuccess = data.status;\r\n this.BetStatusTitle = data.title;\r\n this.BetStatusDescription = data.description;\r\n }\r\n\r\n this.ShowBetToaster = !this.ShowBetToaster;\r\n\r\n if(this.ShowBetToaster)\r\n {\r\n setTimeout(() => {this.ToggleBetToaster();}, 5000);\r\n }\r\n }\r\n\r\n onToggleBetslip(): void {\r\n this.showBetslip = !this.showBetslip;\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{this.BetStatusTitle}}\r\n
\r\n {{this.BetStatusDescription}}\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { SportListComponent } from './Sport/sport-list/sport-list.component';\r\nimport { SportItemComponent } from './Sport/sport-item/sport-item.component';\r\nimport { LeagueListComponent } from './League/league-list/league-list.component';\r\nimport { LeagueItemComponent } from './League/league-item/league-item.component';\r\nimport { FixtureListComponent } from './Fixture/fixture-list/fixture-list.component';\r\nimport { FixtureItemComponent } from './Fixture/fixture-item/fixture-item.component';\r\nimport { SportcastServiceService } from './Service/sportcast.service.service';\r\nimport {HttpClientModule} from '@angular/common/http';\r\nimport { IframeloaderUtilComponent } from './IFrameLoader/iframeloader-util/iframeloader-util.component';\r\nimport { BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport { BetslipFloatingComponent } from './UI/betslip-floating/betslip-floating.component';\r\nimport { BetslipComponent } from './control/betslip/betslip.component';\r\nimport { BetslipHeaderComponent } from './control/betslip-header/betslip-header.component';\r\nimport { BetslipItemsComponent } from './control/betslip-items/betslip-items.component';\r\nimport { SafeURLPipe } from './pipes/safe-url.pipe';\r\nimport { CurrencyPresentPipe } from './pipes/currency-present.pipe';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { BetslipActionComponent } from './control/betslip-action/betslip-action.component';\r\nimport { ToastrModule } from 'ngx-toastr';\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n SportListComponent,\r\n SportItemComponent,\r\n LeagueListComponent,\r\n LeagueItemComponent,\r\n FixtureListComponent,\r\n FixtureItemComponent,\r\n IframeloaderUtilComponent,\r\n BetslipFloatingComponent,\r\n BetslipComponent,\r\n BetslipHeaderComponent,\r\n BetslipItemsComponent,\r\n SafeURLPipe,\r\n CurrencyPresentPipe,\r\n BetslipActionComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule ,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n FontAwesomeModule,\r\n ToastrModule.forRoot()\r\n ],\r\n providers: [SportcastServiceService],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component } from '@angular/core';\r\nimport { Bet, DebitResponse } from 'src/app/Types/Models/Bet';\r\nimport { SportcastServiceService } from 'src/app/Service/sportcast.service.service';\r\nimport { Input } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { RequestBetPriceByIdResponse, RequestBetPriceByIdResponseData } from 'src/app/Types/Response/RequestBetPriceByIdResponse';\r\nimport { BetUpdateType } from 'src/app/Types/Enums/BetUpdateType';\r\n\r\n@Component({\r\n selector: 'app-betslip-action',\r\n templateUrl: './betslip-action.component.html',\r\n styleUrls: ['./betslip-action.component.scss']\r\n})\r\nexport class BetslipActionComponent {\r\n\r\n @Input() Bets: Bet[] = [];\r\n @Input() fixtureName: string = '';\r\n @Input() BetSlipUid: string = '';\r\n @Input() ClientId: string = '';\r\n @Input() Stake: number = 0;\r\n @Input() Odds: number = 0;\r\n @Input() Description: string = \"\";\r\n @Input() fixtureId: string = '';\r\n @Input() Payout: number = 0;\r\n isPlaceBetEnabled: boolean = false;\r\n updatedBetsDisplayMessage: string[] = [];\r\n requestBetPriceByIdResponse: RequestBetPriceByIdResponse | undefined;\r\n\r\n constructor(private sportcastService: SportcastServiceService, private toastr: ToastrService) {\r\n this.sportcastService.togglePlaceBetButtonSub = this.sportcastService.togglePlaceBetButton.subscribe((toggle: boolean) => {\r\n this.TogglePlaceBetButton(toggle);\r\n });\r\n }\r\n\r\n placeBet(): void {\r\n const successfulBets: Bet[] = [];\r\n const unsuccessfulBets: Bet[] = [];\r\n const betUuids: string[] = [];\r\n this.updatedBetsDisplayMessage = [];\r\n\r\n for (var i = 0; i < this.Bets.length; ++i) {\r\n var isError = false;\r\n if (!this.Bets[i].Stake) {\r\n isError = true;\r\n this.toastr.error(\"No Stake Entered\", \"Please enter a stake for your bets and then submit.\");\r\n }\r\n else if (this.Bets[i].Stake <= 0) {\r\n isError = true;\r\n this.toastr.error(\"Incorrect Stake Entered\", \"Please add an appropriate amount to you stake\");\r\n }\r\n\r\n if ((this.Bets[i].Stake * this.Bets[i].Odds) >= environment.maxPayout) {\r\n isError = true;\r\n this.toastr.error(\"Max payout Exceeded\", \"Please lower your stake.\");\r\n }\r\n\r\n if (!isError) {\r\n successfulBets.push(this.Bets[i]);\r\n betUuids.push(this.Bets[i].BetSlipUid);\r\n }\r\n else {\r\n unsuccessfulBets.push(this.Bets[i]);\r\n }\r\n }\r\n\r\n if (successfulBets.length > 0) {\r\n this.validateBetslip(betUuids).then(() => {\r\n if (this.requestBetPriceByIdResponse?.status.toLowerCase() === 'success') {\r\n const requiredBetUpdates: RequestBetPriceByIdResponseData[] = JSON.parse(this.requestBetPriceByIdResponse?.data + '')\r\n\r\n if (requiredBetUpdates?.length === 0) {\r\n this.sportcastService.placeBet(successfulBets).subscribe((response: DebitResponse) => {\r\n if (response?.status.toLowerCase() === 'success') {\r\n this.toastr.success(\"Submit Bet\", \"Success\");\r\n this.sportcastService.CreateNewBetListEmitter(unsuccessfulBets);\r\n } else {\r\n this.toastr.error(\"Submit Bet\", \"Unable to place bet. Please try again later.\");\r\n }\r\n },\r\n (error) => {\r\n this.toastr.error(\"Submit Bet\", error.message);\r\n throw error;\r\n });\r\n } else {\r\n requiredBetUpdates.forEach(element => {\r\n const betIndex = this.Bets.findIndex(x => x.BetSlipUid === element.BetSlipUid);\r\n if (element.UpdateType === BetUpdateType.ExpiredFixture) {\r\n if (betIndex > -1) {\r\n this.sportcastService.RemoveBetEmitter(betIndex);\r\n }\r\n this.updatedBetsDisplayMessage.push(`${element.FixtureName} removed from betslip due to expired fixture.`);\r\n }\r\n if (element.UpdateType === BetUpdateType.ChangedOdds) {\r\n // this.sportcastService.updateBetSlipOnPriceOrFixtureChange(element.BetSlipUid);\r\n if (betIndex > -1) {\r\n this.Bets[betIndex].Odds = element.NewOdd;\r\n }\r\n this.updatedBetsDisplayMessage.unshift(`${element.FixtureName} odds have been updated from ${element.OldOdd} to ${element.NewOdd}.`);\r\n }\r\n });\r\n this.sportcastService.CreateNewBetListEmitter(this.Bets);\r\n }\r\n } else {\r\n this.toastr.error(\"Submit Bet\", \"Unable to place bet. Please try again later.\");\r\n }\r\n })\r\n }\r\n }\r\n\r\n TogglePlaceBetButton(toggle: boolean) {\r\n this.isPlaceBetEnabled = toggle;\r\n }\r\n\r\n validateBetslip(betUuids: string[]) {\r\n let promise = new Promise((resolve) => {\r\n this.sportcastService.RequestBetPriceById(betUuids).subscribe((response: RequestBetPriceByIdResponse) => {\r\n this.requestBetPriceByIdResponse = response;\r\n resolve(response)\r\n });\r\n });\r\n return promise;\r\n\r\n }\r\n\r\n}\r\n","
{{ BetSlipUid }}
\r\n
\r\n \r\n

{{message}}

\r\n
\r\n

0 && Bets.length > 0\" class=\"d-block w-100 text-center pt-2\">Please confirm and place bet.

\r\n \r\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { SportcastServiceService } from 'src/app/Service/sportcast.service.service';\r\nimport { Bet } from 'src/app/Types/Models/Bet';\r\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-betslip-header',\r\n templateUrl: './betslip-header.component.html',\r\n styleUrls: ['./betslip-header.component.scss']\r\n})\r\nexport class BetslipHeaderComponent {\r\n @Output() removeAllBetsEvent: EventEmitter = new EventEmitter();\r\n @Output() closeBetslip: EventEmitter = new EventEmitter();\r\n @Input() Bets: Bet[] = [];\r\n isPlaceBetEnabled: boolean = false;\r\n faTimes = faTimes;\r\n\r\n constructor(private sportcastService: SportcastServiceService)\r\n {\r\n }\r\n\r\n\r\n removeAllBets() {\r\n this.removeAllBetsEvent.emit();\r\n this.Bets = [];\r\n this.sportcastService.ClearBetslipEmitter();\r\n }\r\n\r\n onCloseBetslip() {\r\n this.closeBetslip.emit(true);\r\n }\r\n}\r\n","
\r\n
Remove All bets
\r\n
Bet Slip
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, Input, OnInit} from '@angular/core';\r\nimport { SportcastServiceService } from 'src/app/Service/sportcast.service.service';\r\nimport { Bet } from 'src/app/Types/Models/Bet';\r\nimport { faClose } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-betslip-items',\r\n templateUrl: './betslip-items.component.html',\r\n styleUrls: ['./betslip-items.component.scss']\r\n})\r\nexport class BetslipItemsComponent implements OnInit {\r\n faClose = faClose;\r\n\r\n @Input() betIndex!: number;\r\n @Input() bet!: Bet;\r\n @Input() Bets: Bet[] = [];\r\n @Input() Payout: number = 0;\r\n isPlaceBetEnabled: boolean = false;\r\n\r\n constructor(private sportcastService: SportcastServiceService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n calculateStake()\r\n {\r\n this.Payout = this.bet.Stake * this.bet.Odds;\r\n }\r\n\r\n RemoveBet()\r\n {\r\n this.sportcastService.RemoveBetEmitter(this.betIndex);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
Fixture Name:
\r\n
{{ this.bet.FixtureName }}
\r\n
\r\n
\r\n
Description:
\r\n
{{ this.bet.Description }}
\r\n
\r\n
\r\n
Odds (Stake Included):
\r\n
{{ this.bet.Odds }}
\r\n
\r\n
\r\n
Payout:
\r\n
{{ Payout | number : '1.2-2' }}
\r\n
\r\n
\r\n
Stake:
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, Output } from '@angular/core';\r\nimport { trigger , state , style , transition , animate } from '@angular/animations';\r\nimport { SportcastServiceService } from 'src/app/Service/sportcast.service.service';\r\nimport { Bet } from 'src/app/Types/Models/Bet';\r\n\r\n@Component({\r\n selector: 'app-betslip',\r\n templateUrl: './betslip.component.html',\r\n styleUrls: ['./betslip.component.scss'],\r\n animations:[\r\n\r\n trigger('toggleBetslip' , [\r\n state(\"open\" , style({\r\n top : '50%'\r\n })),\r\n state(\"closed\",style({\r\n top: '-100vh'\r\n })) ,\r\n transition('open => closed',[\r\n animate('0.1s')\r\n ]),\r\n transition('closed => open',[\r\n animate('0.1s')\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class BetslipComponent {\r\n @Input() showBetslip: boolean = false;\r\n @Input() closeBetslip = false;\r\n @Input() Bets: Bet[] = [];\r\n\r\n constructor(private sportcastService: SportcastServiceService){\r\n this.sportcastService.betslipToggleSub = this.sportcastService.betslipToggle.subscribe(() =>{\r\n this.toggleBetslip();\r\n });\r\n\r\n this.sportcastService.addBetSub = this.sportcastService.addBet.subscribe((data?: any) => {\r\n this.AddBet(data);\r\n });\r\n\r\n \r\n this.sportcastService.clearBetslipSub = this.sportcastService.clearBetslip.subscribe(() =>{\r\n this.clearForm();\r\n });\r\n\r\n this.sportcastService.removeBetSub = this.sportcastService.removeBet.subscribe((index: number) =>{\r\n this.RemoveBet(index);\r\n });\r\n\r\n this.sportcastService.createNewBetListSub = this.sportcastService.createNewBetList.subscribe((bets: Bet[] = []) =>{\r\n this.CreateNewBetList(bets);\r\n });\r\n }\r\n\r\n toggleBetslip(){\r\n this.showBetslip = !this.showBetslip;\r\n }\r\n\r\n onCloseBetslip() {\r\n this.closeBetslip = true;\r\n this.showBetslip = false;\r\n }\r\n\r\n AddBet(data?: any)\r\n {\r\n if(data != undefined)\r\n {\r\n for(var i = 0; i < this.Bets.length; ++i)\r\n {\r\n if(this.Bets[i].BetSlipUid == data.BetSlipUid)\r\n {\r\n return;\r\n }\r\n }\r\n\r\n ( document.getElementById(\"placebet\")).disabled = false;\r\n \r\n this.Bets.push({ BetSlipUid: data.BetSlipUid, SportName: data.SportName, Description: data.Description, ClientId: data.ClientId, Stake: data.Stake, Odds: data.Odds, FixtureName: data.Match, FixtureID: data.FixtureID, Timestamp: new Date().toJSON() });\r\n\r\n this.sportcastService.TogglePlaceBetButtonEmitter(true);\r\n\r\n this.sportcastService.SetBetSlipCountEmitter(this.Bets.length);\r\n }\r\n }\r\n\r\n clearForm(): void {\r\n this.Bets = [];\r\n\r\n this.sportcastService.TogglePlaceBetButtonEmitter(false);\r\n\r\n this.sportcastService.SetBetSlipCountEmitter(this.Bets.length);\r\n }\r\n\r\n RemoveBet(index: number): void\r\n {\r\n this.Bets.splice(index, 1);\r\n\r\n if(this.Bets.length <= 0)\r\n {\r\n this.sportcastService.TogglePlaceBetButtonEmitter(false);\r\n }\r\n\r\n this.sportcastService.SetBetSlipCountEmitter(this.Bets.length);\r\n }\r\n\r\n CreateNewBetList(newBets: Bet[] = []) : void\r\n {\r\n this.Bets = newBets;\r\n\r\n if(this.Bets.length <= 0)\r\n {\r\n this.sportcastService.TogglePlaceBetButtonEmitter(false);\r\n }\r\n \r\n this.sportcastService.SetBetSlipCountEmitter(this.Bets.length);\r\n }\r\n\r\n GetBets(): Bet[]\r\n {\r\n return this.Bets;\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 { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'currencyPresent'\r\n})\r\nexport class CurrencyPresentPipe implements PipeTransform {\r\n\r\n transform(num:any): unknown {\r\n return \"R \" + new Intl.NumberFormat('en', { maximumSignificantDigits: 3 , minimumSignificantDigits:2}).format(num);\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n@Pipe({\r\n name: 'safeURL'\r\n})\r\nexport class SafeURLPipe implements PipeTransform {\r\n\r\n constructor(private santizer:DomSanitizer){}\r\n transform(URL:string ) {\r\n return this.santizer.bypassSecurityTrustResourceUrl(URL?.toString());\r\n }\r\n\r\n}\r\n","import { configuration } from \"src/app/Types/Config/configuration\";\r\n\r\nexport const environment:configuration = {\r\n APIKey: '115b5418-ef78-4dad-839a-1e673b67f204',\r\n iFrameURL: \"https://public-prod-gen2.sportcastlive.com/markets?key=115b5418-ef78-4dad-839a-1e673b67f204&brand=hollywoodbets&FixtureId=\",\r\n slipEp: 'https://cluster.sportcastlive.com/api/getbetslipscrolleritems?key=115b5418-ef78-4dad-839a-1e673b67f204',\r\n localUrl: \"https://sportcast-api.Hollywoodbets.net/api/Sport/\",\r\n transactionUrl: \"https://sportcast-api.Hollywoodbets.net/api/Transaction/\",\r\n baseUrl: \"https://cluster.sportcastlive.com/\",\r\n sportsRequestUrl: \"GetAll\",\r\n leagueRequestUrl: \"GetLeagues\",\r\n fixtureRequestUrl: \"GetFixtures\",\r\n betConfirmationUrl: \"/Public/BetConfirmation\",\r\n betRequestUrl: '/api/bets',\r\n placeBetUrl: 'Debit',\r\n requestBetPriceByIdUrl: '/api/Transaction/RequestBetPriceById',\r\n sportscastApiBaseUrl: \"https://sportcast-api.hollywoodbets.net\",\r\n allowedPlatformUrls : [\"https://m.hollywoodbets.net\", \"https://www.hollywoodbets.net\", \"https://new.hollywoodbets.net\", \"https://www.datafree.hollywoodbets.net\", \"https://datafree-origin.hollywoodbets.net\", \"https://web.hollywoodbets.net\"],\r\n maxPayout: 1000000, \r\n league: [\"English Premier League\", \"Spanish Primera Liga\", \"German Bundesliga\", \"French Ligue 1\", \"Italian Serie A\"]\r\n};\r\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\n\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"names":["FixtureItemComponent","constructor","eventEmitterService","alterState","ToggleIframe","fixture","iFrameURL","IframeOpen","onToggleIframe","open","expandRow","isExpanded","ToggleSportNav","ToggleSportNavEmitter","fixtureResponse","url","ToggleIframeEmitter","setCurrentSport","setCurrentSportSelected","sportName","selectors","inputs","decls","vars","consts","template","i0","ctx","FixtureListComponent","toggleNav","NavOpen","sportcastService","ngOnInit","subscription","getFixture","LeagueId","subscribe","res","Fixtures","filter","x","leagueId","ngOnDestroy","unsubscribe","SportName","EventEmitter","environment","IframeloaderUtilComponent","window","addEventListener","handleMessage","bind","iFrameToggleSub","iFrameToggle","params","fixtureId","toggleIframe","emit","message","iframe","document","getElementById","iWindow","contentWindow","source","response","data","updateBetSlip","setFixtureID","allowedPlatformUrls","includes","origin","punterId","setClientId","removeEventListener","viewQuery","LeagueItemComponent","league","LeagueListComponent","getLeagues","SportId","LeaguesResponse","sportId","leagueSort","leagues","array","sort","a","b","leagueName","localeCompare","priorityArray","priorityList","PriorityLeagues","reverse","forEach","push","indexOf","splice","catchError","Subscription","HttpHeaders","SportcastServiceService","http","toastr","APIKey","slipEp","sportscastApiBaseUrl","betslipObject","JSON","parse","betSlipUuid","betslipUid","betslipResponse","get","toPromise","addBet","BetSlipUid","getCurrentSportSelected","Match","fixtureName","Description","description","Odds","odds","ClientId","Stake","stake","FixtureID","console","log","getSports","localUrl","sportsRequestUrl","leagueRequestUrl","body","post","fixtureRequestUrl","placeBet","bets","transactionUrl","placeBetUrl","pipe","error","BetConfirmation","BetslipUid","baseUrl","betConfirmationUrl","timestamp","Date","toISOString","options","headers","Accept","currentSportSelected","sportToggle","ToggleBetslipEmitter","betslipToggle","ClearBetslipEmitter","clearBetslip","RemoveBetEmitter","index","removeBet","TogglePlaceBetButtonEmitter","toggle","togglePlaceBetButton","CreateNewBetListEmitter","createNewBetList","SetBetSlipCountEmitter","count","setBetslipCount","updateBetSlipOnPriceOrFixtureChange","RequestBetPriceById","betsUuid","requestBetPriceByIdUrl","factory","providedIn","SportItemComponent","messageMe","sports","SportListComponent","SportsAvailable","BetUpdateType","trigger","state","style","transition","animate","BetslipFloatingComponent","sportCastService","setBetslipCountSub","SetBetslipCount","onViewBetSlip","toggleBetslip","betSlipCount","outputs","bottom","RouterModule","routes","AppRoutingModule","forRoot","imports","exports","faClose","faBars","faTimes","faCheck","AppComponent","sportToggleSub","ToggleBetToaster","undefined","IsBetSuccess","status","BetStatusTitle","title","BetStatusDescription","ShowBetToaster","setTimeout","onToggleBetslip","showBetslip","left","opacity","BrowserModule","FormsModule","HttpClientModule","BrowserAnimationsModule","BetslipComponent","BetslipHeaderComponent","BetslipItemsComponent","SafeURLPipe","CurrencyPresentPipe","FontAwesomeModule","BetslipActionComponent","ToastrModule","AppModule","bootstrap","declarations","togglePlaceBetButtonSub","TogglePlaceBetButton","successfulBets","unsuccessfulBets","betUuids","updatedBetsDisplayMessage","i","Bets","length","isError","maxPayout","validateBetslip","then","requestBetPriceByIdResponse","toLowerCase","requiredBetUpdates","success","element","betIndex","findIndex","UpdateType","ExpiredFixture","FixtureName","ChangedOdds","NewOdd","unshift","OldOdd","isPlaceBetEnabled","promise","Promise","resolve","Payout","removeAllBets","removeAllBetsEvent","onCloseBetslip","closeBetslip","calculateStake","bet","RemoveBet","betslipToggleSub","addBetSub","AddBet","clearBetslipSub","clearForm","removeBetSub","createNewBetListSub","CreateNewBetList","disabled","Timestamp","toJSON","newBets","GetBets","top","transform","num","Intl","NumberFormat","maximumSignificantDigits","minimumSignificantDigits","format","pure","santizer","URL","bypassSecurityTrustResourceUrl","toString","betRequestUrl","__NgCli_bootstrap_1","bootstrapModule","catch","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}