var w = null; var LiveSubGames = new Array(); //var clearClassesInterval; async function start() { try { await connection.start(); connection.invoke("AddGroup", "Update"); var path = window.location.pathname; var isLiveBets = path == "/EventLive" || path == "/EventLive/Detail"; if (isLiveBets) { var urlParams = new URLSearchParams(location.search); var sportId = sportIds[0]; if (urlParams.get('s') != null && urlParams.get('s') != '') { sportId = urlParams.get('s'); connection.invoke("AddGroup", "Live-" + sportId); } else if (path.includes("EventLive")) { for (var i = 0; i < sportIds.length; i++) { connection.invoke("AddGroup", "Live-" + sportIds[i]); } } } //clearClassesInterval = setInterval(function () { // clearBetClasses(); //}, 7000); connection.invoke("AddGroup", "CasinoGames-superslot"); } catch (err) { console.log(err); setTimeout(start, 5000); } }; $(function () { if (connection.state != "Connected") { start(); } }) //function clearBetClasses(data) { // var _targets = $('[pointerhub]'); // _targets.removeClass('UP DOWN NONE'); //} function updateRate(data) { var _item = data?.data; var _targets = $('[pointerhub=' + _item?.oc_pointer + ']'); $.each(_targets, function (i, target) { var _target = $(target); if (_target.hasClass('value-rate')) { _target.html(_item?.oc_rate?.toFixed(2).toString().replace(',', '.')).removeClass('UP DOWN NONE').addClass(data?.status); if (data?.status == "oddBtnDisabled" || _item.oc_block) _target.addClass('oddBtnDisabled'); else _target.removeClass('oddBtnDisabled'); } else { var classes = '_Rate ' + data?.status; if (data?.status == "oddBtnDisabled" || _item.oc_block) classes += ' oddBtnDisabled'; _target.html('' + _item?.oc_rate?.toFixed(2).toString().replace(',', '.') + ''); } if (data?.status != "oddBtnDisabled" && !_item.oc_block) { _target.parents('.ins-bet-item').removeClass('hidden'); } }); } function updateScore(data) { var _item = data?.data; var _parent = $('[data-game-id=' + data?.gameId + ']'); var homeScore = awayScore = 0; _item.periodScore?.forEach(function (e, i) { homeScore += e.homeScore; awayScore += e.awayScore; }); _parent.find('.score[data-order=0]').html(homeScore); _parent.find('.score[data-order=1]').html(awayScore); _parent.parents('.live-row').find('.bet-time').html(data?.scoreFull); } connection.on("OddsUpdateLive", (data) => { setTimeout(function () { updateRate(data); }, 0); }); connection.on("ScoreUpdateLive", (data) => { setTimeout(function () { updateScore(data); }, 0); }); connection.on("LiveLastGames", (data) => { setTimeout(function () { onmessageLastWinnder(data) }, 0); }); connection.on("SlotLastGames", (data) => { setTimeout(function () { onmessageLastWinnder(data) }, 0); }); function onmessageLastWinnder(msg) { var arr = JSON.parse(msg); var a = document.getElementById("LastWinner"); if (!a) return; for (var i = 0; i < arr.length; i++) { $("#LastWinner").append("" + arr[i].dateTime + "" + arr[i].Provider + " " + arr[i].Provider + "" + arr[i].GameName + "" + arr[i].User + "" + arr[i].Bet + "" + arr[i].Rate + "" + arr[i].Win + ""); deleterow("#LastWinner") } } function deleterow(tableID) { var table = document.getElementById(tableID); var rowCount = table.rows.length; table.deleteRow(rowCount - 1); }