{"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":""}