{"version":3,"file":"gep.infoTabs-toteboard.es5.js","names":["$","showFilteredProbables","instance","poolId","hide","show","allPoolsTabIndex","probablesTabIndex","willPaysTabIndex","clientObject","utils","onResizeBrowser","methods","init","clientObjectToUse","utilsToUse","onResizeBrowserToUse","options","data","setInterval","currentRace","is","undefined","onRefresh","settings","general","toteboardPollingPeriod","updateTrack","races","nextRace","sort","comparers","compareRaceNumber","each","raceStatus","length","removeData","onRaceChange","showLoading","empty","updateRace","p","activeTabIndex","thisCard","cards","race","hasClass","tabs","html","trim","EJS","element","render","showToteboardPopupLink","maxNumberOfOpenPopups","toteboardPopup","reviewEnablingOfToteboardPopupLinks","click","openToteboardPopup","activate","todaysCards","getCardByShortName","iTSPEventCode","getCards","priorityCards","shortCardNames","append","isPriorityCard","shortCardName","text","cardName","val","cardId","todaysRaces","getRacesForCard","raceNumber","raceId","String","bind","onTrackChange","Number","find","updatePools","pools","indexedPools","allPools","poolTypeCode","myFormatter","filter","pool","raceSummaries","showTotalsFor","poolTypeCodes","indexOf","a","b","updateProbablesSubmenuOptions","probables","selection","poolTypeName","updateProbables","poolProbableCount","firstProbablesPoolId","currentProbablesPoolIdPresent","poolIdToShow","content","parent","dialog","title","resources","poolsProbablesWillpays","autoOpen","width","height","resize","modal","resizeStop","jQuery","close","remove","hover","updateWillPays","willPays","runners","fn","gep_infoTabsToteboard","method","_len","arguments","otherArguments","Array","_key","apply","_typeof","concat","error"],"sources":["gep.infoTabs-toteboard.js"],"sourcesContent":["/*global\r\njQuery,\r\nEJS,\r\nwindow,\r\ntodaysRaces,\r\ntodaysCards,\r\nutils,\r\nonResizeBrowser,\r\nclientObject,\r\nisPriorityCard,\r\nGBEUtils,\r\nopenToteboardPopup,\r\nvideoStreams\r\n*/\r\n\r\n(function ($) {\r\n\r\n \"use strict\";\r\n\r\n function showFilteredProbables(instance, poolId) {\r\n $(\".gep-probablesTab\", instance).hide();\r\n $(\"#probablesTab-\" + poolId, instance).show();\r\n }\r\n\r\n const allPoolsTabIndex = 1;\r\n const probablesTabIndex = 2;\r\n const willPaysTabIndex = 3;\r\n\r\n let clientObject;\r\n let utils;\r\n let onResizeBrowser;\r\n\r\n const methods = {\r\n\r\n init: function (clientObjectToUse, utilsToUse, onResizeBrowserToUse, options) {\r\n\r\n const instance = this;\r\n\r\n clientObject = clientObjectToUse;\r\n utils = utilsToUse;\r\n onResizeBrowser = onResizeBrowserToUse;\r\n\r\n $(instance).data(\"options\", options);\r\n\r\n // Refresh toteboard every N seconds\r\n setInterval(function () {\r\n\r\n const currentRace = $(instance).data(\"currentRace\");\r\n\r\n // Only refresh toteboard if currently shown\r\n if ($(instance).is(\":visible\")) {\r\n if (currentRace !== undefined) {\r\n options.onRefresh(currentRace);\r\n }\r\n }\r\n\r\n }, ((clientObject.settings.general.toteboardPollingPeriod || 30) * 1000));\r\n\r\n return this;\r\n },\r\n\r\n hide: function () {\r\n const instance = this;\r\n $(\"#gep-info-pools\", instance).hide();\r\n },\r\n\r\n updateTrack: function (races) {\r\n const instance = this;\r\n const options = this.data(\"options\");\r\n let nextRace;\r\n\r\n // Sort races by raceNumber\r\n races.sort(utils.comparers.compareRaceNumber);\r\n\r\n // Work out the next race for the track\r\n $.each(races, function () {\r\n // First race with a status of 'Future' is the next race\r\n if (nextRace === undefined && this.raceStatus === 1) { // 1 === Future\r\n nextRace = this;\r\n }\r\n });\r\n\r\n // In case all races are finished (or cancelled), default to last race\r\n if (nextRace === undefined) {\r\n nextRace = races[races.length - 1];\r\n }\r\n\r\n $(instance).removeData(\"currentRace\");\r\n\r\n // Update race info for new track/race\r\n options.onRaceChange(nextRace);\r\n\r\n return this;\r\n },\r\n showLoading: function () {\r\n\r\n // Hide all content and show 'spinner' icon, regardless of which section of toteboard is active\r\n\r\n const instance = this;\r\n\r\n $(\"#gep-racetab-pools .gep-pools\", instance).empty();\r\n $(\"#gep-racetab-pools .gep-loader\", instance).show();\r\n\r\n $(\"#gep-racetab-pools-all .gep-pools\", instance).empty();\r\n $(\"#gep-racetab-pools-all .gep-loader\", instance).show();\r\n\r\n $(\"#gep-racetab-probables .gep-probables\", instance).empty();\r\n $(\"#gep-racetab-probables .gep-loader\", instance).show();\r\n\r\n $(\"#gep-racetab-willpays .gep-willpays\", instance).empty();\r\n $(\"#gep-racetab-willpays .gep-loader\", instance).show();\r\n\r\n },\r\n updateRace: function (p) {\r\n const instance = this;\r\n const options = this.data(\"options\");\r\n let activeTabIndex = 0;\r\n let thisCard;\r\n let cards;\r\n let races;\r\n\r\n $(instance).data(\"currentRace\", p.race);\r\n\r\n // Remember currently active tab (if any)\r\n if ($(\"#gep-poolTabs\", this).hasClass(\"ui-tabs\")) {\r\n activeTabIndex = $(\"#gep-poolTabs\", this).tabs(\"option\", \"active\");\r\n }\r\n\r\n $(this).html($.trim(new EJS({ element: \"template_infoTabs_race\" }).render({\r\n showToteboardPopupLink: p.showToteboardPopupLink,\r\n maxNumberOfOpenPopups: clientObject.settings.toteboardPopup.maxNumberOfOpenPopups,\r\n clientObject: clientObject\r\n })));\r\n\r\n p.reviewEnablingOfToteboardPopupLinks();\r\n\r\n $(\".gep-popout\", instance).click(() => openToteboardPopup(\r\n instance,\r\n p.race\r\n ));\r\n\r\n $(\".gep-tabs\", this).tabs({\r\n activate: function () {\r\n onResizeBrowser();\r\n }\r\n });\r\n\r\n // Set active tab\r\n $(\"#gep-poolTabs\", this).tabs(\"option\", \"active\", activeTabIndex);\r\n\r\n // Disable Probables and Will Pays by default, they will be enabled if there is data to show\r\n $(\"#gep-poolTabs\", this).tabs(\"disable\", 2);\r\n $(\"#gep-poolTabs\", this).tabs(\"disable\", 3);\r\n\r\n thisCard = p.todaysCards.getCardByShortName(p.race.iTSPEventCode);\r\n\r\n // Make array of cards, sort by name, and move NYRA card to start of array\r\n cards = p.todaysCards.getCards(clientObject.settings.priorityCards.shortCardNames);\r\n\r\n $.each(cards, function () {\r\n $(\".gep-tracks\", instance).append($(\"