{"version":3,"file":"js/3625.ceba39683050ef34.js","mappings":"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","sources":["webpack://@sazka/web/./js/app/casino/analytics-casino.ts","webpack://@sazka/web/./js/app/homepage/_analytics-homepage.ts","webpack://@sazka/web/./js/app/tickets/utils/online-tickets-analytics-category-page.ts"],"sourcesContent":["export namespace CasinoAnalytics {\r\n export const pushGameImpressions = (placement: string) => {\r\n window.dataLayer.push({\r\n action: {\r\n impress: {\r\n products: null,\r\n },\r\n },\r\n });\r\n\r\n const gamesWrapper = document.querySelector(`[data-a-games-placement=\\\"${placement}\\\"]`);\r\n const games = Array.from(gamesWrapper.querySelectorAll<HTMLElement>(\".game-launcher\")).filter((g) =>\r\n g.parentElement.checkVisibility()\r\n );\r\n\r\n const products = [];\r\n\r\n games.forEach((game) => {\r\n const position = games.indexOf(game) + 1;\r\n\r\n if (!game.parentElement.ariaHidden) {\r\n const product = {\r\n id: game.dataset.gameCode,\r\n gameCode: game.dataset.gameCode,\r\n verticalCode: \"hry\",\r\n placement: placement,\r\n position: position,\r\n supplier: game.dataset.manufacturerName,\r\n };\r\n\r\n products.push(product);\r\n }\r\n });\r\n\r\n window.dataLayer.push({\r\n event: \"action.impress.products\",\r\n action: {\r\n impress: {\r\n products: products,\r\n },\r\n },\r\n });\r\n };\r\n\r\n export const pushRecommendationClick = (recommendation: string) => {\r\n window.dataLayer.push({\r\n event: \"action.recommendationClick.hry\",\r\n action: {\r\n recommendationClick: {\r\n label: recommendation,\r\n },\r\n },\r\n });\r\n };\r\n\r\n export const pushGameFilterOpen = () => {\r\n window.dataLayer.push({\r\n event: \"action.openFilters.hry\",\r\n });\r\n };\r\n\r\n export const pushGameFilterClose = () => {\r\n window.dataLayer.push({\r\n event: \"action.closeFilters.hry\",\r\n });\r\n };\r\n\r\n export const pushApplyFilter = (currentFilter: string, allFilters: string[]) => {\r\n window.dataLayer.push({\r\n event: \"action.applyFilter.hry\",\r\n action: {\r\n applyFilter: {\r\n label: currentFilter,\r\n },\r\n },\r\n page: {\r\n filters: allFilters,\r\n },\r\n });\r\n };\r\n\r\n export const pushRemoveFilter = (currentFilter: string, allFilters: string[]) => {\r\n window.dataLayer.push({\r\n event: \"action.removeFilter.hry\",\r\n action: {\r\n removeFilter: {\r\n label: currentFilter,\r\n },\r\n },\r\n page: {\r\n filters: allFilters,\r\n },\r\n });\r\n };\r\n\r\n export const pushJacpotsNavigationClick = (direction: \"left\" | \"right\") => {\r\n window.dataLayer.push({\r\n event: \"action.swipeSupplier.hry\",\r\n action: {\r\n swipeSupplier: {\r\n label: `jackpot-${direction}`,\r\n },\r\n },\r\n });\r\n };\r\n}\r\n","import { CasinoAnalytics } from \"@/casino/analytics-casino\";\r\nimport { OnlineTicketsCategoryPageAnalytics } from \"@/tickets/utils/online-tickets-analytics-category-page\";\r\n\r\ndocument.ready(() => {\r\n CasinoAnalytics.pushGameImpressions(\"homepage\");\r\n\r\n // General measurement DL3.40\r\n const onlineTicketsCards = document.querySelectorAll<HTMLElement>(\".product-card--eticket .game-launcher\");\r\n onlineTicketsCards.forEach((card, index) => {\r\n card.addEventListener(\"click\", () =>\r\n OnlineTicketsCategoryPageAnalytics.pushTicketClick(\r\n card.getAttribute(\"data-game-code\"),\r\n OnlineTicketsCategoryPageAnalytics.OnlineTicketsPlacement.Homepage,\r\n `${index + 1}`\r\n )\r\n );\r\n });\r\n});\r\n","import { TicketsSortingOptions } from \"@/tickets/components/tickets-filter/tickets-sorting-options-enum\";\r\n\r\nexport namespace OnlineTicketsCategoryPageAnalytics {\r\n // V1.0\r\n\r\n // DL1.10\r\n export function pushLosyLobbyPage() {\r\n window.dataLayer.push({\r\n page: {\r\n type: \"lobby.escratches\",\r\n kind: \"lobby.escratches\",\r\n verticalCode: \"losy\",\r\n verticalCodeStrict: \"losy\",\r\n gameCode: \"no_game\",\r\n gameCodeStrict: \"no_game\",\r\n },\r\n });\r\n }\r\n\r\n // DL1.20\r\n export enum OnlineTicketsPlacement {\r\n AllScratches = \"allScratches\",\r\n FavoriteScratches = \"favoriteScratches\",\r\n NewScratches = \"newScratches\",\r\n MostPlayed = \"mostPlayed\",\r\n FamilyScratches = \"familyScratches\",\r\n Homepage = \"homepage\",\r\n }\r\n\r\n interface Product {\r\n id: string;\r\n gameCode: string;\r\n verticalCode: string;\r\n placement: OnlineTicketsPlacement;\r\n position: string;\r\n }\r\n\r\n interface DataLayerPayload {\r\n event: string;\r\n action: {\r\n show: {\r\n products: Product[];\r\n eventProperty1?: string;\r\n eventProperty2?: string;\r\n };\r\n };\r\n }\r\n\r\n export function pushTicketClick(\r\n gameCode: string,\r\n placement: OnlineTicketsPlacement,\r\n position: string,\r\n filterValues?: string,\r\n selectedSorting?: string\r\n ) {\r\n const product: Product = {\r\n id: gameCode,\r\n gameCode: gameCode,\r\n verticalCode: \"elosy\",\r\n placement: placement,\r\n position: position,\r\n };\r\n\r\n const dataLayerPayload: DataLayerPayload = {\r\n event: \"action.show.products\",\r\n action: {\r\n show: {\r\n products: [product],\r\n },\r\n },\r\n };\r\n\r\n if (placement === OnlineTicketsPlacement.AllScratches) {\r\n dataLayerPayload.action.show.eventProperty1 = filterValues;\r\n dataLayerPayload.action.show.eventProperty2 = selectedSorting;\r\n }\r\n\r\n window.dataLayer.push(dataLayerPayload);\r\n }\r\n\r\n // DL1.30\r\n export function pushRandomBetEvent() {\r\n window.dataLayer.push({\r\n event: \"action.click.randombet\",\r\n });\r\n }\r\n\r\n // DL1.31\r\n export function pushShowProductEvent(gameCode: string, buttonText: string) {\r\n window.dataLayer.push({\r\n event: \"action.show.products\",\r\n action: {\r\n show: {\r\n products: [\r\n {\r\n id: gameCode,\r\n gameCode: gameCode,\r\n verticalCode: \"elosy\",\r\n placement: \"randomBet\",\r\n button: buttonText,\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n }\r\n\r\n // DL1.32\r\n export function pushRandomBetEventAgain() {\r\n window.dataLayer.push({\r\n event: \"action.clickNext.randombet\",\r\n });\r\n }\r\n\r\n // DL1.70 implemented in analytics-secondary-nav.ts (it's shared between lotteries and tickets)\r\n\r\n // DL1.80\r\n export function pushLobbyFilterGameList(filteredValues: string) {\r\n window.dataLayer.push({\r\n event: \"action.applyFilter.escratches\",\r\n action: {\r\n applyFilter: {\r\n label: filteredValues,\r\n },\r\n },\r\n });\r\n }\r\n\r\n // DL1.90\r\n export function pushLobbySortGameList(sortingType: TicketsSortingOptions) {\r\n window.dataLayer.push({\r\n event: \"action.sort.escratches\",\r\n action: {\r\n sort: {\r\n label: sortingType,\r\n },\r\n },\r\n });\r\n }\r\n\r\n // DL4.10, DL4.20, DL4.30 and DL4.40 implemented in app/shared/utils/analytics/analytics-cp-widget-banner.ts\r\n\r\n // DL4.25\r\n export function pushActionImpressProducts(\r\n gameCode: string,\r\n placement: \"mostPlayed\" | \"favoriteScratches\",\r\n position: number\r\n ) {\r\n window.dataLayer.push({\r\n event: \"action.impress.products\",\r\n action: {\r\n impress: {\r\n products: [\r\n {\r\n id: gameCode,\r\n gameCode: gameCode,\r\n verticalCode: \"elosy\",\r\n placement: placement,\r\n position: position,\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n }\r\n\r\n // DL4.25 (second part)\r\n export function pushActionImpressProductsTicketFamily(gameCode: string, index: number, position: number) {\r\n window.dataLayer.push({\r\n event: \"action.impress.products\",\r\n action: {\r\n impress: {\r\n products: [\r\n {\r\n id: gameCode,\r\n gameCode: gameCode,\r\n verticalCode: \"elosy\",\r\n placement: \"familyScratches\",\r\n position: `escratches.${index}.${position}`,\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n }\r\n}\r\n"],"names":["CasinoAnalytics","pushGameImpressions","placement","window","dataLayer","push","action","impress","products","gamesWrapper","document","querySelector","games","Array","from","querySelectorAll","filter","g","parentElement","checkVisibility","forEach","game","position","indexOf","ariaHidden","product","id","dataset","gameCode","verticalCode","supplier","manufacturerName","event","pushRecommendationClick","recommendation","recommendationClick","label","pushGameFilterOpen","pushGameFilterClose","pushApplyFilter","currentFilter","allFilters","applyFilter","page","filters","pushRemoveFilter","removeFilter","pushJacpotsNavigationClick","direction","swipeSupplier","ready","onlineTicketsCards","card","index","addEventListener","OnlineTicketsCategoryPageAnalytics","pushTicketClick","getAttribute","OnlineTicketsPlacement","Homepage","pushLosyLobbyPage","type","kind","verticalCodeStrict","gameCodeStrict","filterValues","selectedSorting","dataLayerPayload","show","AllScratches","eventProperty1","eventProperty2","pushRandomBetEvent","pushShowProductEvent","buttonText","button","pushRandomBetEventAgain","pushLobbyFilterGameList","filteredValues","pushLobbySortGameList","sortingType","sort","pushActionImpressProducts","pushActionImpressProductsTicketFamily"],"sourceRoot":""}