{"version":3,"file":"js/8988.cb0315d90b5e2953.js","mappings":"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","sources":["webpack://@sazka/web/./js/app/lotteries/online/shared/duration-keno.ts","webpack://@sazka/web/./js/app/lotteries/online/games/_keno.ts"],"sourcesContent":["export class DurationKeno {\r\n    private duration: number;\r\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n    private triggerChange: (duration: number) => void;\r\n\r\n    constructor(triggerChangeCallback: (duration: number) => void) {\r\n        this.triggerChange = triggerChangeCallback;\r\n    }\r\n\r\n    init(duration: number): void {\r\n        this.duration = duration;\r\n    }\r\n\r\n    initFromCookie(duration: number): void {\r\n        this.duration = duration;\r\n        this.updateSelector();\r\n    }\r\n\r\n    getDuration(): number {\r\n        return this.duration || 1;\r\n    }\r\n\r\n    setDuration(duration: number): void {\r\n        this.duration = duration;\r\n        this.triggerChange(duration);\r\n    }\r\n\r\n    updateSelector(): void {\r\n        this.triggerChange(this.duration);\r\n    }\r\n}\r\n","import { Lottery } from \"@/lotteries/model/lottery\";\r\nimport { Loader } from \"@sazka/design-system/src/loader/loader\";\r\nimport { useSessionStorage } from \"@sazka/utils/use-storage\";\r\nimport { kenoConfig } from \"../game-configs/keno-config\";\r\nimport { loadBoardsFromQuery } from \"../shared/bet-from-query\";\r\nimport { Cookie } from \"../shared/cookie\";\r\nimport { DurationKeno } from \"../shared/duration-keno\";\r\nimport { Game } from \"../shared/game\";\r\nimport { GameConfig } from \"../shared/game-config\";\r\nimport { onlineLotteries } from \"../shared/online-lotteries\";\r\nimport { getQuickWager, QuickWagerDefinition } from \"../shared/quick-wager\";\r\nimport { Wager } from \"../shared/wager\";\r\n\r\nclass Keno extends Game {\r\n    Wrapper = \".ticket-board-wrapper\";\r\n    constructor(settings: GameConfig) {\r\n        super(settings);\r\n    }\r\n\r\n    loadHandlers(): void {\r\n        this.loadHandlersInternal();\r\n\r\n        // handlers\r\n        $(document).on(\"change\", \".keno-draw-count input\", (e) => this.drawCountHandler(e));\r\n    }\r\n\r\n    public init(): void {\r\n        this.durationKeno = new DurationKeno((duration) => {\r\n            this.updateDurationSelector(duration);\r\n        });\r\n        this.initInternal();\r\n\r\n        const qw = getQuickWager();\r\n        if (qw) {\r\n            this.quickWagersSelect(qw);\r\n            this.isQuickWager = true;\r\n            return;\r\n        } else {\r\n            const bet = loadBoardsFromQuery(Lottery.keno);\r\n            if (bet) onlineLotteries.store.setJson(this.config.CookieName, bet, \"essential\");\r\n        }\r\n\r\n        this.wager.revalidate(this.config);\r\n\r\n        if (this.wager.Numbers.length <= 0) {\r\n            onlineLotteries.dialog.open();\r\n        }\r\n    }\r\n\r\n    initFromCookie(): void {\r\n        const wager = Cookie.read(this.config.CookieName);\r\n\r\n        this.wager = wager || new Wager(false);\r\n        this.initSelectorValues(this.wager);\r\n\r\n        this.durationKeno.initFromCookie(this.wager.Duration);\r\n        this.initGameHtml();\r\n        this.updateWagerHtml();\r\n        this.wager.revalidate(this.config);\r\n    }\r\n\r\n    private quickWagersSelect(qw: QuickWagerDefinition) {\r\n        this.wager.random(qw.columns, false, qw.numbers, 0, false, qw.stake * 100);\r\n        this.durationKeno.setDuration(qw.duration);\r\n        this.updateWagerHtml();\r\n        this.initSelectorValues(this.wager);\r\n        this.saveState();\r\n        useSessionStorage().setItem(this.config.CookieFillingName, \"randomColumn\", \"analytics\");\r\n    }\r\n\r\n    private initSelectorValues(wager: Wager): void {\r\n        wager.Numbers.forEach((b, i) => {\r\n            const $wrapper = $(`.ticket-board-wrapper[data-columnindex=\"${i}\"]`);\r\n\r\n            $wrapper\r\n                .find(\".keno-wager-count input\")\r\n                .prop(\"checked\", false)\r\n                .removeAttr(\"data-test\")\r\n                .filter((i, el) => $(el).val() === b.PrimaryCount.toString())\r\n                .first()\r\n                .prop(\"checked\", true)\r\n                .attr(\"data-test\", \"selected\");\r\n\r\n            const selectNumberCount = $wrapper.find(\".keno-wager-count-ddl select\");\r\n            selectNumberCount.val(b.PrimaryCount.toString());\r\n            selectNumberCount.data(\"selectBox-selectBoxIt\")?.selectOption(b.PrimaryCount.toString());\r\n\r\n            $wrapper\r\n                .find(\".keno-bet-amount input\")\r\n                .prop(\"checked\", false)\r\n                .removeAttr(\"data-test\")\r\n                .filter((i, el) => $(el).val() === (b.Stake / 100).toString())\r\n                .first()\r\n                .prop(\"checked\", true)\r\n                .attr(\"data-test\", \"selected\");\r\n\r\n            const selectWager = $wrapper.find(\".keno-bet-amount-ddl select\");\r\n            selectWager.val((b.Stake / 100).toString());\r\n            selectWager.data(\"selectBox-selectBoxIt\")?.selectOption((b.Stake / 100).toString());\r\n        });\r\n        const $drawCountInputs = $(\".keno-draw-count input\");\r\n        $drawCountInputs\r\n            .prop(\"checked\", false)\r\n            .removeAttr(\"data-test\")\r\n            .filter((i, el) => $(el).val() === wager.Duration.toString())\r\n            .first()\r\n            .prop(\"checked\", true)\r\n            .attr(\"data-test\", \"selected\");\r\n    }\r\n\r\n    private getColumnInfo(elementInColumn: JQuery<any>) {\r\n        const $wrapper: JQuery = elementInColumn.closest(this.Wrapper);\r\n        return {\r\n            wrapper: $wrapper,\r\n            columnNumber: Number($wrapper.data(\"column\")),\r\n        };\r\n    }\r\n\r\n    // pocet slosovani\r\n    private drawCountHandler(e: JQuery.ChangeEvent): void {\r\n        const $target = $(e.currentTarget);\r\n        const duration = parseInt($target.val() as string);\r\n        this.durationKeno.setDuration(duration);\r\n    }\r\n\r\n    private saveState(): void {\r\n        this.recalculateTotalPrice();\r\n        Cookie.saveWager(this.wager);\r\n    }\r\n\r\n    recalculateTotalPrice(): boolean {\r\n        const valid: boolean = this.wager.IsValidNumbers;\r\n        let stake = 0;\r\n        this.wager.Numbers.forEach((b) => {\r\n            if (b.Primary.length === b.PrimaryCount) stake += b.Stake;\r\n        });\r\n        const price = stake * this.wager.Duration;\r\n        this.changeTotalPrice(price);\r\n        return valid;\r\n    }\r\n\r\n    updateDurationSelector(drawCount: number): void {\r\n        this.wager.Duration = drawCount;\r\n        const $inputs: JQuery = $(\".keno-draw-count input\");\r\n\r\n        $inputs.each((i, el) => {\r\n            const $el = $(el);\r\n            const checked = drawCount == $el.val();\r\n            $el.prop(\"checked\", checked);\r\n            if (checked) {\r\n                $el.attr(\"data-test\", \"selected\");\r\n            } else {\r\n                $el.removeAttr(\"data-test\");\r\n            }\r\n        });\r\n        this.saveState();\r\n    }\r\n}\r\n\r\nWager.prototype.revalidate = function (config: GameConfig) {\r\n    let valid = this.Numbers.length > 0;\r\n    let hasSomeNumbers = false;\r\n    let board1Valid = false;\r\n    for (let i = 0; i < this.Numbers.length; i++) {\r\n        valid = valid && this.Numbers[i].revalidate(config);\r\n        const boardHasSomeNumbers = !!(this.Numbers[i] && this.Numbers[i].Primary && this.Numbers[i].Primary.length);\r\n        hasSomeNumbers = hasSomeNumbers || boardHasSomeNumbers;\r\n        if (i == 0) {\r\n            board1Valid = valid;\r\n        } else if (i == 1) {\r\n            if ((boardHasSomeNumbers || board1Valid) && hasSomeNumbers) {\r\n                $(`.ticket-board-wrapper[data-columnindex=\"${i}\"]`).addClass(\"active\").attr(\"data-test\", \"active\");\r\n            } else {\r\n                $(`.ticket-board-wrapper[data-columnindex=\"${i}\"]`).removeClass(\"active\").removeAttr(\"data-test\");\r\n            }\r\n        }\r\n    }\r\n\r\n    this.IsValidNumbers = valid && hasSomeNumbers;\r\n\r\n    this.IsValidDuration = true;\r\n\r\n    if (onlineLotteries.game.wager) {\r\n        onlineLotteries.game.initButton();\r\n    }\r\n    return this.IsValid;\r\n};\r\n\r\n// init on DOM ready\r\n$(() => {\r\n    // create game\r\n    onlineLotteries.setGame(new Keno(kenoConfig));\r\n    onlineLotteries.dialog.setGameConfig(onlineLotteries.game.config);\r\n    onlineLotteries.game.init();\r\n    Loader.hide();\r\n});\r\n"],"names":["DurationKeno","constructor","triggerChangeCallback","_defineProperty","this","triggerChange","init","duration","initFromCookie","updateSelector","getDuration","setDuration","Keno","Game","settings","super","loadHandlers","loadHandlersInternal","$","document","on","e","drawCountHandler","durationKeno","updateDurationSelector","initInternal","qw","getQuickWager","quickWagersSelect","isQuickWager","bet","loadBoardsFromQuery","Lottery","keno","onlineLotteries","store","setJson","config","CookieName","wager","revalidate","Numbers","length","dialog","open","Cookie","read","Wager","initSelectorValues","Duration","initGameHtml","updateWagerHtml","random","columns","numbers","stake","saveState","useSessionStorage","setItem","CookieFillingName","forEach","b","i","_selectNumberCount$da","_selectWager$data","$wrapper","find","prop","removeAttr","filter","el","val","PrimaryCount","toString","first","attr","selectNumberCount","data","selectOption","Stake","selectWager","$drawCountInputs","getColumnInfo","elementInColumn","closest","Wrapper","wrapper","columnNumber","Number","$target","currentTarget","parseInt","recalculateTotalPrice","saveWager","valid","IsValidNumbers","Primary","price","changeTotalPrice","drawCount","$inputs","each","$el","checked","prototype","hasSomeNumbers","board1Valid","boardHasSomeNumbers","addClass","removeClass","IsValidDuration","game","initButton","IsValid","setGame","kenoConfig","setGameConfig","Loader","hide"],"sourceRoot":""}