{"version":3,"file":"chunk-bz1mvraw.js","sources":["packages/sports/web/app/src/cds/showcase-api.service.ts","packages/sports/web/app/src/showcase/showcase.model.ts","packages/sports/web/app/src/showcase/showcase-fixture-mapper.service.ts","packages/sports/web/app/src/showcase/showcase.service.ts","packages/sports/web/app/src/showcase/showcase-request-builder.service.ts","packages/sports/web/app/src/showcase/event-load.service.ts","packages/sports/web/app/src/showcase/live-alert/live-alert-manager.service.ts","packages/sports/web/app/src/showcase/showcase.tracking.service.ts","packages/sports/web/app/src/showcase/live-alert/live-alert-item.component.html","packages/sports/web/app/src/showcase/live-alert/live-alert-item.component.ts","packages/sports/web/app/src/showcase/live-alert/live-alert-list.component.html","packages/sports/web/app/src/showcase/live-alert/live-alert-list.component.ts","packages/sports/web/app/src/showcase/option-group/showcase-option-group.component.html","packages/sports/web/app/src/showcase/option-group/showcase-option-group.component.ts","packages/sports/web/app/src/showcase/option-group/option-group-container.component.html","packages/sports/web/app/src/showcase/option-group/option-group-container.component.ts","packages/sports/web/app/src/showcase/showcase-media/showcase-media.component.html","packages/sports/web/app/src/showcase/showcase-media/showcase-media.component.ts","packages/sports/web/app/src/showcase/event-switcher/showcase-scoreboard.component.html","packages/sports/web/app/src/showcase/event-switcher/showcase-scoreboard.component.ts","packages/sports/web/app/src/showcase/event-switcher/showcase-tab-bar.component.html","packages/sports/web/app/src/showcase/event-switcher/showcase-tab-bar.component.ts","packages/sports/web/app/src/showcase/showcase.component.html","packages/sports/web/app/src/showcase/showcase.component.ts","packages/sports/web/app/src/showcase/showcase.module.ts"],"sourcesContent":["import { Inject, Injectable } from '@angular/core';\n\nimport { ShowcaseData } from '@cds/betting-offer/domain-specific/showcase';\nimport { ShowcaseRequest } from '@cds/query-objects';\nimport { BaseCdsApi, BaseCdsApiFactory, CDS_API_FACTORY } from '@frontend/sports/content-distribution/feature';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ShowcaseApi {\n private cdsApi: BaseCdsApi;\n\n constructor(@Inject(CDS_API_FACTORY) cdsApiServiceFactory: BaseCdsApiFactory) {\n this.cdsApi = cdsApiServiceFactory({ endpoint: '/showcase' });\n }\n\n getShowcaseData(request: ShowcaseRequest): Observable {\n return this.cdsApi.post(`/fixtures`, request);\n }\n}\n","import { EventModel, EventOptionGroup, EventParticipant } from '@frontend/sports/betting-offer/feature/model';\n\nexport interface LiveAlertMessage {\n eventId: string;\n sportId: number;\n team: string;\n event: string;\n order: number;\n messageType?: LiveAlertMessageType[];\n team1Score?: number;\n team2Score?: number;\n text: string;\n}\n\nexport class ShowcaseConstants {\n static TIMEDELAY = 4000;\n static ANIMATIONTIME = 1100;\n}\n\nexport class LiveAlertMessageType {\n message: string;\n isHighlighted: boolean;\n}\n\nexport class ShowcaseEventModel {\n active?: boolean;\n event: EventModel;\n gridGroup?: { [key: string]: string };\n}\n\nexport interface ShowcaseModuleSitecoreItem {\n title: string;\n showOnHomeLobby: boolean;\n showOnSportsLobby: boolean;\n showOnCompetitionLobby: boolean;\n fixtureGroup: ShowcaseFixtureGroup[];\n showSpecialContents: boolean;\n contentSourceId: number;\n}\n\nexport interface ShowcaseFixtureGroup {\n fixtureId?: string;\n sportId: number;\n competitionId: number;\n gridGroup: { [key: string]: string };\n regionId: number;\n}\n\nexport enum Lobby {\n Home = 'Home',\n Sports = 'Sports',\n Competition = 'Competition',\n}\n\nexport enum ViewType {\n SixPack,\n Default,\n}\n\nexport interface ShowcaseModuleData {\n title: string;\n events: ShowcaseEventModel[];\n showSpecialContents: boolean;\n}\n\nexport interface OptionGroupDetail {\n name?: string;\n optionGroup: EventOptionGroup | undefined;\n optionNames: string[];\n}\n\nexport interface IShowcaseRequest {\n fixturesGroup: ShowcaseFixtureGroup[];\n requestId: number;\n}\n\nexport interface IShowcaseRequestInfo {\n request: IShowcaseRequest[];\n sitecoreData: ShowcaseModuleSitecoreItem[];\n}\n\nexport interface LobbySpecificRequest {\n lobby: Lobby;\n sportId?: number;\n competitionId?: number | number[];\n regionId?: number;\n}\n\nexport enum FootballMessageIds {\n Goal = 255,\n RedCard = 254,\n Penalty = 249,\n PenaltyScored = 244,\n PenaltyMissed = 243,\n Corner = 252,\n Custom = 9999,\n}\n\nexport enum AmericanFootballMessageIds {\n TouchDown = 251,\n TwoPointConversion = 249,\n OnePointConversion = 248,\n Safety = 252,\n FieldGoal = 253,\n Quarter = 1,\n Custom = 9999,\n}\n\nexport enum BasketballMessageIds {\n Messages = 1,\n}\n\nexport enum BaseballMessageIds {\n TotalRuns = 255,\n OneHomeRun = 254,\n TwoHomeRuns = 252,\n ThreeHomeRuns = 251,\n FourHomeRuns = 250,\n Messages = 1,\n Custom = 9999,\n}\n\nexport enum IceHockeyMessageIds {\n Goal = 255,\n Messages = 1,\n PenaltyScored = 245,\n PenaltyMissed = 244,\n Custom = 9999,\n}\n\nexport enum BasketBallPeriodIds {\n Notstarted = 0,\n Firstquarter = 1,\n FirstQuarterIntermission = 2,\n SecondQuarter = 3,\n SecondQuarterIntermission = 4,\n ThirdQuarter = 5,\n ThirdQuarterIntermission = 6,\n FourthQuarter = 7,\n FourthQuarterIntermission = 8,\n RegularTimeOver = 9,\n Overtime = 10,\n OvertimeIntermission = 11,\n End = 255,\n}\n\nexport enum TouchDownInfo {\n TouchDownPointer = 6,\n}\n\nexport enum CustomMessage {\n CustomMessageType = 9999,\n}\n\nexport class LiveAlertEvent {\n participant1Score: number;\n participant2Score: number;\n currentlyServing?: number;\n period: { id?: number | undefined; name: string };\n eventId: string;\n sportId: number;\n team1Name: string;\n team2Name: string;\n time: string;\n constructor(\n participant1Score: number,\n participant2Score: number,\n eventId: string,\n sportId: number,\n participants: EventParticipant[],\n period: { id?: number | undefined; name: string },\n time?: string,\n currentlyServing?: number,\n ) {\n this.participant1Score = participant1Score;\n this.participant2Score = participant2Score;\n this.currentlyServing = currentlyServing;\n this.period = period;\n this.eventId = eventId;\n this.sportId = sportId;\n if (time) {\n this.time = time;\n }\n if (participants && participants.length === 2) {\n this.team1Name = participants[0].shortName || participants[0].name;\n this.team2Name = participants[1].shortName || participants[1].name;\n }\n }\n}\n\nexport enum FeatureTab {\n Scoreboard = 1,\n Video = 2,\n Simulation = 3,\n Statistics = 4,\n}\n","import { Injectable } from '@angular/core';\n\nimport { Fixture } from '@cds/betting-offer';\nimport { ShowcaseFixtureData } from '@cds/betting-offer/domain-specific/showcase';\nimport { FixtureFactory } from '@frontend/sports/betting-offer/feature/fixture-factories';\n\nimport { ShowcaseEventModel, ShowcaseFixtureGroup, ShowcaseModuleData, ShowcaseModuleSitecoreItem } from './showcase.model';\n\n@Injectable({ providedIn: 'root' })\nexport class ShowcaseFixtureMapperService {\n constructor(private fixtureFactory: FixtureFactory) {}\n\n mapShowcaseFixtures(fixtures: ShowcaseFixtureData[], showcaseModuleItem: ShowcaseModuleSitecoreItem[]): ShowcaseModuleData {\n if (!(fixtures && fixtures.length)) {\n return {};\n }\n\n const key = fixtures.map((f) => f.requestId)[0];\n const fixtureGroup = fixtures.filter((f) => f.requestId === key);\n\n const sitecoreShowcaseModuleItem = showcaseModuleItem.find((v) => v.contentSourceId === +key);\n\n let showcaseModuleTabEvents = fixtureGroup.map((fg) => this.eventModelWithOptionGroup(fg.fixture, sitecoreShowcaseModuleItem!));\n showcaseModuleTabEvents = showcaseModuleTabEvents.filter((item) => item.event.participants.length === 2);\n\n if (showcaseModuleTabEvents?.length) {\n showcaseModuleTabEvents[0].active = true;\n }\n\n return {\n title: sitecoreShowcaseModuleItem!.title,\n events: showcaseModuleTabEvents,\n showSpecialContents: sitecoreShowcaseModuleItem!.showSpecialContents,\n };\n }\n\n private eventModelWithOptionGroup(fixture: Fixture, sitecoreShowcaseModuleItem: ShowcaseModuleSitecoreItem): ShowcaseEventModel {\n const eventModel = this.fixtureFactory.create(fixture);\n\n return {\n gridGroup: this.getGridGroupId(sitecoreShowcaseModuleItem.fixtureGroup, fixture.sport.id),\n event: eventModel,\n };\n }\n\n private getGridGroupId(fixtureGroups: ShowcaseFixtureGroup[], sportId: number): { [key: string]: string } | undefined {\n const fixtureGroup = fixtureGroups.find((g) => g.sportId === sportId);\n\n return fixtureGroup?.gridGroup;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { ShowcaseFixtureData } from '@cds/betting-offer/domain-specific/showcase';\nimport { EventModel, EventOptionGroup } from '@frontend/sports/betting-offer/feature/model';\nimport { ShowcaseConfig } from '@frontend/sports/common/client-config-data-access';\nimport { assign } from 'lodash-es';\nimport { Observable, Subject } from 'rxjs';\n\nimport { Promotion } from '../crm-offer-data/crm-offer.model';\nimport { CrmPromotionMapperService } from '../crm-promotion-container/crm-promotion-mapper.service';\nimport { ShowcaseFixtureMapperService } from './showcase-fixture-mapper.service';\nimport {\n IShowcaseRequestInfo,\n Lobby,\n LobbySpecificRequest,\n ShowcaseFixtureGroup,\n ShowcaseModuleData,\n ShowcaseModuleSitecoreItem,\n} from './showcase.model';\n\n@Injectable({ providedIn: 'root' })\nexport class ShowcaseService {\n private selectSubject = new Subject();\n private selectAlertSubject = new Subject();\n private backgroundImage: Record = {};\n\n readonly selectedEvent: Observable = this.selectSubject.asObservable();\n readonly selectedAlertEvent = this.selectAlertSubject.asObservable();\n crmPromotions: Promotion[] = [];\n optionGroups: EventOptionGroup[] = [];\n eventSelectedFromTabBar = false;\n\n constructor(\n public config: ShowcaseConfig,\n private crmPromotionMapper: CrmPromotionMapperService,\n private showcaseFixtureMapperService: ShowcaseFixtureMapperService,\n ) {\n this.config.backgrounds.map((image) => {\n assign(this.backgroundImage, { [image.id]: image.imageSrc });\n });\n }\n\n getLobbySpecificData(data: LobbySpecificRequest): IShowcaseRequestInfo {\n const sitecoreData = this.filterData(data.lobby);\n\n return this.filterFixtureGroup(sitecoreData, data);\n }\n\n getLobbySpecificMappedData(data: LobbySpecificRequest, fixtures: ShowcaseFixtureData[]): ShowcaseModuleData {\n const sitecoreData = this.filterData(data.lobby);\n const showcaseModule = this.filterFixtureGroup(sitecoreData, data);\n\n return this.showcaseFixtureMapperService.mapShowcaseFixtures(fixtures, showcaseModule.sitecoreData);\n }\n\n select(eventId: string): void {\n this.selectSubject.next(eventId);\n }\n\n selectAlert(): void {\n this.selectAlertSubject.next();\n }\n\n promotionChanged(model: Promotion[], event: EventModel): Promotion[] {\n if (!event || model.length === 0) {\n return [];\n }\n this.crmPromotions = this.crmPromotionMapper.getPromotionsForEvent(event, model);\n\n return this.crmPromotionMapper.getBannerPromotions(this.optionGroups, event, this.crmPromotions);\n }\n\n getBackgroundImageUrl(sportId: number): string {\n return this.backgroundImage[sportId];\n }\n\n getGridGroupIds(gridGroup: { [key: string]: string }): string[] {\n return Object.keys(gridGroup);\n }\n\n setParticipantsShirtColor(eventModel: EventModel): void {\n if (eventModel.scoreboard && eventModel.participants && eventModel.participants.length === 2) {\n const homeTeamColor = eventModel.scoreboard.colors ? eventModel.scoreboard.colors[0] : undefined;\n const awayTeamColor = eventModel.scoreboard.colors ? eventModel.scoreboard.colors[1] : undefined;\n if (eventModel.participants) {\n eventModel.participants[0].shirtColor = homeTeamColor;\n eventModel.participants[1].shirtColor = awayTeamColor;\n }\n }\n }\n\n private filterFixtureGroup = (showcaseModuleItem: ShowcaseModuleSitecoreItem[], data: LobbySpecificRequest): IShowcaseRequestInfo => {\n const showcaseFixturesGroup = showcaseModuleItem.map((showcaseItem) => {\n return {\n fixturesGroup: this.getLobbySpecificFixtures(showcaseItem.fixtureGroup, data),\n requestId: showcaseItem.contentSourceId,\n };\n });\n\n return { request: showcaseFixturesGroup, sitecoreData: showcaseModuleItem };\n };\n\n private getLobbySpecificFixtures(fixtureGroup: ShowcaseFixtureGroup[], data: LobbySpecificRequest): ShowcaseFixtureGroup[] {\n switch (data.lobby) {\n case Lobby.Home:\n return fixtureGroup;\n case Lobby.Sports:\n return fixtureGroup.filter((f) => data.sportId && data.sportId > 0 && f.sportId === data.sportId);\n case Lobby.Competition:\n return fixtureGroup.filter((f) => f.regionId && f.regionId > 0 && f.regionId === data.regionId && f.sportId === data.sportId);\n default:\n return [];\n }\n }\n\n private filterData(lobby: Lobby): ShowcaseModuleSitecoreItem[] {\n return this.config.items.filter((item) => {\n if (lobby === Lobby.Home) {\n return item.showOnHomeLobby;\n } else if (lobby === Lobby.Sports) {\n return item.showOnSportsLobby;\n } else {\n return item.showOnCompetitionLobby;\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { FixtureState, OfferMapping, ScoreboardMode, ShowcaseRequest } from '@cds/query-objects';\nimport { ShowcaseConfig } from '@frontend/sports/common/client-config-data-access';\nimport { flatten } from 'lodash-es';\n\nimport { IShowcaseRequest, Lobby, LobbySpecificRequest } from './showcase.model';\nimport { ShowcaseService } from './showcase.service';\n\n@Injectable({ providedIn: 'root' })\nexport class ShowcaseRequestBuilderService {\n constructor(\n private showcaseService: ShowcaseService,\n private showcaseConfig: ShowcaseConfig,\n ) {}\n\n getRequestPayload(data: LobbySpecificRequest): ShowcaseRequest {\n if (this.showcaseConfig.isShowcaseModuleEnabled) {\n const showcaseData = this.showcaseService.getLobbySpecificData(data);\n\n return this.buildRequestForLobby(showcaseData.request, data.lobby);\n }\n\n return { queries: [], getOnlyFirstAvailableOffer: false };\n }\n\n private buildRequestForLobby(showcaseData: IShowcaseRequest[], lobby: Lobby): ShowcaseRequest {\n return {\n queries: flatten(\n showcaseData.map((m) =>\n m.fixturesGroup.map((tab) => {\n return {\n fixtureIds: tab.fixtureId,\n gridGroupIds: this.showcaseService.getGridGroupIds(tab.gridGroup).join(','),\n requestId: m.requestId + '',\n scoreboardMode: ScoreboardMode.Full,\n offerMapping: OfferMapping.Filtered,\n state: FixtureState.Latest,\n };\n }),\n ),\n ),\n getOnlyFirstAvailableOffer: lobby !== Lobby.Competition,\n };\n }\n\n buildRequestForOptionGroup(fixtureId: string, groupIds: string[]): ShowcaseRequest {\n return {\n queries: [\n {\n fixtureIds: fixtureId,\n gridGroupIds: groupIds.join(','),\n requestId: '',\n offerMapping: OfferMapping.Filtered,\n state: FixtureState.Latest,\n },\n ],\n getOnlyFirstAvailableOffer: true,\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { FixtureFactory } from '@frontend/sports/betting-offer/feature/fixture-factories';\nimport { EventModel } from '@frontend/sports/betting-offer/feature/model';\nimport { Observable, map, of } from 'rxjs';\n\nimport { ShowcaseApi } from '../cds/showcase-api.service';\nimport { ShowcaseRequestBuilderService } from './showcase-request-builder.service';\nimport { ShowcaseEventModel } from './showcase.model';\n\n@Injectable()\nexport class EventLoadService {\n constructor(\n private requestBuilderService: ShowcaseRequestBuilderService,\n private showcaseApi: ShowcaseApi,\n private fixtureFactory: FixtureFactory,\n ) {}\n\n getFullFixture(\n activeTabModel: ShowcaseEventModel,\n groupIds: string[],\n ): Observable<{\n event: EventModel;\n isUpdatedEvent: boolean;\n }> {\n const event = activeTabModel.event;\n if (!event.optionGroups.length && !event.scoreboard?.isFinished) {\n return this.getShowcaseData(event.id, groupIds).pipe(\n map((eventData) => ({\n event: eventData.event || event,\n isUpdatedEvent: eventData.isUpdatedEvent,\n })),\n );\n }\n\n return of({ event, isUpdatedEvent: false });\n }\n\n private getShowcaseData(\n fixtureId: string,\n groupIds: string[],\n ): Observable<{\n event: EventModel | undefined;\n isUpdatedEvent: boolean;\n }> {\n const request = this.requestBuilderService.buildRequestForOptionGroup(fixtureId, groupIds);\n\n return this.showcaseApi.getShowcaseData(request).pipe(\n map((response) => {\n const fixture = response?.fixtures[0]?.fixture;\n let event: EventModel | undefined;\n if (fixture && (fixture.optionMarkets || fixture.games)) {\n event = this.fixtureFactory.create(fixture);\n }\n\n return { event, isUpdatedEvent: true };\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { FixtureViewType } from '@cds/betting-offer';\nimport {\n EventModel,\n EventScoreboard,\n Message,\n PairGameScore,\n PeriodGameScore,\n ScoreboardType,\n SetGameScore,\n TeamType,\n} from '@frontend/sports/betting-offer/feature/model';\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport {\n AmericanFootballPeriodInfo,\n AmericanFootballQuarters,\n FootballPeriodInfo,\n IceHockeyPeriodInfo,\n IceHockeyPeriods,\n SportConstant,\n} from '@frontend/sports/common/core/data-access/constants';\nimport { DateProviderService } from '@frontend/sports/common/core/utils/date';\nimport { differenceBy, isEmpty, padStart } from 'lodash-es';\nimport { Observable, Subject } from 'rxjs';\n\nimport {\n AmericanFootballMessageIds,\n BaseballMessageIds,\n BasketBallPeriodIds,\n BasketballMessageIds,\n CustomMessage,\n FootballMessageIds,\n IceHockeyMessageIds,\n LiveAlertEvent,\n LiveAlertMessage,\n LiveAlertMessageType,\n TouchDownInfo,\n} from '../showcase.model';\n\n@Injectable()\nexport class LiveAlertManager {\n queuedAlerts: LiveAlertMessage[] = [];\n alerts: LiveAlertMessage[] = [];\n private newAlertSubject = new Subject();\n private emptyAlertsSubject = new Subject>();\n private endOfQuarterOrPeriodId = 1;\n private viewType: string;\n private matchType: number;\n constructor(private sitecore: Sitecore) {}\n\n private triggerNotification(newAlert: LiveAlertMessage): void {\n this.queuedAlerts.push(newAlert);\n this.newAlertSubject.next(newAlert);\n }\n\n get newAlert(): Observable {\n return this.newAlertSubject.asObservable();\n }\n\n get alertsEmptied(): Observable> {\n return this.emptyAlertsSubject.asObservable();\n }\n\n private parseMessage(message: Message, updatedEvent: LiveAlertEvent, oldEvent: LiveAlertEvent, teamName: string): LiveAlertMessage | undefined {\n const eventId = updatedEvent.eventId;\n const sportId = updatedEvent.sportId;\n const eventTime = updatedEvent.time || updatedEvent.period.name;\n const time = message.type === CustomMessage.CustomMessageType || !message.time ? `(${eventTime || ''})` : `(${message.time})`;\n\n if (!message) {\n return;\n }\n\n if (this.isDuplicateAlert(eventId, message)) {\n return;\n }\n\n const isTeam1Message = message.teamType === TeamType.Team01;\n const isTeam2Message = message.teamType === TeamType.Team02;\n\n let parsedAlert: LiveAlertMessage | undefined = {\n eventId,\n sportId,\n team: teamName,\n event: '',\n order: message.order,\n team1Score: updatedEvent.participant1Score,\n team2Score: updatedEvent.participant2Score,\n text: message.text,\n };\n switch (sportId) {\n case SportConstant.Soccer:\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, false, false, false, time);\n switch (message.type) {\n case FootballMessageIds.Goal:\n if (updatedEvent.period && updatedEvent.period.id === FootballPeriodInfo.PenaltyShootout) {\n parsedAlert = undefined;\n break;\n }\n parsedAlert.event = this.sitecore.showcaseMessages.Goal;\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, isTeam1Message, isTeam2Message, true, time);\n break;\n case FootballMessageIds.Penalty:\n parsedAlert.event = this.sitecore.showcaseMessages.Penalty;\n break;\n case FootballMessageIds.PenaltyScored:\n parsedAlert.event = this.sitecore.showcaseMessages.PenaltyScored;\n break;\n case FootballMessageIds.PenaltyMissed:\n parsedAlert.event = this.sitecore.showcaseMessages.PenaltyMissed;\n break;\n case FootballMessageIds.RedCard:\n parsedAlert.event = this.sitecore.showcaseMessages.RedCard;\n break;\n case FootballMessageIds.Custom:\n this.handleCustomMessages(updatedEvent, oldEvent, parsedAlert, message);\n break;\n default:\n parsedAlert = undefined;\n break;\n }\n break;\n case SportConstant.Basketball:\n switch (message.type) {\n case BasketballMessageIds.Messages:\n switch (updatedEvent.period.id) {\n case BasketBallPeriodIds.FirstQuarterIntermission:\n parsedAlert.event =\n this.matchType === 2 ? this.sitecore.showcaseMessages.EndOfQ1 : this.sitecore.showcaseMessages.EndOf1H;\n break;\n\n case BasketBallPeriodIds.SecondQuarterIntermission:\n parsedAlert.event =\n this.matchType === 2 ? this.sitecore.showcaseMessages.EndOfQ2 : this.sitecore.showcaseMessages.EndOf2H;\n break;\n\n case BasketBallPeriodIds.ThirdQuarterIntermission:\n parsedAlert.event = this.sitecore.showcaseMessages.EndOfQ3;\n break;\n\n case BasketBallPeriodIds.FourthQuarterIntermission:\n parsedAlert.event = this.sitecore.showcaseMessages.EndOfQ4;\n break;\n\n case BasketBallPeriodIds.Overtime:\n parsedAlert.event = this.sitecore.showcaseMessages.OTStart;\n break;\n\n case BasketBallPeriodIds.End:\n parsedAlert.event = this.sitecore.showcaseMessages.MatchFinished;\n break;\n default:\n parsedAlert = undefined;\n break;\n }\n break;\n default:\n parsedAlert = undefined;\n break;\n }\n break;\n case SportConstant.AmericanFootball:\n switch (message.type) {\n case AmericanFootballMessageIds.TouchDown:\n parsedAlert.event = this.sitecore.showcaseMessages.TouchDown;\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, isTeam1Message, isTeam2Message, true, time);\n break;\n case AmericanFootballMessageIds.TwoPointConversion:\n parsedAlert.event = this.sitecore.showcaseMessages.PtConversion.replace('{val}', '2');\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, isTeam1Message, isTeam2Message, true, time);\n break;\n case AmericanFootballMessageIds.OnePointConversion:\n parsedAlert.event = this.sitecore.showcaseMessages.PtConversion.replace('{val}', '1');\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, isTeam1Message, isTeam2Message, true, time);\n break;\n case AmericanFootballMessageIds.Safety:\n parsedAlert.event = this.sitecore.showcaseMessages.Safety;\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, isTeam1Message, isTeam2Message, true, time);\n break;\n case AmericanFootballMessageIds.FieldGoal:\n parsedAlert.event = this.sitecore.showcaseMessages.FieldGoal;\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, isTeam1Message, isTeam2Message, true, time);\n break;\n case AmericanFootballMessageIds.Quarter:\n switch (updatedEvent.period.id) {\n case AmericanFootballPeriodInfo.IntermissionQ1:\n parsedAlert.event = this.sitecore.showcaseMessages.EndOfQ1;\n break;\n case AmericanFootballPeriodInfo.IntermissionQ2:\n parsedAlert.event = this.sitecore.showcaseMessages.EndOfQ2;\n break;\n case AmericanFootballPeriodInfo.IntermissionQ3:\n parsedAlert.event = this.sitecore.showcaseMessages.EndOfQ3;\n break;\n case AmericanFootballQuarters.Overtime:\n parsedAlert.event = this.sitecore.showcaseMessages.OTStart;\n break;\n case AmericanFootballPeriodInfo.Finished:\n parsedAlert.event = this.sitecore.showcaseMessages.MatchFinished;\n break;\n default:\n parsedAlert = undefined;\n break;\n }\n break;\n case AmericanFootballMessageIds.Custom:\n const isCancelledTouchDown =\n oldEvent.participant1Score - updatedEvent.participant1Score === TouchDownInfo.TouchDownPointer ||\n oldEvent.participant2Score - updatedEvent.participant2Score === TouchDownInfo.TouchDownPointer;\n if (isCancelledTouchDown) {\n this.handleCustomMessages(updatedEvent, oldEvent, parsedAlert, message, isCancelledTouchDown);\n } else {\n parsedAlert = undefined;\n }\n break;\n default:\n parsedAlert = undefined;\n break;\n }\n break;\n case SportConstant.Icehockey:\n switch (message.type) {\n case IceHockeyMessageIds.Goal:\n if (updatedEvent.period && updatedEvent.period.id === IceHockeyPeriodInfo.PenaltyShootout) {\n parsedAlert = undefined;\n break;\n }\n parsedAlert.event = this.sitecore.showcaseMessages.Goal;\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, isTeam1Message, isTeam2Message, true, time);\n break;\n case IceHockeyMessageIds.PenaltyScored:\n parsedAlert.event = this.sitecore.showcaseMessages.PenaltyScored;\n break;\n case IceHockeyMessageIds.PenaltyMissed:\n parsedAlert.event = this.sitecore.showcaseMessages.PenaltyMissed;\n break;\n case IceHockeyMessageIds.Messages:\n switch (updatedEvent.period.id) {\n case IceHockeyPeriodInfo.IntermissionPeriod1:\n parsedAlert.event = this.sitecore.showcaseMessages.EndOfP1;\n break;\n case IceHockeyPeriodInfo.IntermissionPeriod2:\n parsedAlert.event = this.sitecore.showcaseMessages.EndOfP2;\n break;\n case IceHockeyPeriodInfo.RegularTimeOver:\n parsedAlert.event = this.sitecore.showcaseMessages.EndOfP3;\n break;\n case IceHockeyPeriods.Overtime:\n parsedAlert.event = this.sitecore.showcaseMessages.OTStart;\n break;\n case IceHockeyPeriodInfo.Finished:\n parsedAlert.event = this.sitecore.showcaseMessages.MatchFinished;\n break;\n default:\n parsedAlert = undefined;\n break;\n }\n break;\n case IceHockeyMessageIds.Custom:\n this.handleCustomMessages(updatedEvent, oldEvent, parsedAlert, message);\n break;\n default:\n parsedAlert = undefined;\n break;\n }\n break;\n case SportConstant.Baseball:\n switch (message.type) {\n case BaseballMessageIds.Custom:\n if (!updatedEvent || !oldEvent) {\n parsedAlert = undefined;\n } else {\n if (updatedEvent.currentlyServing !== oldEvent.currentlyServing) {\n parsedAlert.team = updatedEvent.currentlyServing === 2 ? updatedEvent.team2Name : updatedEvent.team1Name;\n parsedAlert.event = this.sitecore.showcaseMessages.BattingSwitch;\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, false, false, false);\n } else if (\n updatedEvent.participant1Score !== oldEvent.participant1Score ||\n updatedEvent.participant2Score !== oldEvent.participant2Score\n ) {\n parsedAlert.event = this.sitecore.showcaseMessages.RunsScored;\n if (updatedEvent.participant1Score > oldEvent.participant1Score) {\n parsedAlert.team = updatedEvent.team1Name;\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, true, false, true);\n } else if (updatedEvent.participant2Score > oldEvent.participant2Score) {\n parsedAlert.team = updatedEvent.team2Name;\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, false, true, true);\n } else {\n parsedAlert = undefined;\n }\n } else {\n parsedAlert = undefined;\n }\n }\n break;\n default:\n parsedAlert = undefined;\n break;\n }\n break;\n default:\n parsedAlert = undefined;\n break;\n }\n\n if (parsedAlert && (parsedAlert.team || message.type === this.endOfQuarterOrPeriodId)) {\n if (message.type === this.endOfQuarterOrPeriodId) {\n parsedAlert = this.getParsedAlert(updatedEvent, parsedAlert);\n }\n this.triggerNotification(parsedAlert);\n }\n\n return;\n }\n\n private getParsedAlert(updatedEvent: LiveAlertEvent, parsedAlert: LiveAlertMessage): LiveAlertMessage {\n let subMessages: LiveAlertMessageType[] = [];\n if (updatedEvent.participant1Score !== updatedEvent.participant2Score) {\n const upScore = Math.abs(updatedEvent.participant1Score - updatedEvent.participant2Score);\n const upScoreTeam = updatedEvent.participant1Score > updatedEvent.participant2Score ? updatedEvent.team1Name : updatedEvent.team2Name;\n parsedAlert.team = upScoreTeam;\n const isMatchDecided = this.checkMatchDecided(updatedEvent);\n const resultMessage = isMatchDecided ? this.sitecore.showcaseMessages.WinBy : this.sitecore.showcaseMessages.UpBy;\n subMessages = [{ message: `${resultMessage} ${upScore}`, isHighlighted: false }];\n parsedAlert.messageType = subMessages;\n } else {\n parsedAlert.team = this.sitecore.showcaseMessages.Tie;\n const isEuropeanFixture = this.viewType === FixtureViewType.European;\n\n subMessages = isEuropeanFixture\n ? [{ message: `${updatedEvent.team1Name} - ${updatedEvent.team2Name}`, isHighlighted: false }]\n : [{ message: `${updatedEvent.team1Name} @ ${updatedEvent.team2Name}`, isHighlighted: false }];\n parsedAlert.messageType = subMessages;\n }\n\n return parsedAlert;\n }\n\n private checkMatchDecided(updatedEvent: LiveAlertEvent): boolean {\n return (\n ((updatedEvent.period.id === BasketBallPeriodIds.RegularTimeOver || updatedEvent.period.id === BasketBallPeriodIds.End) &&\n updatedEvent.sportId === SportConstant.Basketball) ||\n ((updatedEvent.period.id === IceHockeyPeriodInfo.RegularTimeOver || updatedEvent.period.id === IceHockeyPeriodInfo.Finished) &&\n updatedEvent.sportId === SportConstant.Icehockey) ||\n ((updatedEvent.period.id === AmericanFootballPeriodInfo.RegularTimeOver ||\n updatedEvent.period.id === AmericanFootballPeriodInfo.Finished) &&\n updatedEvent.sportId === SportConstant.AmericanFootball)\n );\n }\n\n private handleCustomMessages(\n updatedEvent: LiveAlertEvent,\n oldEvent: LiveAlertEvent,\n parsedAlert: LiveAlertMessage | undefined,\n message: Message,\n isCancelledTouchDown?: boolean,\n ): void {\n const eventTime = updatedEvent.time || updatedEvent.period.name;\n const time = message.type === CustomMessage.CustomMessageType || !message.time ? `(${eventTime || ''})` : `(${message.time})`;\n if (updatedEvent && oldEvent && parsedAlert) {\n parsedAlert.event = isCancelledTouchDown\n ? this.sitecore.showcaseMessages.CancelledTouchDown\n : this.sitecore.showcaseMessages.CancelledGoal;\n if (updatedEvent.participant1Score < oldEvent.participant1Score) {\n parsedAlert.team = updatedEvent.team1Name;\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, true, false, true, time);\n } else if (updatedEvent.participant2Score < oldEvent.participant2Score) {\n parsedAlert.team = updatedEvent.team2Name;\n parsedAlert.messageType = this.getLiveAlertMessageTypes(updatedEvent, false, true, true, time);\n } else {\n parsedAlert = undefined;\n }\n }\n }\n\n private getLiveAlertMessageTypes(\n updatedEvent: LiveAlertEvent,\n team1Highlight: boolean,\n team2Highlight: boolean,\n withParticipantScore?: boolean,\n time?: string,\n ): LiveAlertMessageType[] {\n let subMessages: LiveAlertMessageType[] = [];\n const timeValue = time || '';\n switch (updatedEvent.sportId) {\n case SportConstant.Baseball:\n subMessages = [{ message: updatedEvent.period.name, isHighlighted: false }];\n if (withParticipantScore) {\n subMessages = [\n { message: `${updatedEvent.participant1Score}`, isHighlighted: team1Highlight },\n { message: `- ${updatedEvent.participant2Score}`, isHighlighted: team2Highlight },\n { message: updatedEvent.period.name, isHighlighted: false },\n ];\n }\n break;\n case SportConstant.Soccer:\n case SportConstant.AmericanFootball:\n case SportConstant.Icehockey:\n subMessages = [{ message: timeValue, isHighlighted: false }];\n if (withParticipantScore) {\n subMessages = [\n { message: `${updatedEvent.participant1Score}`, isHighlighted: team1Highlight },\n { message: `- ${updatedEvent.participant2Score}`, isHighlighted: team2Highlight },\n { message: timeValue, isHighlighted: false },\n ];\n }\n break;\n default:\n break;\n }\n\n return subMessages;\n }\n\n private getLatestMessages(updatedEvent: EventModel, oldEvent: EventModel): Message[] | undefined {\n let messages: Message[] | undefined;\n if (\n oldEvent.scoreboard.messages &&\n updatedEvent.scoreboard.messages &&\n updatedEvent.scoreboard.messages.length > 0 &&\n oldEvent.scoreboard.messages.length < updatedEvent.scoreboard.messages.length\n ) {\n messages = differenceBy(updatedEvent.scoreboard.messages, oldEvent.scoreboard.messages, (m) => m.order);\n }\n\n return messages;\n }\n\n private checkChangesInScoreOrTurn(messages: Message[] | undefined, latestLiveEvent: LiveAlertEvent, oldLiveEvent: LiveAlertEvent): boolean {\n return (\n (isEmpty(messages) || latestLiveEvent.sportId === SportConstant.Baseball) &&\n (latestLiveEvent.participant1Score !== oldLiveEvent.participant1Score ||\n latestLiveEvent.participant2Score !== oldLiveEvent.participant2Score ||\n (latestLiveEvent.currentlyServing !== undefined &&\n oldLiveEvent.currentlyServing !== undefined &&\n latestLiveEvent.currentlyServing !== oldLiveEvent.currentlyServing))\n );\n }\n\n add(updatedEvent: EventModel, oldEvent: EventModel): void {\n let messages = this.getLatestMessages(updatedEvent, oldEvent);\n this.viewType = updatedEvent.viewType;\n if (updatedEvent.sport.id === SportConstant.Basketball) {\n this.matchType = (updatedEvent.scoreboard.score as PeriodGameScore).matchType;\n }\n\n const updatedEventLatestAlert = this.getParticipantScores(updatedEvent);\n const oldEventLatestAlert = this.getParticipantScores(oldEvent);\n\n if (\n !updatedEventLatestAlert ||\n !oldEventLatestAlert ||\n Boolean(\n updatedEventLatestAlert.period &&\n (updatedEventLatestAlert.period.id === 255 || updatedEventLatestAlert.period.id === 256) &&\n updatedEvent.scoreboard.type !== ScoreboardType.PeriodGame,\n )\n ) {\n return;\n }\n\n if (this.checkChangesInScoreOrTurn(messages, updatedEventLatestAlert, oldEventLatestAlert)) {\n const messageOrder = Math.floor(Math.random() * 0x1000);\n messages = [\n {\n type: CustomMessage.CustomMessageType,\n order: messageOrder,\n time: '',\n text: 'custom' + messageOrder,\n icon: null,\n },\n ]; // creating custom message\n }\n\n messages &&\n messages.forEach((message) => {\n const teamName = this.getTeamName(message, updatedEvent);\n this.parseMessage(message, updatedEventLatestAlert, oldEventLatestAlert, teamName);\n });\n }\n\n emptyList(): void {\n this.queuedAlerts = [];\n this.alerts = [];\n this.emptyAlertsSubject.next(this.alerts);\n }\n\n private getTeamName(message: Message, updatedEvent: EventModel): string {\n switch (message.teamType) {\n case TeamType.Team01:\n case TeamType.Team02:\n return updatedEvent.participants[message.teamType].shortName || updatedEvent.participants[message.teamType].name || '';\n default:\n return '';\n }\n }\n\n private getTime(scoreboard: EventScoreboard): string {\n if (!scoreboard.timer) {\n return '';\n }\n const base = new Date(scoreboard.timer.base).getTime();\n const now = DateProviderService.now();\n\n const timeSpan = scoreboard.timer.seconds + Math.round((now - base) / 1000);\n\n const minutes = Math.floor(timeSpan / 60);\n const seconds = timeSpan % 60;\n\n return `${this.pad(minutes)}:${this.pad(seconds)}`;\n }\n\n private pad(val: number): string {\n return padStart(val.toString(), 2, '0');\n }\n\n private getParticipantScores(event: EventModel): LiveAlertEvent | undefined {\n let liveAlert: LiveAlertEvent | undefined;\n const period = event.scoreboard.period ? event.scoreboard.period : { id: -1, name: '' };\n if (event.scoreboard.started) {\n switch (event.scoreboard.type) {\n case ScoreboardType.PeriodGame:\n const periodGameScore = event.scoreboard.getScore();\n if (periodGameScore) {\n liveAlert = new LiveAlertEvent(\n periodGameScore.participant1.total,\n periodGameScore.participant2.total,\n event.id,\n event.sport.id,\n event.participants,\n period,\n event.scoreboard.time,\n periodGameScore.turn,\n );\n }\n break;\n case ScoreboardType.PairGame:\n const pairGameScore = event.scoreboard.getScore();\n if (pairGameScore) {\n liveAlert = new LiveAlertEvent(\n pairGameScore.participant1,\n pairGameScore.participant2,\n event.id,\n event.sport.id,\n event.participants,\n period,\n this.getTime(event.scoreboard),\n pairGameScore.currentlyServing,\n );\n }\n break;\n case ScoreboardType.SetGame:\n const setGameScore = event.scoreboard.getScore();\n if (setGameScore) {\n liveAlert = new LiveAlertEvent(\n setGameScore.participant1WonSets,\n setGameScore.participant2WonSets,\n event.id,\n event.sport.id,\n event.participants,\n period,\n event.scoreboard.time,\n setGameScore.currentlyServing,\n );\n }\n break;\n case ScoreboardType.BaseballGame:\n const setGameScoreboard = event.scoreboard.getScore();\n if (setGameScoreboard) {\n liveAlert = new LiveAlertEvent(\n Number(setGameScoreboard.participant1.points),\n Number(setGameScoreboard.participant2.points),\n event.id,\n event.sport.id,\n event.participants,\n period,\n event.scoreboard.time,\n setGameScoreboard.currentlyServing,\n );\n }\n break;\n }\n }\n\n return liveAlert;\n }\n\n private isDuplicateAlert(eventId: string, message: Message): boolean {\n const duplicateAlert = (alert: LiveAlertMessage) =>\n alert.eventId === eventId &&\n (alert.order === message.order || (alert.text === message.text && message.type === this.endOfQuarterOrPeriodId));\n\n return this.alerts.some(duplicateAlert) || this.queuedAlerts.some(duplicateAlert);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { EventDetailsColumnType, EventModel } from '@frontend/sports/betting-offer/feature/model';\nimport { NOT_APPLICABLE, TrackingService, trackingConstants } from '@frontend/sports/tracking/feature';\nimport { isNil } from 'lodash-es';\n\nimport { FeatureTab, LiveAlertMessage } from './showcase.model';\nimport { TrackShowcase } from './showcase.tracking.model';\n\n@Injectable()\nexport class ShowcaseTrackingService {\n private actionEventByMediaTabs = {\n [EventDetailsColumnType.Stats]: 'stats tab',\n [EventDetailsColumnType.Animation]: 'animation tab',\n [EventDetailsColumnType.Video]: 'video tab',\n };\n\n private actionEventByHeaderNavTabs: Record = {\n [FeatureTab.Statistics]: 'stats tab',\n [FeatureTab.Simulation]: 'animation tab',\n [FeatureTab.Video]: 'video tab',\n [FeatureTab.Scoreboard]: '',\n };\n\n constructor(private trackingService: TrackingService) {}\n trackTabsInteractionForMedia(eventActiveId: EventDetailsColumnType, event: EventModel): void {\n this.trackTabsInteraction(event, this.actionEventByMediaTabs[eventActiveId]);\n }\n\n trackTabsInteractionForHeader(eventActiveId: FeatureTab, event: EventModel): void {\n this.trackTabsInteraction(event, this.actionEventByHeaderNavTabs[eventActiveId]);\n }\n\n trackEventPageClick(event: EventModel, index: number): void {\n const trackingData = this.getTrackData({\n labelEvent: 'Module Interactions',\n actionEvent: 'click',\n positionEvent: event.name,\n locationEvent: NOT_APPLICABLE,\n eventDetails: 'showcase event',\n sportId: event.sport.id,\n eventId: event.id,\n position: index,\n });\n\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n trackHeaderExpandOrCollapseClick(event: EventModel, collapse: boolean): void {\n const trackingData = this.getTrackData({\n labelEvent: 'Module Interactions',\n actionEvent: 'click',\n positionEvent: event.name,\n locationEvent: NOT_APPLICABLE,\n eventDetails: collapse ? 'collapse' : 'expand',\n sportId: event.sport.id,\n eventId: event.id,\n });\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n trackEventSwitcherEventClick(event: EventModel, index: number): void {\n const trackingData = this.getTrackData({\n labelEvent: 'Event Switcher',\n actionEvent: 'click',\n positionEvent: event.name,\n locationEvent: NOT_APPLICABLE,\n eventDetails: 'Event Switcher',\n sportId: event.sport.id,\n eventId: event.id,\n position: index,\n });\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n trackGameAlertsEventRedirecting(alertMessage: LiveAlertMessage): void {\n const trackingData = this.getTrackData({\n labelEvent: 'Game Alerts',\n actionEvent: 'click',\n positionEvent: alertMessage.event,\n locationEvent: NOT_APPLICABLE,\n eventDetails: 'Game Alerts',\n sportId: alertMessage.sportId,\n eventId: alertMessage.eventId,\n });\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n trackExpandGameAlerts(expanded: boolean): void {\n const trackingData = this.getTrackData({\n labelEvent: 'Game Alerts',\n actionEvent: 'click',\n positionEvent: NOT_APPLICABLE,\n locationEvent: NOT_APPLICABLE,\n eventDetails: expanded ? 'expand' : 'collapse',\n });\n\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n private getTrackData(data: {\n labelEvent: string;\n actionEvent: string;\n positionEvent: string;\n locationEvent: string;\n eventDetails: string;\n sportId?: number;\n eventId?: string;\n position?: number;\n }): Partial {\n const trackingData: Partial = {\n [trackingConstants.COMPONENT_CATEGORY_EVENT]: 'Showcase Module',\n [trackingConstants.COMPONENT_LABEL_EVENT]: data.labelEvent,\n [trackingConstants.COMPONENT_ACTION_EVENT]: data.actionEvent,\n [trackingConstants.COMPONENT_POSITION_EVENT]: data.positionEvent,\n [trackingConstants.COMPONENT_LOCATION_EVENT]: data.locationEvent,\n [trackingConstants.COMPONENT_EVENT_DETAILS]: data.eventDetails,\n [trackingConstants.COMPONENT_URL_CLICKED]: NOT_APPLICABLE,\n };\n\n if (!isNil(data.sportId)) {\n trackingData[trackingConstants.SPORT_ID] = data.sportId.toString();\n }\n\n if (!isNil(data.eventId)) {\n trackingData[trackingConstants.SPORT_EVENT_ID] = data.eventId;\n }\n\n if (!isNil(data.position)) {\n //@ts-ignore allow dynamic accessor property\n trackingData[trackingConstants.COMPONENT_CONTENT_POSITION] = data.position.toString();\n }\n\n return trackingData;\n }\n\n private trackTabsInteraction(event: EventModel, tabTracking: string): void {\n const trackingData = this.getTrackData({\n labelEvent: 'Module Interactions',\n actionEvent: 'click',\n positionEvent: event.name,\n locationEvent: NOT_APPLICABLE,\n eventDetails: tabTracking,\n sportId: event.sport.id,\n eventId: event.id,\n });\n\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n}\n","
\n
\n {{ alert.event }} {{ alert.team }}\n
\n
\n \n {{ messageInfo.message }} \n \n
\n
\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { LiveAlertMessage } from '../showcase.model';\nimport { ShowcaseService } from '../showcase.service';\nimport { ShowcaseTrackingService } from '../showcase.tracking.service';\n\n@Component({\n selector: 'ms-live-alert-item',\n templateUrl: 'live-alert-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class LiveAlertItemComponent {\n @Input() alert: LiveAlertMessage;\n @HostBinding('class') className = 'alert-message';\n constructor(\n private showcaseService: ShowcaseService,\n private showcaseTrackingService: ShowcaseTrackingService,\n ) {}\n\n goto(liveAlertMessage: LiveAlertMessage, event: Event): void {\n this.showcaseService.eventSelectedFromTabBar = false;\n event.stopPropagation();\n this.showcaseService.select(liveAlertMessage.eventId);\n this.showcaseService.selectAlert();\n this.showcaseTrackingService.trackGameAlertsEventRedirecting(liveAlertMessage);\n }\n}\n","
\n @if (animationAlert) {\n \n }\n
\n@if (lastAlert) {\n
\n \n @if (hasAlertsForExpand) {\n \n \n \n }\n
\n}\n@if (expanded && hasAlertsForExpand) {\n \n @for (alert of alerts | slice: 1; track alert.eventId) {\n \n }\n \n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnChanges, OnDestroy, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { TimerService } from '@frontend/sports/common/core/utils/timer';\nimport { isEmpty } from 'lodash-es';\nimport { NgScrollbar } from 'ngx-scrollbar';\n\nimport { LiveAlertMessage, ShowcaseConstants } from '../showcase.model';\nimport { ShowcaseTrackingService } from '../showcase.tracking.service';\nimport { LiveAlertManager } from './live-alert-manager.service';\n\n@Component({\n selector: 'ms-live-alert-list',\n templateUrl: 'live-alert-list.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class LiveAlertListComponent implements OnChanges, OnDestroy {\n animationAlert: LiveAlertMessage;\n lastAlert: LiveAlertMessage | undefined;\n expanded: boolean;\n animate = false;\n alerts: LiveAlertMessage[] = [];\n private startInterval = false;\n @ViewChild(NgScrollbar) alertList: NgScrollbar;\n @HostBinding('class') className = 'alert-message-list';\n @HostBinding('class.alerts-multiple') hasAlertsForExpand = false;\n @HostBinding('class.alerts-none') noAlerts = true;\n private alertsInterval?: () => void;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private timerService: TimerService,\n private showcaseTrackingService: ShowcaseTrackingService,\n private liveAlertManager: LiveAlertManager,\n ) {\n this.setHasAlertsForExpand();\n this.liveAlertManager.alertsEmptied.pipe(takeUntilDestroyed()).subscribe(() => this.setHasAlertsForExpand());\n this.liveAlertManager.newAlert.pipe(takeUntilDestroyed()).subscribe((newAlert) => {\n if (newAlert && !this.liveAlertManager.alerts.some((alert) => alert.eventId === newAlert.eventId && alert.order === newAlert.order)) {\n this.processNewAlert(newAlert);\n } else {\n this.animate = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.stopInterval();\n }\n\n private stopInterval = () => {\n if (this.alertsInterval) {\n this.startInterval = false;\n this.alertsInterval();\n }\n };\n\n private displayNewAlert(newAlert: LiveAlertMessage | undefined): void {\n if (newAlert) {\n this.animate = true;\n this.animationAlert = newAlert;\n this.changeDetector.markForCheck();\n this.timerService.setTimeout(() => {\n this.animate = false;\n this.liveAlertManager.alerts.unshift(newAlert);\n this.liveAlertManager.queuedAlerts.shift();\n this.setHasAlertsForExpand();\n if (!this.liveAlertManager.queuedAlerts.length) {\n this.stopInterval();\n } else if (!this.startInterval && this.liveAlertManager.queuedAlerts.length) {\n this.createInterval();\n }\n }, ShowcaseConstants.ANIMATIONTIME);\n }\n }\n\n private createInterval(): void {\n this.startInterval = true;\n this.alertsInterval = this.timerService.setInterval(() => {\n this.displayNewAlert(this.liveAlertManager.queuedAlerts[0]);\n }, ShowcaseConstants.TIMEDELAY);\n }\n\n private processNewAlert(newAlert: LiveAlertMessage): void {\n if (!this.animate && !this.startInterval) {\n this.displayNewAlert(newAlert);\n } else if (!this.startInterval && this.liveAlertManager.queuedAlerts.length) {\n this.createInterval();\n } else if (!this.liveAlertManager.queuedAlerts.length) {\n this.stopInterval();\n }\n }\n\n ngOnChanges(changes: ISimpleChanges): void {\n if (this.alertList) {\n this.alertList.update();\n }\n }\n\n toggleExpand(event: Event): void {\n if (!this.hasAlertsForExpand) {\n return;\n }\n\n this.expanded = !this.expanded;\n this.showcaseTrackingService.trackExpandGameAlerts(this.expanded);\n event.stopPropagation();\n }\n\n setHasAlertsForExpand(): void {\n this.alerts = this.liveAlertManager.alerts;\n this.lastAlert = undefined;\n this.noAlerts = true;\n this.hasAlertsForExpand = false;\n if (!isEmpty(this.alerts)) {\n this.noAlerts = false;\n this.lastAlert = this.alerts[0];\n this.hasAlertsForExpand = this.alerts.length > 1;\n }\n this.changeDetector.markForCheck();\n }\n}\n","@if (model?.name && optionGroup?.options) {\n
{{ model.name }}
\n}\n
\n @for (option of optionGroup?.options; track option.id; let index = $index) {\n \n @if (!optionGroup.online || !option.online) {\n \n } @else {\n @if ((optionGroup.balanced && (optionGroup.categoryAttribute || option.optionAttribute)) || viewType === viewTypeEnum.Default) {\n
\n {{ getResultName(option, index) }}\n
\n }\n \n \n
\n }\n \n }\n\n","import { ChangeDetectionStrategy, Component, HostBinding, HostListener, Input, OnChanges, inject } from '@angular/core';\n\nimport { EventModel, EventOption, EventOptionGroup } from '@frontend/sports/betting-offer/feature/model';\nimport { EpcotConfig, Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { TrackingSource } from '@frontend/sports/tracking/feature';\n\nimport { OptionGroupDetail, ViewType } from '../showcase.model';\n\n@Component({\n selector: 'ms-showcase-option-group',\n templateUrl: 'showcase-option-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ShowcaseOptionGroupComponent implements OnChanges {\n viewTypeEnum = ViewType;\n @Input() event: EventModel;\n @Input() model: OptionGroupDetail;\n @Input() tracking: TrackingSource;\n @Input() viewType: ViewType;\n\n optionGroup: EventOptionGroup;\n optionTracking: string;\n\n @HostBinding('class') className = 'option-group';\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n epcotEnabled = inject(EpcotConfig).isEnabled;\n\n constructor(private sitecore: Sitecore) {}\n\n ngOnChanges(): void {\n this.optionGroup = this.model.optionGroup!;\n this.optionTracking = [this.tracking, 'showcase_trackingsource']\n .filter((segment) => segment)\n .join('/')\n .toLowerCase();\n }\n\n getResultName = (option: EventOption, index: number): string | undefined => {\n if (this.optionGroup.categoryAttribute) {\n const first = this.optionGroup.options.indexOf(option) === 0;\n const prefix = first ? this.sitecore.eventGrid.SixPack_TotalsOver : this.sitecore.eventGrid.SixPack_TotalsUnder;\n\n return `${prefix} ${this.optionGroup.categoryAttribute}`;\n } else {\n return this.viewType === ViewType.SixPack ? option.optionAttribute : option.overridenName || this.optionName(index);\n }\n };\n\n private optionName = (index: number): string => {\n return this.model.optionNames[index] || '';\n };\n}\n","\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges } from '@angular/core';\n\nimport { GridViewGroupingConfiguration } from '@cds/betting-offer/grouping/grid-view';\nimport { EventModel, EventOptionGroup } from '@frontend/sports/betting-offer/feature/model';\nimport { ShowcaseConfig } from '@frontend/sports/common/client-config-data-access';\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { TrackingSource } from '@frontend/sports/tracking/feature';\nimport { includes, isEmpty, keyBy, mapValues, zipObject } from 'lodash-es';\n\nimport { OptionGroupService } from '../../event-model/helpers/option-group.service';\nimport { OptionGroupDetail, ViewType } from '../showcase.model';\nimport { ShowcaseService } from '../showcase.service';\n\n@Component({\n selector: 'ms-option-group-container',\n templateUrl: 'option-group-container.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OptionGroupContainerComponent implements OnChanges {\n @Input() event: EventModel;\n @Input() tracking: TrackingSource;\n @Input() gridGroup?: { [key: string]: string };\n @Input() groupingConfig?: GridViewGroupingConfiguration;\n\n viewType: ViewType;\n\n @HostBinding()\n get class(): string {\n return this.getHostClass();\n }\n\n private readonly MAX_OPTION_GROUPS = 3;\n showcaseOptionGroups: OptionGroupDetail[];\n\n constructor(\n private optionGroupService: OptionGroupService,\n private showcaseService: ShowcaseService,\n private showcaseConfig: ShowcaseConfig,\n ) {}\n\n ngOnChanges(changes: ISimpleChanges): void {\n if (changes.event) {\n this.viewType = includes(this.showcaseConfig.sixPackSportTypeIds, this.event.sport.id) ? ViewType.SixPack : ViewType.Default;\n this.mapOptionGroup();\n }\n }\n\n trackOptionGroup(index: number, optionGroup: OptionGroupDetail): string | number {\n return optionGroup.optionGroup?.gridGroups ? optionGroup.optionGroup.gridGroups.join(',') : index;\n }\n\n private mapOptionGroup(): void {\n if (isEmpty(this.gridGroup)) {\n this.showcaseOptionGroups = [];\n\n return;\n }\n const groupIds = this.showcaseService.getGridGroupIds(this.gridGroup);\n let mappedGroups: MappedGroup = {};\n\n if (this.viewType === ViewType.Default && this.groupingConfig?.groups.length) {\n const matchingGroups = keyBy(\n this.groupingConfig.groups.filter((g) => includes(groupIds, g.id)),\n (g) => g.id,\n );\n mappedGroups = mapValues(matchingGroups, (group) => ({ title: group.name, optionNames: group.optionNames }));\n } else if (this.viewType === ViewType.SixPack && this.groupingConfig?.sixPackGroups.length) {\n const matchingGroup = this.groupingConfig.sixPackGroups.filter((g) => this.hasMatchingGroupId(g.marketGroupIds, groupIds));\n if (matchingGroup.length) {\n const group = matchingGroup[0];\n const matchedGroup = zipObject(group.marketGroupIds, group.optionNames);\n mappedGroups = mapValues(matchedGroup, (value) => ({ title: value, optionNames: [] }));\n }\n }\n\n this.setOptionGroup(groupIds, mappedGroups);\n }\n\n private hasMatchingGroupId(marketGroupIds: string[], groupIds: string[]): boolean {\n return marketGroupIds.filter((mid) => includes(groupIds, mid)).length === groupIds.length;\n }\n\n private setOptionGroup(groupIds: string[], mappedGroups: MappedGroup): void {\n const optionGroups = groupIds.map((groupId) => {\n return {\n name:\n this.showcaseConfig.nextGoalMarketGroupId === groupId\n ? this.event.optionGroups.find((og) => og.gridGroups && og.gridGroups.some((g) => g === groupId))?.name\n : mappedGroups[groupId]?.title || '',\n optionGroup: this.getOptionGroup(this.event.optionGroups, groupId),\n optionNames: mappedGroups[groupId]?.optionNames || [],\n };\n });\n\n this.showcaseOptionGroups = optionGroups.filter((v) => v.optionGroup).slice(0, this.MAX_OPTION_GROUPS);\n }\n\n private getOptionGroup(eventOptionGroup: EventOptionGroup[], id: string): EventOptionGroup | undefined {\n return this.optionGroupService.get(eventOptionGroup, id);\n }\n\n private getHostClass(): string {\n return this.viewType === ViewType.SixPack ? 'six-pack-market-view' : 'default-market-view';\n }\n}\n\nexport interface MappedGroup {\n [groupId: string]: {\n title: string;\n optionNames: string[];\n };\n}\n","@if (showHeaderContent) {\n @if (tabs.length > 1) {\n \n @for (tab of tabs; track $index) {\n \n \n \n \n \n }\n \n }\n} @else {\n
\n
\n @if (hasStats) {\n
\n \n
\n }\n
\n
\n
\n
\n @if (hasAnimation) {\n
\n \n
\n }\n
\n
\n
\n
\n @if (hasVideo) {\n
\n \n
\n }\n
\n
\n}\n","import { Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { EventMediaHelperService } from '@frontend/sports/betting-offer/feature/media';\nimport { EventDetailsColumnType, EventModel } from '@frontend/sports/betting-offer/feature/model';\nimport { getAnimationIconForSport, getStatsIcon, getVideoIcon } from '@frontend/sports/common/core/feature/icon';\nimport { ThemeOptionsWithDefault } from '@frontend/sports/common/ui/shared';\nimport { GridMedia } from '@frontend/sports/grid/core/feature/model';\nimport { MediaEventSource } from '@frontend/sports/grid/media/feature/model';\nimport { MediaApiService } from '@frontend/sports/grid/media/feature/state';\nimport { TrackingVideoSource } from '@frontend/sports/tracking/feature';\n\nimport { BetRadarStatisticsService } from '../../bet-radar/bet-radar-statistics.service';\nimport { HeaderNavigationService } from '../../event-details-common/header-navigation/header-navigation.service';\nimport { TabBarItem } from '../../tab-bar/tab-bar.models';\nimport { ShowcaseService } from '../showcase.service';\nimport { ShowcaseTrackingService } from '../showcase.tracking.service';\n\n@Component({\n selector: 'ms-showcase-media',\n templateUrl: 'showcase-media.component.html',\n styleUrls: ['./showcase-media.component.scss'],\n standalone: false,\n})\nexport class ShowcaseMediaComponent implements OnChanges {\n private eventState = new Map();\n hasStats: boolean;\n hasVideo: boolean;\n hasAnimation: boolean;\n tabs: TabBarItem[];\n feature: TabBarItem;\n event: EventModel;\n media: GridMedia;\n mediaType = EventDetailsColumnType;\n stats: string;\n video: string;\n animation: string;\n isShowcaseModule: boolean;\n currentEventId = 'eventId';\n\n @HostBinding()\n get class(): string {\n const firstClass = this.getHostFirstClass();\n\n return [firstClass].join(' ');\n }\n\n readonly segmentedControlThemeInverse: ThemeOptionsWithDefault = {\n 'bwin-dark': false,\n 'giocodigitale': false,\n 'premium-dark': false,\n 'sports-interaction': false,\n 'sportingbet-2': false,\n 'mgm-4': false,\n 'default': true,\n };\n\n @Input() showHeaderContent: boolean;\n @Input() tabSelectedEvent: EventModel;\n @Output() videoPinToggle = new EventEmitter();\n @Output() featureChange = new EventEmitter();\n @Output() heightChange = new EventEmitter();\n @Input() showAlertScoreboard = false;\n\n constructor(\n private helper: EventMediaHelperService,\n private headerNavigation: HeaderNavigationService,\n private betRadarStatistics: BetRadarStatisticsService,\n private showcaseTrackingService: ShowcaseTrackingService,\n private showcaseService: ShowcaseService,\n private mediaApi: MediaApiService,\n ) {\n this.showcaseService.selectedAlertEvent.pipe(takeUntilDestroyed()).subscribe(() => (this.showAlertScoreboard = true));\n }\n\n async ngOnChanges(changes: SimpleChanges): Promise {\n if (\n (changes.tabSelectedEvent && changes.tabSelectedEvent.firstChange) ||\n (this.tabSelectedEvent && this.tabSelectedEvent.id !== this.eventState.get(this.currentEventId)) ||\n (this.showAlertScoreboard && this.showHeaderContent)\n ) {\n await this.checkMediaControls(this.tabSelectedEvent);\n this.showAlertScoreboard = false; // To avoid it to become true whenever any push update, which is no use after scoreboard tab is already active.\n }\n }\n\n private getHostFirstClass(): string {\n return this.showHeaderContent ? 'segmented-control-showcase-media-mobile' : 'showcase-media-desktop';\n }\n\n private async checkMediaControls(event: EventModel): Promise {\n this.hasStats = this.helper.hasStats(event);\n this.hasVideo = this.helper.hasVideo(event);\n this.hasAnimation = this.helper.hasAnimationOrSimulation(event);\n this.stats = getStatsIcon(false);\n this.video = getVideoIcon(false);\n this.animation = getAnimationIconForSport(event.sport.id, false);\n if (this.showHeaderContent) {\n this.tabs = await this.headerNavigation.init(event, true);\n }\n this.eventState.set(this.currentEventId, event.id);\n }\n\n tabSelectedmedia(event: number): void {\n const selectedTab = this.tabs.find((tab) => tab.id === event);\n this.trackTabSelectedMedia(event);\n this.headerNavigation.updateSelected(selectedTab);\n }\n\n activateMedia(event: MouseEvent, activeType: EventDetailsColumnType): void {\n const isActive =\n activeType === EventDetailsColumnType.Stats ||\n activeType === EventDetailsColumnType.Video ||\n activeType === EventDetailsColumnType.Animation;\n\n if (isActive) {\n this.selectMediaStyles(activeType);\n this.setEventId(this.tabSelectedEvent.id, activeType);\n if (activeType === EventDetailsColumnType.Stats) {\n if (this.tabSelectedEvent.statsId) {\n this.betRadarStatistics.open(this.tabSelectedEvent.statsId);\n }\n }\n }\n this.trackActivateMedia(activeType);\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n private selectMediaStyles(activeType: EventDetailsColumnType): void {\n this.stats = getStatsIcon(activeType === EventDetailsColumnType.Stats);\n this.video = getVideoIcon(activeType === EventDetailsColumnType.Video);\n this.animation = getAnimationIconForSport(this.tabSelectedEvent.sport.id, activeType === EventDetailsColumnType.Animation);\n }\n\n private trackActivateMedia(activeType: EventDetailsColumnType): void {\n this.showcaseTrackingService.trackTabsInteractionForMedia(activeType, this.tabSelectedEvent);\n }\n\n private trackTabSelectedMedia(event: number): void {\n this.showcaseTrackingService.trackTabsInteractionForHeader(event, this.tabSelectedEvent);\n }\n\n private setEventId(eventId: string, tab: EventDetailsColumnType): void {\n this.mediaApi.setEventId(eventId, MediaEventSource.Grid, tab, TrackingVideoSource.ShowcaseModule);\n }\n}\n","
\n \n {{ vm.participant1Name }} \n \n \n
\n
\n {{ isEpcotEnabled ? '@' : '-' }}\n \n
\n
\n
\n \n \n {{ showAwayIndicator ? sitecore.globalMessages.AwayIndicator : isEpcotEnabled ? '@' : '-' }}\n \n \n {{ vm.participant2Name }} \n
\n
\n\n
\n \n {{ sitecore.event.Live }}\n \n \n
\n","import { Component, Input, OnChanges } from '@angular/core';\n\nimport { FixtureViewType } from '@cds/betting-offer';\nimport {\n EventModel,\n EventParticipantType,\n PairGameScore,\n PeriodGameScore,\n ScoreboardType,\n SetGameScore,\n} from '@frontend/sports/betting-offer/feature/model';\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\n\nimport { EpcotConfigService, EpcotModule } from '../../common/epcot-config.service';\n\nexport interface ScoreboardShowcaseViewModel {\n participant1Name: string;\n participant2Name: string;\n}\n@Component({\n selector: 'ms-showcase-scoreboard',\n templateUrl: 'showcase-scoreboard.component.html',\n standalone: false,\n})\nexport class ScoreboardShowcaseComponent implements OnChanges {\n @Input() event: EventModel;\n module = EpcotModule.Scoreboard;\n\n vm: ScoreboardShowcaseViewModel = {\n participant1Name: '',\n participant2Name: '',\n };\n\n participant1Score: number;\n participant2Score: number;\n private isUSFormat: boolean;\n showAwayIndicator: boolean;\n isEpcotEnabled = false;\n\n constructor(\n public sitecore: Sitecore,\n private epcotConfigService: EpcotConfigService,\n ) {\n this.isEpcotEnabled = this.epcotConfigService.isEnabled(this.module);\n }\n\n private getParticipantsName(index: number): string {\n return this.event.participants[index].shortName || this.event.participants[index].name;\n }\n\n private isParticipant1AwayTeam(): boolean {\n return this.isUSFormat && this.event.participants[0].type === EventParticipantType.Away;\n }\n\n ngOnChanges(changes: ISimpleChanges): void {\n this.isUSFormat = this.event.viewType === FixtureViewType.American;\n this.showAwayIndicator = this.isParticipant1AwayTeam();\n this.vm = {\n participant1Name: this.getParticipantsName(0),\n participant2Name: this.getParticipantsName(1),\n };\n\n if (this.event.scoreboard.started) {\n switch (this.event.scoreboard.type) {\n case ScoreboardType.PeriodGame:\n const periodGameScore = this.event.scoreboard.getScore()!;\n this.participant1Score = periodGameScore.participant1.total;\n this.participant2Score = periodGameScore.participant2.total;\n break;\n case ScoreboardType.PairGame:\n const pairGameScore = this.event.scoreboard.getScore()!;\n this.participant1Score = pairGameScore.participant1;\n this.participant2Score = pairGameScore.participant2;\n break;\n case ScoreboardType.SetGame:\n const setGameScore = this.event.scoreboard.getScore()!;\n this.participant1Score = setGameScore.participant1WonSets;\n this.participant2Score = setGameScore.participant2WonSets;\n break;\n case ScoreboardType.BaseballGame:\n const baseBallScore = this.event.scoreboard.getScore()!;\n this.participant1Score = Number(baseBallScore.participant1.points);\n this.participant2Score = Number(baseBallScore.participant2.points);\n break;\n }\n }\n }\n}\n","\n \n\n\n\n \n\n","import { Component, HostBinding, Input, OnChanges, ViewChild } from '@angular/core';\n\nimport { ScrollAdapterComponent } from '@frontend/sports/common/core/feature/scroll-adapter';\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { TimerService } from '@frontend/sports/common/core/utils/timer';\n\nimport { TabBarItem } from '../../tab-bar/tab-bar.models';\nimport { ShowcaseEventModel } from '../showcase.model';\nimport { ShowcaseService } from '../showcase.service';\nimport { ShowcaseTrackingService } from '../showcase.tracking.service';\n\n@Component({\n selector: 'ms-showcase-tab-bar',\n templateUrl: 'showcase-tab-bar.component.html',\n standalone: false,\n})\nexport class TabsShowcaseComponent implements OnChanges {\n @Input() events: ShowcaseEventModel[];\n @Input() scrollSize = 200;\n @Input() scrollEnabled = true;\n @Input() stretch = false;\n @Input() selectedEventId: string;\n @Input() scrollNeeded: boolean;\n activeEventid: string;\n\n @HostBinding('class') className = 'tab-bar';\n\n @ViewChild(ScrollAdapterComponent) scrollAdapter: ScrollAdapterComponent;\n\n constructor(\n private timer: TimerService,\n private showcaseService: ShowcaseService,\n private showcaseTrackingService: ShowcaseTrackingService,\n ) {}\n\n ngOnChanges(changes: ISimpleChanges): void {\n if (this.scrollEnabled && changes.events && !changes.events.firstChange) {\n this.timer.setTimeout(() => this.scrollAdapter.setArrows());\n }\n if ((changes.selectedEventId || changes.scrollNeeded) && !this.showcaseService.eventSelectedFromTabBar) {\n this.timer.setTimeout(() => this.scrollAdapter.updatedScrollPosition());\n }\n if (changes.selectedEventId) {\n this.activeEventid = changes.selectedEventId.currentValue;\n }\n }\n\n selected(domEvent: Event, event: ShowcaseEventModel, index: number): void {\n domEvent.preventDefault();\n this.showcaseService.eventSelectedFromTabBar = true;\n this.showcaseService.select(event.event.id);\n this.showcaseTrackingService.trackEventSwitcherEventClick(event.event, index);\n }\n\n trackTabsBy(index: number, tab: TabBarItem): number {\n return tab.id;\n }\n}\n","@if (showModule) {\n
\n
\n {{ title }}\n
\n @if (collapse) {\n \n \n \n } @else {\n \n }\n
\n\n @if (!collapse && selectedEvent) {\n @if (moduleData.events.length > 1) {\n
\n \n
\n }\n
\n
\n
\n
\n
\n
\n \n @if (showCompetitionLogo) {\n \n } @else {\n \n \n \n }\n \n {{ selectedEvent.league.name }} \n
\n \n
\n
\n @if (showHeaderContent) {\n \n \n } @else {\n \n \n }\n
\n
\n @if (selectedEvent.optionGroups?.length) {\n
\n \n \n
\n }\n
\n @if (moduleData.showSpecialContents && ((tiles$ | async)?.length || crmBannerPromotions?.length)) {\n
\n @if ((tiles$ | async)?.length) {\n \n } @else {\n \n \n }\n
\n }\n
\n
\n }\n}\n","import { Component, DestroyRef, EventEmitter, HostBinding, Input, OnChanges, OnDestroy, OnInit, Output, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\nimport { GridViewGroupingConfiguration } from '@cds/betting-offer/grouping/grid-view';\nimport { EventModel } from '@frontend/sports/betting-offer/feature/model';\nimport { OfferGroupingService } from '@frontend/sports/betting-offer/feature/offer-grouping';\nimport { EpcotConfig, ImagesConfig, ScoreboardBackgroundConfig } from '@frontend/sports/common/client-config-data-access';\nimport { SportConstant } from '@frontend/sports/common/core/data-access/constants';\nimport { isDefined } from '@frontend/sports/common/core/utils/extended-types';\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { CompetitionLogosService } from '@frontend/sports/competition-logos/feature';\nimport { EventSubscription } from '@frontend/sports/event-subscription/feature/base-subscription';\nimport { GridSubscriptionService } from '@frontend/sports/event-subscription/feature/grid-subscription';\nimport { MediaQueryService } from '@frontend/vanilla/core';\nimport { clone } from 'lodash-es';\nimport { BehaviorSubject, combineLatest, distinctUntilChanged, filter, map, of, switchMap } from 'rxjs';\n\nimport { ImageQualityService } from '../common/image-quality.service';\nimport { Promotion, TrackingSource } from '../crm-offer-data/crm-offer.model';\nimport { CrmPromotionProviderService } from '../crm-promotion/crm-promotion-provider.service';\nimport { ComponentProxy } from '../deferred/component-loader.service';\nimport { HeaderContentDensity } from '../event-details-common/event-details-common.models';\nimport { HeaderNavigationService } from '../event-details-common/header-navigation/header-navigation.service';\nimport { ScoreboardSubscriptionService } from '../event-subscription/scoreboard-subscription.service';\nimport { HighLightsMarqueeBinding, HighlightsMarqueeComponentLoaderService } from '../highlights-marquee/highlights-marquee-component-loader.service';\nimport { HighlightsMarqueePage } from '../highlights-marquee/highlights-marquee-page.enum';\nimport { Tile } from '../highlights-marquee/marquee-tile.model';\nimport { MarqueeTileService } from '../highlights-marquee/marquee-tile.service';\nimport { MarqueeService } from '../highlights-marquee/marquee.service';\nimport { RedirectHelperService } from '../navigation-core/redirect-helper.service';\nimport { TabBarItem } from '../tab-bar/tab-bar.models';\nimport { EventLoadService } from './event-load.service';\nimport { LiveAlertManager } from './live-alert/live-alert-manager.service';\nimport { FeatureTab, LiveAlertMessage, ShowcaseEventModel, ShowcaseModuleData } from './showcase.model';\nimport { ShowcaseService } from './showcase.service';\nimport { ShowcaseTrackingService } from './showcase.tracking.service';\n\n@Component({\n selector: 'ms-showcase',\n templateUrl: 'showcase.component.html',\n providers: [ShowcaseTrackingService],\n standalone: false,\n})\nexport class ShowcaseComponent implements OnInit, OnDestroy, OnChanges {\n collapse = false;\n title: string;\n animationAlert: LiveAlertMessage;\n showHeaderContent = false;\n page = HighlightsMarqueePage.Lobby;\n showModule = false;\n selectedEvent: EventModel;\n mediaEvent: EventModel;\n feature?: TabBarItem;\n crmBannerPromotions: Promotion[] = [];\n tiles$ = new BehaviorSubject([]);\n showCompetitionLogo: boolean;\n gridGroup?: { [key: string]: string };\n scoreboardBgColor = { 'background-color': '' };\n private eventSubscriptions?: EventSubscription;\n @Input() moduleData: ShowcaseModuleData;\n @Input() tracking?: string;\n @Output() showcaseDataLoaded = new EventEmitter();\n @HostBinding('class') className = 'showcase-container';\n @HostBinding('style.height.px') height?: number;\n @HostBinding('style.max-height.px') maxHeight?: number;\n\n bgImage?: SafeStyle;\n\n sizeDensity = HeaderContentDensity;\n\n tabContainerClasses: { [key: number]: string } = {\n [SportConstant.Soccer]: 'stats-container',\n };\n\n tabContainerBackgroundClasses: { [key: number]: string } = {\n [SportConstant.Soccer]: 'stats-background',\n };\n\n groupingConfig: GridViewGroupingConfiguration | undefined;\n\n epcotEnabled = inject(EpcotConfig).isEnabled;\n\n events: ShowcaseEventModel[] = [];\n marqueeComponent: ComponentProxy;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(\n private gridSubscriptionService: GridSubscriptionService,\n private scoreboardSubscriptionService: ScoreboardSubscriptionService,\n private redirectHelperService: RedirectHelperService,\n private headerNavigation: HeaderNavigationService,\n private showcaseService: ShowcaseService,\n private sanitizer: DomSanitizer,\n public liveAlertManager: LiveAlertManager,\n private marqueeService: MarqueeService,\n private marqueeTileService: MarqueeTileService,\n private mediaService: MediaQueryService,\n private crmPromotionProvider: CrmPromotionProviderService,\n private showcaseTrackingService: ShowcaseTrackingService,\n private competitionLogoService: CompetitionLogosService,\n private eventLoadService: EventLoadService,\n private grouping: OfferGroupingService,\n private scoreboardBackgrounds: ScoreboardBackgroundConfig,\n private imagesConfig: ImagesConfig,\n private imageQualityService: ImageQualityService,\n private marqueeLoader: HighlightsMarqueeComponentLoaderService,\n ) {\n this.marqueeComponent = this.marqueeLoader.getHighlightsMarqueeComponent();\n }\n\n ngOnInit(): void {\n this.headerNavigation.selectedTab.pipe(filter(isDefined), takeUntilDestroyed(this.destroyRef)).subscribe((x) => this.featureTabSelected(x));\n this.showcaseService.selectedEvent\n .pipe(\n distinctUntilChanged(),\n map((eventId: string) => this.moduleData.events.find((showcaseEvent) => showcaseEvent.event.id === eventId)),\n switchMap((eventModel) => {\n return this.eventLoadService.getFullFixture(eventModel!, this.showcaseService.getGridGroupIds(eventModel?.gridGroup!));\n }),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe((response) => this.processResponse(response.event, response.isUpdatedEvent));\n\n this.mediaService\n .observe()\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.screenWidthChanged());\n }\n\n ngOnChanges(changes: ISimpleChanges): void {\n if (changes.moduleData && this.moduleData?.events) {\n this.title = this.moduleData.title;\n this.events = this.moduleData.events;\n this.resubscribe();\n this.tabSelected();\n this.collapse = false;\n this.liveAlertManager.emptyList();\n }\n }\n\n ngOnDestroy(): void {\n this.unsubscribePushSubscription();\n this.liveAlertManager.emptyList();\n }\n\n private featureTabSelected(feature: TabBarItem): void {\n this.checkForMediaUpdates();\n this.feature = feature;\n this.tabChanged();\n }\n\n private screenWidthChanged = (): void => {\n this.showHeaderContent = this.mediaService.isActive('lt-lg');\n };\n\n goToEvent(): void {\n if (!this.showHeaderContent || this.feature?.id === FeatureTab.Scoreboard) {\n this.redirectHelperService.goToEvent(this.selectedEvent);\n this.showcaseTrackingService.trackEventPageClick(this.selectedEvent, this.selectedEventPosition);\n }\n }\n\n get selectedEventPosition(): number {\n const index = this.events.findIndex((e) => e.event.id === this.selectedEvent?.id);\n\n return index ?? 0;\n }\n\n private updateClasses(): void {\n const defaultClass = 'showcase-container';\n const isStarted = this.selectedEvent.scoreboard?.started;\n const newClass = isStarted ? 'live' : 'prematch';\n this.className = [defaultClass, newClass].join(' ');\n }\n\n private tabChanged(): void {\n if (this.selectedEvent) {\n const background = this.scoreboardBackgrounds.backgrounds.find((x) => x.sportId === this.selectedEvent.sport.id);\n if (this.feature?.id === FeatureTab.Simulation && background) {\n this.scoreboardBgColor = { 'background-color': background.outerColor };\n } else {\n this.scoreboardBgColor = { 'background-color': '' };\n }\n\n this.showcaseService.setParticipantsShirtColor(this.selectedEvent);\n }\n }\n\n private checkAndEnableShowCaseModule(): boolean {\n this.showModule = true;\n if (this.events.length === 0) {\n this.showModule = false;\n this.unsubscribePushSubscription();\n }\n\n return this.showModule;\n }\n\n tabSelected(event?: EventModel): void {\n if (!this.checkAndEnableShowCaseModule()) {\n this.showcaseDataLoaded.emit();\n\n return;\n }\n\n event = event || this.moduleData.events[0].event;\n\n const selectedEvent = this.moduleData.events.find((showcaseEvent) => showcaseEvent.event.id === event?.id);\n\n if (selectedEvent) {\n this.grouping\n .getGridGrouping(selectedEvent.event.sport.id)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((groupings) => {\n this.groupingConfig = groupings;\n const url = this.showcaseService.getBackgroundImageUrl(selectedEvent.event.sport.id);\n this.bgImage = this.getSanitizedImageUrl(url);\n\n this.showCompetitionLogo =\n this.competitionLogoService.hasLogo(selectedEvent.event.sport.id, selectedEvent.event.league.id) ||\n !!selectedEvent.event.league?.imageProfile?.logo;\n this.gridGroup = selectedEvent.gridGroup;\n this.selectedEvent = selectedEvent.event;\n this.mediaEvent = clone(selectedEvent.event);\n\n this.updateClasses();\n this.loadPromotions(this.selectedEvent.id);\n });\n }\n }\n\n private loadPromotions(eventId: string): void {\n if (!this.moduleData.showSpecialContents) {\n this.showcaseDataLoaded.emit();\n\n return;\n }\n const marqueeAvailable = this.marqueeTileService.hasForFixture(eventId);\n const marqueeTiles$ = marqueeAvailable ? this.marqueeService.loadMarquees(eventId) : of(undefined);\n\n combineLatest([marqueeTiles$, this.crmPromotionProvider.promotions$])\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(([marqueeTiles, promotions]) => {\n marqueeTiles = marqueeTiles || [];\n this.tiles$.next(marqueeTiles);\n this.crmBannerPromotions = this.showcaseService.promotionChanged(promotions, this.selectedEvent);\n this.marqueeComponent.update({\n tiles: this.tiles$.value,\n promotionTiles: this.crmBannerPromotions,\n showLoader: true,\n page: this.page,\n promotionTrackingSource: TrackingSource.ShowCase,\n });\n this.showcaseDataLoaded.emit();\n });\n }\n\n private getSanitizedImageUrl(url?: string): SafeStyle | undefined {\n if (!url) {\n return undefined;\n }\n\n if (this.imagesConfig.imageQualityParams?.homePage?.showCase)\n url = this.imageQualityService.setImageQuality(url, this.imagesConfig.imageQualityParams.homePage.showCase);\n\n const appendValue = url.includes('?') ? '&p=width540' : '?p=width540';\n\n return this.sanitizer.bypassSecurityTrustStyle(`url(${url}${appendValue}`);\n }\n\n densityToggled(density: HeaderContentDensity): void {\n if (density !== HeaderContentDensity.Fullscreen) {\n this.tabChanged();\n }\n }\n\n toggle(): void {\n this.collapse = !this.collapse;\n this.showcaseService.eventSelectedFromTabBar = false;\n this.showcaseTrackingService.trackHeaderExpandOrCollapseClick(this.selectedEvent, this.collapse);\n }\n\n private unsubscribePushSubscription(): void {\n this.eventSubscriptions?.unsubscribe();\n }\n\n private resubscribe(): void {\n this.unsubscribePushSubscription();\n\n const callbacks = this.events.map((model, index) => ({\n event: clone(model.event),\n callback: this.getCallback(index),\n }));\n\n if (callbacks.length > 0) {\n this.eventSubscriptions = this.gridSubscriptionService.subscribe(callbacks);\n this.eventSubscriptions.add(this.scoreboardSubscriptionService.subscribe(callbacks));\n }\n }\n\n private getCallback(index: number): (updatedEvent: EventModel) => void {\n return (updatedEvent) => {\n if (!updatedEvent?.scoreboard) {\n return;\n }\n const oldShowcaseEvent = this.events.find((f) => f.event.id === updatedEvent.id);\n if (!oldShowcaseEvent?.event) {\n return;\n }\n const oldEvent = clone(oldShowcaseEvent.event);\n const newEvent = clone(updatedEvent);\n if (updatedEvent.scoreboard.messages && updatedEvent.optionGroups.length) {\n this.moduleData.events[index].event = newEvent;\n }\n if (updatedEvent.scoreboard.messages) {\n this.moduleData.events[index].event.scoreboard.messages = newEvent.scoreboard.messages;\n this.liveAlertManager.add(updatedEvent, oldEvent);\n if (updatedEvent.id === this.selectedEvent.id) {\n this.checkForMediaUpdates(newEvent);\n }\n }\n if (updatedEvent.optionGroups.length) {\n this.moduleData.events[index].event.optionGroups = newEvent.optionGroups;\n }\n if (updatedEvent.id === this.selectedEvent.id) {\n this.selectedEvent = newEvent;\n }\n };\n }\n\n private checkForMediaUpdates(newEvent?: EventModel): void {\n if (this.feature && this.feature.id !== 2) {\n this.mediaEvent = newEvent || this.selectedEvent;\n }\n }\n\n private processResponse = (event: EventModel, isUpdatedEvent: boolean): void => {\n this.moduleData.events.forEach((e) => {\n e.active = false;\n if (e.event.id === event.id) {\n e.active = true;\n e.event.optionGroups = event.optionGroups;\n }\n });\n if (isUpdatedEvent) {\n this.resubscribe();\n }\n this.tabSelected(event);\n };\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FontResizerComponent } from '@frontend/sports/common/core/feature/font-resizer';\nimport { ScrollAdapterComponent } from '@frontend/sports/common/core/feature/scroll-adapter';\nimport { SportsThemedSegmentedControlDirective } from '@frontend/sports/common/ui/sports-themed-segmented-control';\nimport { ValueSliderDirective } from '@frontend/sports/common/ui/value-slider';\nimport { CompetitionLogoComponent } from '@frontend/sports/competition-logos/feature';\nimport { NativePriceFormatterPipe } from '@frontend/sports/odds/feature/native-price';\nimport { DsSegmentedControlModule } from '@frontend/ui/segmented-control';\nimport { IconCustomComponent } from '@frontend/vanilla/shared/icons';\nimport { NgScrollbarModule } from 'ngx-scrollbar';\n\nimport { TranslationToStringPipe } from '../cds/translation.pipe';\nimport { CrmPromotionContainerComponent } from '../crm-promotion-container/crm-promotion-container.component';\nimport { ComponentProxyDirective } from '../deferred/component-proxy.directive';\nimport { DirectivesModule } from '../directives/directives.module';\nimport { EventDetailsCommonModule } from '../event-details-common/event-details-common.module';\nimport { GridModule } from '../grid/grid.module';\nimport { EventPickComponent } from '../option-pick/event-pick.component';\nimport { TabBarModule } from '../tab-bar/tab-bar.module';\nimport { EventLoadService } from './event-load.service';\nimport { ScoreboardShowcaseComponent } from './event-switcher/showcase-scoreboard.component';\nimport { TabsShowcaseComponent } from './event-switcher/showcase-tab-bar.component';\nimport { LiveAlertItemComponent } from './live-alert/live-alert-item.component';\nimport { LiveAlertListComponent } from './live-alert/live-alert-list.component';\nimport { LiveAlertManager } from './live-alert/live-alert-manager.service';\nimport { OptionGroupContainerComponent } from './option-group/option-group-container.component';\nimport { ShowcaseOptionGroupComponent } from './option-group/showcase-option-group.component';\nimport { ShowcaseMediaComponent } from './showcase-media/showcase-media.component';\nimport { ShowcaseComponent } from './showcase.component';\nimport { ShowcaseTrackingService } from './showcase.tracking.service';\n\n@NgModule({\n imports: [\n CommonModule,\n TabBarModule,\n NgScrollbarModule,\n GridModule,\n CompetitionLogoComponent,\n TranslationToStringPipe,\n CrmPromotionContainerComponent,\n DirectivesModule,\n EventDetailsCommonModule,\n ComponentProxyDirective,\n FontResizerComponent,\n ValueSliderDirective,\n ScrollAdapterComponent,\n EventPickComponent,\n NativePriceFormatterPipe,\n DsSegmentedControlModule,\n SportsThemedSegmentedControlDirective,\n IconCustomComponent,\n ],\n declarations: [\n LiveAlertItemComponent,\n LiveAlertListComponent,\n OptionGroupContainerComponent,\n ScoreboardShowcaseComponent,\n ShowcaseComponent,\n ShowcaseMediaComponent,\n ShowcaseOptionGroupComponent,\n TabsShowcaseComponent,\n ],\n exports: [ShowcaseComponent],\n providers: [EventLoadService, LiveAlertManager, ShowcaseTrackingService],\n})\nexport class ShowcaseModule {}\n"],"names":["ShowcaseApi","constructor","cdsApiServiceFactory","cdsApi","endpoint","getShowcaseData","request","post","ɵɵinject","CDS_API_FACTORY","A","factory","ɵfac","providedIn","_ShowcaseApi","ShowcaseConstants","_ShowcaseConstants","TIMEDELAY","ANIMATIONTIME","Lobby","ViewType","FootballMessageIds","AmericanFootballMessageIds","BasketballMessageIds","BaseballMessageIds","IceHockeyMessageIds","BasketBallPeriodIds","TouchDownInfo","CustomMessage","LiveAlertEvent","participant1Score","participant2Score","eventId","sportId","participants","period","time","currentlyServing","length","team1Name","shortName","name","team2Name","FeatureTab","ShowcaseFixtureMapperService","fixtureFactory","mapShowcaseFixtures","fixtures","showcaseModuleItem","key","map","f","requestId","fixtureGroup","filter","sitecoreShowcaseModuleItem","find","v","contentSourceId","showcaseModuleTabEvents","fg","eventModelWithOptionGroup","fixture","item","event","active","title","events","showSpecialContents","eventModel","create","gridGroup","getGridGroupId","sport","id","fixtureGroups","g","FixtureFactory","_ShowcaseFixtureMapperService","ShowcaseService","config","crmPromotionMapper","showcaseFixtureMapperService","selectSubject","Subject","selectAlertSubject","backgroundImage","selectedEvent","asObservable","selectedAlertEvent","crmPromotions","optionGroups","eventSelectedFromTabBar","filterFixtureGroup","data","showcaseItem","fixturesGroup","getLobbySpecificFixtures","sitecoreData","backgrounds","image","assign","imageSrc","getLobbySpecificData","filterData","lobby","getLobbySpecificMappedData","showcaseModule","select","next","selectAlert","promotionChanged","model","getPromotionsForEvent","getBannerPromotions","getBackgroundImageUrl","getGridGroupIds","Object","keys","setParticipantsShirtColor","scoreboard","homeTeamColor","colors","undefined","awayTeamColor","shirtColor","Home","Sports","Competition","regionId","items","showOnHomeLobby","showOnSportsLobby","showOnCompetitionLobby","ShowcaseConfig","CrmPromotionMapperService","_ShowcaseService","ShowcaseRequestBuilderService","showcaseService","showcaseConfig","getRequestPayload","isShowcaseModuleEnabled","showcaseData","buildRequestForLobby","queries","getOnlyFirstAvailableOffer","flatten","m","tab","fixtureIds","fixtureId","gridGroupIds","join","scoreboardMode","offerMapping","state","buildRequestForOptionGroup","groupIds","_ShowcaseRequestBuilderService","EventLoadService","requestBuilderService","showcaseApi","getFullFixture","activeTabModel","_a","isFinished","pipe","eventData","isUpdatedEvent","of","response","optionMarkets","games","_EventLoadService","LiveAlertManager","sitecore","queuedAlerts","alerts","newAlertSubject","emptyAlertsSubject","endOfQuarterOrPeriodId","triggerNotification","newAlert","push","alertsEmptied","parseMessage","message","updatedEvent","oldEvent","teamName","eventTime","type","CustomMessageType","isDuplicateAlert","isTeam1Message","teamType","TeamType","Team01","isTeam2Message","Team02","parsedAlert","team","order","team1Score","team2Score","text","SportConstant","Soccer","messageType","getLiveAlertMessageTypes","Goal","FootballPeriodInfo","PenaltyShootout","showcaseMessages","Penalty","PenaltyScored","PenaltyMissed","RedCard","Custom","handleCustomMessages","Basketball","Messages","FirstQuarterIntermission","matchType","EndOfQ1","EndOf1H","SecondQuarterIntermission","EndOfQ2","EndOf2H","ThirdQuarterIntermission","EndOfQ3","FourthQuarterIntermission","EndOfQ4","Overtime","OTStart","End","MatchFinished","AmericanFootball","TouchDown","TwoPointConversion","PtConversion","replace","OnePointConversion","Safety","FieldGoal","Quarter","AmericanFootballPeriodInfo","IntermissionQ1","IntermissionQ2","IntermissionQ3","AmericanFootballQuarters","Finished","isCancelledTouchDown","TouchDownPointer","Icehockey","IceHockeyPeriodInfo","IntermissionPeriod1","EndOfP1","IntermissionPeriod2","EndOfP2","RegularTimeOver","EndOfP3","IceHockeyPeriods","Baseball","BattingSwitch","RunsScored","getParsedAlert","subMessages","upScore","Math","abs","upScoreTeam","checkMatchDecided","WinBy","UpBy","isHighlighted","Tie","viewType","CancelledTouchDown","CancelledGoal","team1Highlight","team2Highlight","withParticipantScore","timeValue","getLatestMessages","messages","differenceBy","checkChangesInScoreOrTurn","latestLiveEvent","oldLiveEvent","isEmpty","add","score","updatedEventLatestAlert","getParticipantScores","oldEventLatestAlert","ScoreboardType","PeriodGame","messageOrder","floor","random","icon","forEach","getTeamName","emptyList","getTime","timer","base","Date","now","DateProviderService","timeSpan","seconds","round","minutes","pad","val","padStart","toString","liveAlert","started","periodGameScore","getScore","participant1","total","participant2","turn","PairGame","pairGameScore","SetGame","setGameScore","participant1WonSets","participant2WonSets","BaseballGame","setGameScoreboard","Number","points","duplicateAlert","alert","some","Sitecore","_LiveAlertManager","ShowcaseTrackingService","trackingService","actionEventByMediaTabs","EventDetailsColumnType","Stats","Animation","Video","actionEventByHeaderNavTabs","Statistics","Simulation","Scoreboard","trackTabsInteractionForMedia","eventActiveId","trackTabsInteraction","trackTabsInteractionForHeader","trackEventPageClick","index","trackingData","getTrackData","labelEvent","actionEvent","positionEvent","locationEvent","NOT_APPLICABLE","eventDetails","position","track","trackingConstants","EVENT_TRACKING","trackHeaderExpandOrCollapseClick","collapse","trackEventSwitcherEventClick","trackGameAlertsEventRedirecting","alertMessage","trackExpandGameAlerts","expanded","COMPONENT_CATEGORY_EVENT","COMPONENT_LABEL_EVENT","COMPONENT_ACTION_EVENT","COMPONENT_POSITION_EVENT","COMPONENT_LOCATION_EVENT","COMPONENT_EVENT_DETAILS","COMPONENT_URL_CLICKED","isNil","SPORT_ID","SPORT_EVENT_ID","COMPONENT_CONTENT_POSITION","tabTracking","TrackingService","_ShowcaseTrackingService","ɵɵelementContainerStart","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","gt","ɵɵadvance","ɵɵproperty","ɵɵpureFunction1","_c0","messageInfo_r1","ɵɵtextInterpolate1","LiveAlertItemComponent","showcaseTrackingService","className","goto","liveAlertMessage","stopPropagation","ɵɵdirectiveInject","y","selectors","hostVars","hostBindings","rf","ctx","ɵɵclassMap","ɵɵlistener","$event","ɵɵtemplate","LiveAlertItemComponent_ng_container_7_Template","ɵɵtextInterpolate","K","ce","_LiveAlertItemComponent","ɵɵelement","ctx_r0","animationAlert","N","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","toggleExpand","d","LiveAlertListComponent_Conditional_2_Conditional_2_Template","ɵɵpureFunction3","_c1","animate","lastAlert","ɵɵconditional","hasAlertsForExpand","alert_r4","i0","_r3","ɵɵrepeaterCreate","LiveAlertListComponent_Conditional_3_For_2_Template","_forTrack0","J","ɵɵrepeater","ɵɵpipeBind2","LiveAlertListComponent","changeDetector","timerService","liveAlertManager","startInterval","noAlerts","stopInterval","alertsInterval","setHasAlertsForExpand","takeUntilDestroyed","subscribe","processNewAlert","ngOnDestroy","displayNewAlert","markForCheck","setTimeout","unshift","shift","createInterval","setInterval","ngOnChanges","changes","alertList","update","ChangeDetectorRef","TimerService","viewQuery","NgScrollbar","Ae","Ge","ɵɵclassProp","LiveAlertListComponent_Conditional_1_Template","LiveAlertListComponent_Conditional_2_Template","LiveAlertListComponent_Conditional_3_Template","Le","R","kt","_LiveAlertListComponent","getResultName","option_r3","ɵ$index_7_r4","ShowcaseOptionGroupComponent_For_3_Conditional_2_Conditional_0_Template","optionGroup","balanced","categoryAttribute","optionAttribute","viewTypeEnum","Default","SixPack","overridenName","ɵɵpipeBind1","nativePrice","ShowcaseOptionGroupComponent_For_3_Conditional_1_Template","ShowcaseOptionGroupComponent_For_3_Conditional_2_Template","optionTracking","tracking","online","ShowcaseOptionGroupComponent","onClick","preventDefault","epcotEnabled","inject","EpcotConfig","isEnabled","option","options","indexOf","eventGrid","SixPack_TotalsOver","SixPack_TotalsUnder","optionName","optionNames","segment","toLowerCase","ShowcaseOptionGroupComponent_Conditional_0_Template","ShowcaseOptionGroupComponent_For_3_Template","oi","Re","Jt","_ShowcaseOptionGroupComponent","optionGroup_r1","ctx_r1","OptionGroupContainerComponent","class","getHostClass","optionGroupService","MAX_OPTION_GROUPS","includes","sixPackSportTypeIds","mapOptionGroup","trackOptionGroup","gridGroups","_b","showcaseOptionGroups","mappedGroups","groupingConfig","groups","matchingGroups","keyBy","mapValues","group","sixPackGroups","matchingGroup","hasMatchingGroupId","marketGroupIds","matchedGroup","zipObject","value","setOptionGroup","mid","groupId","_c","nextGoalMarketGroupId","og","getOptionGroup","slice","eventOptionGroup","get","OptionGroupService","OptionGroupContainerComponent_ms_showcase_option_group_0_Template","_OptionGroupContainerComponent","tab_r3","ShowcaseMediaComponent_Conditional_0_Conditional_0_For_2_ng_template_1_Template","ɵɵtemplateRefExtractor","_r1","tabSelectedmedia","ShowcaseMediaComponent_Conditional_0_Conditional_0_For_2_Template","ɵɵrepeaterTrackByIndex","segmentedControlThemeInverse","tabs","ShowcaseMediaComponent_Conditional_0_Conditional_0_Template","_r4","activateMedia","mediaType","stats","_r5","animation","_r6","video","ShowcaseMediaComponent_Conditional_1_Conditional_2_Template","ShowcaseMediaComponent_Conditional_1_Conditional_5_Template","ShowcaseMediaComponent_Conditional_1_Conditional_8_Template","hasStats","hasAnimation","hasVideo","ShowcaseMediaComponent","getHostFirstClass","helper","headerNavigation","betRadarStatistics","mediaApi","eventState","Map","currentEventId","videoPinToggle","EventEmitter","featureChange","heightChange","showAlertScoreboard","__async","tabSelectedEvent","firstChange","showHeaderContent","checkMediaControls","hasAnimationOrSimulation","getStatsIcon","getVideoIcon","getAnimationIconForSport","init","set","selectedTab","trackTabSelectedMedia","updateSelected","activeType","selectMediaStyles","setEventId","statsId","open","trackActivateMedia","stopImmediatePropagation","MediaEventSource","Grid","TrackingVideoSource","ShowcaseModule","EventMediaHelperService","HeaderNavigationService","BetRadarStatisticsService","MediaApiService","ShowcaseMediaComponent_Conditional_0_Template","ShowcaseMediaComponent_Conditional_1_Template","Lt","Ft","Ti","_ShowcaseMediaComponent","isEpcotEnabled","showAwayIndicator","globalMessages","AwayIndicator","Live","ScoreboardShowcaseComponent","epcotConfigService","module","EpcotModule","vm","participant1Name","participant2Name","getParticipantsName","isParticipant1AwayTeam","isUSFormat","EventParticipantType","Away","baseBallScore","EpcotConfigService","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","ScoreboardShowcaseComponent_span_4_Template","ScoreboardShowcaseComponent_ng_template_5_Template","ScoreboardShowcaseComponent_i_11_Template","Ce","preMatch_r2","live","startDate","Ne","ci","li","_ScoreboardShowcaseComponent","TabsShowcaseComponent_ms_scroll_adapter_0_1_ng_template_0_Template","TabsShowcaseComponent_ms_scroll_adapter_0_1_Template","activeEventid","scrollSize","stretch","tabTemplate_r2","ctx_r3","tab_r5","$implicit","index_r6","selected","dt","TabsShowcaseComponent_ng_template_1_ul_0_li_1_Template","trackTabsBy","TabsShowcaseComponent_ng_template_1_ul_0_Template","TabsShowcaseComponent","scrollEnabled","scrollAdapter","setArrows","selectedEventId","scrollNeeded","updatedScrollPosition","currentValue","domEvent","ScrollAdapterComponent","TabsShowcaseComponent_ms_scroll_adapter_0_Template","TabsShowcaseComponent_ng_template_1_Template","yt","ei","he","_TabsShowcaseComponent","moduleData","league","imageProfile","ɵɵpropertyInterpolate1","goToEvent","densityToggled","mediaEvent","feature","sizeDensity","Medium","Small","ɵɵpureFunction2","selectedEventPosition","ɵɵelementContainer","ShowcaseComponent_Conditional_0_Conditional_5_Conditional_17_Conditional_1_ng_container_0_Template","marqueeComponent","crmBannerPromotions","ShowcaseComponent_Conditional_0_Conditional_5_Conditional_17_Conditional_1_Template","ShowcaseComponent_Conditional_0_Conditional_5_Conditional_17_Conditional_3_Template","tmp_3_0","tiles$","ShowcaseComponent_Conditional_0_Conditional_5_Conditional_0_Template","ShowcaseComponent_Conditional_0_Conditional_5_Conditional_8_Template","ShowcaseComponent_Conditional_0_Conditional_5_Conditional_9_Template","ShowcaseComponent_Conditional_0_Conditional_5_Conditional_14_Template","ShowcaseComponent_Conditional_0_Conditional_5_Conditional_15_Template","ShowcaseComponent_Conditional_0_Conditional_5_Conditional_16_Template","ShowcaseComponent_Conditional_0_Conditional_5_Conditional_17_Template","ɵɵstyleProp","bgImage","tabContainerClasses","showCompetitionLogo","scoreboardBgColor","tabContainerBackgroundClasses","tmp_13_0","toggle","ShowcaseComponent_Conditional_0_Conditional_3_Template","ShowcaseComponent_Conditional_0_Conditional_4_Template","ShowcaseComponent_Conditional_0_Conditional_5_Template","ShowcaseComponent","gridSubscriptionService","scoreboardSubscriptionService","redirectHelperService","sanitizer","marqueeService","marqueeTileService","mediaService","crmPromotionProvider","competitionLogoService","eventLoadService","grouping","scoreboardBackgrounds","imagesConfig","imageQualityService","marqueeLoader","page","HighlightsMarqueePage","showModule","BehaviorSubject","showcaseDataLoaded","HeaderContentDensity","destroyRef","DestroyRef","screenWidthChanged","isActive","processResponse","e","resubscribe","tabSelected","getHighlightsMarqueeComponent","ngOnInit","isDefined","x","featureTabSelected","distinctUntilChanged","showcaseEvent","switchMap","observe","unsubscribePushSubscription","checkForMediaUpdates","tabChanged","findIndex","updateClasses","defaultClass","newClass","background","outerColor","checkAndEnableShowCaseModule","emit","getGridGrouping","groupings","url","getSanitizedImageUrl","hasLogo","logo","clone","loadPromotions","marqueeTiles$","hasForFixture","loadMarquees","combineLatest","promotions$","marqueeTiles","promotions","tiles","promotionTiles","showLoader","promotionTrackingSource","TrackingSource","ShowCase","imageQualityParams","homePage","showCase","setImageQuality","appendValue","bypassSecurityTrustStyle","density","Fullscreen","eventSubscriptions","unsubscribe","callbacks","callback","getCallback","oldShowcaseEvent","newEvent","GridSubscriptionService","ScoreboardSubscriptionService","RedirectHelperService","DomSanitizer","MarqueeService","MarqueeTileService","MediaQueryService","CrmPromotionProviderService","CompetitionLogosService","OfferGroupingService","ScoreboardBackgroundConfig","ImagesConfig","ImageQualityService","HighlightsMarqueeComponentLoaderService","height","maxHeight","ShowcaseComponent_Conditional_0_Template","Tt","Ve","Qe","vi","gi","pi","xt","_ShowcaseComponent","imports","CommonModule","TabBarModule","NgScrollbarModule","GridModule","CompetitionLogoComponent","CrmPromotionContainerComponent","DirectivesModule","EventDetailsCommonModule","EventPickComponent","DsSegmentedControlModule","IconCustomComponent","_ShowcaseModule"],"mappings":"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"}