{"version":3,"file":"chunk-n5qv7ids.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/event-switcher/showcase-scoreboard.html","packages/sports/web/app/src/showcase/event-switcher/showcase-scoreboard.component.ts","packages/sports/web/app/src/showcase/showcase.tracking.service.ts","packages/sports/web/app/src/showcase/event-switcher/showcase-tab-bar.html","packages/sports/web/app/src/showcase/event-switcher/showcase-tab-bar.component.ts","packages/sports/web/app/src/showcase/live-alert/live-alert-item.html","packages/sports/web/app/src/showcase/live-alert/live-alert-item.component.ts","packages/sports/web/app/src/showcase/live-alert/live-alert-manager.service.ts","packages/sports/web/app/src/showcase/live-alert/live-alert-list.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.html","packages/sports/web/app/src/showcase/option-group/option-group-container.component.ts","packages/sports/web/app/src/showcase/showcase-media/showcase-media.html","packages/sports/web/app/src/showcase/showcase-media/showcase-media.component.ts","packages/sports/web/app/src/showcase/showcase.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, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\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(activeTabModel: ShowcaseEventModel, groupIds: string[]): Observable<{ event: EventModel; isUpdatedEvent: boolean }> {\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(fixtureId: string, groupIds: string[]): Observable<{ event: EventModel | undefined; isUpdatedEvent: boolean }> {\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","
\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.html',\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","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\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.html',\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","
\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.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\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","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","
\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.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\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})\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 \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.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\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: EventOptionGroup): string {\n return optionGroup.gridGroups ? optionGroup.gridGroups.join(',') : '';\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.html',\n styleUrls: ['./showcase-media.component.scss'],\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","@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, of } from 'rxjs';\nimport { distinctUntilChanged, filter, map, switchMap } from 'rxjs/operators';\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.html',\n providers: [ShowcaseTrackingService],\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 { CrmPromotionContainerModule } from '../crm-promotion-container/crm-promotion-container.module';\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 CrmPromotionContainerModule,\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","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵtext","d","ɵɵadvance","ɵɵproperty","ctx_r0","ɵɵtextInterpolate1","isEpcotEnabled","showAwayIndicator","sitecore","globalMessages","AwayIndicator","ɵɵtextInterpolate","Live","ScoreboardShowcaseComponent","epcotConfigService","module","EpcotModule","Scoreboard","vm","participant1Name","participant2Name","isEnabled","getParticipantsName","index","isParticipant1AwayTeam","isUSFormat","type","EventParticipantType","Away","ngOnChanges","changes","viewType","started","ScoreboardType","PeriodGame","periodGameScore","getScore","participant1","total","participant2","PairGame","pairGameScore","SetGame","setGameScore","participant1WonSets","participant2WonSets","BaseballGame","baseBallScore","Number","points","ɵɵdirectiveInject","Sitecore","EpcotConfigService","y","selectors","inputs","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","ScoreboardShowcaseComponent_span_4_Template","ScoreboardShowcaseComponent_ng_template_5_Template","ɵɵtemplateRefExtractor","ScoreboardShowcaseComponent_i_11_Template","preMatch_r2","live","startDate","le","ai","ci","_ScoreboardShowcaseComponent","ShowcaseTrackingService","trackingService","actionEventByMediaTabs","EventDetailsColumnType","Stats","Animation","Video","actionEventByHeaderNavTabs","Statistics","Simulation","trackTabsInteractionForMedia","eventActiveId","trackTabsInteraction","trackTabsInteractionForHeader","trackEventPageClick","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","toString","SPORT_EVENT_ID","COMPONENT_CONTENT_POSITION","tabTracking","TrackingService","_ShowcaseTrackingService","TabsShowcaseComponent_ms_scroll_adapter_0_1_ng_template_0_Template","TabsShowcaseComponent_ms_scroll_adapter_0_1_Template","activeEventid","scrollSize","stretch","tabTemplate_r2","ɵɵlistener","$event","ctx_r3","ɵɵrestoreView","_r3","tab_r5","$implicit","index_r6","ɵɵnextContext","ɵɵresetView","selected","ɵɵclassProp","TabsShowcaseComponent_ng_template_1_ul_0_li_1_Template","trackTabsBy","TabsShowcaseComponent_ng_template_1_ul_0_Template","TabsShowcaseComponent","timer","showcaseTrackingService","scrollEnabled","className","firstChange","setTimeout","scrollAdapter","setArrows","selectedEventId","scrollNeeded","updatedScrollPosition","currentValue","domEvent","preventDefault","TimerService","viewQuery","ScrollAdapterComponent","ɵɵclassMap","TabsShowcaseComponent_ms_scroll_adapter_0_Template","TabsShowcaseComponent_ng_template_1_Template","Ce","ce","Tt","Zt","qe","_TabsShowcaseComponent","ɵɵelementContainerStart","ɵɵpureFunction1","_c0","messageInfo_r1","isHighlighted","message","LiveAlertItemComponent","goto","liveAlertMessage","stopPropagation","hostVars","hostBindings","alert","LiveAlertItemComponent_ng_container_7_Template","team","messageType","K","_LiveAlertItemComponent","LiveAlertManager","queuedAlerts","alerts","newAlertSubject","emptyAlertsSubject","endOfQuarterOrPeriodId","triggerNotification","newAlert","push","alertsEmptied","parseMessage","updatedEvent","oldEvent","teamName","eventTime","CustomMessageType","isDuplicateAlert","isTeam1Message","teamType","TeamType","Team01","isTeam2Message","Team02","parsedAlert","order","team1Score","team2Score","text","SportConstant","Soccer","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","Tie","CancelledTouchDown","CancelledGoal","team1Highlight","team2Highlight","withParticipantScore","timeValue","getLatestMessages","messages","differenceBy","checkChangesInScoreOrTurn","latestLiveEvent","oldLiveEvent","isEmpty","add","score","updatedEventLatestAlert","getParticipantScores","oldEventLatestAlert","messageOrder","floor","random","icon","forEach","getTeamName","emptyList","getTime","base","Date","now","DateProviderService","timeSpan","seconds","round","minutes","pad","val","padStart","liveAlert","turn","setGameScoreboard","duplicateAlert","some","_LiveAlertManager","animationAlert","_r2","toggleExpand","LiveAlertListComponent_Conditional_2_Conditional_2_Template","ɵɵpureFunction3","_c1","animate","lastAlert","ɵɵconditional","hasAlertsForExpand","alert_r4","N","i0","ɵɵrepeaterCreate","LiveAlertListComponent_Conditional_3_For_2_Template","_forTrack0","ɵɵrepeater","ɵɵpipeBind2","LiveAlertListComponent","changeDetector","timerService","liveAlertManager","startInterval","noAlerts","stopInterval","alertsInterval","setHasAlertsForExpand","takeUntilDestroyed","subscribe","processNewAlert","ngOnDestroy","displayNewAlert","markForCheck","unshift","shift","createInterval","setInterval","alertList","update","ChangeDetectorRef","Ge","NgScrollbar","LiveAlertListComponent_Conditional_1_Template","LiveAlertListComponent_Conditional_2_Template","LiveAlertListComponent_Conditional_3_Template","je","R","xt","_LiveAlertListComponent","getResultName","option_r3","ɵ$index_7_r4","ShowcaseOptionGroupComponent_For_3_Conditional_2_Conditional_0_Template","J","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","epcotEnabled","inject","EpcotConfig","option","options","indexOf","eventGrid","SixPack_TotalsOver","SixPack_TotalsUnder","optionName","optionNames","segment","toLowerCase","G","ShowcaseOptionGroupComponent_Conditional_0_Template","ShowcaseOptionGroupComponent_For_3_Template","ii","Qe","Xt","_ShowcaseOptionGroupComponent","optionGroup_r1","ctx_r1","OptionGroupContainerComponent_ng_container_0_ms_showcase_option_group_1_Template","showcaseOptionGroups","trackOptionGroup","OptionGroupContainerComponent","class","getHostClass","optionGroupService","MAX_OPTION_GROUPS","includes","sixPackSportTypeIds","mapOptionGroup","gridGroups","_b","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_ng_container_0_Template","_OptionGroupContainerComponent","tab_r3","ShowcaseMediaComponent_Conditional_0_Conditional_0_For_2_ng_template_1_Template","_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","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","Ft","Dt","ki","_ShowcaseMediaComponent","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","St","ShowcaseComponent_Conditional_0_Template","bt","Re","di","wi","_i","li","yt","_ShowcaseComponent","ht","mt","imports","CommonModule","TabBarModule","NgScrollbarModule","GridModule","CompetitionLogoComponent","CrmPromotionContainerModule","DirectivesModule","EventDetailsCommonModule","EventPickComponent","DsSegmentedControlModule","IconCustomComponent","_ShowcaseModule"],"mappings":"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"}