{"version":3,"file":"js/4425.e89546c6c37d5f46.js","mappings":"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","sources":["webpack://@sazka/web/./js/app/lotteries/views/_lottery-section.ts","webpack://@sazka/web/../../libs/design-system/src/loader/loader.ts","webpack://@sazka/web/../../libs/utils/document-ready.ts"],"sourcesContent":["import { Loader } from \"@sazka/design-system/src/loader/loader\";\r\nimport { Analytics } from \"@/shared/utils/analytics/analytics\";\r\nimport { LotteryCountdownManager } from \"../components/lottery-countdown-manager\";\r\n\r\n$(() => {\r\n    new LotteryCountdownManager();\r\n\r\n    $(\".show-stream-popup\").on(\"click\", async () => {\r\n        Loader.show();\r\n\r\n        const module = await import(\"@/lotteries/streaming/stream\");\r\n        $(\"body\").append(markupPopup());\r\n        const el = $(\"#mdlVideoPopup\");\r\n\r\n        try {\r\n            await module.openLotteryVideoStream($(\"#stream-root\")[0]);\r\n            el.modal(\"show\");\r\n            Analytics.actionTouchpointLotteryPath(environment.game, \"\", \"-video\");\r\n        } catch (e) {\r\n            el.remove();\r\n        } finally {\r\n            Loader.hide();\r\n        }\r\n    });\r\n\r\n    document.getElementById(\"online-bet\")?.addEventListener(\"click\", () => {\r\n        Analytics.actionTouchpointLotteryPath(environment.game, \"\", \"-vsadit\");\r\n    });\r\n\r\n    document.getElementById(\"btn-ticket-check\")?.addEventListener(\"click\", () => {\r\n        Analytics.actionTouchpointLotteryPath(environment.game, \"\", \"-checkbet\");\r\n    });\r\n\r\n    document.querySelector(\".btn-show-favorites-popup\")?.addEventListener(\"click\", () => {\r\n        Analytics.actionTouchpointLotteryPath(environment.game, \"\", \"-favourites\"); // Its not typo, that is how Analytic guys want it\r\n    });\r\n\r\n    document.querySelectorAll(\".random-bets a\").forEach((x) => {\r\n        x.addEventListener(\"click\", () => {\r\n            Analytics.actionTouchpointLotteryPath(environment.game, \"\", \"-vsaditza\"); // Its not typo, that is how Analytic guys want it\r\n        });\r\n    });\r\n\r\n    document.getElementById(\"button-history-results\")?.addEventListener(\"click\", () => {\r\n        Analytics.actionTouchpointLotteryPath(environment.game, \"\", \"-archive\");\r\n    });\r\n\r\n    document.getElementById(\"button-statistics\")?.addEventListener(\"click\", () => {\r\n        Analytics.actionTouchpointLotteryPath(environment.game, \"\", \"-statistic\");\r\n    });\r\n\r\n    document.getElementById(\"button-prizes\")?.addEventListener(\"click\", () => {\r\n        Analytics.actionTouchpointLotteryPath(environment.game, \"\", \"-tabulka\");\r\n    });\r\n});\r\n\r\nfunction markupPopup() {\r\n    return `\r\n        <div id=\"mdlVideoPopup\" class=\"modal modal-video fade\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\r\n            <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\r\n                <div class=\"modal-content\">\r\n                    <button class='modal-video__button modal-video__button--next'></button>\r\n                    <div class=\"modal-body p-0\">\r\n                        <button type=\"button\" class=\"btn-close\" data-dismiss=\"modal\">Zavřít</button>\r\n                        <div class=\"embed-responsive embed-responsive-16by9\">\r\n                            <div id=\"stream-root\" class=\"modal-video__stream-root\"></div>\r\n                        </div>\r\n                    </div>\r\n                    <button class='modal-video__button modal-video__button--prev'></button>\r\n                </div>\r\n            </div>\r\n        </div>`;\r\n}\r\n","import { documentReady } from \"@sazka/utils/document-ready\";\r\n\r\ndeclare const environment: any;\r\ntype ColorVariant = \"yellow\" | \"blue\";\r\n\r\n/**\r\n * Loader tells user, he has to wait for some ajax operation\r\n */\r\nexport class Loader {\r\n    private static showTimeout: number;\r\n    private static hideTimeout: number;\r\n    private static lockNumber = 0;\r\n    public static get isShown() {\r\n        return this.lockNumber > 0;\r\n    }\r\n\r\n    static {\r\n        // loader from backend\r\n        if (document.body) {\r\n            this.showLoaderFromBackend();\r\n        } else {\r\n            documentReady(() => {\r\n                this.showLoaderFromBackend();\r\n            });\r\n        }\r\n    }\r\n\r\n    static showLoaderFromBackend() {\r\n        if (document.body.classList.contains(\"loader\")) {\r\n            this.lockNumber++;\r\n        }\r\n    }\r\n\r\n    /**\r\n     * Shows loader after some time in miliseconds\r\n     * This is to reduce flickering when ajax actions are super-fast\r\n     *\r\n     * @param showLoaderIn Time in miliseconds, after which, loaded will be shown\r\n     * @param text Title (waiting message) displayed in loader\r\n     */\r\n    static show(showLoaderIn = 30, text?: string, aboveAll = false, color: ColorVariant = \"yellow\") {\r\n        this.clearTimeout();\r\n        this.lockNumber++;\r\n\r\n        this.showTimeout = window.setTimeout(() => {\r\n            this.showNow(text, aboveAll, true, color);\r\n        }, showLoaderIn);\r\n    }\r\n\r\n    /**\r\n     * Shows loader right away\r\n     * @param text Title (waiting message) displayed in loader\r\n     */\r\n    static showNow(text?: string, aboveAll = false, counted = false, color: ColorVariant = \"yellow\") {\r\n        if (!counted) {\r\n            this.lockNumber++;\r\n        }\r\n\r\n        if (!environment.isEditMode) {\r\n            const loader = document.getElementById(\"loader\");\r\n\r\n            if (!loader) return;\r\n\r\n            if (aboveAll) {\r\n                loader.classList.add(\"loader--above-all\");\r\n            } else {\r\n                loader.classList.remove(\"loader--above-all\");\r\n            }\r\n            if (text) {\r\n                loader.querySelector(\".loader__text\").textContent = text;\r\n                loader.classList.add(\"loader--with-text\");\r\n            } else {\r\n                loader.querySelector(\".loader__text\").textContent = \"\";\r\n                loader.classList.remove(\"loader--with-text\");\r\n            }\r\n\r\n            if (color === \"blue\") {\r\n                loader.classList.add(\"loader--blue\");\r\n            }\r\n\r\n            document.body.classList.add(\"loader\", \"loader--fade-in\");\r\n            this.clearTimeout();\r\n        }\r\n    }\r\n\r\n    /**\r\n     * Shows loader after delay with z-index of 9999\r\n     * @param text Title (waiting message) displayed in loader\r\n     */\r\n    static showAboveAll(showLoaderIn = 30, text?: string) {\r\n        this.show(showLoaderIn, text, true);\r\n    }\r\n\r\n    /**\r\n     * Shows loader right away with z-index of 9999\r\n     * @param text Title (waiting message) displayed in loader\r\n     */\r\n    static showNowAboveAll(text?: string) {\r\n        this.showNow(text, true);\r\n    }\r\n\r\n    /**\r\n     * Hides loader\r\n     */\r\n    static hide() {\r\n        this.lockNumber--;\r\n        if (this.lockNumber > 0) return;\r\n\r\n        this.clearTimeout();\r\n        document.body.classList.remove(\"loader--fade-in\");\r\n        this.hideTimeout = window.setTimeout(() => {\r\n            document.body.classList.remove(\"loader\");\r\n            const loader = document.getElementById(\"loader\");\r\n            loader.querySelector(\".loader__text\").textContent = \"\";\r\n            loader.classList.remove(\"loader--with-text\");\r\n        }, 150);\r\n    }\r\n\r\n    private static clearTimeout() {\r\n        if (this.showTimeout) {\r\n            clearTimeout(this.showTimeout);\r\n            this.showTimeout = null;\r\n        }\r\n        if (this.hideTimeout) {\r\n            clearTimeout(this.hideTimeout);\r\n            this.hideTimeout = null;\r\n        }\r\n    }\r\n}\r\n","/**\r\n * Vanila JS variant to jQuery $(() => {}).\r\n * @param {callback} callback\r\n * @example - documentReady(() => {}).\r\n * This function is binding to document.ready\r\n * */\r\nexport function documentReady(callback: () => void) {\r\n    if (document.readyState !== \"loading\") {\r\n        return callback();\r\n    } else {\r\n        document.addEventListener(\"DOMContentLoaded\", callback);\r\n    }\r\n}\r\n"],"names":["markupPopup","$","_document$getElementB","_document$getElementB2","_document$querySelect","_document$getElementB3","_document$getElementB4","_document$getElementB5","LotteryCountdownManager","on","async","Loader","show","module","append","el","openLotteryVideoStream","modal","Analytics","actionTouchpointLotteryPath","environment","game","e","remove","hide","document","getElementById","addEventListener","querySelector","querySelectorAll","forEach","x","isShown","this","lockNumber","showLoaderFromBackend","body","classList","contains","showLoaderIn","text","aboveAll","color","clearTimeout","showTimeout","window","setTimeout","showNow","counted","isEditMode","loader","add","textContent","showAboveAll","showNowAboveAll","hideTimeout","_defineProperty","_Loader","documentReady","callback","readyState"],"sourceRoot":""}