{"version":3,"file":"chunk-ievnvzza.js","sources":["packages/sports/web/app/src/banner/cross-sale-tracking.model.ts","packages/sports/web/app/src/banner/banner-tracking.service.ts","packages/sports/web/app/src/banner/banner.model.ts"],"sourcesContent":["export enum CrossSaleTracking {\n CrossSellCategoryEvent = 'X - Sell',\n CrossSellClick = 'Cross Sell - Click',\n SeeAllClick = 'See All - Click',\n\n Virtuals = 'Virtuals',\n VirtualGames = 'Virtual Games',\n Casino = 'Casino',\n\n Vyml = 'Virtuals You Might Like',\n LinkBanner = 'Link Banner',\n Gyml = 'Games You Might Like',\n JackpotBanner = 'Jackpot Banner',\n\n TopPage = 'Top Page',\n MidPage = 'Mid Page',\n BottomPage = 'Bottom Page',\n\n Fralis = 'Fralis',\n\n GameSectionGyml = 'sports/GamesYouMightLike',\n GameSectionLinkBanner = 'sports/LinkBanner',\n GameSectionJackpotBanner = 'sports/JackpotBanner',\n GameSectionVyml = 'sports/VirtualsYouMightLike',\n GameSectionOnDemand = 'sports/OnDemand',\n}\n","import { Injectable, Optional } from '@angular/core';\n\nimport { RouteTag } from '@frontend/sports/common/core/data-access/route';\nimport { EsportTrackingValues, NOT_APPLICABLE, TrackCrossSaleData, TrackingService, trackingConstants } from '@frontend/sports/tracking/feature';\nimport { isNil } from 'lodash-es';\n\nimport { ModularConfigAccessorService } from '../widget/core/modular-config-accessor.service';\nimport { BannerTrackingModel, GymlTrackingModel, VymlTrackingModel } from './banner.model';\nimport { CrossSaleTracking } from './cross-sale-tracking.model';\n\n@Injectable({ providedIn: 'root' })\nexport class BannerTrackingService {\n constructor(\n private trackingService: TrackingService,\n @Optional() private configAccessor: ModularConfigAccessorService | null,\n ) {}\n\n clearBannerTracking(): void {\n this.trackingService.update({\n [trackingConstants.PAGE_DISPLAYED_ELEMENT]: '',\n [trackingConstants.PAGE_REFERRING_ACTION]: '',\n });\n }\n\n trackEsportBanner(isCloseEvent: boolean): void {\n this.trackingService.track(isCloseEvent ? trackingConstants.EVENT_TRACKING : trackingConstants.EVENT_CONTENT_VIEW, {\n [trackingConstants.COMPONENT_CATEGORY_EVENT]: 'Sports Teaser Banners',\n [trackingConstants.COMPONENT_LABEL_EVENT]: EsportTrackingValues.Esports,\n [trackingConstants.COMPONENT_ACTION_EVENT]: isCloseEvent ? 'close' : 'load',\n [trackingConstants.COMPONENT_POSITION_EVENT]: NOT_APPLICABLE,\n [trackingConstants.COMPONENT_LOCATION_EVENT]: this.configAccessor?.getPage() ?? NOT_APPLICABLE,\n [trackingConstants.COMPONENT_EVENT_DETAILS]: EsportTrackingValues.BannerMessage,\n [trackingConstants.COMPONENT_URL_CLICKED]: NOT_APPLICABLE,\n });\n }\n\n trackGymlLaunch(trackingParams: GymlTrackingModel): void {\n this.trackingService.track(trackingConstants.EVENT_GAME_OPEN, {\n [trackingConstants.COMPONENT_GAME_SECTION]: CrossSaleTracking.GameSectionGyml,\n [trackingConstants.COMPONENT_GAME_POSITION]: trackingParams.index,\n [trackingConstants.COMPONENT_GAME_NAME]: trackingParams.name,\n [trackingConstants.COMPONENT_GAME_TYPE]: trackingParams.provider,\n [trackingConstants.COMPONENT_GAME_DISPLAY_NAME]: trackingParams.displayName,\n [trackingConstants.COMPONENT_CONTENT_POSITION]: trackingParams.index?.toString() ?? NOT_APPLICABLE,\n });\n\n this.trackCrossSell({\n crossSellProduct: CrossSaleTracking.Casino,\n lobbyPosition: this.getLobbyPosition(trackingParams.lobbyPosition, trackingParams.pageName),\n gameName: trackingParams.name,\n url: trackingParams.url,\n crossSellName: CrossSaleTracking.Gyml,\n crossSellActionEvent: CrossSaleTracking.CrossSellClick,\n index: trackingParams.index,\n });\n }\n\n trackGymlSeeAllCrossSell(lobbyPosition: string, url: string): void {\n this.trackCrossSell({\n crossSellProduct: CrossSaleTracking.Casino,\n lobbyPosition: this.getLobbyPosition(lobbyPosition, ''),\n gameName: '',\n url,\n crossSellName: CrossSaleTracking.Gyml,\n crossSellActionEvent: CrossSaleTracking.SeeAllClick,\n });\n }\n\n trackLinkGameLaunch(name: string): void {\n this.trackingService.track(trackingConstants.EVENT_GAME_OPEN, {\n [trackingConstants.COMPONENT_GAME_SECTION]: CrossSaleTracking.GameSectionLinkBanner,\n [trackingConstants.COMPONENT_GAME_NAME]: name,\n });\n }\n\n trackJackpotGameLaunch(name: string): void {\n this.trackingService.track(trackingConstants.EVENT_GAME_OPEN, {\n [trackingConstants.COMPONENT_GAME_SECTION]: CrossSaleTracking.GameSectionJackpotBanner,\n [trackingConstants.COMPONENT_GAME_NAME]: name,\n });\n }\n\n trackBannerClickCrossSell(name: string, lobbyPosition: string, url: string): void {\n this.trackCrossSell({\n crossSellProduct: CrossSaleTracking.Casino,\n lobbyPosition: this.getLobbyPosition(lobbyPosition, ''),\n gameName: name,\n url,\n crossSellName: CrossSaleTracking.JackpotBanner,\n crossSellActionEvent: CrossSaleTracking.CrossSellClick,\n });\n }\n\n trackVymlLaunch(trackingParams: VymlTrackingModel): void {\n const tracking: Record = {\n [trackingConstants.COMPONENT_GAME_NAME]: trackingParams.name,\n [trackingConstants.COMPONENT_GAME_POSITION]: trackingParams.index,\n [trackingConstants.COMPONENT_GAME_SECTION]: trackingParams.section,\n [trackingConstants.COMPONENT_GAME_DISPLAY_NAME]: trackingParams.displayName,\n [trackingConstants.COMPONENT_GAME_TYPE]: CrossSaleTracking.Fralis,\n [trackingConstants.COMPONENT_CONTENT_POSITION]: trackingParams.index?.toString() ?? NOT_APPLICABLE,\n };\n\n if (trackingParams.section === CrossSaleTracking.GameSectionOnDemand) {\n tracking[trackingConstants.COMPONENT_GAME_GRID_POSITION] = NOT_APPLICABLE;\n tracking[trackingConstants.COMPONENT_GAME_STATUS] = NOT_APPLICABLE;\n tracking[trackingConstants.COMPONENT_GAME_CONTAINER_LOCATION] = NOT_APPLICABLE;\n tracking[trackingConstants.COMPONENT_GAME_CONTAINER_DESCRIPTION] = NOT_APPLICABLE;\n tracking[trackingConstants.COMPONENT_GAME_FAVOURITE] = NOT_APPLICABLE;\n tracking[trackingConstants.COMPONENT_GAME_PLAYING_STATUS] = NOT_APPLICABLE;\n tracking[trackingConstants.COMPONENT_CATEGORY_TYPE] = CrossSaleTracking.Virtuals;\n tracking[trackingConstants.COMPONENT_CATEGORY_SUB_TYPE] = CrossSaleTracking.VirtualGames;\n }\n\n this.trackingService.track(trackingConstants.EVENT_VIRTUAL_OPEN, tracking);\n\n if (trackingParams.section === CrossSaleTracking.GameSectionVyml) {\n this.trackCrossSell({\n crossSellProduct: CrossSaleTracking.Virtuals,\n lobbyPosition: this.getLobbyPosition(trackingParams.lobbyPosition, trackingParams.pageName),\n gameName: trackingParams.displayName,\n url: trackingParams.url,\n crossSellName: CrossSaleTracking.Vyml,\n crossSellActionEvent: CrossSaleTracking.CrossSellClick,\n index: trackingParams.index,\n });\n }\n }\n\n private trackCrossSell(trackingModel: BannerTrackingModel): void {\n const crossSaleData: TrackCrossSaleData & { [trackingConstants.COMPONENT_CONTENT_POSITION]: string | undefined } = {\n [trackingConstants.COMPONENT_CATEGORY_EVENT]: CrossSaleTracking.CrossSellCategoryEvent,\n [trackingConstants.COMPONENT_LABEL_EVENT]: trackingModel.crossSellProduct,\n [trackingConstants.COMPONENT_ACTION_EVENT]: trackingModel.crossSellActionEvent,\n [trackingConstants.COMPONENT_POSITION_EVENT]: trackingModel.lobbyPosition,\n [trackingConstants.COMPONENT_LOCATION_EVENT]: trackingModel.crossSellName,\n [trackingConstants.COMPONENT_EVENT_DETAILS]: trackingModel.gameName,\n [trackingConstants.COMPONENT_URL_CLICKED]: trackingModel.url,\n } as TrackCrossSaleData & { [trackingConstants.COMPONENT_CONTENT_POSITION]: string | undefined };\n\n if (!isNil(trackingModel.index)) {\n crossSaleData[trackingConstants.COMPONENT_CONTENT_POSITION] = trackingModel.index.toString();\n }\n\n this.trackingService.track(trackingConstants.EVENT_CLICKS, crossSaleData);\n }\n\n private getLobbyPosition(position: string, pageName: string): string {\n if (pageName === RouteTag.LiveSport) {\n return CrossSaleTracking.MidPage;\n }\n\n if (pageName === RouteTag.SportList || pageName === RouteTag.Horses) {\n return CrossSaleTracking.BottomPage;\n }\n\n switch (position) {\n case 'LobbyTopBanner':\n return CrossSaleTracking.TopPage;\n case 'LobbyMiddleBanner':\n return CrossSaleTracking.MidPage;\n case 'LobbyBottomBanner':\n return CrossSaleTracking.BottomPage;\n case NOT_APPLICABLE:\n return NOT_APPLICABLE;\n default:\n return '';\n }\n }\n}\n","import { VymlGame } from '@frontend/sports/types/components/banners/vyml';\n\nimport { CrossSaleTracking } from './cross-sale-tracking.model';\n\nexport enum ChannelIds {\n Android = 'AW',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n IOS = 'IW',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WC = 'WC',\n}\n\nexport interface TickModel {\n isDigit?: boolean;\n isCurrency?: boolean;\n isSeparator?: boolean;\n currency?: string;\n digit?: number;\n separator?: string;\n}\n\nexport interface JackpotValues {\n [jackpotGroup: string]: number;\n}\n\nexport abstract class JackpotEvent {}\n\nexport class JackpotIncrementEvent extends JackpotEvent {\n constructor(public incrementBy: number) {\n super();\n }\n}\n\nexport interface VymlGamesModel extends VymlGame {\n tilePosition: number;\n}\n\nexport class JackpotRefreshEvent extends JackpotEvent {\n constructor(public newValues: JackpotValues) {\n super();\n }\n}\nexport interface BannerTrackingModel {\n crossSellProduct: string;\n lobbyPosition: string;\n crossSellName: string;\n gameName: string;\n url: string;\n crossSellActionEvent: string;\n index?: number;\n}\n\nexport interface GameTrackingModel {\n name: string;\n index: number;\n displayName: string;\n lobbyPosition: string;\n pageName: string;\n url: string;\n}\n\nexport interface VymlTrackingModel extends GameTrackingModel {\n section: CrossSaleTracking;\n}\n\nexport interface GymlTrackingModel extends GameTrackingModel {\n provider: string;\n}\n\nexport enum KycStatus {\n Default = 0,\n Verified = 1,\n NonVerified = 2,\n}\n"],"names":["CrossSaleTracking","BannerTrackingService","constructor","trackingService","configAccessor","clearBannerTracking","update","trackingConstants","PAGE_DISPLAYED_ELEMENT","PAGE_REFERRING_ACTION","trackEsportBanner","isCloseEvent","_a","track","EVENT_TRACKING","EVENT_CONTENT_VIEW","COMPONENT_CATEGORY_EVENT","COMPONENT_LABEL_EVENT","EsportTrackingValues","Esports","COMPONENT_ACTION_EVENT","COMPONENT_POSITION_EVENT","NOT_APPLICABLE","COMPONENT_LOCATION_EVENT","getPage","COMPONENT_EVENT_DETAILS","BannerMessage","COMPONENT_URL_CLICKED","trackGymlLaunch","trackingParams","EVENT_GAME_OPEN","COMPONENT_GAME_SECTION","GameSectionGyml","COMPONENT_GAME_POSITION","index","COMPONENT_GAME_NAME","name","COMPONENT_GAME_TYPE","provider","COMPONENT_GAME_DISPLAY_NAME","displayName","COMPONENT_CONTENT_POSITION","toString","trackCrossSell","crossSellProduct","Casino","lobbyPosition","getLobbyPosition","pageName","gameName","url","crossSellName","Gyml","crossSellActionEvent","CrossSellClick","trackGymlSeeAllCrossSell","SeeAllClick","trackLinkGameLaunch","GameSectionLinkBanner","trackJackpotGameLaunch","GameSectionJackpotBanner","trackBannerClickCrossSell","JackpotBanner","trackVymlLaunch","tracking","section","Fralis","GameSectionOnDemand","COMPONENT_GAME_GRID_POSITION","COMPONENT_GAME_STATUS","COMPONENT_GAME_CONTAINER_LOCATION","COMPONENT_GAME_CONTAINER_DESCRIPTION","COMPONENT_GAME_FAVOURITE","COMPONENT_GAME_PLAYING_STATUS","COMPONENT_CATEGORY_TYPE","Virtuals","COMPONENT_CATEGORY_SUB_TYPE","VirtualGames","EVENT_VIRTUAL_OPEN","GameSectionVyml","Vyml","trackingModel","crossSaleData","CrossSellCategoryEvent","isNil","EVENT_CLICKS","position","RouteTag","LiveSport","MidPage","SportList","Horses","BottomPage","TopPage","O","ɵɵinject","TrackingService","ModularConfigAccessorService","factory","ɵfac","providedIn","_BannerTrackingService","ChannelIds","JackpotEvent","JackpotIncrementEvent","incrementBy","JackpotRefreshEvent","newValues","KycStatus"],"mappings":"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"}