{"version":3,"sources":["sharedfiles/constants.js","sharedfiles/EndpointConfig.js","AppSlice.js","api/apiUtil.js","api/apiCaller.js","layouts/matchSlice.js","components/tournamentleague/TournamentLeagueSlice.js","components/htohoutput/htohOutputSlice.js","components/seasonalstats/standings/StandingsSlice.js","components/tournament/TournamentSlice.js","components/hadhandicaptab/HADHandicapTabSlice.js","components/htohsearch/HtoHSearchSlice.js","components/playeranalysis/PlayerAnalysisSlice.js","sharedfiles/helper.js","components/recentformhad/RecentFormHADSlice.js","assets/images/logo.png","components/matchcenter/MatchCenterSlice.js","components/recentformtab/RecentFormTabSlice.js","components/summary/SummarySlice.js","components/recentformtable/RecentformTableSlice.js","components/seasonalstats/SeasonalStatsSlice.js","components/tournamentstandings/TournamentStandingsSlice.js","components/fixturesresults/FixturesResultsSlice.js","components/bmstatistics/BMStatisticsSlice.js","components/match/homeSlice.js","components/hilocornerstab/HiloCornersTabSlice.js","components/htohtab/HToHTabSlice.js","components/recentformhilo/RecentFormHiLoSlice.js","components/recentformcorners/RecentFormCornersSlice.js","components/topscorer/TopScorerSlice.js","components/players/PlayersSlice.js","components/bmrecentforms/BMRecentFormsSlice.js","components/bmhead2head/BMHead2HeadSlice.js","components/rules/rulesSlice.js","components/summary/popover/popoverSlice.js","assets/images/logo-bettorlogic.png","components/loading/Loading.js","assets/images/playertable icon-1.svg","assets/images/playertable icon-2.svg","assets/images/playertable icon-3.svg","assets/images/playertable icon-4.svg","App.js","app/store.js","serviceWorker.js","index.js"],"names":["engLangId","languageId","channelId","defaultH2HFilterId","staticEng","match","tournament","headTOHeadSearch","teamSearch","SearchByTeamName","homeForm","awayForm","hadPredictor","bestBet","best","bet","date","mcDate","faq","contactUs","responsibleGamblingPolicy","privacy","disclaimerUs","securityTips","copyRightText","rules","footerText","headToHead","headToHead8RE","mcH2H","seasonalStats","playerAnalysis","preview","odds","basicMode","advancedMode","summary","recentForms","statistics","hadHandicap","hiLoCorners","hiLoHandicap","predictor","last8Encounters","pastEncounters","season","comp","competition","homeTeam","pos","score","ht","scoreHt","awayTeam","had","fHAD","hdc","fhdc","hHAD","more","home","away","draw","won","lost","homeAwayDraw","firstHalfHAD","firstHalfHandicap","goalsPerGame","per","game","handicapHAD","fullTime","halfTime","cornerHILO","cornerFH","cornerFT","cornerHandicap","haFu","handicap","handicaps","correctScore","csHafu","ttg","fhHiLo","hiLo","btts","bts","tts","cornersHiLo","cornersHiLoHT","goal","line","ftHiLo","htHiLo","cornersPerGame","cornersForPerGame","cornersAgainstPerGame","cornersFor","for","cornersAgainst","totalGoals","totalGoalsAnalysis","total","goalTimes","firstToScore","corners","cornersTaken","recentResults","event","ha","against","ftScore","htScore","ftResult","result","win","loss","all","team","p","w","wTable","d","l","h","gf","ga","gd","pts","form","highIcon","lowIcon","lossIcon","hdcWinIcon","hdcLossIcon","hadWinIcon","hadLossIcon","a","rank","tournamentRank","draws","wins","losses","fullWin","halfWin","halfLoss","fullLoss","fullWins","halfWins","halfLosses","fullLosses","ww","dw","lw","wd","dd","ld","wl","wbyl","fhwbyl","dl","ll","avarageCorner","plus","minus","zero","hi","lo","teamScore","odd","even","scored1st","conceded1st","scoredFirst","concededFirst","scoredLast","concededLast","seasonRankingTrend","hdcTypeComparison","handicapHADComparison","hadComparison","hafuComparison","ttsOEComparison","ffsComparison","correctScoreComparision","cornersComparision","totalGoalsComparison","temporarilyNoData","player","teamPlayer","started","missed","goalsFor","with","wo","winPer","drawPer","losePer","goalsAgainst","league","cup","international","standings","fixturesResults","topScorer","players","club","nationality","goals","hKJCNo","squad","position","age","appearances","assists","generate","type","country","continent","h2hTitle","last8HomeResults","last8HomeResultsLFL","last8AwayResultsLFL","latestFromLeft","played","recentEncounters","firstHalfHiLo","last8AwayResults","seasonSummary","high","low","goalScoringTimeAnalysis","Recent8Homeleaguematches","Recent8AwayLeagueMatches","nextMatch","matchResult","past3Seasons","point","wprc","both","ft","average","matches","scoreFirst","oppositScoreFirst","leagueTable","firstHalfCorrectScore","firstTeamToScore","cornerHiLo","search","orselectbelow","yellowcards","redcards","subbedon","subbedoff","firstHalf","gpg","enterteamname","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","january","february","march","april","june","july","august","september","october","november","december","sunday","monday","tuesday","wednesday","thursday","friday","saturday","nogoals","noupcominggames","koTime","homeWin","awayWin","count","stats","oddOREven","fixtures","results","goalLine","htft","lastUpdatedOn","last16","quarterFinals","semiFinals","final","showAll","showLess","noPastMeetings","noPastMeetingsVenue","firstHalfGpg","scoreFirstAndWin","standingsl","teams","structure","promotion","relegation","tieBreakRules","penalties","team1","team2","firstLeg","secondLeg","aggregate","group","winner","runnerUp","corrections","points","replay","extraTime","noteLang","totalScore","handicapLinePastGame","goalMinutesPastGame","cornersDataPastGame","RankingBasisHandicap","RankingBasisHandicapHAD","RankingBasisHiLo","RankingBasisFHHiLo","RankingBasisOddEven","RankingBasisFirstTeamtoScore","RankingBasisCornersHiLo","groupAll","schedule","notFound","footylogicStatsCenter","matchList","HtoH","recentForm","BMHead2Head","playersStatistics","leagueStatistics","teamStatistics","footylogicStatistics","correctScoreTournament","selectCountry","selectTournment","selectMatch","averageHilo","staticChe","mcWinPredictor","Corners","data","playerAnalysisF","endPoint","qaEndPoint","common","window","location","hostname","includes","matchCenter","playeranalysis","getLastResults","getMarketsInfo","getResults","htohsearch","h2hSearchTeams","h2hSearchEventInfo","bmhead2head","imageUrls","protocol","AppSlice","createSlice","name","initialState","selectedMainTab","eventInfo","countryId","competitionId","eventId","tempEventInfo","loader","staticKeyWords","configurations","disableLeagues","isEdisplay","metaDataInfo","metaTitle","metaDescription","url","metaDataURL","intialLoad","reducers","setMainTab","state","action","payload","setEventId","setTempCountryInfo","setLanguage","setTempCompetitionInfo","setLoader","setStaticKeyWords","setConfigurations","setIntialLoader","setDisableLeagues","disable","tab","bmStatistics","setDisplayMode","document","body","classList","add","remove","setMetaData","querySelector","ogTitle","title","innerText","content","actions","getEvenId","from","props","bannerData","tabInfo","dispatch","modeValue","navigator","cookieEnabled","localStorage","getItem","setSelectedOption","getBanner","path","pathname","split","console","log","join","history","push","undefined","params","lang","resetEventId","text","toggleMode","reSetMainTab","partialUrl","navigateToTournament","filterBy","checkEdisplay","getConfigurations","apiCaller","then","response","metaData","_myObj$name","_myObj$name2","myObj","description","handleError","error","method","options","query","Object","keys","length","headers","JSON","stringify","map","k","encodeURIComponent","Promise","resolve","reject","fetch","status","json","href","origin","catch","MatchSlice","countryList","competitionsList","eventList","homeTeamName","awayTeamName","homeTeamId","awayTeamId","allCountries","isAdvancedMode","winPredictorData","bestBetData","lastEncountersOptions","allSeasons","homePlayerAnalysis","awayPlayerAnalysis","setBanner","setWinBest","winData","bestData","setItem","setCountryList","setFormattedCountries","setCompetitionsList","setEventList","setSeasons","highlightTab","tabname","getCountryList","getCountries","getCompetitionsList","getWinBest","payloadData","winPredictor","fetchh2hlastencouters","optionId","id","typeId","setH2HLastEncounters","categoryId","getTournamentCompetitions","getCompetitions","obj","i","Math","ceil","j","hasOwnProperty","index","competitions","setEventInfoCompetition","getEventList","getEvents","setEventInfoEvent","eventName","navigateTo","setTabData","mainTab","teamId","subTab","seasonId","getToggleMode","prop","getSeasonslist","tabId","assignCompetitions","category","navigateToLeague","TournamentLeagueSlice","selectedButton","comepetitionAndDate","setSelectButton","setComepetitionAndDate","leagueType","leagueId","navigateToTeamFixtureResults","navigateToTourStandings","resetButtons","highlightButton","HTOHOutputSlice","h2hLastEncounters","selectedOptionId","hiLoOptions","selectedHiLoOption","hadFullTime","hadHalfTime","setHiLoOptions","setSelectedHiLoOption","setGraphData","firstHalfHad","getHTOHOutput","h2hLast8Encounters","forEach","item","val","indexOf","StandingsSlice","selectedTab","selectedSeasonFilter","selectedHDCFilter","selectedHiLoFTFilter","selectedHiLoHTFilter","selectedBetTypeFilter","selectedCSGOptionId","setTab","setFilter","filter","value","csGraphOptionChanged","isNaN","Number","TournamentSlice","selectedCountry","selectedType","selectedComp","htohCountries","selectType","setSelectedComp","setHtoHCountries","getTournamentCountries","setEventInfoCountry","createAsyncThunk","async","ids","thunkAPI","getH2hInfo","marketGroupId","isBasic","HADHandicapTabSlice","hdcHad","selectedOption","tableRecentResults","isData","setOptions","extraReducers","pending","rejected","fulfilled","recentEncounter","hdcData","outcomeName","homeGoals","homeTeamGoals","awayGoals","awayTeamGoals","correctScoreHaFu","HtoHSearchSlice","listTypes","teamOneList","teamTwoList","teamOne","teamName","teamTwo","team_one","team_two","hToHEventId","isSelect2Teams","setCategores","setEventInfoType","setTeamNames","setTeamsList","setTeam_One","setTeam_Two","setHToHEventId","setSelect2TeamsPanel","PlayerAnalysisSlice","hadColumns","hiloColumns","playerData","setTabInfo","setTableHeaders","column","key","isRow","isDisplay","spanValue","className","setPlayerInfo","getPlayersInfo","weekDays","months","fullWeekDays","fullMonths","formatDate","component","today","Date","setDate","getDate","dt","utcDate","replace","toUTCString","addZero","getMonth","getFullYear","day","getDay","time","getHours","getMinutes","ordinal_suffix_of","month","number","getTimeZoneOffset","timeInterval","getTimezoneOffset","abs","formatFixtureResultsDate","year","weekDay","addSuffix","num","isOnlySuffix","arguments","RecentFormHADSlice","module","exports","MatchCenterSlice","resetWinBest","selectTab","RecentFormTabSlice","graphData","homeTeamData","awayTeamData","rfHadData","fullTimeHiLo","halfTimeHiLo","fullTimeCornersHiLo","halfTimeCornersHiLo","cornerhdc","homefhHiLo","homehiLo","awayfhHiLo","awayhiLo","homeCorners","awayCorners","homeCornersHT","awayCornersHT","selectedHomeCornerTab","selectedAwayCornerTab","selectedHomeCornerHTTab","selectedAwayCornerHTTab","selectedHomeFhHiloTab","selectedHomeHiloTab","selectedAwayFhHiloTab","selectedAwayHiloTab","selectedFilterOption","selectedFilterOptionFrom","cornersInfo","cornersInfoFTHT","teamsToScore","defaultHomeOptionId","defaultAwayOptionId","homeOption","awayOption","selectFilterOption","resetTableData","resetGraphsData","recent8Results","Array","isArray","homeHandicap","awayHandicap","bettype","betname","hdcName","hdcOutcome","selectedHomeHandicapTab","selectedAwayHandicapTab","setHadData","scores","setHandicapData","setCornersData","cornersHandicaps","cornerhdcData","setHiLoData","formatedData","labels","homeScoredFirst","homeConcededFirst","homeNoGoal","awayScoredFirst","awayConcededFirst","awayNoGoal","selectDefaultHomeOptionId","selectDefaultAwayOptionId","loadData","opt","tableSelectedOptions","getGraphData","tableSelectedOptions1","selectedHomeOptionId","selectedAwayOptionId","mode","getRecentformInformation","SummarySlice","h2hLastResultsTableData","lastResultsGraphData","hadGraphData","fhHiLoGraphData","fhHiLoTablesData","hiLoGraphData","hiLoTablesData","cornersHiloTableDataAll","cornerfhHiLoGraphData","cornerhiLoGraphData","cornorsHiLoGraphData","cornorsHiLoTablesData","cornorsHTHiLoGraphData","cornorsHTHiLoTablesData","goalScoringTimesData","last8Results","hiloCornersColumns","seledtedFilter","homehalf","homefull","awayhalf","awayfull","homeCornersHalf","homeCornersFull","awayCornersHalf","awayCornersFull","cornersFilters","homeCornersFullTimeGoals","awayCornersFullTimeGoals","hiloFilters","homeHalfTimeGoals","homeFullTimeGoals","awayHalfTimeGoals","awayFullTimeGoals","cornershiloAllFilters","homeCornersHalfTimeGoals","awayCornersHalfTimeGoals","cornersHiloColumns","setLastResults","tableInfo","chartInfo","mainColumns","header","rowspan","subColumns","class","setMarketsData","lastResults","hiloData","subkey","innersubkey","cornersData","homecornerfull","awaycornerfull","cornerHiLoAll","cornerhiloDataAll","setLast8Results","selectCornersFilter","setCornerHiloAllFilters","selectFilter","resetHiloFilters","getLast8Results","RecentformTableSlice","selectHomeFhHiloTab","selectHomeHiloTab","selectAwayFhHiloTab","selectAwayHiloTab","selectHomeCornerTab","selectAwayCornerTab","selectHomeCornerHTTab","selectAwayCornerHTTab","selectAwayHandicapTab","selectHomeHandicapTab","optionChanged","option","resetAllTabs","bindStatusColor","list","toLowerCase","hiLoOptionChanged","SeasonalStatsSlice","tablesList","standingsTableData","selectedTable","tableId","tableName","tableAndRoutes","standingColumns","handicapColumns","hafuColumns","handicapHadColumns","teamsToScoreOddOrEvenColumns","cornersHTHiloColumns","toatalGoalsColumns","firstTeamToScoreColumns","correctScoreColumns","seasonFilterData","HDCTypeFilterData","HiLoFTFilterData","HiLoHTFilterData","betTypeFilterData","standingsChartData","keyIndicatorsData","handicapChartData","positive","negative","isHandicapChartsMul","handicapHadChartData","hafuGraphData","optionsList","firstTeamToScoreGraphData","FTSScored","FTSConceded","correctScoreGraphData","FHCorretScoreGraphData","teamToScoreOEGraphData","hiLoChartData","fhHiLoChartData","cornersHiLoChartData","standingsHAD","standingsGPG","standingsFHGPG","standingsFHHAD","fhHadMaxValue","hadMaxValue","lastUpdated","tourCorrectScoreColumns","isPoints","setSelectedTable","keyWords","isSplit","setTablesList","table","setData","setFilterData","Season","HDC_Type","HiLo_FT","HiLo_HT","Options","betType","getTablesList","isTournament","desiredOrder","newSortedData","sort","b","getSelectTable","bindLink","route","getTableData","getKeyPerformanceTableInfo","getKeyPerformanceInfo","hdcTypeId","betTypeId","hiLoFtId","hiLoHtId","competitionName","getFiltersData","getFilters","link","TournamentStandingsSlice","standingsData","level1Opt","isRegSeas","level2Opt","level1SelOpt","level2SelOpt","layOut","roundId","layoutId","groupLetter","groupName","compId","setLevel1Opt","setSeasonType","setLevel2Opt","setSelLevel1Opt","setSelLevel2Opt","setLayOut","setGroupLetter","setGroupName","setCompetitionId","getStandingsOpt","tournUrl","tourOptions","tourResp","levelFound","levelData","level1Id","level2Id","lvl","levelId","layoutName","subLevels","subLvl","array","objsel","LvlValue","trim","engName","getStandings","isLeague","_params$groupLetter","displayname","resetLevels","FixturesResultsSlice","carouselData","selectedCarouselItem","fixtureFilters","selectedSeason","selectedLeague","selectedHHAD","selectedHDC","selectedCorner","seasons","selectedFRSeason","loaderFR","selectedTabId","isSlideIndex","slideIndex","defaultCornersHiloValue","setSelectedTabId","setCarouselData","selectCarouselItem","setFixtureResultsFilters","setFilterOptions","generateCarouselData","currentDate","idx","fixtureRange","fullDate","slice","setLeagueSeason","setSeasonsData","setSlideIndex","getFixturesResultsData","getFixturesResults","getTeamFixturesResults","getFixtureResultsFilters","fixtureResultsFilters","property","getFixturesResultsSeasons","getSeasons","bindStatusResults","cornersArray","txtFrom","BMStatisticsSlice","marketsInfo","selectedSeasonId","leagueColumns","fhHadColumns","oddEvenColumns","teamsToScoreColumns","htftColumns","goalsColumns","fhandicapColumns","fhCorrectScoreColumns","hilpCornersColumns","hiloCornersAllColumns","teamToScoreColumns","teamToWinColumns","setMarketsInfo","setHiloFilters","setSeason","setCornersFilters","hiLoTable","cornerhiLoAllTable","homeSlice","searchData","teamsList","isInProgress","loadCourseSuccess","teamChange","teamList","temsList","setTeams","setLoadingData","loadSearchData","param","getGames","events","eve","getTeamsList","test","getTeamSearch","selectSearchData","selectValue","selectTeamsList","selectFilterBy","selectLoader","selectStaticWords","app","selectLanguageId","fetchhilolastencouters","HiloCornersTabSlice","hiLoLastEncounters","cornerftHiLo","cornerhtHiLo","cornersHiLoFTHT","HToHTabSlice","RecentFormHiLoSlice","homeSelectedOptionId","awaySelectedOptionId","setOption","RecentFormCornersSlice","topScorerColumns","topScorerData","showImg","isTopScorer","imgKey","getTopScorerData","getTopScorer","PlayersSlice","playersColumns","playersData","getPleayersData","getPlayers","BMRecentFormsSlice","tableData","homeMarketGroupId","awayMarketGroupId","isDiff","isHandicap","cornersColumns","setTableData","setMarketGroupId","againt","isSpecialClass","BMHead2HeadSlice","pastSeasons","homeTeamTableData","awayTeamTableData","setTeamData","encounters","setPastSeasons","getEventInfo","RulesSlice","rulesInfo","setRulesInfo","getRulesInfo","getRules","PopOverSlice","activeIdx","setActiveIdx","isHome","keyValue","setPopOverIdx","dipatch","Loading","Component","render","React","createElement","this","isNoData","isLoader","connect","TournamentLayout","lazy","Home","Match","ErrorPage","App","constructor","super","hasError","errorInfo","componentDidCatch","erroInfo","setState","componentWillMount","reload","componentDidMount","onbeforeunload","changeLanguage","pathName","pathArray","_this$props$metaDataI","_this$props$metaDataI2","_this$props$metaDataI3","_this$props$metaDataI4","_this$props$metaDataI5","_this$props$metaDataI6","Fragment","Router","src","logo","alt","onClick","NavLink","to","isActive","FacebookShareButton","metaDataurl","FacebookIcon","size","round","TwitterShareButton","encodeURI","TwitterIcon","bind","target","onChange","hidden","selected","countryName","disabled","Suspense","fallback","Switch","Route","exact","blLogo","bindActionCreators","configureStore","reducer","AppReducer","homeReducer","matchcenter","MatchCenterReducer","hadhandicap","HADHandicapTabReducer","hilocorners","HiLoCornersTabReducer","htohtab","HToHTabReducer","recentfromtab","RecentFormTabReducer","recentformhad","RecentFromHADReducer","recentformhandicap","RecentFromHandicapReducer","recentformhilo","RecentFormHiLoReducer","recentformcorners","RecentFromCornersReducer","recentfromtable","RecentformTableReducer","MatchReducer","seasonalstats","SeasonalStatsReducer","StandingsReducer","PlayerAnalysisReducer","tournamentstandings","TournamentStandingsReducer","topscorer","TopScorerReducer","PlayersReducer","fixturesresults","FixturesResultsReducer","TournamentReducer","HtoHSearchReducer","SummaryReducer","bmrecentforms","BMRecentFormsReducer","bmstatistics","BMStatisticsReducer","bmh2h","BMHead2HeadReducer","tournamentleague","TournamentLeagueReducer","htohoutput","HTOHOutputReducer","RulesSliceReducer","popover","PopOverReducer","Boolean","ReactDOM","StrictMode","Provider","store","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.8afc05bb.chunk.js","sourcesContent":["export var engLangId=19;\r\nexport var cheLangId=18;\r\nexport var languageId=1;\r\nexport const channelId=1;\r\nexport const GoalsGraph={\r\n min:0,\r\n max:20\r\n}\r\n\r\nexport const defaultH2HFilterId = 1;\r\nexport const staticEng ={\r\n match:\"Match\",\r\n tournament:\"Tournament\",\r\n headTOHeadSearch:\"Head To Head Search\",\r\n teamSearch:\"Team Search\",\r\n SearchByTeamName:\"Search by team name\",\r\n homeForm:\"Home Form\",\r\n awayForm:\"Away Form\",\r\n hadPredictor:\"Win Predictor\",\r\n bestBet:\"Best Bet\",\r\n best:\"Best\",\r\n bet:\"Bet\",\r\n date:\"Date\",\r\n mcDate:\"Date\",\r\n faq:\"FAQ\",\r\n contactUs:\"Contact Us\",\r\n responsibleGamblingPolicy:\"Responsible Gambling Policy\",\r\n privacy:\"Privacy\",\r\n disclaimerUs:\"Disclaimer Us\",\r\n securityTips:\"Security Tips\",\r\n copyRightText:\"Copyright @ 2000-2020 The Hong Kong Jockey Club. All Rights Reserved.\",\r\n rules:\"Rules\",\r\n footerText:\"The entire service of FootyLogic is provided by Bettorlogic and it is intended to be used for reference only. Bettorlogic shall not be liable to any person for any loss or damage suffered by such person as a result of the use of the FootyLogic. Please browse the page using IE11.0 and above, Chrome, Firefox and Safari for the optimum viewing. Rankings referenced in these pages are according to FIFA World Rankings (for international teams), and Bettorlogic’s club rankings (for club cup tournaments).\",\r\n headToHead:\"Head To Head\",\r\n headToHead8RE:\"Head To Head (8 Recent Encounters)\",\r\n mcH2H:\"Head To Head\",\r\n seasonalStats:\"Seasonal Stats\",\r\n playerAnalysis:\"Player Analysis\",\r\n preview:\"Preview\",\r\n odds:\"Odds\",\r\n basicMode:\"Basic Mode\",\r\n advancedMode:\"Advanced Mode\",\r\n summary:\"Summary\",\r\n recentForms:\"Recent Form\",\r\n statistics:\"Statistics\",\r\n hadHandicap:\"HAD & Handicap\",\r\n hiLoCorners:\"HiLo & Corners\",\r\n hiLoHandicap:\"HiLo & Handicap\",\r\n predictor:\"Predictor\",\r\n last8Encounters:\"Last 8 Encounters\",\r\n pastEncounters:\"Past Encounters\",\r\n season:\"Season\",\r\n comp:\"Comp\",\r\n competition:\"Competition\",\r\n homeTeam:\"Home Team\",\r\n pos:\"Pos\",\r\n score:\"Score\",\r\n ht:\"HT\",\r\n scoreHt:\"Score (HT)\",\r\n awayTeam:\"Away Team\",\r\n had:\"HAD\",\r\n fHAD:\"FHAD\",\r\n hdc:\"HDC\",\r\n fhdc:\"FHDC\",\r\n hHAD:\"HHAD\",\r\n more:\"More\",\r\n home:\"Home\",\r\n away:\"Away\",\r\n draw:\"Draw\",\r\n won:\"Won\",\r\n lost:\"Lost\",\r\n homeAwayDraw:\"Home/Away/Draw\",\r\n firstHalfHAD:\"First Half HAD\",\r\n firstHalfHandicap:\"First Half Handicap\",\r\n goalsPerGame:\"Goals Per Game\",\r\n per:\"Per\",\r\n game:\"Game\",\r\n handicapHAD:\"Handicap HAD\",\r\n fullTime:\"Full Time\",\r\n halfTime:\"Half Time\",\r\n cornerHILO:\"Corner HiLo\",\r\n cornerFH:\"FH\",\r\n cornerFT: \"FT\",\r\n cornerHandicap:\"Corner Handicap \",\r\n haFu:\"HaFu\",\r\n handicap:\"Handicap\",\r\n handicaps:\"Handicaps\",\r\n correctScore:\"Correct Score\",\r\n csHafu:\"CORRECT SCORE & HaFu\",\r\n ttg:\"TTG\",\r\n fhHiLo:\"FH HiLo\",\r\n hiLo:\"HiLo\",\r\n btts:\"Both Teams to Score\",\r\n bts:\"Both to Score\",\r\n tts:\"Teams To Score\",\r\n cornersHiLo:\"Corner Taken HiLo\",\r\n cornersHiLoHT:\"FH Corner HiLo\",\r\n goal:\"Goal\",\r\n line: \"Line\",\r\n ftHiLo: \"FT HiLo\",\r\n htHiLo:\"HT HiLo\",\r\n cornersPerGame:\"Corners Per Game\",\r\n cornersForPerGame: \"Corners For Per Game\",\r\n cornersAgainstPerGame: \"Corners Against Per Game\",\r\n cornersFor: \"Corners For\",\r\n for:\"for\",\r\n cornersAgainst: \"Corners Against\",\r\n totalGoals:\"Total Goals\",\r\n totalGoalsAnalysis:\"Total Goals Analysis\",\r\n total:\"Total\",\r\n goalTimes:\"Goal Times\",\r\n firstToScore:\"First To Score\",\r\n corners:\" Corners\", \r\n cornersTaken:\" Corners Taken\", // new line added and HiloCornerstab line 135 this key word added\r\n recentResults:\"8 Recent Results\",\r\n event:\"Event\",\r\n ha:\"H/A\",\r\n against:\"Against\",\r\n ftScore:\"FT Score\",\r\n htScore:\"HT Score\",\r\n ftResult:\"FT Result\",\r\n result:\"Result\",\r\n win:\"Win\",\r\n loss:\"Loss\",\r\n all:\"All\",\r\n team:\"Team\",\r\n p:\"P\",\r\n w:\"W\",\r\n wTable:\"W\",\r\n d:\"D\",\r\n l:\"L\",\r\n h:\"H\",\r\n gf:\"GF\",\r\n ga:\"GA\",\r\n gd:\"GD\",\r\n pts:\"Pts\",\r\n form:\"Form\",\r\n highIcon:\"H\",\r\n lowIcon:\"L\",\r\n lossIcon:\"L\",\r\n hdcWinIcon:\"W\",\r\n hdcLossIcon:\"L\",\r\n hadWinIcon:\"W\",\r\n hadLossIcon:\"L\",\r\n a:\"A\",\r\n rank:\"Rank\",\r\n tournamentRank:\"Rank\",\r\n draws:\"Draws\",\r\n wins:\"Wins\",\r\n losses:\"Losses\",\r\n fullWin:\"Full Win\",\r\n halfWin:\"Half Win\",\r\n halfLoss:\"Half Loss\",\r\n fullLoss:\"Full Loss\",\r\n fullWins:\"Full Wins\",\r\n halfWins:\"Half Wins\",\r\n halfLosses:\"Half Losses\",\r\n fullLosses:\"Full Losses\",\r\n ww:\"WW\",\r\n dw:\"DW\",\r\n lw:\"LW\",\r\n wd:\"WD\",\r\n dd:\"DD\",\r\n ld:\"LD\",\r\n wl:\"WL\",\r\n wbyl:\"W/L\",\r\n fhwbyl:\"FH W/L\",\r\n dl:\"DL\",\r\n ll:\"LL\",\r\n avarageCorner:\"Average\",\r\n plus:\"+\",\r\n minus: \"-\",\r\n zero:\"0\",\r\n hi:\"Hi\",\r\n lo:\"Lo\",\r\n teamScore:\"Team Score\",\r\n odd:\"Odd\",\r\n even:\"Even\",\r\n scored1st:\"Scored 1st\",\r\n conceded1st:\"Conceded 1st\",\r\n scoredFirst:\"Scored First\",\r\n concededFirst:\"Conceded First\",\r\n scoredLast:\"Scored Last\",\r\n concededLast:\"Conceded Last\",\r\n seasonRankingTrend:\"Season Ranking Trend\",\r\n hdcTypeComparison:\"HDC Type Comparison\",\r\n handicapHADComparison:\"Handicap HAD Comparison\",\r\n hadComparison:\"HAD Comparison\",\r\n hafuComparison:\"HaFu Comparison\",\r\n ttsOEComparison:\"Odd/Even Comparison\",\r\n ffsComparison:\"First to Score Comparison\",\r\n correctScoreComparision:\"Correct Score Comparison\",\r\n cornersComparision:\"Corners Taken Comparison\",\r\n totalGoalsComparison:\"Total Goals Comparison\",\r\n temporarilyNoData:\"Temporarily no information available\",\r\n player:\"Player\",\r\n teamPlayer:\"Player\",\r\n started:\"Started\",\r\n missed:\"Missed\",\r\n goalsFor:\"Goals For\",\r\n \r\n with:\"With\",\r\n wo:\"W/O\",\r\n winPer:\"Win%\",\r\n drawPer:\"Draw%\",\r\n losePer:\"Lose%\",\r\n goalsAgainst:\"Goals Against\",\r\n league:\"League\",\r\n cup:\"Cup\",\r\n international:\"International\",\r\n standings:\"Standings\",\r\n fixturesResults:\"Fixtures/Results\",\r\n topScorer :\"Top Scorer\",\r\n players:\"Players\",\r\n club:\"Club\",\r\n nationality:\"Nationality\",\r\n goals:\"Goals\",\r\n hKJCNo:\"TPS No.\",\r\n squad:\"Squad\",\r\n position:\"Position\",\r\n age:\"Age\",\r\n appearances:\"Appearances\",\r\n assists:\"Assists\",\r\n generate:\"Generate\",\r\n type:\"Type\",\r\n country:\"Country\",\r\n continent:\"Continent\",\r\n h2hTitle:\"Enter Team Names\",\r\n last8HomeResults:\"Last 8 Home Results\",\r\n last8HomeResultsLFL:\"Last 8 Home Results (Latest from left)\",\r\n last8AwayResultsLFL:\"Last 8 Away Results (Latest from left)\",\r\n latestFromLeft:\"Latest from left\",\r\n played:\"Played\",\r\n recentEncounters:\"Recent Encounters\",\r\n firstHalfHiLo:\"FIRST HALF HiLo\",\r\n last8HomeResults:\"Last 8 Home Results\",\r\n last8AwayResults:\"Last 8 Away Results\",\r\n seasonSummary:\"Season Summary\",\r\n high:\"High\",\r\n low:\"Low\",\r\n goalScoringTimeAnalysis:\"GOALSCORING TIME ANALYSIS\",\r\n Recent8Homeleaguematches:\"Recent 8 Home league matches\",\r\n Recent8AwayLeagueMatches:\"Recent 8 Away league matches\",\r\n nextMatch:\"Next Match\",\r\n matchResult:\"Match Result\",\r\n past3Seasons:\"Past 3 Seasons\",\r\n point:\"Points\",\r\n wprc:\"W%\",\r\n both:\"Both\",\r\n ft:\"FT\",\r\n average:\"Average\",\r\n matches:\"Matches\",\r\n scoreFirst:\"Score First\",\r\n oppositScoreFirst:\"Opposite Score First\",\r\n leagueTable:\"League Table\",\r\n firstHalfCorrectScore:\"FIRST HALF CORRECT SCORE\",\r\n firstTeamToScore:\"First Team to Score\",\r\n cornerHiLo:\"Corner Taken HiLo\",\r\n search:\"Search\",\r\n orselectbelow:\"SELECT 2 TEAMS\",\r\n yellowcards:\"Yellow Cards\",\r\n redcards:\"Red Cards\",\r\n subbedon:\"Subbed On\",\r\n subbedoff:\"Subbed Off\",\r\n firstHalf:\"First Half\",\r\n gpg:\"GPG\",\r\n enterteamname:\"Enter team name\",\r\n jan:\"Jan\",\r\n feb: \"Feb\",\r\n mar: \"Mar\",\r\n apr: \"Apr\",\r\n may: \"May\",\r\n jun: \"Jun\",\r\n jul:\"Jul\",\r\n aug: \"Aug\",\r\n sep: \"Sep\",\r\n oct: \"Oct\",\r\n nov: \"Nov\",\r\n dec: \"Dec\",\r\n january:'January',\r\n february:'February',\r\n march:'March',\r\n april:'April',\r\n may:'May',\r\n june:'June',\r\n july:'July',\r\n august:'August',\r\n september:'September',\r\n october:'October',\r\n november:'November',\r\n december:'December',\r\n sunday:'Sunday',\r\n monday:'Monday',\r\n tuesday:'Tuesday',\r\n wednesday:'Wednesday',\r\n thursday:'Thursday',\r\n friday:'Friday',\r\n saturday:'Saturday',\r\n nogoals:\"No Goals\",\r\n noupcominggames:'No upcoming games',\r\n koTime: \"KO Time\",\r\n homeWin: \"Home Win\",\r\n awayWin: \"Away Win\",\r\n count: \"Count\",\r\n stats: \"Stats\",\r\n oddOREven: \"Odd/Even\",\r\n fixtures: \"Fixtures\",\r\n results: \"Results\",\r\n goalLine: \"Goal Line\",\r\n htft: \"Half Time/Full Time\",\r\n lastUpdatedOn: \"Last updated on\",\r\n last16: \"Round of 16\",\r\n quarterFinals: \"Quarter finals\",\r\n semiFinals: \"Semi finals\",\r\n final: \"Final\",\r\n showAll: \"Show All\",\r\n showLess: \"Show Less\",\r\n noPastMeetings: \"No past meetings\",\r\n noPastMeetingsVenue:\"No past meetings at venue\",\r\n firstHalfGpg:\"First Half GPG\",\r\n scoreFirstAndWin:\"Score First and Win\",\r\n standingsl:\"L\",\r\n teams:\"Teams\",\r\n structure:\"Structure\",\r\n promotion:\"Promotion\",\r\n relegation:\"Relegation\",\r\n tieBreakRules:\"Tie-Break Rules\",\r\n penalties:\"Penalties\",\r\n team1:\"Team 1\",\r\n team2:\"Team 2\",\r\n firstLeg:\"1st Leg\",\r\n secondLeg:\"2nd Leg\",\r\n aggregate:\"Agg.\",\r\n group:\"Group\",\r\n winner:\"Winner\",\r\n runnerUp:\"Runner-Up\",\r\n corrections:\"Corrections\",\r\n points:\"Points\",\r\n replay:\"Replay\",\r\n extraTime:\"Extra Time\",\r\n noteLang:\"# Match played in neutral ground\",\r\n totalScore:\"Total Score\",\r\n handicapLinePastGame :\"Handicap lines may not be available for all past games\",\r\n goalMinutesPastGame:\"Goal minutes may not be available for all past games\",\r\n cornersDataPastGame:\"Corners data may not be available for all past games\",\r\n RankingBasisHandicap:\"Ranking Basis: 1) Full Win, 2) Half Win, 3) Draw, 4) Full Loss (low to high), 5) Half Loss (low to high)\",\r\n RankingBasisHandicapHAD:\"Ranking Basis: 1) Win, 2) Draws, 3) Loss (low to high)\",\r\n RankingBasisHiLo: \"Ranking Basis: 1) Average\",\r\n RankingBasisFHHiLo: \"Ranking Basis: 1) Average\",\r\n RankingBasisOddEven: \"Ranking Basis: 1) Odd\",\r\n RankingBasisFirstTeamtoScore: \"Ranking Basis: 1) Scored 1st\",\r\n RankingBasisCornersHiLo: \"Ranking Basis: 1) Average\",\r\n groupAll: \"Group All\",\r\n schedule:\"Schedule\",\r\n notFound:\"This page is temporarily unavailable. Please try again later.\",\r\n footylogicStatsCenter: \"Footylogic Stats Center\",\r\n tournament: \"Tournament\",\r\n matchList: \"Match List\",\r\n HtoH: \"Head to Head\",\r\n recentForm: \"Recent Form\",\r\n leagueTable: \"League table\",\r\n fixturesResults: \"Fixtures/Results\",\r\n topScorer: \"Top Scorer\",\r\n standings: \"Standings\",\r\n rules: \"Rules\",\r\n BMHead2Head: \"BMHead2Head\",\r\n playerAnalysis: \"Player Analysis\",\r\n playersStatistics: \"Players Statistics\",\r\n leagueStatistics: \"League Statistics\",\r\n teamStatistics: \"Team Statistics\",\r\n footylogicStatistics: \"Footylogic Statistics\",\r\n correctScoreTournament: \"Excludes neutral ground matches\",\r\n selectCountry:\"Select Country\",\r\n selectTournment :\"Select Tournament\",\r\n selectMatch:\"Select Match\",\r\n averageHilo:\"Average\"\r\n\r\n}\r\nexport const staticChe ={\r\n match:\"賽事\",\r\n tournament:\"聯賽/盃賽\",\r\n headTOHeadSearch:\"對賽搜尋\",\r\n teamSearch:\"Team Search\",\r\n SearchByTeamName:\"球隊名稱\",\r\n homeForm:\"主隊近況\",\r\n awayForm:\"客隊近況\",\r\n hadPredictor:\"勝負預測\",\r\n bestBet:\"投注啟示\",\r\n date:\"投注推介\",\r\n mcDate:\"日期\",\r\n faq:\"FAQ\",\r\n contactUs:\"Contact Us\",\r\n responsibleGamblingPolicy:\"Responsible Gambling Policy\",\r\n privacy:\"Privacy\",\r\n disclaimerUs:\"Disclaimer Us\",\r\n securityTips:\"Security Tips\",\r\n copyRightText:\"Copyright @ 2000-2020 The Hong Kong Jockey Club. All Rights Reserved.\",\r\n rules:\"賽制\",\r\n footerText:\"《數據中心》服務完全由Bettorlogic提供,所載資料只供參考。Bettorlogic將不對任何人士因使用《數據中心》所蒙受的任何損失或損害負上責任亦不會作出任何賠償。敬請留意使用IE11.0/Chrome/Firefox/Safari瀏覽會有較佳用戶體驗。 本頁使用的球隊排名是根據國際排名(國際賽)及Bettorlogic排名(指定盃賽)\",\r\n headToHead:\"對賽往績\",\r\n headToHead8RE:\"往績 (近8次對賽結果)\",\r\n playerAnalysis:\"球員啟示\",\r\n preview:\"賽前分析\",\r\n odds:\"賠率\",\r\n mcH2H:\"往績\",\r\n basicMode:\"進入基本版數據中心\",\r\n advancedMode:\"進入進階版數據中心\",\r\n summary:\"拆局\",\r\n recentForms:\"近況\",\r\n statistics:\"季績統計\",\r\n hadHandicap:\"主客和及讓球\",\r\n hiLoCorners:\"開出角球大細\", //hiLoCorners:\"入球大細及角球\"\r\n hiLoHandicap:\"HiLo & Handicap\",\r\n mcWinPredictor:\"勝負預測\",\r\n last8Encounters:\"近8次對賽結果\",\r\n pastEncounters:\"Past Encounters\",\r\n season:\"Season\",\r\n comp:\"Comp\",\r\n competition:\"賽事\",\r\n homeTeam:\"主隊\",\r\n pos:\"排名\",\r\n score:\"Score\",\r\n ht:\"HT\",\r\n scoreHt:\"賽果(半場)\",\r\n awayTeam:\"客隊\",\r\n had:\"主客和\",\r\n fHAD:\"半場主客和\",\r\n hdc:\"讓球\",\r\n fhdc:\"半場讓球\",\r\n hHAD:\"讓球主客和\",\r\n more:\"More\",\r\n home:\"主隊\",\r\n away:\"客隊\",\r\n draw:\"和\",\r\n won:\"勝\",\r\n lost:\"負\",\r\n homeAwayDraw:\"主客和\",\r\n firstHalfHAD:\"半場主客和\",\r\n firstHalfHandicap:\"半場讓球\",\r\n goalsPerGame:\"場均入球\",\r\n per:\"Per\",\r\n game:\"Game\",\r\n handicapHAD:\"讓球主客和\",\r\n fullTime:\"全場\",\r\n halfTime:\"半場\",\r\n cornerHILO:\"開出角球大細\",\r\n cornerFH:\"半場\",\r\n cornerFT: \"全場\",\r\n cornerHandicap:\"開出角球讓球\",\r\n haFu:\"半全場\",\r\n handicap:\"讓球\",\r\n handicaps:\"讓球\",\r\n correctScore:\"波膽\",\r\n csHafu:\"波膽/半全場\",\r\n ttg:\"總入球\",\r\n fhHiLo:\"半場入球大細\",\r\n hiLo:\"入球大細\",\r\n btts:\"Both Teams to Score\",\r\n bts:\"Both to Score\",\r\n tts:\"Teams To Score\",\r\n cornersHiLo:\" 開出角球大細\", //cornersHiLo:\"角球大細\"\r\n cornersHiLoHT:\"半場開出角球大細\",\r\n goal:\"Goal\",\r\n line: \"球數\",\r\n ftHiLo: \"FT HiLo\",\r\n htHiLo:\"HT HiLo\",\r\n cornersPerGame:\"場均所得角球\",\r\n cornersForPerGame: \"場均所得角球\",\r\n cornersAgainstPerGame: \"場均所失角球\",\r\n cornersFor: \"Corners For\",\r\n for:\"for\",\r\n cornersAgainst: \"場均所失\",\r\n totalGoals:\"總入球\",\r\n totalGoalsAnalysis:\"Total Goals Analysis\",\r\n total:\"Total\",\r\n goalTimes:\"入球時間\",\r\n firstToScore:\"First To Score\",\r\n corners:\"開出角球 \", //corners:\"角球大細\",\r\n recentResults:\"近8場賽績\",\r\n event:\"Event\",\r\n ha:\"主/客\",\r\n against:\"對手\",\r\n ftScore:\"賽果\",\r\n htScore:\"HT Score\",\r\n ftResult:\"勝負\",\r\n result:\"賽果\",\r\n win:\"勝\",\r\n loss:\"負\",\r\n all:\"所有\",\r\n team:\"球隊\",\r\n p:\"賽事\",\r\n w:\"勝\",\r\n wTable:\"贏\",\r\n d:\"和\",\r\n l:\"負\",\r\n highIcon:\"大\",\r\n lowIcon:\"細\",\r\n h:\"主\",\r\n lossIcon:\"輸\",\r\n hadWinIcon:\"勝\",\r\n hadLossIcon:\"負\",\r\n hdcWinIcon:\"贏\",\r\n hdcLossIcon:\"輸\",\r\n a:\"客\",\r\n gf:\"得球\",\r\n ga:\"失球\",\r\n gd:\"球差\",\r\n pts:\"積分\",\r\n form:\"近況(左為最新)\", \r\n rank:\"排名\",\r\n tournamentRank:\"名次\",\r\n draws:\"和\",\r\n wins:\"勝\",\r\n losses:\"Losses\",\r\n fullWin:\"全贏\",\r\n halfWin:\"贏半\",\r\n halfLoss:\"輸半\",\r\n fullLoss:\"全輸\",\r\n fullWins:\"Full Wins\",\r\n halfWins:\"Half Wins\",\r\n halfLosses:\"Half Losses\",\r\n fullLosses:\"Full Losses\",\r\n ww:\"贏贏\",\r\n dw:\"和贏\",\r\n lw:\"輸贏\",\r\n wd:\"贏和\",\r\n dd:\"和和\",\r\n ld:\"輸和\",\r\n wl:\"贏輸\",\r\n wbyl:\"勝負\",\r\n fhwbyl:\"半場勝負\",\r\n dl:\"和輸\",\r\n ll:\"輸輸\",\r\n avarageCorner:\"平均角球總數\",\r\n plus:'受讓\"+\"',\r\n minus: '讓球\"-\"',\r\n zero:\"0\",\r\n hi:\"大\",\r\n lo:\"細\",\r\n teamScore:\"Team Score\",\r\n odd:\"單\",\r\n even:\"雙\",\r\n scored1st:\"先入球\",\r\n conceded1st:\"先失球\",\r\n scoredFirst:\"先入球\",\r\n concededFirst:\"先失球\",\r\n scoredLast:\"Scored Last\",\r\n concededLast:\"Conceded Last\",\r\n seasonRankingTrend:\"Season Ranking Trend\",\r\n hdcTypeComparison:\"讓球比較\",\r\n handicapHADComparison:\"讓球主客和比較\",\r\n hadComparison:\"主客和比較\",\r\n hafuComparison:\"半全場比較\",\r\n ttsOEComparison:\"入球單雙比較\",\r\n ffsComparison:\"第一隊入球比較\",\r\n correctScoreComparision:\"波膽比較\",\r\n totalGoalsComparison:\"總入球比較\",\r\n temporarilyNoData:\"暫時未有資料提供\",\r\n player:\"球員\",\r\n teamPlayer:\"姓名\",\r\n started:\"正選\",\r\n missed:\"缺陣\",\r\n goalsFor:\"球隊入球\",\r\n cornersFor:\"\",\r\n with:\"正選\",\r\n wo:\"缺陣\",\r\n winPer:\"勝 (%)\",\r\n drawPer:\"和 (%)\",\r\n losePer:\"負 (%)\",\r\n goalsAgainst:\"球隊失球\",\r\n league:\"聯賽\",\r\n cup:\"盃賽\",\r\n international:\"國際賽\",\r\n standings:\"積分榜\",\r\n fixturesResults:\"賽程/賽果\",\r\n topScorer :\"神射手\",\r\n players:\"球員\",\r\n club:\"球會\",\r\n nationality:\"國籍\",\r\n goals:\"入球\",\r\n hKJCNo:\"神射手編號\",\r\n squad:\"編號\",\r\n position:\"位置\",\r\n age:\"年齡\",\r\n appearances:\"上陣次數\",\r\n assists:\"Assists\",\r\n generate:\"Generate\",\r\n type:\"賽事\",\r\n country:\"國家\",\r\n continent:\"Continent\",\r\n h2hTitle:\"輸入球隊名稱\",\r\n last8HomeResults:\"近8場主場成績\",\r\n last8HomeResultsLFL:\"近8場主場成績 (左為最新)\",\r\n last8AwayResultsLFL:\"近8場作客成績 (左為最新)\",\r\n latestFromLeft:\"Latest from left\",\r\n played:\"賽事\",\r\n recentEncounters:\"Recent Encounters\",\r\n firstHalfHiLo:\"FIRST HALF HiLo\",\r\n last8AwayResults:\"近8場作客成績\",\r\n seasonSummary:\"賽季統計\",\r\n high:\"High\",\r\n low:\"Low\",\r\n goalScoringTimeAnalysis:\"入球時間\",\r\n Recent8Homeleaguematches:\"Recent 8 Home league matches\",\r\n Recent8AwayLeagueMatches:\"Recent 8 Away league matches\",\r\n nextMatch:\"下仗秩序\",\r\n matchResult:\"Match Result\",\r\n past3Seasons:\"Past 3 Seasons\",\r\n point:\"積\",\r\n wprc:\"勝 (%)\",\r\n both:\"Both\",\r\n ft:\"FT\",\r\n average:\"平均總入球\",\r\n matches:\"賽事\",\r\n scoreFirst:\"先入球\",\r\n oppositScoreFirst:\"先失球\",\r\n leagueTable:\"積分榜\",\r\n firstHalfCorrectScore:\"半場波膽\",\r\n firstTeamToScore:\"第一隊入球\",\r\n cornerHiLo:\"Corner Taken HiLo\", //cornerHiLo:\"Corner HiLo\"\r\n firstHalf:\"First Half\",\r\n gpg:\"GPG\",\r\n search:\"搜尋\",\r\n orselectbelow:\"選擇球隊\",\r\n yellowcards:\"黃牌\",\r\n redcards:\"紅牌\",\r\n subbedon:\"後備入替\",\r\n subbedoff:\"被換出\",\r\n enterteamname:\"輸入球隊名稱\",\r\n jan:\"一月\",\r\n feb: \"二月\",\r\n mar: \"三月\",\r\n apr: \"四月\",\r\n may: \"五月\",\r\n jun: \"六月\",\r\n jul:\"七月\",\r\n aug: \"八月\",\r\n sep: \"九月\",\r\n oct: \"十月\",\r\n nov: \"十一月\",\r\n dec: \"十二月\",\r\n january:'一月',\r\n february:'二月',\r\n march:'三月',\r\n april:'四月',\r\n may:'五月',\r\n june:'六月',\r\n july:'七月',\r\n august:'八月',\r\n september:'九月',\r\n october:'十月',\r\n november:'十一月',\r\n december:'十二月',\r\n sunday:'星期日',\r\n monday:'星期一',\r\n tuesday:'星期二',\r\n wednesday:'星期三',\r\n thursday:'星期四',\r\n friday:'星期五',\r\n saturday:'星期六',\r\n nogoals:\"無入球\",\r\n noupcominggames:'No upcoming games',\r\n koTime: \"KO Time\",\r\n homeWin: \"主勝\",\r\n awayWin: \"客勝\",\r\n count: \"次數\",\r\n stats: \"數據\",\r\n oddOREven: \"入球單雙\",\r\n cornersComparision: \"開出角球大細比較\", //cornersComparision: \"角球大細比較\"\r\n fixtures: \"賽程\",\r\n results: \"賽果\",\r\n goalLine: \"球數\",\r\n htft: \"半全場\",\r\n lastUpdatedOn: \"資料更新日期\",\r\n last16: \"16強\",\r\n quarterFinals: \"8強\",\r\n semiFinals: \"4強\",\r\n final: \"決賽\",\r\n showAll: \"顯示所有資料\",\r\n showLess: \"顯示較少資料\",\r\n noPastMeetings: \"沒有交手紀錄\",\r\n noPastMeetingsVenue:\"沒有交手紀錄\",\r\n firstHalfGpg:\"半場場均入球\",\r\n \"1st\":\"一日\",\t\r\n\"2nd\":\"二日\",\t\r\n\"3rd\":\"三日\",\t\r\n\"4th\":\"四日\",\t\r\n\"5th\":\"五日\",\t\r\n\"6th\":\"六日\",\t\r\n\"7th\":\"七日\",\t\r\n\"8th\":\"八日\",\t\r\n\"9th\":\"九日\",\t\r\n\"10th\":\"十日\",\t\r\n\"11th\":\"十一日\",\t\r\n\"12th\":\"十二日\",\r\n\"13th\":\"十三日\",\t\r\n\"14th\":\"十四日\",\t\r\n\"15th\":\"十五日\",\r\n\"16th\":\"十六日\",\t\r\n\"17th\":\"十七日\",\t\r\n\"18th\":\"十八日\",\r\n\"19th\":\"十九日\",\r\n\"20th\":\"二十日\",\r\n\"21st\":\"二十一日\",\r\n\"22nd\":\"二十二日\",\r\n\"23rd\":\"二十三日\",\r\n\"24th\":\"二十四日\",\r\n\"25th\":\"二十五日\",\r\n\"26th\":\"二十六日\",\r\n\"27th\":\"二十七日\",\r\n\"28th\":\"二十八日\",\r\n\"29th\":\"二十九日\",\r\n\"30th\":\"三十日\",\r\n\"31st\":\"三十一日\",\r\nscoreFirstAndWin:\"先入球 / 勝負\",\r\nstandingsl:\"負\",\r\nteams:\"球隊\",\r\nstructure:\"版式\",\r\npromotion:\"升班隊數\",\r\nrelegation:\"降班隊數\",\r\ntieBreakRules:\"同分排名準則\",\r\npenalties:\"十二碼\",\r\nteam1:\"第一隊\",\r\nteam2:\"第二隊\",\r\nfirstLeg:\"首回合\",\r\nsecondLeg:\"次回合\",\r\naggregate:\"總比數\",\r\ngroup:\"組\",\r\nwinner:\"冠軍\",\r\nrunnerUp:\"第2名\",\r\ncorrections:\"修正\",\r\npoints:\"分\",\r\nreplay:\"重賽\",\r\nextraTime:\"加時\",\r\nnoteLang:\"# 賽事於中立場舉行\",\r\ntotalScore:\"總比數\",\r\nhandicapLinePastGame :\"部份過往賽事的讓球資料或未能提供\",\r\ngoalMinutesPastGame : \"部份過往賽事的入球資料或未能提供\",\r\ncornersDataPastGame:\"部份過往賽事的角球大細資料或未能提供\",\r\n\r\nCorners:\"Corners Taken \", //Corners:\"corners\"\r\ndata:\"data\",\r\nRankingBasisHandicap:\"排名準則: 1) 全贏, 2) 贏半, 3) 和, 4) 全輸 (由少至多), 5) 輸半 (由少至多)\",\r\nRankingBasisHandicapHAD: \"排名準則: 1) 勝, 2)和, 3) 負 (由少至多)\",\r\nRankingBasisHiLo: \"排名準則: 1) 場均\",\r\nRankingBasisFHHiLo: \"排名準則: 1) 場均\",\r\nRankingBasisOddEven: \"排名準則: 1) 單\",\r\nRankingBasisFirstTeamtoScore: \"排名準則: 1) 先入球\",\r\nRankingBasisCornersHiLo: \"排名準則: 1) 平均角球總數\",\r\ngroupAll:\"全部\",\r\nschedule:\"賽程\",\r\nnotFound:\" 此頁現正進行更新,請稍後再到訪。\",\r\nfootylogicStatsCenter: \"數據中心\",\r\ntournament: \"聯賽 / 盃賽\",\r\nmatchList: \"賽程表\",\r\nHtoH: \"對賽往績\",\r\nrecentForm: \"近況\",\r\nleagueTable: \"積分榜\",\r\nfixturesResults: \"賽程/賽果\",\r\ntopScorer: \"神射手\",\r\nrules: \"賽制\",\r\nBMHead2Head: \"BMHead2Head\",\r\nseasonalStats: \"季績比較\",\r\nplayerAnalysisF: \"球員啟示\",\r\nplayersStatistics: \"球員統計\",\r\nleagueStatistics: \"季績統計\",\r\nteamStatistics: \"季績統計\",\r\nfootylogicStatistics: \"Footylogic Statistics\",\r\ncorrectScoreTournament: \"不包括中立場賽事\",\r\nselectCountry:\"請選擇國家\",\r\nselectTournment :\"請選擇聯賽/盃賽\",\r\nselectMatch:\"請選擇賽事\",\r\naverageHilo:\"場均\"\r\n}","\r\nvar endPoint=\"\";\r\nvar updateOddsEndpoint=\"\";\r\n\r\n\r\nvar devEndPoint = \"http://localhost:50002/\";\r\n// \"https://dev.hkjcstatsapi.bettorlogic.com/\";\r\n\r\nvar qaEndPoint = \"https://qa.hkjcstatsapi.bettorlogic.com/\";\r\n\r\n\r\nvar uatEndPoint = \"https://uat-hkjc.beapi.footylogic.com/\"\r\n\r\nvar prodEndPoint = \"https://api.footylogic.com/\";\r\n\r\nvar auroraEndPoint=\"https://auroratesting.hkjcbeapi.footylogic.com/\"\r\n\r\nvar testingv2=\"https://testingv2-beapi.footylogic.com/\"\r\n\r\nvar actualv2=\"https://api.v2.footylogic.com/\"\r\n//var testEndPoint = \"https://test.hkjcstatsapi.bettorlogic.com/\"\r\nif(window.location.hostname.includes('qa')){\r\n\tendPoint = qaEndPoint;\r\n} \r\n// else if(window.location.hostname.includes('testing.footylogic.com')){\r\n// \tendPoint = testEndPoint;\r\n// }\r\nelse if(window.location.hostname.includes('localhost')){\r\n\t// endPoint = prodEndPoint;\r\n\tendPoint = devEndPoint;\r\n\r\n}\r\nelse if(window.location.hostname.includes('uat')){\r\n\tendPoint = uatEndPoint;\r\n}else if(window.location.hostname.includes('testingv2')){\r\n endPoint=testingv2;\r\n}else if(window.location.hostname.includes('desktop.v2')){\r\n\tendPoint = actualv2;\r\n}else if(window.location.hostname.includes('footylogic.com')){\r\n\tendPoint = prodEndPoint;\r\n}else if(window.location.hostname.includes('auroratesting')){\r\n\tendPoint = auroraEndPoint;\r\n}else if(window.location.hostname.includes('alpha')){\r\n\t\tendPoint = prodEndPoint;\r\n}else {\r\n\tendPoint = qaEndPoint;\r\n}\r\n\r\nexport const common = {\r\n\t\"getCountries\":endPoint+\"common/countries\",\r\n\t\"getCompetitions\":endPoint+\"common/competitions\",\r\n\t\"getEvents\":endPoint+\"common/events\",\r\n\t\"getSeasonslist\":endPoint+\"common/seasonslist\",\r\n\t\"getCategories\":endPoint+\"common/categories\",\r\n\t\"getConfigurations\":endPoint+\"status/Configurations\"\r\n} \r\n\r\nexport const matchCenter={\r\n\t\"getBanner\":endPoint+\"match/h2h/banner\",\r\n\t\"getWinBest\":endPoint+\"match/h2h/bestbet-winpredictor\",\r\n\t\"getH2hInfo\":endPoint+\"match/h2h/h2h-information\",\r\n\t\"getRecentformInformation\":endPoint+\"match/h2h/recentform-information\",\r\n\t\"getLasRresults\":endPoint+\"match/h2h/recentform-lastresults\",\r\n\t\"getTeamSearch\":endPoint+\"match/home/team-search\",\r\n\t\"getGames\":endPoint+\"match/home/games\",\r\n\t\"moreInfo\":endPoint+\"match/h2h/h2h-moreinfo\",\r\n\t\"getHTOHOutput\":endPoint+\"match/h2h/h2h-output\",\r\n\t\r\n}\r\n\r\nexport const seasonalStats = {\r\n\t\"getTablesList\":endPoint+\"match/seasonalstats/keyperformance-tableslist\",\r\n\t\"getKeyPerformanceInfo\":endPoint+\"match/seasonalstats/keyperformanceinfo\",\r\n\t\"getFilters\":endPoint+\"match/seasonalstats/dropdown-filters\",\r\n\t\"getKeyPerformanceTableInfo\":endPoint+\"match/seasonalstats/keyperformance-tableinfo\",\r\n}\r\n\r\nexport const playeranalysis = {\r\n\t\"getPlayersInfo\":endPoint+\"match/playeranalysis/players-info\"\r\n}\r\n\r\nexport const tournament = {\r\n\t\"getStandings\":endPoint+\"tournament/standings\",\r\n\t\"getTopScorer\":endPoint+\"tournament/topscorer\",\r\n\t\"getTeamStandings\":endPoint+'team/standings',\r\n\t\"getPlayers\":endPoint+\"team/players\",\r\n\t\"getFixturesResults\":endPoint+\"tournament/fixtures-results\",\r\n\t\"getTeamFixturesResults\":endPoint+\"team/fixtures-results\",\r\n\t\"getTournamentCountries\":endPoint+\"tournament/countries\",\r\n\t\"fixtureResultsFilters\":endPoint+\"team/fixtures-results/dropdown-filters\",\r\n\t\"getTournamentCompetitions\":endPoint+\"tournament/competitions\",\r\n\t'getSeasons': endPoint + \"tournament/fixtures-seasons\",\r\n\t\"getRules\": endPoint + \"tournament/rules\",\r\n\t \"tourOptions\":endPoint+\"tournament/options\"\r\n}\r\n\r\nexport const summary = {\r\n\tgetLastResults : endPoint+\"match/summary/recentEncounters\",\r\n\tgetMarketsInfo : endPoint+\"match/summary/markets-info\",\r\n\tgetResults : endPoint+\"match/summary/last-results\"\r\n}\r\n\r\nexport const htohsearch = {\r\n\th2hSearchTeams : endPoint+\"h2hsearch/teams\",\r\n\th2hSearchEventInfo: endPoint+\"h2hsearch/event-info\"\r\n}\r\n\r\nexport const recentforms = {\r\n\t\"getRecentResultsEvent\": endPoint+\"match/recentform/recentresults-event\",\r\n\t\"getRecentResultsTeam\": endPoint+\"match/recentform/recentresults-team\"\r\n}\r\n\r\nexport const statistics = {\r\n\t getMarketsInfo : endPoint+\"match/statistics/markets-info\"\r\n}\r\n\r\nexport const bmhead2head = {\r\n\t\"getEventInfo\": endPoint+\"match/h2h/event-information\",\r\n\t\"getTeamInfo\": endPoint+\"match/h2h/team-information\",\r\n\t\"pastSeasonInfo\": endPoint+\"match/h2h/pastseasons-info\"\r\n}\r\n\r\nexport const imageUrls={\r\n\tteam:window.location.protocol+\"//images.footylogic.com/teams/\",\r\n\tplayer:window.location.protocol+\"//images.footylogic.com/players/\",\r\n\tcountry:window.location.protocol+\"//images.footylogic.com/countries/\"\r\n}","import React from 'react'\r\nimport { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { languageId, defaultH2HFilterId } from './sharedfiles/constants'\r\nimport { getBanner } from './layouts/matchSlice'\r\nimport { setTabInfo, getTeamData } from './components/playeranalysis/PlayerAnalysisSlice';\r\nimport { setSelectedOption } from './components/hadhandicaptab/HADHandicapTabSlice';\r\nimport { common } from './sharedfiles/EndpointConfig';\r\nimport { apiCaller } from './api/apiCaller';\r\nexport const AppSlice = createSlice({\r\n name: 'app',\r\n initialState: {\r\n selectedMainTab: 'match',\r\n eventInfo: {\r\n countryId: '',\r\n competitionId: '',\r\n eventId: ''\r\n },\r\n tempEventInfo: {\r\n countryId: '',\r\n competitionId: '',\r\n eventId: ''\r\n },\r\n loader: true,\r\n staticKeyWords: {},\r\n languageId: languageId,\r\n configurations: {},\r\n disableLeagues: [],\r\n isEdisplay: false,\r\n metaDataInfo:{\r\n metaTitle:'',\r\n metaDescription:'',\r\n url:''\r\n },\r\n metaDataURL : 'https://statscentre.footylogic.com',\r\n intialLoad:false\r\n },\r\n\r\n reducers: {\r\n setMainTab: (state, action) => {\r\n state.selectedMainTab = action.payload;\r\n },\r\n setEventId: (state, action) => {\r\n var data = {\r\n countryId: action.payload.countryId,\r\n competitionId: action.payload.competitionId,\r\n eventId: action.payload.eventId\r\n }\r\n state.eventInfo = data\r\n if (action.payload.countryId) {\r\n state.tempEventInfo = data\r\n }\r\n // state.eventId = action.payload?action.payload:'';\r\n },\r\n setTempCountryInfo: (state, action) => {\r\n state.tempEventInfo.countryId = action.payload\r\n },\r\n setLanguage: (state, action) => {\r\n state.languageId = action.payload;\r\n },\r\n setTempCompetitionInfo: (state, action) => {\r\n state.tempEventInfo.competitionId = action.payload\r\n },\r\n setLoader: (state, action) => {\r\n state.loader = action.payload;\r\n },\r\n setStaticKeyWords: (state, action) => {\r\n state.staticKeyWords = action.payload;\r\n },\r\n setConfigurations: (state, action) => {\r\n state.configurations = action.payload;\r\n },\r\n setIntialLoader: (state, action) => {\r\n state.intialLoad = action.payload;\r\n },\r\n setDisableLeagues: (state, action) => {\r\n const { disable, tab } = action.payload;\r\n if (disable) {\r\n if (tab === \"STATS\") {\r\n state.disableLeagues = state.configurations.seasonalStats;\r\n } else if (tab === \"PLAYERS\") {\r\n state.disableLeagues = state.configurations.playerAnalysis;\r\n }\r\n else if (tab === \"SUMMARY\") {\r\n state.disableLeagues = state.configurations.summary;\r\n }\r\n else if (tab === \"STATISTICS\") {\r\n state.disableLeagues = state.configurations.bmStatistics;\r\n }\r\n else if (tab === \"playerTab\") {\r\n state.disableLeagues = state.configurations.teamPlayer;\r\n }else if(tab==\"TopScorer\"){\r\n state.disableLeagues = state.configurations.topScorer\r\n }\r\n else {\r\n state.disableLeagues = state.configurations.seasonalStats;\r\n }\r\n } else {\r\n state.disableLeagues = [];\r\n }\r\n\r\n },\r\n setDisplayMode: (state, action) => {\r\n if (action.payload)\r\n document.body.classList.add('eDisplay');\r\n else\r\n document.body.classList.remove('eDisplay');\r\n state.isEdisplay = action.payload;\r\n }, \r\n setMetaData:(state,action)=>{\r\n const metaTitle = document.querySelector('title');\r\n const ogTitle = document.querySelector('meta[property=\"og:title\"]');\r\n if(action.payload.title){ \r\n state.metaDataInfo.metaTitle=state.staticKeyWords[action.payload.metaTitle]; \r\n metaTitle.innerText = state.staticKeyWords[action.payload.metaTitle];\r\n ogTitle.content = state.staticKeyWords[action.payload.metaTitle];\r\n }else{\r\n state.metaDataInfo.metaTitle=action.payload.metaTitle;\r\n metaTitle.innerText = action.payload.metaTitle;\r\n ogTitle.content = action.payload.metaTitle;\r\n }\r\n state.metaDataInfo.metaDescription=state.staticKeyWords[action.payload.metaDescription];\r\n const metaDescription = document.querySelector('meta[property=\"description\"]');\r\n metaDescription.content = state.staticKeyWords[action.payload.metaDescription];\r\n const ogDescription = document.querySelector('meta[property=\"og:description\"]');\r\n ogDescription.content = state.staticKeyWords[action.payload.metaDescription];\r\n \r\n \r\n }\r\n },\r\n \r\n});\r\n\r\nexport const {setMetaData, setMainTab, setEventId, setTempCountryInfo, setTempCompetitionInfo, setStaticKeyWords, setLoader, setLanguage,\r\n setConfigurations, setDisableLeagues, setDisplayMode,setIntialLoader} = AppSlice.actions;\r\n\r\nexport const getEvenId = (eventInfo, from, props, bannerData, tabInfo) => dispatch => {\r\n let modeValue = navigator.cookieEnabled ? localStorage.getItem(\"modeType\") : null;\r\n\r\n\r\n dispatch(setSelectedOption(defaultH2HFilterId));\r\n dispatch(setEventId(eventInfo));\r\n if (from == 'fromdropdown') {\r\n dispatch (getBanner(eventInfo.eventId, props.languageId))\r\n var path = window.location.pathname;\r\n\r\n path = path.split(\"/\");\r\n console.log(path)\r\n path[3] = eventInfo.countryId;\r\n path[4] = eventInfo.competitionId;\r\n path[5] = eventInfo.eventId;\r\n \r\n if (window.location.pathname.includes('playeranalysis')) {\r\n // path[8] = (path[7] == 'home') ? eventInfo.homeTeamId : eventInfo.awayTeamId;\r\n // dispatch(setTabInfo({\r\n // mainTab: path[7],\r\n // teamId:(path[7] == 'home') ? eventInfo.homeTeamId : eventInfo.awayTeamId,\r\n // subTab: tabInfo.subTab\r\n // }))\r\n // path = path.join(\"/\")\r\n // props.history.push(path)\r\n // dispatch(getTeamData(tabInfo));\r\n return false;\r\n } else {\r\n path = path.join(\"/\")\r\n props.history.push(path)\r\n }\r\n\r\n }\r\n else if (modeValue && modeValue !== undefined && modeValue === \"BASIC\") {\r\n props.history.push('/' + props.match.params.lang + '/matchcenter/' + eventInfo.countryId + '/' + eventInfo.competitionId + '/' + eventInfo.eventId + '/bmrecentforms');\r\n } else if (modeValue && modeValue !== undefined && modeValue === \"ADVANCE\") {\r\n props.history.push('/' + props.match.params.lang + '/matchcenter/' + eventInfo.countryId + '/' + eventInfo.competitionId + '/' + eventInfo.eventId + '/htoh/recentform');\r\n }\r\n else {\r\n props.history.push('/' + props.match.params.lang + '/matchcenter/' + eventInfo.countryId + '/' + eventInfo.competitionId + '/' + eventInfo.eventId + '/bmrecentforms');\r\n }\r\n}\r\n\r\n\r\n\r\nexport const resetEventId = (text, toggleMode) => dispatch => {\r\n dispatch(setEventId({\r\n countryId: '',\r\n competitionId: '',\r\n eventId: ''\r\n }))\r\n dispatch(setMainTab(text));\r\n dispatch(toggleMode(true));\r\n\r\n}\r\n\r\nexport const reSetMainTab = () => dispatch => {\r\n var path = window.location.pathname;\r\n var partialUrl = path.includes('tournament') ? 'tournament' : path.includes('htohsearch') ? 'htohsearch' : 'match';\r\n dispatch(setMainTab(partialUrl));\r\n\r\n}\r\n\r\nexport const navigateToTournament = (competitionId, props, filterBy, from) => dispatch => {\r\n if ((filterBy == 2 && from == 'tournament') || (filterBy == 1 && from == 'date')) {\r\n props.history.push('/' + props.match.params.lang + \"/tournament/league\" + \"/\" + competitionId + \"/standings\");\r\n }\r\n}\r\n\r\nexport function checkEdisplay() {\r\n let isDisplay = false;\r\n // if( (window.screen.width >1024 && window.screen.width <1360)){\r\n // isDisplay=true;\r\n // }\r\n return isDisplay;\r\n}\r\n\r\nexport const getConfigurations = () => dispatch => {\r\n dispatch(setIntialLoader(true))\r\n var url = common.getConfigurations;\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response.data !== null && response.data){\r\n dispatch(setIntialLoader(false))\r\n dispatch(setConfigurations(response.data.configurations));\r\n }else{\r\n dispatch(setConfigurations({}));\r\n }\r\n \r\n });\r\n \r\n }\r\n\r\nexport const metaData = (name,title) => dispatch => {\r\n var data ={\r\n metaTitle:'',\r\n metaDescription:'',\r\n title:true,\r\n }\r\n var myObj = {\r\n 'League':\r\n {\r\n \"title\": \"footylogicStatsCenter\",\r\n \"description\": 'tournament',\r\n },\r\n 'Match': {\r\n \"title\": \"footylogicStatsCenter\",\r\n \"description\": \"matchList\",\r\n },\r\n 'HtoH':\r\n {\r\n \"description\": \"HtoH\",\r\n },\r\n\r\n 'RecentFormTab':\r\n {\r\n \"description\": \"recentForm\",\r\n },\r\n 'TournamentLeague':\r\n {\r\n \"description\": \"leagueTable\",\r\n },\r\n 'FixturesResults':\r\n {\r\n \"description\": \"fixturesResults\",\r\n },\r\n 'TopScorer':\r\n {\r\n \"description\": \"topScorer\",\r\n },\r\n 'Rules':\r\n {\r\n \"description\": \"rules\",\r\n },\r\n 'SeasonalStats':\r\n {\r\n \"description\": \"seasonalStats\",\r\n },\r\n 'playerAnalysis': {\r\n \"description\": \"playerAnalysis\",\r\n },\r\n 'TeamName':\r\n {\r\n \"description\": \"leagueTable\",\r\n },\r\n 'Players':\r\n {\r\n \"description\": \"playersStatistics\",\r\n },\r\n 'TournamentSeasonalStats':\r\n {\r\n \"description\": \"leagueStatistics\",\r\n },\r\n 'FixturesResult':\r\n {\r\n \"description\": \"fixturesResults\",\r\n },\r\n 'TeamSeasonalStats':\r\n {\r\n \"description\": \"teamStatistics\",\r\n },\r\n 'default':\r\n {\r\n \"title\":\"footylogicStatsCenter\",\r\n \"description\": \"footylogicStatistics\",\r\n },\r\n }\r\n data.metaDescription = myObj[name]?.description;\r\n if (title != null && title != undefined) {\r\n data.metaTitle = title;\r\n data.title=false;\r\n dispatch(setMetaData(data));\r\n }\r\n else {\r\n data.metaTitle = myObj[name]?.title;\r\n data.title=true;\r\n dispatch(setMetaData(data));\r\n }\r\n}\r\n\r\nexport default AppSlice.reducer;\r\n","export async function handleResponse(response) {\r\n if (response.ok) return response.json();\r\n if (response.status === 400) {\r\n const error = await response.text();\r\n // throw new Error(error);\r\n console.error(\"API call failed. \" + error);\r\n }\r\n // throw new Error(\"Network response was not ok.\");\r\n}\r\n\r\nexport function handleError(error) {\r\n console.error(\"API call failed. \" + error);\r\n // throw error;\r\n}","import { handleResponse, handleError } from \"./apiUtil\";\r\nexport function apiCaller(url, method, params) {\r\n // const dispatch = useDispatch();\r\n var options = {};\r\n options.method = method;\r\n var headers= {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n var query = '';\r\n if (params && Object.keys(params).length > 0) {\r\n // params.languageId = configurations.languageId;\r\n // params.channelId = 1;\r\n // if(params.regionId){\r\n // params.regionId = configurations.regionId;\r\n // }\r\n if (method == 'POST') {\r\n options.headers = headers;\r\n options.body = JSON.stringify(params);\r\n }\r\n else {\r\n query = Object.keys(params)\r\n .map(k => encodeURIComponent(k) + '=' + encodeURIComponent(params[k]))\r\n .join('&');\r\n }\r\n }\r\n return new Promise((resolve, reject) => {\r\n if (method === 'POST') {\r\n fetch(url, options)\r\n .then(response => {\r\n if (response.status === 200) {\r\n response.json().then(json => {\r\n resolve(json);\r\n })\r\n }\r\n if (response.status === 500) {\r\n window.location.href = window.location.origin+\"/error\"\r\n \r\n }\r\n if (response.status === 404) {\r\n window.location.href = window.location.origin+\"/error\"\r\n \r\n }\r\n })\r\n .catch(handleError)\r\n }\r\n else {\r\n fetch(url + query)\r\n .then(response => {\r\n if (response.status === 200) {\r\n response.json().then(json => {\r\n resolve(json);\r\n })\r\n }\r\n if (response.status === 500) {\r\n window.location.href = window.location.origin+\"/error\"\r\n \r\n }\r\n if (response.status === 404) {\r\n window.location.href = window.location.origin+\"/error\"\r\n \r\n }\r\n })\r\n .catch(handleError)\r\n }\r\n \r\n });\r\n \r\n \r\n}","import { createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../src/api/apiCaller';\r\nimport {channelId,defaultH2HFilterId} from '../../src/sharedfiles/constants'\r\nimport { common, htohsearch, matchCenter, tournament } from '../sharedfiles/EndpointConfig';\r\nimport { setTabData } from '../components/playeranalysis/PlayerAnalysisSlice'\r\nimport { navigateToLeague, selectCountry } from '../components/tournament/TournamentSlice';\r\nimport { setEventInfoCompetition, setEventInfoEvent } from '../components/htohsearch/HtoHSearchSlice';\r\nimport { setLoader, getEvenId,matchChange } from '../AppSlice';\r\nimport { fetchh2hlastencouters, setH2HLastEncounters } from '../components/htohoutput/htohOutputSlice';\r\nimport { setSelectedOption } from '../components/hadhandicaptab/HADHandicapTabSlice';\r\n\r\nexport const MatchSlice = createSlice({\r\n name: 'match',\r\n initialState: {\r\n bannerData:{},\r\n countryList:[],\r\n competitionsList:[],\r\n eventList:[],\r\n homeTeamName:\"\",\r\n awayTeamName:\"\",\r\n homeTeamId:null,\r\n awayTeamId:null,\r\n allCountries:{},\r\n // allCountries:{},\r\n isAdvancedMode:true,\r\n winPredictorData:{},\r\n bestBetData:{},\r\n lastEncountersOptions:[],\r\n allSeasons:[],\r\n homePlayerAnalysis: '',\r\n awayPlayerAnalysis: ''\r\n \r\n },\r\n reducers: {\r\n setBanner: (state, action) => {\r\n state.bannerData = action.payload;\r\n state.homeTeamName = action.payload.homeTeamName;\r\n state.awayTeamName = action.payload.awayTeamName;\r\n state.homeTeamId = action.payload.homeTeamId;\r\n state.awayTeamId = action.payload.awayTeamId;\r\n state.homePlayerAnalysis =action.payload.homePlayerAnalysis;\r\n state.awayPlayerAnalysis = action.payload.awayPlayerAnalysis\r\n },\r\n setWinBest:(state, action)=>{\r\n state.winPredictorData = action.payload.winData;\r\n state.bestBetData = action.payload.bestData;\r\n state.lastEncountersOptions = action.payload.lastEncountersOptions;\r\n },\r\n setEventId:(state,action)=>{\r\n state.eventId = action.payload?action.payload:57332;\r\n if(navigator.cookieEnabled){\r\n localStorage.setItem('eventId',state.eventId) \r\n } \r\n },\r\n setCountryList: (state, action) => {\r\n state.countryList = action.payload;\r\n },\r\n setFormattedCountries: (state, action) => {\r\n state.allCountries = action.payload;\r\n },\r\n setCompetitionsList: (state, action) => {\r\n state.competitionsList = action.payload;\r\n },\r\n setEventList: (state, action) => {\r\n state.eventList = action.payload;\r\n },\r\n toggleMode:(state,action)=>{\r\n // state.isAdvancedMode = !state.isAdvancedMode;\r\n state.isAdvancedMode = action.payload;\r\n },\r\n setSeasons:(state, action)=>{\r\n state.allSeasons = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const { setBanner, setCountryList, setCompetitionsList, setEventList, setEventId, setWinBest,setFormattedCountries, toggleMode, setSeasons } = MatchSlice.actions;\r\nexport const getBanner = (eventId,languageId) => dispatch => {\r\n dispatch(setBanner({}));\r\n var url = matchCenter.getBanner+'?languageId='+languageId+'&channelId='+channelId+'&eventId='+eventId;\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response.data !== null && response.data){\r\n \r\n dispatch(setBanner(response.data));\r\n \r\n }else{\r\n dispatch(setBanner({}));\r\n }\r\n \r\n });\r\n \r\n }\r\n \r\n\r\nexport const highlightTab = (tabname) => dispatch => {\r\n return window.location.pathname.includes(tabname)?'active':'';\r\n\r\n}\r\n\r\n\r\n\r\nexport const getCountryList = (params,languageId,props) => dispatch => {\r\n dispatch(setEventList([]))\r\n dispatch(setCompetitionsList([]))\r\n var url = common.getCountries+\"?channelId=\"+channelId+\"&languageId=\"+languageId;\r\n apiCaller(url,'GET',{})\r\n .then((response)=>{\r\n if(response.data!==null && response.data){\r\n dispatch(setCountryList(response.data))\r\n // dispatch(formCoutries(response.data))\r\n dispatch(getCompetitionsList(params.countryId,params.competitionId,\"\",languageId,'','',props))\r\n }\r\n })\r\n}\r\n\r\nexport const getWinBest = (eventId,languageId,from) => dispatch => {\r\n var url = matchCenter.getWinBest+'?languageId='+languageId+'&channelId='+channelId+'&eventId='+eventId;\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response.data !== null && response.data){\r\n var payloadData = {winData:{},bestData:{},lastEncountersOptions:[]}\r\n if(response.data.winPredictor){\r\n payloadData.winData = response.data.winPredictor;\r\n }\r\n if(response.data.bestBet){\r\n payloadData.bestData = response.data.bestBet;\r\n }\r\n if(response.data.options && response.data.options.length>0){\r\n payloadData.lastEncountersOptions = response.data.options;\r\n }\r\n dispatch(setWinBest(payloadData))\r\n if(from=='htohsearch'){\r\n dispatch(fetchh2hlastencouters({\r\n optionId:response.data.options[1].id,\r\n eventId:eventId,\r\n languageId:languageId}));\r\n }\r\n }\r\n //dispatch(setBanner(response.data));\r\n });\r\n\r\n}\r\n\r\n// export const formCoutries = (data) => dispatch => {\r\n // if(data && data.length){\r\n // var obj = {};\r\n // for(var i=0;i dispatch => {\r\n dispatch(setSelectedOption(defaultH2HFilterId));\r\n dispatch(setH2HLastEncounters({}));\r\n dispatch(setFormattedCountries({}));\r\n dispatch(setCompetitionsList([]));\r\n dispatch(setEventList([]));\r\n dispatch(setLoader(true));\r\n var categoryId = text==='league'?1:text==='cup'?2:text==='international'?3:4;\r\n // if(typeId!='International'){\r\n var url;\r\n if(typeId!='2'){\r\n // if(from === 'tournament' || from==='search'){\r\n if(from === 'tournament'){\r\n // url = tournament.getTournamentCompetitions+\"?countryId=\"+countryId+\"&languageId=\"+languageId+\"&channelId=\"+channelId+\"&categoryId=\"+categoryId;\r\n url = tournament.getTournamentCompetitions+\"?languageId=\"+languageId+\"&channelId=\"+channelId+\"&categoryId=\"+categoryId;\r\n }else if(from === \"search\"){\r\n url = common.getCompetitions+\"?countryId=\"+countryId+\"&languageId=\"+languageId+\"&channelId=\"+channelId+\"&tabId=2\";\r\n } else {\r\n url = common.getCompetitions+\"?countryId=\"+countryId+\"&languageId=\"+languageId+\"&channelId=\"+channelId+\"&tabId=1\";\r\n }\r\n apiCaller(url,'GET',{})\r\n .then((response)=>{\r\n if(response.data!==null && response.data){\r\n if(from=='tournament'){\r\n if(response.data && response.data.length){\r\n var obj = {};\r\n for(var i=0;i dispatch => {\r\n var url ;\r\n dispatch(setSelectedOption(defaultH2HFilterId));\r\n dispatch(setH2HLastEncounters({}));\r\n if(from === 'search'){\r\n //dispatch(setTeam_One(''))\r\n // dispatch(setTeam_Two(''))\r\n dispatch(setEventList([]));\r\n // dispatch(setLoader(true));\r\n // if(typeId=='Club'){\r\n \r\n if(typeId=='1'){\r\n url = htohsearch.h2hSearchTeams+\"?languageId=\"+languageId+\"&competitionId=\"+competitionId+\"&categoryId=1&countryId=\"+countryId+\"&channelId=\"+channelId;\r\n }else{\r\n url = htohsearch.h2hSearchTeams+\"?languageId=\"+languageId+\"&categoryId=2\"+\"&countryId=\"+countryId+\"&channelId=\"+channelId;\r\n }\r\n \r\n // var url = htohsearch.h2hSearchTeams+\"?languageId=\"+languageId+\"&competitionId=\"+competitionId+\"&categoryId=\"+(typeId=='Club'?1:2);\r\n }else{\r\n url = common.getEvents+\"?competitionId=\"+competitionId+\"&languageId=\"+languageId;;\r\n }\r\n apiCaller(url,'GET',{})\r\n .then((response)=>{\r\n if(response.data!==null && response.data){\r\n dispatch(setEventList(response.data))\r\n // dispatch(setLoader(false));\r\n if(from==='search'){\r\n dispatch(setEventInfoEvent(response.data[0].eventId))\r\n }\r\n if(props && (props.match.params.countryId!=countryId || props.match.params.competitionId!=competitionId)){\r\n if(from!=='search' || from!=='tournament'){\r\n dispatch(getEvenId({\r\n countryId:countryId,\r\n competitionId:competitionId,\r\n eventId:response.data[0].eventId\r\n },'fromdropdown',props,props.bannerData, props.tabInfo))\r\n }\r\n }\r\n }else{\r\n // dispatch(setLoader(false));\r\n dispatch(setEventList([{eventId:'',eventName:props.staticKeyWords.noupcominggames}]));\r\n }\r\n })\r\n}\r\n\r\nexport const navigateTo = (eventInfo,text,props,homeTeamId) => dispatch => {\r\n var partialUrl = eventInfo.countryId+'/'+eventInfo.competitionId+'/'+eventInfo.eventId;\r\n var lang = 'en';\r\n if(props.match && props.match.params.lang && props.match.params.lang.length>0){\r\n lang=props.match.params.lang;\r\n }\r\n if( text === 'h2h'){\r\n props.history.push('/'+lang+'/matchcenter/'+partialUrl+'/htoh/recentform')\r\n }\r\n else if(text === 'seasonalstats'){\r\n props.history.push('/'+lang+'/matchcenter/'+partialUrl+'/seasonalstats/standings')\r\n }else if(text === 'playeranalysis'){\r\n props.history.push('/'+lang+'/matchcenter/'+partialUrl+'/playeranalysis/home/'+homeTeamId)\r\n dispatch(setTabData({\r\n mainTab: 'home',\r\n teamId: homeTeamId,\r\n subTab:'had',\r\n seasonId:(props.allSeasons && props.allSeasons.length)?props.allSeasons[0].id:'4'\r\n },props.history,'',props.languageId))\r\n }else if(text === 'summary'){\r\n props.history.push('/'+lang+'/matchcenter/'+partialUrl+'/summary')\r\n }else if(text === 'bmrecentforms'){\r\n props.history.push('/'+lang+'/matchcenter/'+partialUrl+'/bmrecentforms')\r\n }else if(text === 'bmstatistics'){\r\n props.history.push('/'+lang+'/matchcenter/'+partialUrl+'/bmstatistics')\r\n }else if(text === 'bmhead2head'){\r\n props.history.push('/'+lang+'/matchcenter/'+partialUrl+'/bmhead2head')\r\n }\r\n}\r\nexport const getToggleMode = (eventInfo,isAdvancedMode,prop) => dispatch => {\r\n if(navigator.cookieEnabled){\r\n localStorage.setItem(\"modeType\",isAdvancedMode?\"BASIC\":\"ADVANCE\");\r\n }\r\n var lang = 'en';\r\n if(prop.match && prop.match.params.lang && prop.match.params.lang.length>0){\r\n lang=prop.match.params.lang;\r\n }\r\n var partialUrl = '/'+lang+'/matchcenter/'+eventInfo.countryId+'/'+eventInfo.competitionId+'/'+eventInfo.eventId;\r\n\r\n if(isAdvancedMode){\r\n if(prop.location.pathname.includes('head2head')){\r\n partialUrl = partialUrl+'/summary';\r\n }else if(prop.location.pathname.includes('recentform')){\r\n partialUrl = partialUrl+'/bmrecentforms';\r\n }else if(prop.location.pathname.includes('/seasonalstats/standings')){\r\n partialUrl = partialUrl+'/bmstatistics';\r\n }else{\r\n partialUrl = partialUrl+'/summary';\r\n }\r\n \r\n }else{\r\n if(prop.location.pathname.includes('summary')){\r\n partialUrl = partialUrl+'/htoh/head2head'\r\n }else if(prop.location.pathname.includes('bmrecentforms')){\r\n partialUrl = partialUrl+'/htoh/recentform';\r\n }else if(prop.location.pathname.includes('/bmstats')){\r\n partialUrl = partialUrl+'/seasonalstats/standings';\r\n }else{\r\n partialUrl = partialUrl+'/htoh/head2head'\r\n }\r\n \r\n }\r\n \r\n \r\n prop.history.push(partialUrl);\r\n dispatch(toggleMode(!isAdvancedMode));\r\n}\r\n\r\nexport const getSeasonslist =(languageId,tabId,competitionId) => dispatch => {\r\n var url=\"\";\r\n if(competitionId)\r\n url = common.getSeasonslist+\"?channelId=\"+channelId+\"&languageId=\"+languageId+\"&tabId=\"+tabId+\"&competitionId=\"+competitionId;\r\n else\r\n url = common.getSeasonslist+\"?channelId=\"+channelId+\"&languageId=\"+languageId+\"&tabId=\"+tabId;\r\n apiCaller(url,'GET',{})\r\n .then((response)=>{\r\n if(response.data && response.data.length){\r\n dispatch(setSeasons(response.data));\r\n }\r\n })\r\n}\r\n\r\nexport const assignCompetitions = (category,props) => dispatch => {\r\n if(category.competitions.length>0){\r\n dispatch(setCompetitionsList(category.competitions))\r\n }else{\r\n if(props){\r\n dispatch(navigateToLeague({competitionId:category.categoryId},props))\r\n }\r\n }\r\n}\r\n\r\nexport default MatchSlice.reducer;","import { createSlice } from '@reduxjs/toolkit';\r\nimport { engLangId } from '../../sharedfiles/constants';\r\n// import { apiCaller } from '../../api/apiCaller';\r\n// import { matchCenter } from '../../sharedfiles/EndpointConfig';\r\n// import { languageId, channelId} from '../../sharedfiles/constants'\r\n\r\nexport const TournamentLeagueSlice = createSlice({\r\n name: 'tournamentleague',\r\n initialState: {\r\n selectedButton: 'statistics',\r\n comepetitionAndDate: {}\r\n },\r\n reducers: {\r\n setSelectButton: (state, action)=>{\r\n state.selectedButton = action.payload;\r\n },\r\n setComepetitionAndDate: (state, action)=>{\r\n state.comepetitionAndDate = action.payload;\r\n }\r\n },\r\n});\r\n\r\nexport const { setSelectButton,setComepetitionAndDate } = TournamentLeagueSlice.actions;\r\n\r\nexport const navigateTo=(text,props,history)=>dispatch=>{ \r\n var path = window.location.pathname.split(\"/\");\r\n dispatch(setSelectButton(text));\r\n // if(props.teamType=='team'){\r\n // if(text=='statistics'){\r\n // history.push(\"/tournament/league/\"+props.leagueId+\"/team/\"+props.teamId+\"/\"+(text+\"/standings\"))\r\n // }else{\r\n // history.push(\"/tournament/league/\"+props.leagueId+\"/team/\"+props.teamId+\"/\"+text)\r\n // }\r\n // }else{\r\n // history.push(\"/tournament/league/\"+props.leagueId+\"/\"+(text != \"statistics\"?text:text+\"/standings\"))\r\n // }\r\n var lang=\"en\";\r\n if(props && props.lang && props.lang.length>0){\r\n lang = props.lang\r\n }\r\n if(path.includes('team')){\r\n if(text=='statistics'){\r\n history.push(\"/\"+lang+\"/tournament/\"+props.leagueType+\"/\"+props.leagueId+\"/team/\"+path[6]+\"/\"+(text+\"/standings\"))\r\n }else{\r\n // if(text=='standings'){\r\n // history.push(\"/\"+lang+\"/tournament/\"+props.leagueType+\"/\"+props.leagueId+\"/\"+text)\r\n // } else{\r\n history.push(\"/\"+lang+\"/tournament/\"+props.leagueType+\"/\"+props.leagueId+\"/team/\"+path[6]+\"/\"+text)\r\n //}\r\n }\r\n }else{\r\n history.push(\"/\"+lang+\"/tournament/\"+props.leagueType+\"/\"+props.leagueId+\"/\"+(text != \"statistics\"?text:text+\"/standings\"))\r\n }\r\n}\r\nexport const navigateToTeamFixtureResults=(history,leagueId,teamId,languageId)=>dispatch=>{\r\n var lang=languageId===engLangId?\"en\":\"zh\";\r\n dispatch(setSelectButton(\"fixturesresults\"));\r\n history.push(\"/\"+lang+\"/tournament/league\"+\"/\"+leagueId+\"/team/\"+teamId+\"/fixturesresults\");\r\n}\r\nexport const navigateToTeamStandings=(history,leagueId,teamId,languageId)=>dispatch=>{\r\n var lang=languageId===engLangId?\"en\":\"zh\";\r\n dispatch(setSelectButton(\"standings\"));\r\n history.push(\"/\"+lang+\"/tournament/league\"+\"/\"+leagueId+\"/team/\"+teamId+\"/standings\");\r\n}\r\nexport const navigateToTourStandings=(history,leagueId,languageId)=>dispatch=>{\r\n dispatch(setSelectButton(\"standings\"));\r\n var lang=languageId===engLangId?\"en\":\"zh\";\r\n history.push(\"/\"+lang+\"/tournament/league\"+\"/\"+leagueId+\"/standings\");\r\n}\r\nexport const resetButtons=()=>dispatch=>{\r\n var path = window.location.pathname.split(\"/\");\r\n if(path.includes('team')){\r\n dispatch(setSelectButton(path[7]));\r\n }else{\r\n dispatch(setSelectButton(path[5]));\r\n }\r\n}\r\n\r\nexport const highlightButton=(text,selectedButton)=>dispatch=>{\r\n return (text==selectedButton)?'tabLinks active':'tabLinks';\r\n}\r\n\r\nexport default TournamentLeagueSlice.reducer;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { matchCenter } from '../../sharedfiles/EndpointConfig';\r\nimport {channelId} from '../../sharedfiles/constants'\r\nimport { setLoader } from '../../AppSlice';\r\n\r\nexport const HTOHOutputSlice = createSlice({\r\n name: 'htohoutput',\r\n initialState: {\r\n h2hLastEncounters:{},\r\n selectedOptionId:1,\r\n hiLoOptions:[],\r\n selectedHiLoOption:'',\r\n hadFullTime:{},\r\n hadHalfTime:{},\r\n goalsPerGame:{},\r\n ftHiLo:[],\r\n htHiLo:[]\r\n },\r\n reducers: {\r\n setSelectedOption:(state,action)=>{\r\n state.selectedOptionId= action.payload;\r\n },\r\n setH2HLastEncounters:(state,action)=>{\r\n state.h2hLastEncounters = action.payload;\r\n },\r\n setHiLoOptions:(state,action)=>{\r\n state.hiLoOptions = action.payload;\r\n },\r\n setSelectedHiLoOption:(state,action)=>{\r\n state.selectedHiLoOption = action.payload;\r\n },\r\n setGraphData:(state,action)=>{\r\n if(action.payload.hasOwnProperty('homeAwayDraw') && Object.keys(action.payload.homeAwayDraw).length>0){\r\n if(action.payload.homeAwayDraw.hasOwnProperty('had') && Object.keys(action.payload.homeAwayDraw.had).length>0){\r\n state.hadFullTime = action.payload.homeAwayDraw.had;\r\n }\r\n if(action.payload.homeAwayDraw.hasOwnProperty('firstHalfHad') && Object.keys(action.payload.homeAwayDraw.firstHalfHad).length>0){\r\n state.hadHalfTime = action.payload.homeAwayDraw.firstHalfHad;\r\n }\r\n if(action.payload.homeAwayDraw.hasOwnProperty('goalsPerGame') && Object.keys(action.payload.homeAwayDraw.goalsPerGame).length>0){\r\n state.goalsPerGame = action.payload.homeAwayDraw.goalsPerGame;\r\n }\r\n }\r\n if(action.payload.hasOwnProperty('hiLo') && Object.keys(action.payload.hiLo).length>0){\r\n if(action.payload.hiLo.hasOwnProperty('ftHiLo') && action.payload.hiLo.ftHiLo.length>0){\r\n state.ftHiLo = action.payload.hiLo.ftHiLo;\r\n }\r\n if(action.payload.hiLo.hasOwnProperty('htHiLo') && action.payload.hiLo.htHiLo.length>0){\r\n state.htHiLo = action.payload.hiLo.htHiLo;\r\n }\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport const fetchh2hlastencouters = (params) => dispatch => {\r\n dispatch(setLoader(true));\r\n dispatch(setSelectedOption(params.optionId));\r\n var url = matchCenter.getHTOHOutput+\"?languageId=\"+params.languageId+\"&channelId=\"+channelId+\"&eventId=\"+params.eventId+\"&optionId=\"+1; // All hardcoding As per request\r\n apiCaller(url, 'GET', {}).then((response)=>{\r\n dispatch(setLoader(false));\r\n if(response && response.data!==undefined){\r\n var hiLoOptions = [];\r\n if(response.data.hasOwnProperty('h2hLast8Encounters')){\r\n for(var i=0;i{\r\n var val = item.line;\r\n if(hiLoOptions.indexOf(val) === -1){\r\n hiLoOptions.push(val)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n }\r\n if((response.data.hasOwnProperty('homeAwayDraw') && Object.keys(response.data.homeAwayDraw).length>0)||\r\n (response.data.hasOwnProperty('hiLo') && Object.keys(response.data.hiLo).length>0)){\r\n dispatch(setGraphData(response.data))\r\n }\r\n dispatch(setSelectedHiLoOption(hiLoOptions[0]))\r\n dispatch(setH2HLastEncounters(response.data));\r\n dispatch(setHiLoOptions(hiLoOptions));\r\n }\r\n })\r\n}\r\n\r\nexport const bindHiLoValue=(hiLo,selectedHiLoOption,from)=>dispatch=>{\r\n var data = '';\r\n // hiLo.forEach((option)=>{\r\n // if(option.line===selectedHiLoOption){\r\n // data = option.outcomeName;\r\n // }\r\n // })\r\n if(from==='value'){\r\n return data?data:'-';\r\n }else if(from==='class'){\r\n return data.toLowerCase()==='h'?'status win':data.toLowerCase()==='l'?'status loss':'';\r\n }\r\n \r\n}\r\n\r\nexport const { setSelectedOption, setH2HLastEncounters, setHiLoOptions, setSelectedHiLoOption, setGraphData} = HTOHOutputSlice.actions;\r\n\r\nexport default HTOHOutputSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\n\r\n\r\nexport const StandingsSlice = createSlice({\r\n name: 'standings',\r\n initialState: {\r\n selectedTab:1,\r\n selectedSeasonFilter:1,\r\n selectedHDCFilter:1,\r\n selectedHiLoFTFilter:1,\r\n selectedHiLoHTFilter: 1,\r\n selectedBetTypeFilter: 2,\r\n selectedCSGOptionId:1\r\n },\r\n reducers: {\r\n setTab:(state,action)=>{\r\n state.selectedTab = action.payload;\r\n },\r\n setFilter: (state,action)=>{\r\n if(action.payload.filter === \"season\"){\r\n state.selectedSeasonFilter = action.payload.value\r\n }else if(action.payload.filter === \"hdcType\"){\r\n state.selectedHDCFilter = action.payload.value;\r\n }else if(action.payload.filter === \"hiloFT\"){\r\n state.selectedHiLoFTFilter = action.payload.value;\r\n }else if(action.payload.filter === \"hiloHT\"){\r\n state.selectedHiLoHTFilter = action.payload.value;\r\n }else if(action.payload.filter === \"betType\"){\r\n state.selectedBetTypeFilter = action.payload.value;\r\n }\r\n },\r\n csGraphOptionChanged:(state,action)=>{\r\n if(action.payload && !isNaN(action.payload)){\r\n state.selectedCSGOptionId = Number(action.payload);\r\n }\r\n \r\n }\r\n },\r\n \r\n});\r\n\r\nexport const { setTab, setFilter, csGraphOptionChanged } = StandingsSlice.actions;\r\n\r\nexport default StandingsSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../../src/api/apiCaller';\r\nimport {languageId,channelId} from '../../../src/sharedfiles/constants'\r\nimport { tournament } from '../../sharedfiles/EndpointConfig';\r\nimport { setEventInfoCountry } from '../htohsearch/HtoHSearchSlice';\r\nimport { getCompetitionsList, getEventList, setEventList, setCompetitionsList } from '../../layouts/matchSlice';\r\nimport { setH2HLastEncounters } from '../htohoutput/htohOutputSlice';\r\n\r\nexport const TournamentSlice = createSlice({\r\n name: 'tournament',\r\n initialState: {\r\n selectedCountry:'',\r\n selectedTab:'',\r\n selectedType:'league',\r\n selectedComp:{},\r\n allCountries:{},\r\n htohCountries:[]\r\n },\r\n reducers: {\r\n selectCountry:(state, action)=>{\r\n state.selectedCountry = action.payload.country;\r\n state.selectedTab = action.payload.index\r\n },\r\n selectType:(state, action)=>{\r\n state.selectedType = action.payload;\r\n },\r\n setSelectedComp:(state,action)=>{\r\n state.selectedComp = action.payload;\r\n },\r\n // setFormattedCountries: (state, action) => {\r\n // state.allCountries = action.payload;\r\n // },\r\n setHtoHCountries: (state, action) => {\r\n state.htohCountries = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const { selectCountry, selectType, setSelectedComp, setFormattedCountries, setHtoHCountries } = TournamentSlice.actions;\r\n\r\nexport const navigateTo = (text,props,languageId) => dispatch =>{\r\n dispatch(getTournamentCountries(text,languageId))\r\n dispatch(selectCountry({country:'',index:''}))\r\n dispatch(selectType(text));\r\n props.history.push(props.match.url+\"/\"+text);\r\n\r\n}\r\n\r\n\r\nexport const getTournamentCountries = (text,languageId,from,typeId) => dispatch => {\r\n dispatch(setH2HLastEncounters({}));\r\n dispatch(setEventList([]))\r\n dispatch(setCompetitionsList([]))\r\n var partialUrl = window.location.pathname.split(\"/\");\r\n if(partialUrl.includes('htohsearch')){\r\n var categoryId = text=='league'?1:text=='cup'?2:text=='international'?2:1;\r\n }else{\r\n var categoryId = text=='league'?1:text=='cup'?2:text=='international'?3:4;\r\n }\r\n \r\n if(from=='search'){\r\n var url = tournament.getTournamentCountries+\"?channelId=\"+channelId+\"&languageId=\"+languageId+\"&categoryId=\"+categoryId;\r\n apiCaller(url,'GET',{})\r\n .then((response)=>{\r\n if(response.data && response.data.length){\r\n if(from == 'search'){\r\n dispatch(setHtoHCountries(response.data));\r\n // if(typeId=='Club'){\r\n if(typeId=='1'){\r\n dispatch(getCompetitionsList(response.data[0].countryId,'','search',languageId,typeId,text));\r\n }else{\r\n dispatch(getEventList('',from,languageId,typeId,response.data[0].countryId)) \r\n }\r\n dispatch(setEventInfoCountry(response.data[0].countryId))\r\n }\r\n // if(response.data && response.data.length){\r\n // var obj = {};\r\n // for(var i=0;i dispatch => {\r\n props.dispatch(setSelectedComp(item));\r\n var lang = 'en';\r\n if(props.match && props.match.params.lang && props.match.params.lang.length>0){\r\n lang = props.match.params.lang\r\n }\r\n props.history.push('/'+lang+'/tournament/'+props.match.params.leagueType+'/'+item.competitionId+'/standings');\r\n}\r\n\r\n\r\nexport default TournamentSlice.reducer;","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { matchCenter } from '../../sharedfiles/EndpointConfig';\r\nimport {languageId,channelId} from '../../sharedfiles/constants'\r\n\r\nexport const fetchh2hlastencouters = createAsyncThunk(\r\n 'h2h/lastencounters',\r\n async (ids,thunkAPI) => {\r\n let url = matchCenter.getH2hInfo+'?languageId='+ids.languageId+'&channelId='+channelId+'&eventId='+ids.eventId+'&marketGroupId='+ids.marketGroupId+'&optionId='+ids.optionId+\"&mode=\"+(ids.isBasic?1:2)\r\n const response = await apiCaller(url, 'GET', {})\r\n return response.data\r\n }\r\n)\r\nexport const HADHandicapTabSlice = createSlice({\r\n name: 'hadhandicap',\r\n initialState: {\r\n h2hLastEncounters:[],\r\n homeTeamName:\"\",\r\n awayTeamName:\"\",\r\n had:{},\r\n firstHalfHad:{},\r\n hdcHad:{},\r\n options:[],\r\n selectedOption:{},\r\n fullTime:{},\r\n halfTime:{},\r\n haFu:[],\r\n goalsPerGame:{},\r\n hdc:[],\r\n selectedOptionId:1,\r\n tableRecentResults:{},\r\n loader: true,\r\n isData:true\r\n },\r\n reducers: {\r\n setOptions:(state,action)=>{\r\n state.options = action.payload;\r\n state.selectedOption= action.payload[0];\r\n },\r\n setSelectedOption:(state,action)=>{\r\n state.selectedOptionId= action.payload;\r\n }\r\n },\r\n extraReducers: {\r\n [fetchh2hlastencouters.pending]: (state, action) => {\r\n state.loader= true;\r\n state.h2hLastEncounters=[];\r\n state.had={};\r\n state.firstHalfHad={};\r\n state.hdcHad={};\r\n state.fullTime={};\r\n state.halfTime={};\r\n state.haFu=[];\r\n state.goalsPerGame={};\r\n state.hdc=[];\r\n state.tableRecentResults = {}\r\n },\r\n [fetchh2hlastencouters.rejected]: (state, action) => {\r\n state.loader= false;\r\n state.h2hLastEncounters = [];\r\n state.isData = action.payload.isData;\r\n },\r\n // Add reducers for additional action types here, and handle loading state as needed\r\n [fetchh2hlastencouters.fulfilled]: (state, action) => {\r\n // Add user to the state array\r\n // state.entities.push(action.payload);\r\n\r\n state.loader = false;\r\n if (action.payload) {\r\n state.isData = action.payload.isData;\r\n if(action.payload.h2hLast8Encounters && action.payload.h2hLast8Encounters.length>0){\r\n state.h2hLastEncounters = action.payload.h2hLast8Encounters;\r\n \r\n }\r\n if(action.payload.recentEncounter && Object.keys(action.payload.recentEncounter).length>0){\r\n state.tableRecentResults = action.payload.recentEncounter;\r\n }\r\n if(action.payload.homeTeamName && action.payload.homeTeamName.length>0){\r\n state.homeTeamName = action.payload.homeTeamName;\r\n }\r\n if(action.payload.awayTeamName && action.payload.awayTeamName.length>0){\r\n state.awayTeamName = action.payload.awayTeamName;\r\n }\r\n if(action.payload.homeAwayDraw && action.payload.homeAwayDraw.had && Object.keys(action.payload.homeAwayDraw.had).length>0){\r\n state.had = action.payload.homeAwayDraw.had;\r\n }\r\n if(action.payload.homeAwayDraw && action.payload.homeAwayDraw.firstHalfHad && Object.keys(action.payload.homeAwayDraw.firstHalfHad).length>0){\r\n state.firstHalfHad = action.payload.homeAwayDraw.firstHalfHad;\r\n }\r\n if(action.payload.homeAwayDraw && action.payload.homeAwayDraw.goalsPerGame && Object.keys(action.payload.homeAwayDraw.goalsPerGame).length>0){\r\n state.goalsPerGame = action.payload.homeAwayDraw.goalsPerGame;\r\n }\r\n if(action.payload.handicap && action.payload.handicap.hdcHad && Object.keys(action.payload.handicap.hdcHad).length>0){\r\n state.hdcHad = action.payload.handicap.hdcHad;\r\n }\r\n if(action.payload.handicap && action.payload.handicap.hdc && action.payload.handicap.hdc.length>0){\r\n var hdcData = [];\r\n // var hdcresponseData = {\"hdc\":[\r\n // {\"outcomeName\":\"Full Win\",\"homeTeamGoals\":2,\"awayTeamGoals\":1},\r\n // {\"outcomeName\":\"Half Win\",\"homeTeamGoals\":2,\"awayTeamGoals\":1},\r\n // {\"outcomeName\":\"Half Loss\",\"homeTeamGoals\":1,\"awayTeamGoals\":2},\r\n // {\"outcomeName\":\"Draw\",\"homeTeamGoals\":1,\"awayTeamGoals\":1},\r\n // {\"outcomeName\":\"Full Loss\",\"homeTeamGoals\":0,\"awayTeamGoals\":2}]}\r\n for(var item of action.payload.handicap.hdc){ //action.payload.handicap.hdc\r\n hdcData.push(\r\n {\r\n outcomeName:item.outcomeName,\r\n homeGoals:item.homeTeamGoals,\r\n awayGoals:item.awayTeamGoals\r\n }\r\n )\r\n }\r\n state.hdc = hdcData;\r\n }\r\n if(action.payload.correctScoreHaFu && action.payload.correctScoreHaFu.fullTime && Object.keys(action.payload.correctScoreHaFu.fullTime).length>0){\r\n state.fullTime = action.payload.correctScoreHaFu.fullTime;\r\n }\r\n if(action.payload.correctScoreHaFu && action.payload.correctScoreHaFu.halfTime && Object.keys(action.payload.correctScoreHaFu.halfTime).length>0){\r\n state.halfTime = action.payload.correctScoreHaFu.halfTime;\r\n }\r\n if(action.payload.correctScoreHaFu && action.payload.correctScoreHaFu.haFu && action.payload.correctScoreHaFu.haFu.length>0){\r\n state.haFu = action.payload.correctScoreHaFu.haFu;\r\n }\r\n }else{\r\n state.h2hLastEncounters=[];\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport const { setBanner,setWinBest,setOptions, setSelectedOption } = HADHandicapTabSlice.actions;\r\n\r\nexport const selectBannerData = state => state.home.bannerData;\r\n\r\nexport default HADHandicapTabSlice.reducer;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../../src/api/apiCaller';\r\nimport {languageId,channelId} from '../../../src/sharedfiles/constants'\r\nimport { common, htohsearch, matchCenter } from '../../sharedfiles/EndpointConfig';\r\nimport { setMainTab } from '../../AppSlice';\r\nimport { getTournamentCountries } from '../tournament/TournamentSlice';\r\n import {fetchh2hlastencouters, setSelectedHiLoOption, bindHiLoValue, setH2HLastEncounters} from '../htohoutput/htohOutputSlice';\r\nimport { getWinBest, getBanner } from '../../layouts/matchSlice';\r\n\r\nexport const HtoHSearchSlice = createSlice({\r\n name: 'htohsearch',\r\n initialState: {\r\n listTypes:[],\r\n // countryList:[],\r\n // competitionsList:[],\r\n // eventList:[],\r\n eventInfo:{\r\n typeId:'',\r\n countryId:'',\r\n competitionId:''\r\n // ,\r\n // eventId:''\r\n },\r\n teamOneList:[],\r\n teamTwoList:[],\r\n teamOne:{\r\n teamName:'',\r\n teamId:''\r\n },\r\n teamTwo:{\r\n teamName:'',\r\n teamId:''\r\n },\r\n team_one:'',\r\n team_two:'',\r\n hToHEventId: '',\r\n isSelect2Teams:true\r\n },\r\n reducers: {\r\n setCategores:(state,actions)=>{\r\n state.listTypes = actions.payload;\r\n },\r\n // setCountryList: (state, action) => {\r\n // state.countryList = action.payload;\r\n // },\r\n // setCompetitionsList: (state, action) => {\r\n // state.competitionsList = action.payload;\r\n // },\r\n // setEventList: (state, action) => {\r\n // state.eventList = action.payload;\r\n // },\r\n setEventInfoCountry: (state, action) => {\r\n state.eventInfo.countryId = action.payload\r\n },\r\n setEventInfoCompetition: (state, action) => {\r\n state.eventInfo.competitionId = action.payload\r\n },\r\n setEventInfoEvent: (state, action) => {\r\n state.eventInfo.eventId = action.payload\r\n },\r\n setEventInfoType: (state, action) => {\r\n state.eventInfo.typeId = action.payload\r\n },\r\n setTeamNames: (state, action) => {\r\n if(action.payload.text === 'teamone'){\r\n state.teamOne.teamName = action.payload.name;\r\n state.teamOne.teamId = action.payload.id;\r\n }else{\r\n state.teamTwo.teamName = action.payload.name;\r\n state.teamTwo.teamId = action.payload.id;\r\n\r\n }\r\n },\r\n setTeamsList: (state, action) => {\r\n if(action.payload.text === 'teamone'){\r\n state.teamOneList = action.payload.data;\r\n }else{\r\n state.teamTwoList = action.payload.data;\r\n }\r\n },\r\n setTeam_One: (state, action) => {\r\n state.team_one = action.payload;\r\n },\r\n setTeam_Two: (state, action) => {\r\n state.team_two = action.payload;\r\n },\r\n setHToHEventId: (state, action) => {\r\n state.hToHEventId = action.payload;\r\n },\r\n setSelect2TeamsPanel: (state, action) => {\r\n state.isSelect2Teams = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const { setCategores,\r\n \r\n setCompetitionsList,\r\n setEventList,\r\n setEventInfoCountry,\r\n setEventInfoCompetition,\r\n setEventInfoEvent,\r\n setEventInfoType,\r\n setTeamNames,\r\n setTeamsList,\r\n setTeam_One,\r\n setTeam_Two,\r\n setHToHEventId ,setSelect2TeamsPanel} = HtoHSearchSlice.actions;\r\n\r\nexport const getCategories = (languageId) => dispatch => {\r\n var url = common.getCategories+\"?channelId=\"+channelId+\"&languageId=\"+languageId;\r\n apiCaller(url,'GET',{})\r\n .then((response)=>{\r\n if(response.data && response.data.length){\r\n dispatch(setCategores(response.data))\r\n dispatch(setEventInfoType(response.data[0].id))\r\n // dispatch(getTournamentCountries('international',languageId,'search',response.data[0].name))\r\n dispatch(getTournamentCountries('club',languageId,'search',response.data[0].id))\r\n }\r\n })\r\n}\r\n\r\n// export const getCountryList = (categoryId) => dispatch => {\r\n// var url = tournament.getTournamentCountries+\"?channelId=\"+channelId+\"&languageId=\"+languageId+\"&categoryId=\"+(categoryId==1?4:3);\r\n// apiCaller(url,'GET',{})\r\n// .then((response)=>{\r\n// if(response.data!==null && response.data){\r\n // dispatch(setCountryList(response.data));\r\n // dispatch(getCompetitionsList(response.data[0].countryId));\r\n // dispatch(setEventInfoCountry(response.data[0].countryId))\r\n// }\r\n// })\r\n// }\r\n\r\n\r\n// export const getCompetitionsList = (countryId) => dispatch => {\r\n // var url = common.getCompetitions+\"?countryId=\"+countryId;\r\n // apiCaller(url,'GET',{})\r\n // .then((response)=>{\r\n // if(response.data!==null && response.data){\r\n // dispatch(setCompetitionsList(response.data))\r\n // // dispatch(getEventList(response.data[0].competitionId))\r\n // dispatch(setEventInfoCompetition(response.data[0].competitionId))\r\n\r\n // }\r\n // })\r\n// }\r\n\r\n// export const getEventList = (competitionId) => dispatch => {\r\n// var url = common.getEvents+\"?competitionId=\"+competitionId;\r\n// apiCaller(url,'GET',{})\r\n// .then((response)=>{\r\n// if(response.data!==null && response.data){\r\n// // dispatch(setEventInfoEvent(response.data[0].eventId))\r\n// dispatch(setEventList(response.data))\r\n// }\r\n// })\r\n// }\r\n\r\nexport const navigateToHtoHTab = (eventInfo, eventId, history) => dispatch => {\r\n dispatch(setMainTab('match'));\r\n history.push('/matchcenter/'+eventInfo.countryId+'/'+eventInfo.competitionId+'/'+eventId+'/htoh')\r\n}\r\n\r\nexport const getTeamsList = (searchText, text, languageId) => dispatch => {\r\n if (text === \"teamone\") {\r\n dispatch(setTeam_One(''));\r\n dispatch(setTeamNames({ text: \"teamone\", name: '', id: '' }));\r\n } else {\r\n dispatch(setTeam_Two(''));\r\n dispatch(setTeamNames({ text: \"teamtwo\", name: '', id: '' }));\r\n }\r\n dispatch(setH2HLastEncounters({}));\r\n dispatch(setTeamNames({name:searchText,text:text}))\r\n if(searchText.length>0){\r\n var url = matchCenter.getTeamSearch+\"?teamName=\"+searchText+\"&languageId=\"+languageId+\"&channelId=\"+channelId;\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response.data !== null && response.data.length>0){\r\n dispatch(setTeamsList({data:response.data,text:text}));\r\n }else{\r\n dispatch(setTeamsList({data:[],text:text}));\r\n }\r\n });\r\n }else{\r\n dispatch(setTeamsList({data:[],text:text}));\r\n }\r\n}\r\n\r\nexport const loadSearchData = (teamsList,teamName,text) => dispatch => {\r\n if(teamName !== null && teamsList.length>0){\r\n // dispatch(setTeamNames({name:teamName,text:text}))\r\n teamsList.forEach(function(item,index){\r\n if(item.teamName === teamName){\r\n dispatch(setTeamNames({name:item.teamName,id:item.teamId,text:text}))\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport const getEventInfo = (teamsInfo,history,lang) => dispatch => {\r\n dispatch(setH2HLastEncounters({}));\r\n dispatch(setSelect2TeamsPanel(false));\r\n if(teamsInfo.homeTeam.teamId && teamsInfo.awayTeam.teamId){\r\n var url = htohsearch.h2hSearchEventInfo+\"?languageId=\"+lang+\"&team1Id=\"+teamsInfo.homeTeam.teamId+\"&team2Id=\"+teamsInfo.awayTeam.teamId;\r\n apiCaller(url,'GET',{})\r\n .then((response)=>{\r\n if(response.data){\r\n dispatch(getWinBest(response.data.eventId,lang,'htohsearch'));\r\n dispatch(getBanner(response.data.eventId,lang))\r\n // dispatch(setMainTab('match'));\r\n dispatch(setH2HLastEncounters({}));\r\n dispatch(setHToHEventId(response.data.eventId))\r\n // history.push('/'+lang+'/matchcenter/'+response.data.countryId+'/'+response.data.competitionId+'/'+response.data.eventId+'/htohoutput/htoh/head2head')\r\n }else{\r\n dispatch(setH2HLastEncounters({}));\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport const selectTeam = (team, team_one, team_two, history, lang) => dispatch => {\r\n if(team_one==='' || team_two===''){\r\n if ((team_one === '' && team_two === '') || (team_one === '' && team_two !== '')) {\r\n if (team.teamId !== team_two.teamId) {\r\n dispatch(setTeam_One(team));\r\n dispatch(setTeamNames({ text: \"teamone\", name: team.teamName, id: team.teamId }));\r\n } else {\r\n dispatch(setH2HLastEncounters({}));\r\n dispatch(setTeam_Two(''));\r\n dispatch(setTeamNames({ text: \"teamtwo\", name: '', id: '' }));\r\n }\r\n // if(team_two !== ''){\r\n // dispatch(getEventInfo({homeTeam:team,awayTeam:team_two},history,lang));\r\n // }\r\n }else if(team_one!=='' && team_two===''){\r\n if((team.teamId!==team_one.teamId) && (team.teamId!==team_two.teamId)){\r\n dispatch(setTeam_Two(team))\r\n dispatch(setTeamNames({ text: \"teamtwo\", name: team.teamName, id: team.teamId }));\r\n // dispatch(getEventInfo({homeTeam:team_one,awayTeam:team},history,lang));\r\n }else{\r\n dispatch(setH2HLastEncounters({}));\r\n dispatch(setTeam_One(''));\r\n dispatch(setTeamNames({ text: \"teamone\", name: '', id: '' }));\r\n }\r\n \r\n }\r\n }else{\r\n if(team_one.teamId===team.teamId){\r\n dispatch(setH2HLastEncounters({}));\r\n dispatch(setTeam_One(''));\r\n dispatch(setTeamNames({ text: \"teamone\", name: '', id: '' }));\r\n }else if(team_two.teamId===team.teamId){\r\n dispatch(setH2HLastEncounters({}));\r\n dispatch(setTeam_Two(''));\r\n dispatch(setTeamNames({ text: \"teamtwo\", name: '', id: '' }));\r\n }\r\n }\r\n \r\n}\r\n\r\nexport default HtoHSearchSlice.reducer;","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport {languageId,channelId} from '../.././sharedfiles/constants'\r\nimport { playeranalysis, common } from '../../sharedfiles/EndpointConfig';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { setLoader } from '../../AppSlice';\r\n\r\nexport const PlayerAnalysisSlice = createSlice({\r\n name: 'playeranalysis',\r\n initialState: {\r\n hadColumns:[],\r\n hiloColumns:[],\r\n playerData:[],\r\n tabInfo:{\r\n mainTab:'home',\r\n teamId:'',\r\n subTab:'had',\r\n seasonId: '',\r\n },\r\n staticKeyWords:{}\r\n },\r\n reducers: {\r\n setTabInfo:(state, action)=>{\r\n state.tabInfo={\r\n mainTab:action.payload.mainTab,\r\n teamId:action.payload.teamId,\r\n subTab:action.payload.subTab,\r\n seasonId:action.payload.seasonId,\r\n }\r\n },\r\n setTableHeaders:(state,action)=>{\r\n var staticKeyWords = action.payload;\r\n state.staticKeyWords = staticKeyWords;\r\n state.hiloColumns = [\r\n {column:staticKeyWords.player,key:\"playerName\",isRow:true,isDisplay:true,spanValue:2,className:\"w-150\"},\r\n {column:staticKeyWords.goals,key:\"playerGoals\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.started,key:\"playerPlayed\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.missed,key:\"playerMissed\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.goalsFor,key:\"zeroPt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator2 w-110\"},\r\n {column:staticKeyWords.goalsAgainst,key:\"onePt5\",isRow:false,isDisplay:false,spanValue:2,className:\"w-70\"},\r\n {column:staticKeyWords.with,key:\"goalsForWithPlayer\",isDisplay:true,className:\"th-separator2 text-center w-130\"},\r\n {column:staticKeyWords.wo,key:\"goalsForWithOutPlayer\",isDisplay:true},\r\n {column:staticKeyWords.with,key:\"goalsAgainstWithPlayer\",isDisplay:true,className:\"th-separator2\"},\r\n {column:staticKeyWords.wo,key:\"goalsAgainstWithOutPlayer\",isDisplay:true,className:\"th-separator2\"},\r\n // {column:\"+2.5% \"+staticKeyWords.with,key:\"hiLoPctWithPlayer\"},\r\n // {column:\"+2.5% \"+staticKeyWords.wo,key:\"hiLoPctWithOutPlayer\"},\r\n ];\r\n state.hadColumns = [\r\n {column:staticKeyWords.player,key:\"playerName\",isRow:true,isDisplay:true,spanValue:2,className:\"w-150\"},\r\n {column:staticKeyWords.goals,key:\"playerGoals\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.started,key:\"playerPlayed\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.missed,key:\"playerMissed\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.winPer,key:\"zeroPt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator2\"},\r\n {column:staticKeyWords.drawPer,key:\"onePt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator2\"},\r\n {column:staticKeyWords.losePer,key:\"twoPt5\",isRow:false,isDisplay:false,spanValue:2},\r\n {column:staticKeyWords.with,key:\"winPctWithPlayer\",isDisplay:true,className:\"th-separator2 text-center\"},\r\n {column:staticKeyWords.wo,key:\"winPctWithoutPlayer\",isDisplay:true},\r\n {column:staticKeyWords.with,key:\"drawPctWithPlayer\",isDisplay:true,className:\"th-separator2\"},\r\n {column:staticKeyWords.wo,key:\"drawPctWithoutPlayer\",isDisplay:true},\r\n {column:staticKeyWords.with,key:\"lossPctWithPlayer\",isDisplay:true,className:\"th-separator2\"},\r\n {column:staticKeyWords.wo,key:\"lossPctWithOutPlayer\",isDisplay:true,className:\"th-separator2\"},\r\n ]\r\n },\r\n setPlayerInfo:(state, action)=>{\r\n state.playerData = action.payload;\r\n },\r\n }\r\n});\r\n\r\nexport const { setTabInfo, setPlayerInfo, setSeasons, setTableHeaders } = PlayerAnalysisSlice.actions;\r\n\r\nexport const getPlayersInfo = (tabInfo,languageId) => dispatch => {\r\n dispatch(setLoader(true));\r\n if(tabInfo.teamId && tabInfo.seasonId){\r\n var url = playeranalysis.getPlayersInfo+\"?channelId=\"+channelId+\"&languageId=\"+languageId+\"&teamId=\"+tabInfo?.teamId+\"&marketGroupId=\"+(tabInfo.subTab=='had'?1:2)+\"&seasonId=\"+tabInfo?.seasonId;\r\n \r\n apiCaller(url,'GET','')\r\n .then((response)=>{\r\n dispatch(setLoader(false));\r\n if(response.data && response.data.length){\r\n dispatch(setPlayerInfo(response.data))\r\n \r\n }else{\r\n dispatch(setPlayerInfo([]))\r\n \r\n }\r\n })\r\n}\r\n}\r\n\r\nexport const setTabData = (tabInfo,history,text,languageId) => dispatch => {\r\n dispatch(setTabInfo(tabInfo))\r\n var path = window.location.pathname.split(\"/\");\r\n path[7] = tabInfo.mainTab;\r\n path[8] = tabInfo.teamId;\r\n path = path.join(\"/\");\r\n history.push(path)\r\n if(text!='noneedtocall'){\r\n dispatch(setPlayerInfo([]))\r\n // dispatch(getSeasonslist(tabInfo))\r\n dispatch(getPlayersInfo(tabInfo,languageId))\r\n }\r\n}\r\n\r\n// export const getSeasonslist =(tabInfo) => dispatch => {\r\n // var url = common.getSeasonslist+\"?channelId=\"+channelId;\r\n // apiCaller(url,'GET',{})\r\n // .then((response)=>{\r\n // if(response.data && response.data.length){\r\n // dispatch(setSeasons(response.data));\r\n // dispatch(setTabInfo({\r\n // mainTab: tabInfo.mainTab,\r\n // teamId: tabInfo.teamId,\r\n // subTab: tabInfo.subTab,\r\n // seasonId: response.data[0].id\r\n // }))\r\n // }\r\n // })\r\n// }\r\n\r\nexport default PlayerAnalysisSlice.reducer;\r\n","import * as moment from 'moment';\r\n\r\nconst weekDays=['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];\r\nconst months=[\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\nconst fullWeekDays=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];\r\nexport const fullMonths=['January','February','March','April','May','June','July','August','September','October','November','December'];\r\n\r\nexport function formatDate(date, component) {\r\n if(date){\r\n var today = new Date();\r\n var tomorrow = new Date();\r\n tomorrow.setDate(today.getDate()+1);\r\n var dt=\"\";\r\n if(component!=='home'){\r\n var utcDate = new Date(date.replace(/\\s/, 'T')+'Z').toUTCString();\r\n dt = new Date(utcDate);\r\n }else{\r\n dt = new Date(date.replace(/\\s/, 'T')); \r\n }\r\n var formatedDate=\"\";\r\n if(component === \"banner\" ||component === \"home\"){\r\n formatedDate={\r\n date:addZero(dt.getDate())+'/'+addZero(dt.getMonth()+1)+'/'+dt.getFullYear(),\r\n day: weekDays[dt.getDay()],\r\n time:addZero(dt.getHours())+\":\"+addZero(dt.getMinutes()),\r\n }\r\n }\r\n else if(component === \"kotree\"){\r\n formatedDate={\r\n date: ordinal_suffix_of(dt.getDate()),\r\n month:fullMonths[dt.getMonth()],\r\n }\r\n } else if(component === \"hrMt\"){\r\n formatedDate=addZero(dt.getHours())+\":\"+addZero(dt.getMinutes());\r\n }\r\n else{\r\n formatedDate= weekDays[dt.getDay()]+\" \"+dt.getDate()+\" \"+months[dt.getMonth()]+\" \"+addZero(dt.getHours())+\":\"+addZero(dt.getMinutes());\r\n }\r\n \r\n return formatedDate;\r\n }\r\n\t\r\n}\r\nfunction addZero(number){\r\n\tif(number<10){\r\n\t\treturn (0+\"\"+number);\r\n\t}\r\n\treturn number\r\n}\r\nexport function getTimeZoneOffset(){\r\n var timeInterval = new Date().getTimezoneOffset();\r\n if(timeInterval < 0){\r\n return Math.abs(timeInterval);\r\n }else{\r\n return -Math.abs(timeInterval);\r\n }\r\n}\r\n\r\nexport function formatFixtureResultsDate(date, type) {\r\n \r\n if(date && date){\r\n var dt = new Date(date.replace(/\\s/, 'T'));\r\n if(type==='carousel'){\r\n return {\r\n month:months[dt.getMonth()],\r\n year:dt.getFullYear()\r\n }\r\n }else{\r\n //return fullWeekDays[dt.getDay()]+\" \"+ordinal_suffix_of(dt.getDate())+\" \"+fullMonths[dt.getMonth()];\r\n return {weekDay:(fullWeekDays[dt.getDay()]), date:ordinal_suffix_of(dt.getDate()),month:fullMonths[dt.getMonth()]};\r\n }\r\n }\r\n else{\r\n return null\r\n }\r\n \r\n}\r\nexport function addSuffix(num,isOnlySuffix=false){\r\n return ordinal_suffix_of(num,isOnlySuffix)\r\n}\r\nfunction ordinal_suffix_of(i,isOnlySuffix) {\r\n var j = i % 10,\r\n k = i % 100;\r\n if (j == 1 && k != 11) {\r\n if(isOnlySuffix){\r\n return \"st\";\r\n }else{\r\n return i + \"st\";\r\n }\r\n }\r\n if (j == 2 && k != 12) {\r\n if(isOnlySuffix){\r\n return \"nd\";\r\n }else{\r\n return i + \"nd\";\r\n }\r\n \r\n }\r\n if (j == 3 && k != 13) {\r\n if(isOnlySuffix){\r\n return \"rd\";\r\n }else{\r\n return i + \"rd\";\r\n }\r\n }\r\n if(isOnlySuffix){\r\n return \"th\";\r\n }else{\r\n return i + \"th\";\r\n }\r\n \r\n}\r\n\r\nexport function structureGraphData(mainData,isOutcomeChange=false,key=\"\"){\r\n var graphData=[];\r\n for(var data of mainData){\r\n graphData.push({\r\n outcomeName:isOutcomeChange?data[key]:data.outcomeName,\r\n homeGoals:data.homeTeam,\r\n awayGoals:data.awayTeam\r\n })\r\n }\r\n return graphData;\r\n}\r\nexport function getMaxValue(values){\r\n var max=values[0];\r\n for(var i=1;imax){\r\n max=values[i];\r\n }\r\n }\r\n return max;\r\n}","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { matchCenter } from '../../sharedfiles/EndpointConfig';\r\nimport {languageId,channelId} from '../../sharedfiles/constants'\r\n\r\nexport const RecentFormHADSlice = createSlice({\r\n name: 'recentfromhad',\r\n initialState: {\r\n // selectedTab:'had',\r\n // graphData: [],\r\n // homeTeamData: [],\r\n // awayTeamData: [],\r\n // homeTeamName: '',\r\n // awayTeamName: '',\r\n // recent8Results:{}\r\n },\r\n reducers: {\r\n // selectTab:(state,action)=>{\r\n // console.log(action.payload)\r\n // state.selectedTab = action.payload;\r\n // },\r\n // setGraphData:(state,action)=>{\r\n // console.log(\"hello hello...\",action.payload)\r\n // state.graphData = action.payload;\r\n // state.homeTeamData = action.payload.recent8Results.homeTeam;\r\n // state.awayTeamData = action.payload.recent8Results.awayTeam;\r\n // state.homeTeamName = action.payload.homeTeamName;\r\n // state.awayTeamName = action.payload.awayTeamName;\r\n // // state.recent8Results = {\r\n // // homeTeamData : action.payload.recent8Results.homeTeam,\r\n // // awayTeamData : action.payload.recent8Results.awayTeam,\r\n // // homeTeam : action.payload.recent8Results.homeTeam,\r\n // // awayTeamData : action.payload.recent8Results.awayTeamName\r\n // // }\r\n\r\n // }\r\n }\r\n});\r\n\r\n // export const { selectTab, setGraphData } = RecentFormHADSlice.actions;\r\n\r\n // export const getGraphData = (params) => dispatch => {\r\n // console.log(\"endo emo...\",params);\r\n // var url = matchCenter.getRecentformInformation+'?languageId='+languageId+'&channelId='+channelId+'&homeTeamId='+10472+'&awayTeamId='+10461+'&marketGroupId='+1+'&optionId='+1;\r\n // apiCaller(url,'GET',{}).then(response => {\r\n // if(response.data!=null && response.data){\r\n // dispatch(setGraphData(response.data))\r\n // }\r\n // })\r\n // }\r\n\r\n// export const selectSelectedTab = state => state.recentfromhad.selectedTab;\r\n// export const homeTeamData = state => state.recentformhad.homeTeamData;\r\n\r\nexport default RecentFormHADSlice.reducer;\r\n","module.exports = \"data:image/png;base64,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\"","import { createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { matchCenter } from '../../sharedfiles/EndpointConfig';\r\nimport { channelId} from '../../sharedfiles/constants'\r\n\r\nexport const MatchCenterSlice = createSlice({\r\n name: 'matchcenter',\r\n initialState: {\r\n bannerData:{},\r\n winPredictorData:{},\r\n bestBetData:{},\r\n selectedTab:'RF',\r\n lastEncountersOptions:[]\r\n },\r\n reducers: {\r\n // setBanner: (state, action) => {\r\n // state.bannerData = action.payload;\r\n // },\r\n setWinBest:(state, action)=>{\r\n state.winPredictorData = action.payload.winData;\r\n state.bestBetData = action.payload.bestData;\r\n state.lastEncountersOptions = action.payload.lastEncountersOptions;\r\n },\r\n resetWinBest:(state,action)=>{\r\n state.winPredictorData = {};\r\n state.bestBetData = {};\r\n state.lastEncountersOptions= [];\r\n },\r\n selectTab:(state,action)=>{\r\n state.selectedTab = action.payload;\r\n }\r\n },\r\n});\r\n\r\nexport const { setBanner,setWinBest,selectTab,resetWinBest } = MatchCenterSlice.actions;\r\n\r\n// export const getBanner = () => dispatch => {\r\n// var url = matchCenter.getBanner+'?languageId='+languageId+'&channelId='+channelId+'&eventId=1';\r\n// apiCaller(url, 'GET', {}).then(response => {\r\n// if(response.data !== null && response.data)\r\n// dispatch(setBanner(response.data));\r\n// });\r\n \r\n// }\r\n\r\nexport const getWinBest = (eventId,languageId) => dispatch => {\r\n dispatch(resetWinBest())\r\n var url = matchCenter.getWinBest+'?languageId='+languageId+'&channelId='+channelId+'&eventId='+eventId;\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response.data !== null && response.data){\r\n var payloadData = {winData:{},bestData:{},lastEncountersOptions:[]}\r\n if(response.data.winPredictor){\r\n payloadData.winData = response.data.winPredictor;\r\n }\r\n if(response.data.bestBet){\r\n payloadData.bestData = response.data.bestBet;\r\n }\r\n if(response.data.options && response.data.options.length>0){\r\n payloadData.lastEncountersOptions = response.data.options;\r\n }\r\n dispatch(setWinBest(payloadData))\r\n }\r\n //dispatch(setBanner(response.data));\r\n });\r\n\r\n}\r\n\r\nexport const selectBannerData = state => state.home.bannerData;\r\n\r\nexport default MatchCenterSlice.reducer;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { matchCenter } from '../../sharedfiles/EndpointConfig';\r\nimport {channelId} from '../../sharedfiles/constants'\r\nimport { setLoader } from '../../AppSlice';\r\n\r\nexport const RecentFormTabSlice = createSlice({\r\n name: 'recentfromtab',\r\n initialState: {\r\n selectedTab:'had',\r\n graphData: [],\r\n homeTeamData: [],\r\n awayTeamData: [],\r\n homeTeamName: '',\r\n awayTeamName: '',\r\n rfHadData:{},\r\n firstHalfHad:{},\r\n halfTime:[],\r\n fullTime:[],\r\n haFu:[],\r\n hdcHad:[],\r\n hdc:{homeTeam:{},awayTeam:{}},\r\n fullTimeHiLo:[],\r\n halfTimeHiLo:[],\r\n fullTimeCornersHiLo:[],\r\n halfTimeCornersHiLo:[],\r\n // fullTimeCornerHiLo:[],\r\n // halfTimeCornerHiLo:[],\r\n firstToScore:{},\r\n goalTimes:[],\r\n totalGoalsAnalysis:[],\r\n cornersPerGame:{},\r\n cornersAgainstPerGame:{},\r\n cornerhdc:{homeTeam:{},awayTeam:{}},\r\n goalsPerGame:{},\r\n homefhHiLo: [],\r\n homehiLo: [],\r\n awayfhHiLo: [],\r\n awayhiLo: [],\r\n homeCorners: [],\r\n awayCorners: [],\r\n homeCornersHT: [],\r\n awayCornersHT: [],\r\n selectedHomeCornerTab:'',\r\n selectedAwayCornerTab:'',\r\n selectedHomeCornerHTTab:'',\r\n selectedAwayCornerHTTab:'',\r\n selectedHomeFhHiloTab: '',\r\n selectedHomeHiloTab: '',\r\n selectedAwayFhHiloTab: '',\r\n selectedAwayHiloTab: '',\r\n selectedFilterOption: '',\r\n selectedFilterOptionFrom: '',\r\n cornersInfo:[],\r\n cornersInfoFTHT:[],\r\n teamsToScore:[],\r\n defaultHomeOptionId:1,\r\n defaultAwayOptionId:1,\r\n homeOption: 1,// by default setting the Home value\r\n awayOption: 1,// by default setting the away value\r\n },\r\n reducers: {\r\n selectTab:(state,action)=>{\r\n state.selectedTab = action.payload;\r\n },\r\n selectFilterOption:(state,action)=>{\r\n state.selectedFilterOption = action.payload[0];\r\n state.selectedFilterOptionFrom = action.payload[1];\r\n },\r\n resetTableData:(state,action)=>{\r\n state.homeTeamData= [];\r\n state.awayTeamData= [];\r\n },\r\n resetGraphsData:(state,action)=>{\r\n \r\n // had\r\n state.rfHadData={};\r\n state.firstHalfHad={};\r\n state.halfTime=[];\r\n state.fullTime=[];\r\n state.haFu=[];\r\n state.goalsPerGame={};\r\n\r\n // handcap\r\n state.hdcHad=[];\r\n state.hdc={homeTeam:{},awayTeam:{}};\r\n\r\n //HiLo\r\n state.fullTimeHiLo=[];\r\n state.halfTimeHiLo=[];\r\n state.firstToScore={};\r\n state.goalTimes=[];\r\n state.totalGoalsAnalysis=[];\r\n\r\n //corners\r\n state.cornersPerGame={};\r\n state.cornersAgainstPerGame={};\r\n state.cornersInfo=[];\r\n state.cornersInfoFTHT=[];\r\n state.cornerhdc ={homeTeam:{},awayTeam:{}};\r\n state.fullTimeCornersHiLo=[];\r\n state.halfTimeCornersHiLo=[];\r\n // state.fullTimeCornerHiLo=[];\r\n // state.halfTimeCornerHiLo=[];\r\n\r\n },\r\n setGraphData:(state,action)=>{\r\n // if(action.payload!=''){\r\n if(action.payload!='' && Object.keys(action.payload).length>0){\r\n if(state.selectedTab === 'hilo'){\r\n if(state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'home'){\r\n var homefhHiLo = [];\r\n var homehiLo = [];\r\n }\r\n if(state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'away'){\r\n var awayfhHiLo = [];\r\n var awayhiLo = [];\r\n }\r\n if(state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'home'){\r\n // ((state.selectedFilterOptionFrom == '')?action.payload.recent8Results.homeTeam:action.payload).map((obj)=>{\r\n (action.payload.hasOwnProperty('recent8Results') && action.payload.recent8Results.homeTeam).map((obj)=>{\r\n obj['fhHiLo'].map((item)=>{\r\n var val = item.line;\r\n if(homefhHiLo.indexOf(val)==-1){\r\n homefhHiLo.push(val)\r\n }\r\n })\r\n state.homefhHiLo = homefhHiLo;\r\n state.selectedHomeFhHiloTab = homefhHiLo[0];\r\n \r\n obj['hiLo'].map((item)=>{\r\n var val = item.line;\r\n if(homehiLo.indexOf(val)==-1){\r\n homehiLo.push(val)\r\n }\r\n })\r\n state.homehiLo = homehiLo;\r\n state.selectedHomeHiloTab = homehiLo[0];\r\n })\r\n }\r\n if(state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'away'){\r\n // ((state.selectedFilterOptionFrom == '')?action.payload.recent8Results.awayTeam:action.payload).map((obj)=>{\r\n (action.payload.hasOwnProperty('recent8Results') && action.payload.recent8Results.awayTeam).map((obj)=>{\r\n obj['fhHiLo'].map((item)=>{\r\n var val = item.line;\r\n if(awayfhHiLo.indexOf(val)==-1){\r\n awayfhHiLo.push(val)\r\n }\r\n })\r\n state.awayfhHiLo = awayfhHiLo;\r\n state.selectedAwayFhHiloTab = awayfhHiLo[0];\r\n\r\n obj['hiLo'].map((item)=>{\r\n var val = item.line;\r\n if(awayhiLo.indexOf(val)===-1){\r\n awayhiLo.push(val)\r\n }\r\n })\r\n state.awayhiLo = awayhiLo;\r\n state.selectedAwayHiloTab = awayhiLo[0];\r\n })\r\n }\r\n }\r\n else if(state.selectedTab === 'corners'){\r\n var homeCorners = [];\r\n var awayCorners = [];\r\n var homeCornersHT = [];\r\n var awayCornersHT = [];\r\n // if(state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'home'){\r\n // // ((state.selectedFilterOptionFrom === '')?action.payload.recent8Results.homeTeam:action.payload).map((obj)=>{\r\n // (action.payload.hasOwnProperty('recent8Results') && action.payload.recent8Results.homeTeam).map((obj)=>{\r\n // obj['cornerHiLo'].map((item)=>{\r\n // var val = item.line;\r\n // if(homeCorners.indexOf(val)===-1){\r\n // homeCorners.push(val)\r\n // }\r\n // })\r\n // state.homeCorners = homeCorners;\r\n // state.selectedHomeCornerTab = homeCorners[0];\r\n\r\n \r\n // obj['cornerHiLoHT'].map((item)=>{\r\n // var val = item.line;\r\n // if(homeCornersHT.indexOf(val)===-1){\r\n // homeCornersHT.push(val)\r\n // }\r\n // })\r\n \r\n \r\n // state.homeCornersHT = homeCornersHT;\r\n // state.selectedHomeCornerHTTab = homeCornersHT[0];\r\n \r\n // })\r\n // }\r\n if (state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'home') {\r\n const recent8Results = action.payload.hasOwnProperty('recent8Results') ? action.payload.recent8Results : {};\r\n const homeTeam = recent8Results.homeTeam;\r\n \r\n // Check if homeTeam exists and is an array before mapping\r\n if (Array.isArray(homeTeam)) {\r\n homeTeam.map((obj) => {\r\n // Check if 'cornerHiLo' exists and is an array before mapping\r\n if (Array.isArray(obj['cornerHiLo'])) {\r\n obj['cornerHiLo'].map((item) => {\r\n var val = item.line;\r\n if (homeCorners.indexOf(val) === -1) {\r\n homeCorners.push(val);\r\n }\r\n });\r\n } else {\r\n console.error(\"cornerHiLo is not an array or is null for obj\", obj);\r\n }\r\n \r\n state.homeCorners = homeCorners;\r\n state.selectedHomeCornerTab = homeCorners[0];\r\n \r\n // Check if 'cornerHiLoHT' exists and is an array before mapping\r\n if (Array.isArray(obj['cornerHiLoHT'])) {\r\n obj['cornerHiLoHT'].map((item) => {\r\n var val = item.line;\r\n if (homeCornersHT.indexOf(val) === -1) {\r\n homeCornersHT.push(val);\r\n }\r\n });\r\n } else {\r\n console.error(\"cornerHiLoHT is not an array or is null for obj\", obj);\r\n }\r\n \r\n state.homeCornersHT = homeCornersHT;\r\n state.selectedHomeCornerHTTab = homeCornersHT[0];\r\n });\r\n } else {\r\n console.error(\"homeTeam is not an array or is undefined\");\r\n }\r\n }\r\n \r\n if (state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'away') {\r\n const recent8Results = action.payload.hasOwnProperty('recent8Results') ? action.payload.recent8Results : {};\r\n const awayTeam = recent8Results.awayTeam;\r\n\r\n // Check if awayTeam exists and is an array before mapping\r\n if (Array.isArray(awayTeam)) {\r\n awayTeam.map((obj) => {\r\n // Check if 'cornerHiLo' exists and is an array before mapping\r\n if (Array.isArray(obj['cornerHiLo'])) {\r\n obj['cornerHiLo'].map((item) => {\r\n var val = item.line;\r\n if (awayCorners.indexOf(val) === -1) {\r\n awayCorners.push(val);\r\n }\r\n });\r\n } else {\r\n console.error(\"cornerHiLo is not an array or is null for obj\", obj);\r\n }\r\n\r\n state.awayCorners = awayCorners;\r\n state.selectedAwayCornerTab = awayCorners[0];\r\n\r\n // Check if 'cornerHiLoHT' exists and is an array before mapping\r\n if (Array.isArray(obj['cornerHiLoHT'])) {\r\n obj['cornerHiLoHT'].map((item) => {\r\n var val = item.line;\r\n if (awayCornersHT.indexOf(val) === -1) {\r\n awayCornersHT.push(val);\r\n }\r\n });\r\n } else {\r\n console.error(\"cornerHiLoHT is not an array or is null for obj\", obj);\r\n }\r\n\r\n state.awayCornersHT = awayCornersHT;\r\n state.selectedAwayCornerHTTab = awayCornersHT[0];\r\n });\r\n } else {\r\n console.error(\"awayTeam is not an array or is undefined\");\r\n }\r\n}\r\n\r\n } \r\n // Handicap\r\n // else if(state.selectedTab === 'handicaps'){\r\n // var homeHandicap = [];\r\n // var awayHandicap = [];\r\n // var homehandicapHT = [];\r\n // var awayHandicapHT = [];\r\n // if(state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'home'){\r\n // // ((state.selectedFilterOptionFrom === '')?action.payload.recent8Results.homeTeam:action.payload).map((obj)=>{\r\n // (action.payload.hasOwnProperty('recent8Results') && action.payload.recent8Results.homeTeam).map((obj)=>{\r\n // obj['handicap'].map((item)=>{\r\n // var bettype = item.bettype;\r\n // var betname = item.betname;\r\n // var hdcName = item.hdcName;\r\n // var hdcOutcome = item.hdcOutcome;\r\n\r\n // if(homeCorners.indexOf(val)===-1){\r\n // homeHandicap.push(val)\r\n // }\r\n // })\r\n // state.homeCorners = homeHandicap;\r\n // state.selectedHomeCornerTab = homeHandicap[0];\r\n\r\n \r\n \r\n // })\r\n // }\r\n // if(state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'away'){\r\n // // ((state.selectedFilterOptionFrom === '')?action.payload.recent8Results.awayTeam:action.payload).map((obj)=>{\r\n // (action.payload.hasOwnProperty('recent8Results') && action.payload.recent8Results.awayTeam).map((obj)=>{\r\n // obj['cornerHiLo'].map((item)=>{\r\n // var val = item.line;\r\n // if(awayCorners.indexOf(val)===-1){\r\n // awayCorners.push(val)\r\n // }\r\n // })\r\n // state.awayCorners = awayCorners;\r\n // state.selectedAwayCornerTab = awayCorners[0];\r\n\r\n \r\n // obj['cornerHiLoHT'].map((item)=>{\r\n // var val = item.line;\r\n // if(awayCornersHT.indexOf(val)==-1){\r\n // awayCornersHT.push(val)\r\n // }\r\n // }) \r\n \r\n // state.awayCornersHT = awayCornersHT;\r\n // state.selectedAwayCornerHTTab = awayCornersHT[0];\r\n \r\n // })\r\n // }\r\n // } \r\n else if (state.selectedTab === 'handicaps') {\r\n // Initialize arrays to store handicap values\r\n let homeHandicap = [];\r\n let awayHandicap = [];\r\n \r\n // Process home team data if selectedFilterOptionFrom is '' or 'home'\r\n if (state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'home') {\r\n // Ensure 'recent8Results' exists and process homeTeam data\r\n if (action.payload.hasOwnProperty('recent8Results') && action.payload.recent8Results.homeTeam) {\r\n action.payload.recent8Results.homeTeam.map((obj) => {\r\n // Loop through each handicap item in home team's results\r\n obj['handicap'].map((item) => {\r\n const bettype = item.bettype;\r\n const betname = item.betname;\r\n const hdcName = item.hdcName;\r\n const hdcOutcome = item.hdcOutcome;\r\n \r\n // Check for HalfTime handicap\r\n if (betname === 'HalfTime') {\r\n homeHandicap.push(hdcName);\r\n homeHandicap.push(hdcOutcome);\r\n homeHandicap.push(bettype);\r\n }\r\n // Check for FullTime handicap\r\n else if (betname === 'FullTime') {\r\n homeHandicap.push(hdcName);\r\n homeHandicap.push(hdcOutcome);\r\n homeHandicap.push(bettype);\r\n homeHandicap.push(item); // Push full handicap item as a whole\r\n }\r\n });\r\n });\r\n }\r\n \r\n // Avoid directly mutating the state; return a new object with updated data\r\n return {\r\n ...state,\r\n homeHandicap: homeHandicap, // Update homeHandicap array\r\n selectedHomeHandicapTab: homeHandicap.length > 0 ? homeHandicap[0] : null, // Set default selected FullTime home handicap\r\n };\r\n }\r\n \r\n // Process away team data if selectedFilterOptionFrom is 'away'\r\n if (state.selectedFilterOptionFrom === 'away') {\r\n if (action.payload.hasOwnProperty('recent8Results') && action.payload.recent8Results.awayTeam) {\r\n action.payload.recent8Results.awayTeam.map((obj) => {\r\n obj['handicap'].map((item) => {\r\n const bettype = item.bettype;\r\n const betname = item.betname;\r\n const hdcName = item.hdcName;\r\n const hdcOutcome = item.hdcOutcome;\r\n \r\n // Check for HalfTime handicap\r\n if (betname === 'HalfTime') {\r\n awayHandicap.push(hdcName);\r\n awayHandicap.push(hdcOutcome);\r\n awayHandicap.push(bettype);\r\n awayHandicap.push(item); // Push half-time handicap item\r\n }\r\n // Check for FullTime handicap\r\n else if (betname === 'FullTime') {\r\n awayHandicap.push(hdcName);\r\n awayHandicap.push(hdcOutcome);\r\n awayHandicap.push(bettype);\r\n awayHandicap.push(item); // Push full-time handicap item\r\n }\r\n });\r\n });\r\n }\r\n \r\n return {\r\n ...state,\r\n awayHandicap: awayHandicap, // Update awayHandicap array\r\n selectedAwayHandicapTab: awayHandicap.length > 0 ? awayHandicap[0] : null, // Set default selected FullTime away handicap\r\n };\r\n }\r\n }\r\n \r\n\r\n if(state.selectedFilterOptionFrom === ''){\r\n state.graphData = action.payload;\r\n if(action.payload.hasOwnProperty('recent8Results') && action.payload.recent8Results.hasOwnProperty('homeTeam')){\r\n state.homeTeamData = action.payload.recent8Results.homeTeam;\r\n }\r\n if(action.payload.hasOwnProperty('recent8Results') && action.payload.recent8Results.hasOwnProperty('awayTeam')){\r\n state.awayTeamData = action.payload.recent8Results.awayTeam;\r\n }\r\n if(action.payload.hasOwnProperty('homeTeamName')){\r\n state.homeTeamName = action.payload.homeTeamName;\r\n }\r\n if(action.payload.hasOwnProperty('awayTeamName')){\r\n state.awayTeamName = action.payload.awayTeamName;\r\n }\r\n }else{\r\n // if(state.selectedFilterOptionFrom == 'home'){\r\n // state.homeTeamData = action.payload;\r\n // }else if(state.selectedFilterOptionFrom == 'away'){\r\n // state.awayTeamData = action.payload;\r\n // }\r\n if(action.payload.hasOwnProperty('recent8Results') && action.payload.recent8Results.hasOwnProperty('homeTeam')){\r\n state.homeTeamData = action.payload.recent8Results.homeTeam;\r\n }\r\n if(action.payload.hasOwnProperty('recent8Results') && action.payload.recent8Results.hasOwnProperty('awayTeam')){\r\n state.awayTeamData = action.payload.recent8Results.awayTeam;\r\n }\r\n }\r\n }else{\r\n if(state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'home'){\r\n state.homefhHiLo= []\r\n state.homehiLo =[]\r\n state.homeCorners= []\r\n state.homeCornersHT= []\r\n state.selectedHomeFhHiloTab= ''\r\n state.selectedHomeHiloTab= ''\r\n state.selectedHomeCornerTab=''\r\n state.selectedHomeCornerHTTab=''\r\n state.homeTeamData = [];\r\n }\r\n if(state.selectedFilterOptionFrom === '' || state.selectedFilterOptionFrom === 'away'){\r\n state.awayfhHiLo= []\r\n state.awayhiLo= []\r\n state.awayCorners= []\r\n state.awayCornersHT= []\r\n state.selectedAwayFhHiloTab= ''\r\n state.selectedAwayHiloTab= ''\r\n state.selectedAwayCornerTab=''\r\n state.selectedAwayCornerHTTab=''\r\n state.awayTeamData = [];\r\n }\r\n }\r\n },\r\n setHadData:(state, action)=>{\r\n if(action.payload.homeAwayDraw && action.payload.homeAwayDraw.had && Object.keys(action.payload.homeAwayDraw.had).length>0){\r\n state.rfHadData = action.payload.homeAwayDraw.had;\r\n }\r\n if(action.payload.homeAwayDraw && action.payload.homeAwayDraw.firstHalfHad && Object.keys(action.payload.homeAwayDraw.firstHalfHad).length>0){\r\n state.firstHalfHad = action.payload.homeAwayDraw.firstHalfHad;\r\n }\r\n if(action.payload.homeAwayDraw && action.payload.homeAwayDraw.goalsPerGame && Object.keys(action.payload.homeAwayDraw.goalsPerGame).length>0){\r\n state.goalsPerGame = action.payload.homeAwayDraw.goalsPerGame;\r\n }\r\n if(action.payload.correctScoreHaFu && \r\n action.payload.correctScoreHaFu.fullTime && \r\n Object.keys(action.payload.correctScoreHaFu.fullTime).length>0 &&\r\n action.payload.correctScoreHaFu.fullTime.scores){\r\n state.fullTime = action.payload.correctScoreHaFu.fullTime.scores;\r\n }\r\n if(action.payload.correctScoreHaFu && \r\n action.payload.correctScoreHaFu.halfTime && \r\n Object.keys(action.payload.correctScoreHaFu.halfTime).length>0 &&\r\n action.payload.correctScoreHaFu.halfTime.scores){\r\n state.halfTime = action.payload.correctScoreHaFu.halfTime.scores;\r\n }\r\n if(action.payload.correctScoreHaFu && \r\n action.payload.correctScoreHaFu.haFu && \r\n action.payload.correctScoreHaFu.haFu.length>0 ){\r\n state.haFu = action.payload.correctScoreHaFu.haFu;\r\n }\r\n },\r\n setHandicapData:(state,action)=>{\r\n if(action.payload.handicaps && \r\n action.payload.handicaps.hdcHad && \r\n action.payload.handicaps.hdcHad.length>0 ){\r\n state.hdcHad = action.payload.handicaps.hdcHad;\r\n }\r\n if(action.payload.handicaps && \r\n action.payload.handicaps.hdc && \r\n action.payload.handicaps.hdc.length>0 ){\r\n var hdcData=[];\r\n for(var item of action.payload.handicaps.hdc){\r\n hdcData.push(\r\n {\r\n outcomeName:item.outcomeName,\r\n homeGoals:item.homeTeamGoals,\r\n awayGoals:item.awayTeamGoals\r\n }\r\n )\r\n }\r\n state.hdc = hdcData;\r\n }\r\n },\r\n setCornersData:(state,action)=>{\r\n if(action.payload.corners && \r\n action.payload.corners.cornersPerGame && \r\n Object.keys(action.payload.corners.cornersPerGame).length>0 ){\r\n state.cornersPerGame = action.payload.corners.cornersPerGame;\r\n }\r\n if(action.payload.corners && \r\n action.payload.corners.cornersAgainstPerGame && \r\n Object.keys(action.payload.corners.cornersAgainstPerGame).length>0 ){\r\n state.cornersAgainstPerGame = action.payload.corners.cornersAgainstPerGame;\r\n }\r\n \r\n if(action.payload.corners && \r\n action.payload.corners.cornersHandicaps.hdc && \r\n action.payload.corners.cornersHandicaps.hdc.length>0 ){\r\n var cornerhdcData=[];\r\n for(var item of action.payload.corners.cornersHandicaps.hdc){\r\n cornerhdcData.push(\r\n {\r\n outcomeName:item.outcomeName,\r\n homeGoals:item.homeTeamGoals,\r\n awayGoals:item.awayTeamGoals\r\n }\r\n )\r\n }\r\n state.cornerhdc = cornerhdcData;\r\n\r\n }\r\n if(action.payload.corners && \r\n action.payload.corners.cornersInfo && \r\n action.payload.corners.cornersInfo.length>0 ){\r\n state.cornersInfo = action.payload.corners.cornersInfo;\r\n state.cornersInfoFTHT = action.payload.corners.cornersInfoFTHT;\r\n state.fullTimeCornersHiLo = action.payload.corners.cornersInfoFTHT.fullTime;\r\n state.halfTimeCornersHiLo = action.payload.corners.cornersInfoFTHT.halfTime;\r\n\r\n \r\n }\r\n // if(action.payload.corners && \r\n // action.payload.corners.cornersInfoFTHT && \r\n // action.payload.corners.cornersInfoFTHT.length>0 ){\r\n // state.cornersInfoFTHT = action.payload.corners.cornersInfoFTHT;\r\n // }\r\n // if(action.payload.corners && \r\n // action.payload.corners.cornersInfoFTHT && \r\n // action.payload.corners.cornersInfoFTHT.length>0 ){\r\n // state.fullTimeCornersHiLo = action.payload.corners.cornersInfoFTHT.fullTime;\r\n // console.log(\"fdFT::\",state.fullTimeCornersHiLo);\r\n // }\r\n // if(action.payload.corners && \r\n // action.payload.corners.cornersInfoFTHT && \r\n // action.payload.corners.cornersInfoFTHT.length>0 ){\r\n // state.halfTimeCornersHiLo = action.payload.corners.cornersInfoFTHT.halfTime;\r\n // console.log(\"fdHT::\",state.halfTimeCornersHiLo);\r\n // }\r\n // if (action.payload.corners && action.payload.corners.length > 0 && \r\n // action.payload.corners.cornersHiLoAll && \r\n // action.payload.corners.cornersHiLoAll.fullTimeCornerHiLo && \r\n // action.payload.corners.cornersHiLoAll.fullTimeCornerHiLo.length > 0) {\r\n // state.fullTimeCornerHiLo = action.payload.corners.cornersHiLoAll.fullTimeCornerHiLo;\r\n // }\r\n \r\n // if (action.payload.corners && action.payload.corners.length > 0 && \r\n // action.payload.corners.cornersHiLoAll && \r\n // action.payload.corners.cornersHiLoAll.halfTimeCornerHiLo && \r\n // action.payload.corners.cornersHiLoAll.halfTimeCornerHiLo.length > 0) {\r\n // state.halfTimeCornerHiLo = action.payload.corners.cornersHiLoAll.halfTimeCornerHiLo;\r\n // }\r\n \r\n },\r\n setHiLoData:(state,action)=>{\r\n if(action.payload.hiLo && \r\n action.payload.hiLo.fullTimeHiLo && \r\n action.payload.hiLo.fullTimeHiLo.length>0 ){\r\n state.fullTimeHiLo = action.payload.hiLo.fullTimeHiLo;\r\n \r\n }\r\n if(action.payload.hiLo && \r\n action.payload.hiLo.halfTimeHiLo && \r\n action.payload.hiLo.halfTimeHiLo.length>0 ){\r\n state.halfTimeHiLo = action.payload.hiLo.halfTimeHiLo;\r\n \r\n }\r\n if(action.payload.totalGoals &&\r\n action.payload.totalGoals.firstTeamToScore &&\r\n Object.keys(action.payload.totalGoals.firstTeamToScore).length>0){\r\n var data = action.payload.totalGoals.firstTeamToScore;\r\n var formatedData = {\r\n labels:[],\r\n homeTeam:[data.homeScoredFirst,data.homeConcededFirst,data.homeNoGoal],\r\n awayTeam:[data.awayScoredFirst,data.awayConcededFirst,data.awayNoGoal],\r\n }\r\n state.firstToScore = formatedData; \r\n }\r\n if(action.payload.totalGoals &&\r\n action.payload.totalGoals.goalTimes &&\r\n action.payload.totalGoals.goalTimes.length>0){\r\n state.goalTimes = action.payload.totalGoals.goalTimes;\r\n }\r\n if(action.payload.totalGoals &&\r\n action.payload.totalGoals.totalGoalsAnalysis &&\r\n action.payload.totalGoals.totalGoalsAnalysis.length>0){\r\n state.totalGoalsAnalysis = action.payload.totalGoals.totalGoalsAnalysis;\r\n }\r\n if(action.payload.totalGoals &&\r\n action.payload.totalGoals.teamsToScore &&\r\n action.payload.totalGoals.teamsToScore.length>0){\r\n var tts = [];\r\n for(var item of action.payload.totalGoals.teamsToScore){\r\n tts.push(\r\n {\r\n outcomeName:item.result,\r\n homeGoals:item.awayGoals,\r\n awayGoals:item.homeGoals\r\n }\r\n )\r\n }\r\n state.teamsToScore = tts;\r\n }\r\n \r\n \r\n },\r\n selectDefaultHomeOptionId:(state,action)=>{\r\n state.defaultHomeOptionId = action.payload;\r\n },\r\n selectDefaultAwayOptionId:(state,action)=>{\r\n state.defaultAwayOptionId = action.payload;\r\n }\r\n \r\n }\r\n});\r\n\r\nexport const { selectTab, \r\n setGraphData,\r\n resetGraphsData,\r\n setHadData, \r\n setHandicapData,\r\n setHiLoData,\r\n setCornersData, selectFilterOption,resetTableData,selectDefaultHomeOptionId,selectDefaultAwayOptionId} = RecentFormTabSlice.actions;\r\n\r\nexport const getGraphData = (tabname,optionId,from,homeTeamId,awayTeamId,languageId,tableSelectedOptions1) => dispatch => {\r\n var tableSelectedOptions = tableSelectedOptions1;\r\n if(tableSelectedOptions1===undefined || Object.keys(tableSelectedOptions1).length===0){\r\n tableSelectedOptions = {\r\n selectedHomeOptionId: 1,\r\n selectedAwayOptionId: 1\r\n }\r\n }\r\n var mode = window.location.pathname.split(\"/\").includes('recentform')?2:window.location.pathname.split(\"/\").includes('bmrecentforms')?1:'';\r\n dispatch(setLoader(true))\r\n var marketGroupId = (tabname==='had')?1:(tabname==='handicap')?2:(tabname==='hilo')?3:4;\r\n // if(optionId){\r\n // var teamId = from=='home'?homeTeamId:awayTeamId;\r\n // var url = matchCenter.getLasRresults+'?languageId='+languageId+'&channelId='+channelId+'&teamId='+teamId+'&marketGroupId='+marketGroupId+'&optionId='+optionId+\"&mode=\"+mode;\r\n // }else{\r\n var url = matchCenter.getRecentformInformation+'?languageId='+languageId+'&channelId='+channelId+'&homeTeamId='+homeTeamId+'&awayTeamId='+awayTeamId+'&marketGroupId='+marketGroupId+'&optionIdH='+tableSelectedOptions.selectedHomeOptionId+'&optionIdA='+tableSelectedOptions.selectedAwayOptionId+\"&mode=\"+mode;\r\n // }\r\n dispatch(resetGraphsData())\r\n apiCaller(url,'GET',{}).then((response) => {\r\n if(response.data!=null && response.data){\r\n dispatch(setLoader(false))\r\n dispatch(setGraphData(response.data))\r\n if(tabname==='had'){\r\n dispatch(setHadData(response.data))\r\n }\r\n //dispatch(setGraphData(response.data))\r\n if(tabname==='handicap'){\r\n dispatch(setHandicapData(response.data))\r\n }\r\n if(tabname==='hilo'){\r\n dispatch(setHiLoData(response.data))\r\n }\r\n if(tabname==='corners'){\r\n dispatch(setCornersData(response.data))\r\n }\r\n \r\n }else{\r\n dispatch(setLoader(false))\r\n }\r\n })\r\n }\r\n\r\n export const loadData = (tabname,opt,from,homeTeamId,awayTeamId,languageId,tableSelectedOptions) => dispatch =>{\r\n opt = (opt===undefined || opt==='')?'':opt;\r\n from = (from===undefined || from==='')?'':from;\r\n dispatch(selectFilterOption([opt,from]))\r\n dispatch(selectTab(tabname));\r\n dispatch(setGraphData(''));\r\n dispatch(getGraphData(tabname,opt,from,homeTeamId,awayTeamId,languageId,tableSelectedOptions));\r\n }\r\n\r\nexport const selectSelectedTab = state => state.home.selectedTab;\r\n\r\nexport default RecentFormTabSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { summary } from '../../sharedfiles/EndpointConfig';\r\nimport { languageId, channelId} from '../../sharedfiles/constants'\r\n\r\nexport const SummarySlice = createSlice({\r\n name: 'summary',\r\n initialState: {\r\n h2hLastResultsTableData:[],\r\n lastResultsGraphData:{},\r\n hadGraphData:{},\r\n goalsPerGame:{},\r\n fhHiLoGraphData:[],\r\n fhHiLoTablesData:{},\r\n hiLoGraphData:[],\r\n hiLoTablesData:{},\r\n cornersHiloTableDataAll : {},\r\n cornerfhHiLoGraphData:[],\r\n cornerhiLoGraphData:[],\r\n cornorsHiLoGraphData:[],\r\n cornorsHiLoTablesData:{},\r\n cornorsHTHiLoGraphData:[],\r\n cornorsHTHiLoTablesData:{},\r\n goalScoringTimesData:[],\r\n last8Results:{},\r\n hiloCornersColumns:{},\r\n seledtedFilter: {\r\n homehalf: '',\r\n homefull: '',\r\n awayhalf: '',\r\n awayfull: '',\r\n // homecornerfull: '',\r\n // awaycornerfull: '',\r\n homeCornersHalf: '',\r\n homeCornersFull: '',\r\n awayCornersHalf: '',\r\n awayCornersFull: '',\r\n \r\n \r\n },\r\n cornersFilters: {\r\n homeCornersFullTimeGoals: [],\r\n awayCornersFullTimeGoals: []\r\n },\r\n hiloFilters: {\r\n homeHalfTimeGoals: [],\r\n homeFullTimeGoals: [],\r\n awayHalfTimeGoals: [],\r\n awayFullTimeGoals: []\r\n },\r\n \r\n cornershiloAllFilters: {\r\n homeCornersHalfTimeGoals: [],\r\n homeCornersFullTimeGoals: [],\r\n awayCornersHalfTimeGoals: [],\r\n awayCornersFullTimeGoals: []\r\n },\r\n cornersHiloColumns:[]\r\n },\r\n reducers: {\r\n setLastResults:(state,action)=>{\r\n state.data = action.payload;\r\n var data = action.payload;\r\n if(data.tableInfo && data.tableInfo.length>0){\r\n state.h2hLastResultsTableData = data.tableInfo\r\n }\r\n if(data.chartInfo && Object.keys(data.chartInfo).length>0){\r\n if(data.chartInfo.homeAwayDraw && Object.keys(data.chartInfo.homeAwayDraw).length>0){\r\n state.hadGraphData = data.chartInfo.homeAwayDraw\r\n }\r\n if(data.chartInfo.goalsPerGame && Object.keys(data.chartInfo.goalsPerGame).length>0){\r\n state.goalsPerGame = data.chartInfo.goalsPerGame\r\n }\r\n \r\n }\r\n },\r\n setTableHeaders:(state,action)=>{\r\n var staticKeyWords = action.payload;\r\n state.staticKeyWords = staticKeyWords;\r\n state.hiloCornersColumns = {\r\n mainColumns: [\r\n {column:staticKeyWords.halfTime, header:'Goal Line', rowspan: true},\r\n {column:staticKeyWords.fullTime, header:'Goal Line', rowspan: false}\r\n ],\r\n subColumns: [\r\n {column:'', key:''},\r\n {column:staticKeyWords.hi, key:'half.high'},\r\n {column:staticKeyWords.lo, key:'half.low'},\r\n {column:'', key:''},\r\n {column:staticKeyWords.hi, key:'full.high'},\r\n {column:staticKeyWords.lo, key:'full.low'},\r\n ]\r\n\r\n };\r\n state.cornersHiloColumns = [\r\n {column:'', key:''},\r\n {column:staticKeyWords.hi, key:'',class:\"w-100px\"},\r\n {column:staticKeyWords.lo, key:'',class:\"w-100px\"}\r\n ]\r\n },\r\n\r\n setMarketsData:(state,action)=>{\r\n var data = action.payload;\r\n // if(data.firstHalfHiLo && Object.keys(data.firstHalfHiLo).length>0){\r\n // if(data.firstHalfHiLo.lastResults && data.firstHalfHiLo.lastResults.length>0){\r\n // state.fhHiLoGraphData = data.firstHalfHiLo.lastResults;\r\n // }\r\n // if(data.firstHalfHiLo.seasonSummary && Object.keys(data.firstHalfHiLo.seasonSummary).length>0){\r\n // state.fhHiLoTablesData = data.firstHalfHiLo.seasonSummary;\r\n // }\r\n // }\r\n if(data.hiLo && Object.keys(data.hiLo).length>0){\r\n if(data.hiLo.lastResults && Object.keys(data.hiLo.lastResults).length>0){\r\n if(data.hiLo.lastResults.hasOwnProperty('fullTime') && data.hiLo.lastResults.fullTime.length>0){\r\n state.hiLoGraphData = data.hiLo.lastResults.fullTime;\r\n }\r\n if(data.hiLo.lastResults.hasOwnProperty('halfTime') && data.hiLo.lastResults.halfTime.length>0){\r\n state.fhHiLoGraphData = data.hiLo.lastResults.halfTime;\r\n }\r\n \r\n }\r\n if(data.hiLo.seasonSummary && Object.keys(data.hiLo.seasonSummary).length>0){\r\n state.hiLoTablesData = data.hiLo.seasonSummary;\r\n \r\n var homeHalfTimeGoals = [];\r\n var homeFullTimeGoals = [];\r\n var awayHalfTimeGoals = [];\r\n var awayFullTimeGoals = [];\r\n var hiloData = data.hiLo.seasonSummary;\r\n for(var key in hiloData){\r\n for(var subkey in hiloData[key]){\r\n for(var innersubkey in hiloData[key][subkey]){\r\n for(var i=0;i0;i++){\r\n var val = hiloData[key][subkey][innersubkey][i].line;\r\n if(innersubkey == 'halfTime'){\r\n if(key == 'homeTeam'){\r\n if(homeHalfTimeGoals.indexOf(val) == -1){\r\n homeHalfTimeGoals.push(val)\r\n }\r\n }else if(key == 'awayTeam'){\r\n if(awayHalfTimeGoals.indexOf(val) == -1){\r\n awayHalfTimeGoals.push(val)\r\n }\r\n }\r\n }else if(innersubkey == 'fullTime'){\r\n if(key == 'homeTeam'){\r\n if(homeFullTimeGoals.indexOf(val) == -1){\r\n homeFullTimeGoals.push(val)\r\n }\r\n }else if(key == 'awayTeam'){\r\n if(awayFullTimeGoals.indexOf(val) == -1){\r\n awayFullTimeGoals.push(val)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n state.seledtedFilter.homehalf = homeHalfTimeGoals[1];\r\n state.seledtedFilter.homefull = homeFullTimeGoals[1];\r\n state.seledtedFilter.awayhalf = awayHalfTimeGoals[1];\r\n state.seledtedFilter.awayfull = awayFullTimeGoals[1];\r\n state.hiloFilters= {\r\n homeHalfTimeGoals: homeHalfTimeGoals,\r\n homeFullTimeGoals: homeFullTimeGoals,\r\n awayHalfTimeGoals: awayHalfTimeGoals,\r\n awayFullTimeGoals: awayFullTimeGoals,\r\n }\r\n \r\n }\r\n }\r\n if(data.cornerHiLo && Object.keys(data.cornerHiLo).length>0){\r\n if(data.cornerHiLo.lastResults && data.cornerHiLo.lastResults.length>0){\r\n state.cornorsHiLoGraphData = data.cornerHiLo.lastResults;\r\n }\r\n if(data.cornerHiLo.seasonSummary && Object.keys(data.cornerHiLo.seasonSummary).length>0){\r\n state.cornorsHiLoTablesData = data.cornerHiLo.seasonSummary;\r\n if(true){\r\n var homeCornersFullTimeGoals = [];\r\n var awayCornersFullTimeGoals = [];\r\n var cornersData = data.cornerHiLo.seasonSummary;\r\n for(var key in cornersData){\r\n for(var subkey in cornersData[key]){\r\n //for(var innersubkey in cornersData[key][subkey]){\r\n for(var i=0;i0){\r\n if(data.cornerHiLoAll.lastResults && Object.keys(data.cornerHiLoAll.lastResults).length>0){\r\n if(data.cornerHiLoAll.lastResults.hasOwnProperty('fullTime') && data.cornerHiLoAll.lastResults.fullTime.length>0){\r\n state.cornerhiLoGraphData = data.cornerHiLoAll.lastResults.fullTime;\r\n }\r\n if(data.cornerHiLoAll.lastResults.hasOwnProperty('halfTime') && data.cornerHiLoAll.lastResults.halfTime.length>0){\r\n state.cornerfhHiLoGraphData = data.cornerHiLoAll.lastResults.halfTime;\r\n }\r\n \r\n }\r\n \r\n if(data.cornerHiLoAll.seasonSummary && Object.keys(data.cornerHiLoAll.seasonSummary).length>0){\r\n state.cornersHiloTableDataAll = data.cornerHiLoAll.seasonSummary;\r\n \r\n var homeCornersHalfTimeGoals = []; \r\n var homeCornersFullTimeGoals = [];\r\n var awayCornersHalfTimeGoals = [];\r\n var awayCornersFullTimeGoals = [];\r\n var cornerhiloDataAll = data.cornerHiLoAll.seasonSummary;\r\n for(var key in cornerhiloDataAll){\r\n for(var subkey in cornerhiloDataAll[key]){\r\n for(var innersubkey in cornerhiloDataAll[key][subkey]){\r\n for(var i=0;i0;i++){\r\n var val = cornerhiloDataAll[key][subkey][innersubkey][i].line;\r\n if(innersubkey == 'halfTime'){\r\n if(key == 'homeTeam'){\r\n if(homeCornersHalfTimeGoals.indexOf(val) == -1){\r\n homeCornersHalfTimeGoals.push(val)\r\n }\r\n }else if(key == 'awayTeam'){\r\n if(awayCornersHalfTimeGoals.indexOf(val) == -1){\r\n awayCornersHalfTimeGoals.push(val)\r\n }\r\n }\r\n }else if(innersubkey == 'fullTime'){\r\n if(key == 'homeTeam'){\r\n if(homeCornersFullTimeGoals.indexOf(val) == -1){\r\n homeCornersFullTimeGoals.push(val)\r\n }\r\n }else if(key == 'awayTeam'){\r\n if(awayCornersFullTimeGoals.indexOf(val) == -1){\r\n awayCornersFullTimeGoals.push(val)\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n }\r\n }\r\n state.seledtedFilter.homeCornersHalf = homeCornersHalfTimeGoals[2];\r\n state.seledtedFilter.homeCornersFull = homeCornersFullTimeGoals[1];\r\n state.seledtedFilter.awayCornersHalf = awayCornersHalfTimeGoals[2];\r\n state.seledtedFilter.awayCornersFull = awayCornersFullTimeGoals[1];\r\n state.cornershiloAllFilters= {\r\n homeCornersHalfTimeGoals: homeCornersHalfTimeGoals,\r\n homeCornersFullTimeGoals: homeCornersFullTimeGoals,\r\n awayCornersHalfTimeGoals: awayCornersHalfTimeGoals,\r\n awayCornersFullTimeGoals: awayCornersFullTimeGoals,\r\n }\r\n \r\n }\r\n }\r\n if(data.goalTimes && data.goalTimes.length>0){\r\n state.goalScoringTimesData = data.goalTimes;\r\n }\r\n },\r\n setLast8Results:(state,action)=>{\r\n state.last8Results= action.payload;\r\n },\r\n selectCornersFilter: (state, action) => {\r\n // if(action.payload.text == 'homecornerfull'){\r\n // state.seledtedFilter.homecornerfull = action.payload.value\r\n // }else if(action.payload.text == 'awaycornerfull'){\r\n // state.seledtedFilter.awaycornerfull = action.payload.value\r\n // }\r\n if(action.payload.text == 'homeCornersHalf'){\r\n state.seledtedFilter.homeCornersHalf = action.payload.value\r\n }else if(action.payload.text == 'homeCornersFull'){\r\n state.seledtedFilter.homeCornersFull = action.payload.value\r\n }else if(action.payload.text == 'awayCornersHalf'){\r\n state.seledtedFilter.awayCornersHalf = action.payload.value\r\n }else if(action.payload.text == 'awayCornersFull'){\r\n state.seledtedFilter.awayCornersFull = action.payload.value\r\n }\r\n },\r\n \r\n// setCornersFilters: (state, action) => {\r\n// state.cornersFilters= {\r\n// homeCornersFullTimeGoals: action.payload.homeCornersFullTimeGoals,\r\n// awayCornersFullTimeGoals: action.payload.awayCornersFullTimeGoals,\r\n// }\r\n// },\r\n setCornerHiloAllFilters: (state, action) => {\r\n state.cornershiloAllFilters= {\r\n homeCornersHalfTimeGoals: action.payload.homeCornersHalfTimeGoals,\r\n homeCornersFullTimeGoals: action.payload.homeCornersFullTimeGoals,\r\n awayCornersHalfTimeGoals: action.payload.awayCornersHalfTimeGoals,\r\n awayCornersFullTimeGoals: action.payload.awayCornersFullTimeGoals,\r\n }\r\n },\r\n selectFilter: (state, action) => {\r\n if(action.payload.text == 'homehalf'){\r\n state.seledtedFilter.homehalf = action.payload.value\r\n }else if(action.payload.text == 'homefull'){\r\n state.seledtedFilter.homefull = action.payload.value\r\n }else if(action.payload.text == 'awayhalf'){\r\n state.seledtedFilter.awayhalf = action.payload.value\r\n }else if(action.payload.text == 'awayfull'){\r\n state.seledtedFilter.awayfull = action.payload.value\r\n }\r\n },\r\n resetHiloFilters:(state,action)=>{\r\n state.hiloFilters= {\r\n homeHalfTimeGoals: [],\r\n homeFullTimeGoals: [],\r\n awayHalfTimeGoals: [],\r\n awayFullTimeGoals: []\r\n \r\n }\r\n // state.cornersFilters= {\r\n // homeCornersFullTimeGoals: [],\r\n // awayCornersFullTimeGoals: []\r\n // }\r\n state.cornershiloAllFilters= {\r\n homeCornersHalfTimeGoals: [],\r\n homeCornersFullTimeGoals: [],\r\n awayCornersFullTimeGoals: [],\r\n awayCornersHalfTimeGoals: []\r\n \r\n }\r\n state.cornorsHiLoTablesData={}\r\n state.hiLoTablesData={}\r\n state.cornersHiloTableDataAll={}\r\n }\r\n },\r\n});\r\n\r\nexport const { setLastResults, setMarketsData,setLast8Results,setTableHeaders,selectCornersFilter,selectFilter,resetHiloFilters } = SummarySlice.actions;\r\n\r\nexport const getLastResults = (eventId,languageId) => dispatch => {\r\n var url = summary.getLastResults+'?languageId='+languageId+'&channelId='+channelId+'&eventId='+eventId;\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response.data !== null && response.data && Object.keys(response.data).length>0){\r\n dispatch(setLastResults(response.data))\r\n }\r\n });\r\n\r\n}\r\n\r\nexport const getMarketsInfo = (eventId,languageId,homeTeamId,awayTeamId,competitionId) => dispatch => {\r\n var url = summary.getMarketsInfo+'?languageId='+languageId+'&channelId='+channelId+'&eventId='+eventId+'&homeTeamId='+homeTeamId+\"&awayTeamId=\"+awayTeamId+\"&competitionId=\"+competitionId;\r\n dispatch(resetHiloFilters());\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response.data !== null && response.data && Object.keys(response.data).length>0){\r\n dispatch(setMarketsData(response.data))\r\n }\r\n });\r\n}\r\n\r\nexport const getLast8Results = (homeTeamId, awayTeamId, languageId, competitionId) => dispatch => {\r\n var url = summary.getResults + '?languageId=' + languageId + '&channelId=' + channelId + '&homeTeamId=' + homeTeamId +\r\n \"&awayTeamId=\" + awayTeamId+\"&competitionId=\"+competitionId;\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response.data !== null && response.data && Object.keys(response.data).length>0){\r\n dispatch(setLast8Results(response.data))\r\n }\r\n else\r\n dispatch(setLast8Results())\r\n });\r\n\r\n}\r\n\r\nexport default SummarySlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { matchCenter } from '../../sharedfiles/EndpointConfig';\r\nimport {languageId,channelId} from '../../sharedfiles/constants'\r\n\r\nexport const RecentformTableSlice = createSlice({\r\n name: 'recentfromtable',\r\n initialState: {\r\n selectedTab:'had',\r\n graphData: [],\r\n homeTeamData: [],\r\n awayTeamData: [],\r\n homeTeamName: '',\r\n awayTeamName: '',\r\n selectedOption: 1,\r\n selectedHomeFhHiloTab: 1.5,\r\n selectedHomeHiloTab: 2.5,\r\n selectedAwayFhHiloTab: 1.5,\r\n selectedAwayHiloTab: 2.5,\r\n homefhHiLo: [],\r\n selectedHomeCornerTab: 9.5,\r\n selectedAwayCornerTab: 9.5,\r\n selectedHomeCornerHTTab: 5.5,\r\n selectedAwayCornerHTTab: 5.5,\r\n homeCorners:[],\r\n awayCorners:[],\r\n selectedAwayHandicapTab: 2,\r\n selectedHomeHandicapTab: 2,\r\n },\r\n reducers: {\r\n \r\n selectHomeFhHiloTab:(state,action)=>{\r\n state.selectedHomeFhHiloTab = action.payload\r\n },\r\n selectHomeHiloTab:(state,action)=>{\r\n state.selectedHomeHiloTab = action.payload\r\n },\r\n selectAwayFhHiloTab:(state,action)=>{\r\n state.selectedAwayFhHiloTab = action.payload\r\n },\r\n selectAwayHiloTab:(state,action)=>{\r\n state.selectedAwayHiloTab = action.payload\r\n },\r\n selectHomeCornerTab:(state,action)=>{\r\n state.selectedHomeCornerTab = action.payload\r\n },\r\n selectAwayCornerTab:(state,action)=>{\r\n state.selectedAwayCornerTab = action.payload\r\n },\r\n selectHomeCornerHTTab:(state,action)=>{\r\n state.selectedHomeCornerHTTab = action.payload\r\n },\r\n selectAwayCornerHTTab:(state,action)=>{\r\n state.selectedAwayCornerHTTab = action.payload\r\n },\r\n selectAwayHandicapTab:(state,action)=>{\r\n state.selectedAwayHandicapTab = action.payload\r\n },\r\n selectHomeHandicapTab:(state,action)=>{\r\n state.selectedHomeHandicapTab = action.payload\r\n },\r\n\r\n }\r\n});\r\n\r\nexport const optionChanged = (option,loadData, selectedTab, from,homeTeamId,awayTeamId,languageId,tableSelectedOptions) => dispatch =>{\r\n dispatch(resetAllTabs(selectedTab, from));\r\n // var opt = (option==0)?1:(option==1)?2:3;\r\n dispatch(loadData(selectedTab,option,from,homeTeamId,awayTeamId,languageId,tableSelectedOptions))\r\n}\r\n\r\nexport const bindStatusColor = (result,text,list,from) => {\r\n var data = result;\r\n if(text && list && list.length){\r\n data = '';\r\n list.forEach((item)=>{\r\n if(item.line==result){\r\n data = item.outcomeName\r\n }\r\n })\r\n }\r\n if(data && data!==\"-\" && data!==undefined){\r\n if(from=='class'){\r\n if(text == 'hilo'){\r\n return (data.toLowerCase()=='h')?'status High':(data.toLowerCase()=='l')?'status Low':(data.toLowerCase()=='n')?'status BTTSno':(data.toLowerCase()=='y')?'status BTTSyes':''; \r\n }else if(text == 'corners'){\r\n return (data.toLowerCase().match('h'))?'status High':(data.toLowerCase().match('l'))?'status Low':''; \r\n }else if(text == 'handicapsHAD'){\r\n return (data.toLowerCase()=='w')?'status win':(data.toLowerCase()=='l')?'status loss':'status draw'; \r\n }else if(text == 'handicaps'){\r\n return (data.toLowerCase()=='w')?'status win':(data.toLowerCase()=='l')?'status loss':'status draw'; \r\n }else{\r\n return (data.toLowerCase()=='l')?'status loss':(data.toLowerCase()=='w')?'status win':(data.toLowerCase()=='d')?'status draw':''; \r\n }\r\n }else{\r\n return data?data:'-';\r\n }\r\n }else{\r\n return data?data:'-';\r\n }\r\n}\r\n\r\nexport const hiLoOptionChanged = (option,text) => dispatch =>{\r\n if(text == 'home_fhHiLo'){\r\n dispatch(selectHomeFhHiloTab(option));\r\n }else if(text == 'home_hiLo'){\r\n dispatch(selectHomeHiloTab(option));\r\n }else if(text == 'away_fhHiLo'){\r\n dispatch(selectAwayFhHiloTab(option));\r\n }else if(text == 'away_hiLo'){\r\n dispatch(selectAwayHiloTab(option));\r\n }else if(text == 'home_corners'){\r\n dispatch(selectHomeCornerTab(option));\r\n }else if(text == 'away_corners'){\r\n dispatch(selectAwayCornerTab(option));\r\n }else if(text == 'home_ht_corners'){\r\n dispatch(selectHomeCornerHTTab(option));\r\n }else if(text == 'away_ht_corners'){\r\n dispatch(selectAwayCornerHTTab(option));\r\n }\r\n else if(text == 'home_handicap'){\r\n dispatch(selectHomeHandicapTab(option));\r\n }\r\n else if(text == 'away_handicap'){\r\n dispatch(selectAwayHandicapTab(option));\r\n }\r\n}\r\n\r\nexport const resetAllTabs = (selectedTab, from) => dispatch =>{\r\n if(from!==null&&from!==\"\"&&from!==undefined ){\r\n if(from == 'home' && selectedTab =='hilo'){\r\n dispatch(selectHomeFhHiloTab(1.5));\r\n dispatch(selectHomeHiloTab(2.5));\r\n }else if(from == 'away' && selectedTab =='hilo'){\r\n dispatch(selectAwayFhHiloTab(1.5));\r\n dispatch(selectAwayHiloTab(2.5));\r\n }else if(from == 'home' && selectedTab =='corners'){\r\n dispatch(selectHomeCornerTab(9.5));\r\n dispatch(selectHomeCornerHTTab(5.5));\r\n }else if(from == 'away' && selectedTab =='corners'){\r\n dispatch(selectAwayCornerTab(9.5));\r\n dispatch(selectAwayCornerHTTab(5.5));\r\n }\r\n else if(from == 'away' && selectedTab =='handicaps'){\r\n dispatch(selectAwayHandicapTab('FullTime'));\r\n }\r\n else if(from == 'home' && selectedTab =='handicaps'){\r\n dispatch(selectHomeHandicapTab('FullTime'));\r\n }\r\n }else{\r\n dispatch(selectHomeFhHiloTab(1.5));\r\n dispatch(selectHomeHiloTab(2.5));\r\n dispatch(selectAwayFhHiloTab(1.5));\r\n dispatch(selectAwayHiloTab(2.5));\r\n dispatch(selectHomeCornerTab(9.5));\r\n dispatch(selectAwayCornerTab(9.5));\r\n dispatch(selectHomeCornerHTTab(5.5));\r\n dispatch(selectAwayCornerHTTab(5.5));\r\n dispatch(selectHomeHandicapTab(2))\r\n dispatch(selectAwayHandicapTab(2))\r\n\r\n }\r\n \r\n}\r\n\r\nexport const { selectHomeFhHiloTab, selectHomeHiloTab, selectAwayFhHiloTab, selectAwayHiloTab, selectHomeCornerTab, selectAwayCornerTab,selectHomeCornerHTTab, selectAwayCornerHTTab ,selectHomeHandicapTab ,selectAwayHandicapTab } = RecentformTableSlice.actions;\r\n\r\nexport default RecentformTableSlice.reducer;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { seasonalStats } from '../../sharedfiles/EndpointConfig';\r\nimport {channelId } from '../../sharedfiles/constants'\r\nimport { setLoader } from '../../AppSlice';\r\nimport { setFilter,setTab } from './standings/StandingsSlice';\r\n// import {structureGraphData,getMaxValue} from '../../sharedfiles/helper';\r\nimport { setComepetitionAndDate } from '../tournamentleague/TournamentLeagueSlice';\r\n\r\nexport const SeasonalStatsSlice = createSlice({\r\n name: 'seasonalstats',\r\n initialState: {\r\n tablesList : [],\r\n standingsTableData:[],\r\n selectedTable:{tableId:1,tableName:\"\"},\r\n tableAndRoutes:[\r\n {\"tableId\":1,\"route\":'standings'},\r\n {\"tableId\":2,\"route\":'keyindicators'},\r\n {\"tableId\":3,\"route\":'handicap'},\r\n {\"tableId\":6,\"route\":'hilo'},\r\n {\"tableId\":10,\"route\":'cornershilo'},\r\n {\"tableId\":4,\"route\":'handicaphad'},\r\n {\"tableId\":9,\"route\":'correctscore'}, \r\n {\"tableId\":5,\"route\":'hafu'},\r\n {\"tableId\":8,\"route\":'firstteamtoscore'},\r\n {\"tableId\":7,\"route\":'teamstoscoreoddoreven'},\r\n {\"tableId\":11,\"route\":'totalgoals'}\r\n ],\r\n // tableAndRoutes:[\r\n // {\"tableId\":1,\"route\":'standings'},\r\n // {\"tableId\":2,\"route\":'keyindicators'},\r\n // {\"tableId\":3,\"route\":'handicap'},\r\n // {\"tableId\":4,\"route\":'handicaphad'},\r\n // {\"tableId\":10,\"route\":'cornershilo'},\r\n // {\"tableId\":5,\"route\":'hafu'},\r\n // {\"tableId\":6,\"route\":'hilo'},\r\n // {\"tableId\":7,\"route\":'teamstoscoreoddoreven'},\r\n // {\"tableId\":8,\"route\":'firstteamtoscore'},\r\n // {\"tableId\":9,\"route\":'correctscore'}, \r\n // {\"tableId\":11,\"route\":'totalgoals'}\r\n // ],\r\n standingColumns:[],\r\n handicapColumns:[],\r\n hafuColumns:[],\r\n handicapHadColumns:[],\r\n hiloColumns:[],\r\n teamsToScoreOddOrEvenColumns:[],\r\n cornersHiloColumns:[],\r\n cornersHTHiloColumns:[],\r\n\r\n toatalGoalsColumns:[],\r\n firstTeamToScoreColumns:[],\r\n correctScoreColumns:[],\r\n seasonFilterData:[],\r\n HDCTypeFilterData:[],\r\n HiLoFTFilterData:[],\r\n HiLoHTFilterData:[],\r\n betTypeFilterData:[],\r\n standingsChartData:[],\r\n keyIndicatorsData:[],\r\n handicapChartData: { all: [], positive: [], negative: [], zero: [] },\r\n isHandicapChartsMul:true,\r\n handicapHadChartData:{all:[], positive:[], negative:[]},\r\n hafuGraphData:[],\r\n optionsList:[],\r\n firstTeamToScoreGraphData:{FTSScored:{},FTSConceded:{}},\r\n correctScoreGraphData:{},\r\n FHCorretScoreGraphData:[],\r\n teamToScoreOEGraphData:{},\r\n hiLoChartData:[],\r\n fhHiLoChartData:[],\r\n cornersHiLoChartData:[],\r\n staticKeyWords:{},\r\n standingsHAD:{},\r\n standingsGPG:{},\r\n standingsFHGPG:{},\r\n standingsFHHAD:{},\r\n fhHadMaxValue:10,\r\n hadMaxValue: 10,\r\n lastUpdated: '',\r\n tourCorrectScoreColumns:[],\r\n isPoints:false\r\n },\r\n reducers: {\r\n setSelectedTable:(state, action)=>{\r\n state.selectedTable = action.payload;\r\n }, \r\n setTableHeaders:(state,action)=>{\r\n var staticKeyWords = action.payload.keyWords;\r\n let type = action.payload.type;\r\n state.staticKeyWords = staticKeyWords;\r\n state.standingColumns = [\r\n {column:staticKeyWords.rank,key:\"teamRank\",isSplit:false,className:\"rank\"},\r\n {column:staticKeyWords.team,key:\"teamName\",isSplit:false,className:\"team\"},\r\n {column:staticKeyWords.p,key:\"teamPlayed\",isSplit:false},\r\n {column:staticKeyWords.w,key:\"teamWin\",isSplit:false},\r\n {column:staticKeyWords.d,key:\"teamDraw\",isSplit:false},\r\n {column:staticKeyWords.l,key:\"teamLoss\",isSplit:false},\r\n {column:staticKeyWords.gf,key:\"teamGF\",isSplit:false},\r\n {column:staticKeyWords.ga,key:\"teamGA\",isSplit:false},\r\n {column:staticKeyWords.gd,key:\"teamGD\",isSplit:false},\r\n {column:staticKeyWords.pts,key:\"teamPoints\",isSplit:false},\r\n {column:staticKeyWords.form,key:\"teamForm\",isSplit:true,className:\"form\"},\r\n ];\r\n state.handicapColumns = [\r\n {column:staticKeyWords.rank,key:\"teamRank\",isSplit:false,className:\"rank\"},\r\n {column:staticKeyWords.team,key:\"teamName\",isSplit:false,className:\"team\"},\r\n {column:staticKeyWords.p,key:\"teamPlayed\",isSplit:false,className:\"handicap-p\"},\r\n {column:staticKeyWords.fullWin,key:\"teamFullWins\",isSplit:false},\r\n {column:staticKeyWords.halfWin,key:\"teamHalfWins\",isSplit:false},\r\n {column:staticKeyWords.draw,key:\"teamDraws\",isSplit:false},\r\n {column:staticKeyWords.halfLoss,key:\"teamHalfLosses\",isSplit:false},\r\n {column:staticKeyWords.fullLoss,key:\"teamFullLosses\",isSplit:false,className:\"fullLosses\"},\r\n ];\r\n state.hafuColumns = [\r\n // {column:staticKeyWords.rank,key:\"teamRank\",isSplit:false,className:\"rank\"},\r\n {column:staticKeyWords.team,key:\"teamName\",isSplit:false,className:\"team teamSpacing\"},\r\n {column:staticKeyWords.p,key:\"teamPlayed\",isSplit:false},\r\n {column:staticKeyWords.ww,key:\"teamWinWin\",isSplit:false},\r\n {column:staticKeyWords.dw,key:\"teamDrawWin\",isSplit:false},\r\n {column:staticKeyWords.lw,key:\"teamLossWin\",isSplit:false},\r\n {column:staticKeyWords.wd,key:\"teamWinDraw\",isSplit:false},\r\n {column:staticKeyWords.dd,key:\"teamDrawDraw\",isSplit:false},\r\n {column:staticKeyWords.ld,key:\"teamLossDraw\",isSplit:false},\r\n {column:staticKeyWords.wl,key:\"teamWinLoss\",isSplit:false},\r\n {column:staticKeyWords.dl,key:\"teamDrawLoss\",isSplit:false},\r\n {column:staticKeyWords.ll,key:\"teamLossLoss\",isSplit:false},\r\n ];\r\n state.handicapHadColumns = [\r\n {column:staticKeyWords.rank,key:\"teamRank\",isRow:true,isDisplay:true,spanValue:2,className:\"rank\"},\r\n {column:staticKeyWords.team,key:\"teamName\",isRow:true,isDisplay:true,spanValue:2,className:\"team\"},\r\n {column:staticKeyWords.p,key:\"teamPlayed\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.all,key:\"all\",isRow:false,isDisplay:false,spanValue:3,className:\"th-separator\"},\r\n {column:staticKeyWords.plus,key:\"positive\",isRow:false,isDisplay:false,spanValue:3,className:\"th-separator\"},\r\n {column:staticKeyWords.minus,key:\"negative\",isRow:false,isDisplay:false,spanValue:3},\r\n {column:staticKeyWords.win,key:\"all.teamWinsA\",isDisplay:true},\r\n {column:staticKeyWords.draw,key:\"all.teamDrawsA\",isDisplay:true},\r\n {column:staticKeyWords.loss,key:\"all.teamLossesA\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.win,key:\"positive.teamWinsP\",isDisplay:true},\r\n {column:staticKeyWords.draw,key:\"positive.teamDrawsP\",isDisplay:true},\r\n {column:staticKeyWords.loss,key:\"positive.teamLossesP\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.win,key:\"negative.teamWinsN\",isDisplay:true},\r\n {column:staticKeyWords.draw,key:\"negative.teamDrawsN\",isDisplay:true},\r\n {column:staticKeyWords.loss,key:\"negative.teamLossesN\",isDisplay:true}\r\n ];\r\n state.hiloColumns = [ \r\n {column:staticKeyWords.rank,key:\"teamRank\",isRow:true,isDisplay:true,spanValue:2,className:\"rank\"},\r\n {column:staticKeyWords.team,key:\"teamName\",isRow:true,isDisplay:true,spanValue:2,className:\"team\"},\r\n {column:staticKeyWords.p,key:\"teamPlayed\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.averageHilo,key:\"teamAverage\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:\"0.5\",key:\"zeroPt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"1.5\",key:\"onePt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"2.5\",key:\"twoPt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"3.5\",key:\"threePt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"4.5\",key:\"fourPt5\",isRow:false,isDisplay:false,spanValue:2},\r\n \r\n {column:staticKeyWords.hi,key:\"zeroPt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"zeroPt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"onePt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"onePt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"twoPt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"twoPt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"threePt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"threePt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"fourPt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"fourPt5Low\",isDisplay:true,className:\"\"},\r\n \r\n ];\r\n state.teamsToScoreOddOrEvenColumns = [\r\n {column:staticKeyWords.rank,key:\"teamRank\",isRow:true,isDisplay:true,spanValue:2,className:\"rank\"},\r\n {column:staticKeyWords.team,key:\"teamName\",isRow:true,isDisplay:true,spanValue:2,className:\"team\"},\r\n {column:staticKeyWords.p,key:\"teamPlayed\",isRow:true,isDisplay:true,spanValue:2,className:\"p\"},\r\n //{column:staticKeyWords.teamScore,key:\"teamScore\",isRow:false,isDisplay:false,spanValue:3},\r\n {column:staticKeyWords.odd,key:\"teamScoreOdd\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.even,key:\"teamScoreEven\",isRow:true,isDisplay:true,spanValue:2},\r\n // {column:\"0\",key:\"teamScore0\",isDisplay:true},\r\n // {column:\"1\",key:\"teamScore1\",isDisplay:true},\r\n // {column:\"2\",key:\"teamScore2\",isDisplay:true},\r\n ];\r\n state.cornersHiloColumns = [\r\n {column:staticKeyWords.rank,key:\"teamRank\",isRow:true,isDisplay:true,spanValue:2,className:\"rank\"},\r\n {column:staticKeyWords.team,key:\"teamName\",isRow:true,isDisplay:true,spanValue:2,className:\"team\"},\r\n {column:staticKeyWords.p,key:\"teamPlayed\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.avarageCorner,key:\"teamAverage\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.cornersFor,key:\"teamCornersFor\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.cornersAgainst,key:\"teamCornersAgainst\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:\"8.5\",key:\"eightPt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"9.5\",key:\"ninePt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"10.5\",key:\"tenPt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"11.5\",key:\"elevenPt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"12.5\",key:\"twelvePt5\",isRow:false,isDisplay:false,spanValue:2},\r\n {column:staticKeyWords.hi,key:\"eightPt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"eightPt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"ninePt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"ninePt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"tenPt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"tenPt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"elevenPt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"elevenPt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"twelvePt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"twelvePt5Low\",isDisplay:true,className:\"\"},\r\n ];\r\n state.cornersHTHiloColumns = [\r\n {column:staticKeyWords.rank,key:\"teamRank\",isRow:true,isDisplay:true,spanValue:2,className:\"rank\"},\r\n {column:staticKeyWords.team,key:\"teamName\",isRow:true,isDisplay:true,spanValue:2,className:\"team\"},\r\n {column:staticKeyWords.p,key:\"teamPlayed\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:staticKeyWords.avarageCorner,key:\"teamAverage\",isRow:true,isDisplay:true,spanValue:2},\r\n // {column:staticKeyWords.cornersFor,key:\"teamCornersFor\",isRow:true,isDisplay:true,spanValue:2},\r\n // {column:staticKeyWords.cornersAgainst,key:\"teamCornersAgainst\",isRow:true,isDisplay:true,spanValue:2},\r\n {column:\"3.5\",key:\"eightPt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"4.5\",key:\"ninePt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"5.5\",key:\"tenPt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"6.5\",key:\"elevenPt5\",isRow:false,isDisplay:false,spanValue:2,className:\"th-spaceSeparator\"},\r\n {column:\"7.5\",key:\"twelvePt5\",isRow:false,isDisplay:false,spanValue:2},\r\n {column:staticKeyWords.hi,key:\"eightPt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"eightPt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"ninePt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"ninePt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"tenPt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"tenPt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"elevenPt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"elevenPt5Low\",isDisplay:true,className:\"\"},\r\n {column:staticKeyWords.hi,key:\"twelvePt5High\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.lo,key:\"twelvePt5Low\",isDisplay:true,className:\"\"},\r\n ];\r\n state.toatalGoalsColumns = [\r\n // {column:staticKeyWords.rank,key:\"teamRank\",isSplit:false,className:\"rank\"},\r\n {column:staticKeyWords.team,key:\"teamName\",isSplit:false,className:\"team teamSpacing\"},\r\n {column:staticKeyWords.p,key:\"teamPlayed\",isSplit:false},\r\n {column:\"0\",key:\"totalGoals0\",isSplit:false},\r\n {column:\"1\",key:\"totalGoals1\",isSplit:false},\r\n {column:\"2\",key:\"totalGoals2\",isSplit:false},\r\n {column:\"3\",key:\"totalGoals3\",isSplit:false},\r\n {column:\"4\",key:\"totalGoals4\",isSplit:false},\r\n {column:\"5\",key:\"totalGoals5\",isSplit:false},\r\n {column:\"6\",key:\"totalGoals6\",isSplit:false},\r\n {column:\"7+\",key:\"totalGoals7Plus\",isSplit:false},\r\n ];\r\n state.firstTeamToScoreColumns = [\r\n {column:staticKeyWords.rank,key:\"teamRank\",isSplit:false,className:\"rank\"},\r\n {column:staticKeyWords.team,key:\"teamName\",isSplit:false,className:\"team\"},\r\n {column:staticKeyWords.p,key:\"teamPlayed\",isSplit:false,className:\"p\"},\r\n {column:staticKeyWords.scored1st,key:\"teamScoredFirst\",isSplit:false},\r\n {column:staticKeyWords.conceded1st,key:\"teamConcededFirst\",isSplit:false},\r\n // {column:staticKeyWords.scoredLast,key:\"teamScoredLast\",isSplit:false},\r\n // {column:staticKeyWords.concededLast,key:\"teamConcededLast\",isSplit:false},\r\n ];\r\n state.correctScoreColumns = [\r\n // { column: staticKeyWords.rank, key: \"teamRank\", isSplit: false, className: \"rank\" },\r\n { column: staticKeyWords.team, key: \"teamName\", isSplit: false, className: \"team teamSpacing\" },\r\n { column: staticKeyWords.p, key: \"teamPlayed\", isSplit: false },\r\n { column: \"1:0\", key: \"score1_0\", isSplit: false },\r\n { column: \"2:0\", key: \"score2_0\", isSplit: false },\r\n { column: \"2:1\", key: \"score2_1\", isSplit: false },\r\n { column: \"3:0\", key: \"score3_0\", isSplit: false },\r\n { column: \"3:1\", key: \"score3_1\", isSplit: false },\r\n { column: \"0:0\", key: \"score0_0\", isSplit: false },\r\n { column: \"1:1\", key: \"score1_1\", isSplit: false },\r\n { column: \"2:2\", key: \"score2_2\", isSplit: false },\r\n { column: \"0:1\", key: \"score0_1\", isSplit: false },\r\n { column: \"0:2\", key: \"score0_2\", isSplit: false },\r\n { column: \"1:2\", key: \"score1_2\", isSplit: false },\r\n { column: \"0:3\", key: \"score0_3\", isSplit: false },\r\n { column: \"1:3\", key: \"score1_3\", isSplit: false },\r\n ];\r\n state.tourCorrectScoreColumns = [\r\n {column:type === \"team\"?staticKeyWords.win:staticKeyWords.homeWin,key:\"homeW\",isRow:false,isDisplay:false,spanValue:3,className:\"th-separator\"},\r\n {column:staticKeyWords.draw,key:\"draw\",isRow:false,isDisplay:false,spanValue:3,className:\"th-separator\"},\r\n {column:type === \"team\"? staticKeyWords.loss:staticKeyWords.awayWin,key:\"awayW\",isRow:false,isDisplay:false,spanValue:3},\r\n {column:staticKeyWords.result,key:\"homeW.resultH\",isDisplay:true, className:\"w-100px\"},\r\n {column:staticKeyWords.count,key:\"homeW.countH\",isDisplay:true,className:\"counttd\"},\r\n {column:\"%\",key:\"homeW.pctH\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.result,key:\"draw.resultD\",isDisplay:true,className:\"w-100px\"},\r\n {column:staticKeyWords.count,key:\"draw.countD\",isDisplay:true},\r\n {column:\"%\",key:\"draw.pctD\",isDisplay:true,className:\"th-separator\"},\r\n {column:staticKeyWords.result,key:\"awayW.resultA\",isDisplay:true,className:\"w-100px\"},\r\n {column:staticKeyWords.count,key:\"awayW.countA\",isDisplay:true},\r\n {column:\"%\",key:\"awayW.pctA\",isDisplay:true},\r\n ]\r\n }, \r\n setTablesList: (state, action)=>{\r\n // console.log(action.payload);\r\n state.tablesList = action.payload;\r\n if((state.selectedTable.tableName===\"\" || !state.selectedTable.tableName) && \r\n state.selectedTable.tableId){\r\n for(var table of action.payload){\r\n if(table.tableId === state.selectedTable.tableId){\r\n state.selectedTable = table;\r\n break;\r\n }\r\n }\r\n }\r\n },\r\n setData:(state, action)=>{\r\n if(action.payload.table.tableId && action.payload.table.tableName && action.payload.table.tableName!==\"\"){\r\n state.selectedTable = action.payload.table;\r\n }\r\n state.lastUpdated = action.payload.response && action.payload.response.lastUpdated ?\r\n action.payload.response.lastUpdated : '';\r\n state.isPoints = action.payload.response && action.payload.response.isPoints ?\r\n action.payload.response.isPoints : '';\r\n switch(action.payload.table.tableId){\r\n case 1:\r\n case 3:\r\n case 4:\r\n case 6:\r\n case 5:\r\n case 7:\r\n case 8:\r\n case 9:\r\n case 10:\r\n case 11:\r\n if(action.payload.response && \r\n action.payload.response.tableInfo && \r\n action.payload.response.tableInfo.length>0){\r\n state.standingsTableData = action.payload.response.tableInfo;\r\n }\r\n if(action.payload.table.tableId ===1){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n Object.keys(action.payload.response.chartInfo).length>0){\r\n if(action.payload.response.chartInfo.hasOwnProperty('goalsPerGame')){\r\n state.standingsFHGPG = action.payload.response.chartInfo.goalsPerGame;\r\n }\r\n \r\n if(action.payload.response.chartInfo.hasOwnProperty('awayTeam') && action.payload.response.chartInfo.awayTeam.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('homeTeam') && action.payload.response.chartInfo.homeTeam.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('labels') && action.payload.response.chartInfo.labels.length>0){\r\n // state.standingsFHHAD = [{\r\n // outcomeName:state.staticKeyWords.win,\r\n // homeGoals:action.payload.response.chartInfo.firstHalfHad.homeWin,\r\n // awayGoals:action.payload.response.chartInfo.firstHalfHad.awayWin\r\n // },\r\n // {\r\n // outcomeName:state.staticKeyWords.draw,\r\n // homeGoals:action.payload.response.chartInfo.firstHalfHad.homeDraw,\r\n // awayGoals:action.payload.response.chartInfo.firstHalfHad.awayDraw\r\n // },\r\n // {\r\n // outcomeName:state.staticKeyWords.loss,\r\n // homeGoals:action.payload.response.chartInfo.firstHalfHad.homeLoss,\r\n // awayGoals:action.payload.response.chartInfo.firstHalfHad.awayLoss\r\n // }];\r\n state.standingsFHHAD={\r\n labels:action.payload.response.chartInfo.labels,\r\n homeTeam:action.payload.response.chartInfo.homeTeam,\r\n awayTeam:action.payload.response.chartInfo.awayTeam\r\n }\r\n \r\n }\r\n // if(action.payload.response.chartInfo.hasOwnProperty('had')){\r\n // state.standingsHAD = [{\r\n // outcomeName:state.staticKeyWords.win,\r\n // homeGoals:action.payload.response.chartInfo.had.homeWin,\r\n // awayGoals:action.payload.response.chartInfo.had.awayWin,\r\n // },\r\n // {\r\n // outcomeName:state.staticKeyWords.draw,\r\n // homeGoals:action.payload.response.chartInfo.had.homeDraw,\r\n // awayGoals:action.payload.response.chartInfo.had.awayDraw\r\n // },\r\n // {\r\n // outcomeName:state.staticKeyWords.loss,\r\n // homeGoals:action.payload.response.chartInfo.had.homeLoss,\r\n // awayGoals:action.payload.response.chartInfo.had.awayLoss\r\n // }]\r\n \r\n // state.standingsGPG = action.payload.response.chartInfo.goalsPerGame\r\n // var maxValue=getMaxValue([\r\n // action.payload.response.chartInfo.had.homeWin,\r\n // action.payload.response.chartInfo.had.awayWin,\r\n // action.payload.response.chartInfo.had.homeDraw,\r\n // action.payload.response.chartInfo.had.awayDraw,\r\n // action.payload.response.chartInfo.had.homeLoss,\r\n // action.payload.response.chartInfo.had.awayLoss\r\n // ]);\r\n // state.hadMaxValue= maxValue>10?maxValue:10;\r\n // }\r\n \r\n \r\n }\r\n \r\n }else if(action.payload.table.tableId ===3){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n Object.keys(action.payload.response.chartInfo).length > 0\r\n // &&\r\n // action.payload.response.chartInfo.hasOwnProperty('homeTeam') && action.payload.response.chartInfo.homeTeam.length>0 &&\r\n // action.payload.response.chartInfo.hasOwnProperty('awayTeam') && action.payload.response.chartInfo.awayTeam.length>0 &&\r\n // action.payload.response.chartInfo.hasOwnProperty('labels') && action.payload.response.chartInfo.labels.length > 0\r\n ) {\r\n var all={},positive={},negative={},zero={};\r\n var chartInfo =action.payload.response.chartInfo;\r\n if(chartInfo.all && Object.keys(chartInfo.all).length>0){\r\n all = {\r\n homeTeam:chartInfo.all.homeTeam, \r\n awayTeam:chartInfo.all.awayTeam,\r\n labels:chartInfo.labels\r\n };\r\n }\r\n if(chartInfo.positive && Object.keys(chartInfo.positive).length>0){\r\n positive = {\r\n homeTeam:chartInfo.positive.homeTeam, \r\n awayTeam:chartInfo.positive.awayTeam,\r\n labels:chartInfo.labels\r\n }\r\n }\r\n if(chartInfo.negative && Object.keys(chartInfo.negative).length>0){\r\n negative = {\r\n homeTeam:chartInfo.negative.homeTeam, \r\n awayTeam:chartInfo.negative.awayTeam,\r\n labels:chartInfo.labels\r\n };\r\n }\r\n if(chartInfo.zero && Object.keys(chartInfo.zero).length>0){\r\n zero ={\r\n homeTeam:chartInfo.zero.homeTeam, \r\n awayTeam:chartInfo.zero.awayTeam,\r\n labels:chartInfo.labels\r\n };\r\n }\r\n if (Object.keys(all).length > 0) {\r\n state.isHandicapChartsMul = true;\r\n }\r\n else {\r\n state.isHandicapChartsMul = false;\r\n }\r\n state.handicapChartData = {all, positive, negative,zero};\r\n // state.handicapChartData = {\r\n // homeTeam:action.payload.response.chartInfo.homeTeam, \r\n // awayTeam:action.payload.response.chartInfo.awayTeam,\r\n // labels:action.payload.response.chartInfo.labels\r\n // };\r\n }\r\n\r\n }else if(action.payload.table.tableId ===4){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n Object.keys(action.payload.response.chartInfo).length>0){\r\n var all={},positive={},negative={};\r\n var chartInfo =action.payload.response.chartInfo;\r\n if(chartInfo.all && Object.keys(chartInfo.all).length>0){\r\n all = {\r\n homeTeam:chartInfo.all.homeTeam, \r\n awayTeam:chartInfo.all.awayTeam,\r\n labels:chartInfo.labels\r\n };\r\n }\r\n if(chartInfo.positive && Object.keys(chartInfo.positive).length>0){\r\n positive = {\r\n homeTeam:chartInfo.positive.homeTeam, \r\n awayTeam:chartInfo.positive.awayTeam,\r\n labels:chartInfo.labels\r\n };\r\n }\r\n if(chartInfo.negative && Object.keys(chartInfo.negative).length>0){\r\n negative = {\r\n homeTeam:chartInfo.negative.homeTeam, \r\n awayTeam:chartInfo.negative.awayTeam,\r\n labels:chartInfo.labels\r\n };\r\n }\r\n state.handicapHadChartData = {all, positive, negative};\r\n }\r\n }else if(action.payload.table.tableId ===5){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n Object.keys(action.payload.response.chartInfo).length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('homeTeam') && action.payload.response.chartInfo.homeTeam.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('awayTeam') && action.payload.response.chartInfo.awayTeam.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('labels') && action.payload.response.chartInfo.labels.length>0 ){\r\n //state.hafuGraphData = structureGraphData(action.payload.response.chartInfo);\r\n state.hafuGraphData = {\r\n homeTeam:action.payload.response.chartInfo.homeTeam, \r\n awayTeam:action.payload.response.chartInfo.awayTeam,\r\n labels:action.payload.response.chartInfo.labels\r\n };\r\n }\r\n }else if(action.payload.table.tableId ===6){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n action.payload.response.chartInfo.length>0){\r\n state.hiLoChartData = action.payload.response.chartInfo;\r\n }\r\n }else if(action.payload.table.tableId ===8 && false){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n action.payload.response.chartInfo.length>0){\r\n state.fhHiLoChartData = action.payload.response.chartInfo;\r\n }\r\n }\r\n else if(action.payload.table.tableId ===7){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n Object.keys(action.payload.response.chartInfo).length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('homeTeam') && action.payload.response.chartInfo.homeTeam.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('awayTeam') && action.payload.response.chartInfo.awayTeam.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('labels') && action.payload.response.chartInfo.labels.length>0){\r\n //state.teamToScoreOEGraphData = action.payload.response.chartInfo;\r\n // if(action.payload.response.chartInfo.oddEven && Object.keys(action.payload.response.chartInfo.oddEven).length>0){\r\n // state.teamToScoreOEGraphData = [{\r\n // outcomeName:state.staticKeyWords.odd,\r\n // homeGoals:action.payload.response.chartInfo.oddEven.homeTeamOdd,\r\n // awayGoals:action.payload.response.chartInfo.oddEven.awayTeamOdd\r\n // },\r\n // {\r\n // outcomeName:state.staticKeyWords.even,\r\n // homeGoals:action.payload.response.chartInfo.oddEven.homeTeamEven,\r\n // awayGoals:action.payload.response.chartInfo.oddEven.awayTeamEven\r\n // }]\r\n state.teamToScoreOEGraphData = {\r\n homeTeam:action.payload.response.chartInfo.homeTeam, \r\n awayTeam:action.payload.response.chartInfo.awayTeam,\r\n labels:action.payload.response.chartInfo.labels\r\n };\r\n }\r\n // }\r\n \r\n \r\n }\r\n else if(action.payload.table.tableId ===8){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n Object.keys(action.payload.response.chartInfo).length>0){\r\n //state.firstTeamToScoreGraphData = action.payload.response.chartInfo;\r\n var FTSScored={},FTSConceded={};\r\n // for(var data of action.payload.response.chartInfo){\r\n // if(data.outcomeName === \"Scored First\"){\r\n // FTSScored.homeScoredFirst = data.homeTeam;\r\n // FTSScored.awayScoredFirst = data.awayTeam;\r\n // }else if(data.outcomeName === \"Conceded First\"){\r\n // FTSConceded.homeScoredFirst = data.homeTeam;\r\n // FTSConceded.awayScoredFirst = data.awayTeam;\r\n // }\r\n // }\r\n if(action.payload.response.chartInfo.hasOwnProperty('concededFirst') && \r\n action.payload.response.chartInfo.concededFirst.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('labels') &&\r\n action.payload.response.chartInfo.labels.length>0){\r\n FTSConceded={\r\n data:action.payload.response.chartInfo.concededFirst,\r\n labels:action.payload.response.chartInfo.labels\r\n }\r\n }\r\n if(action.payload.response.chartInfo.hasOwnProperty('scoredFirst') && \r\n action.payload.response.chartInfo.scoredFirst.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('labels') &&\r\n action.payload.response.chartInfo.labels.length>0){\r\n FTSScored={\r\n data:action.payload.response.chartInfo.scoredFirst,\r\n labels:action.payload.response.chartInfo.labels\r\n }\r\n }\r\n state.firstTeamToScoreGraphData = {FTSScored,FTSConceded}\r\n }\r\n }else if(action.payload.table.tableId ===9){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n Object.keys(action.payload.response.chartInfo).length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('homeTeam') && action.payload.response.chartInfo.homeTeam.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('awayTeam') && action.payload.response.chartInfo.awayTeam.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('labels') && action.payload.response.chartInfo.labels.length>0){\r\n //state.correctScoreGraphData = action.payload.response.chartInfo;\r\n // var csHomeGraphData=[],csAwayGraphData=[],csDrawGraphData=[];\r\n // var chartInfo = action.payload.response.chartInfo;\r\n // if(chartInfo.hasOwnProperty('homeTeam') && chartInfo.homeTeam.length>0){\r\n // csHomeGraphData = structureGraphData(chartInfo.homeTeam,true,\"score\");\r\n // }\r\n // if(chartInfo.hasOwnProperty('awayTeam') && chartInfo.awayTeam.length>0){\r\n // csAwayGraphData = structureGraphData(chartInfo.awayTeam,true,\"score\");\r\n // }\r\n // if(chartInfo.hasOwnProperty('draw') && chartInfo.draw.length>0){\r\n // csDrawGraphData = structureGraphData(chartInfo.draw,true,\"score\");\r\n // }\r\n //state.correctScoreGraphData = {csHomeGraphData,csAwayGraphData,csDrawGraphData};\r\n state.correctScoreGraphData = {\r\n homeTeam:action.payload.response.chartInfo.homeTeam,\r\n awayTeam:action.payload.response.chartInfo.awayTeam,\r\n labels:action.payload.response.chartInfo.labels\r\n }\r\n }\r\n }else if(action.payload.table.tableId ===12){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n action.payload.response.chartInfo.length>0){\r\n state.FHCorretScoreGraphData = action.payload.response.chartInfo;\r\n }\r\n }else if(action.payload.table.tableId ===10){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n action.payload.response.chartInfo.length>0){\r\n state.cornersHiLoChartData = action.payload.response.chartInfo;\r\n }\r\n }else if(action.payload.table.tableId ===11){\r\n if(action.payload.response && \r\n action.payload.response.chartInfo && \r\n Object.keys(action.payload.response.chartInfo).length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('homeTeam') && action.payload.response.chartInfo.homeTeam.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('awayTeam') && action.payload.response.chartInfo.awayTeam.length>0 &&\r\n action.payload.response.chartInfo.hasOwnProperty('labels') && action.payload.response.chartInfo.labels.length>0){\r\n // state.standingsChartData = structureGraphData(action.payload.response.chartInfo);\r\n state.standingsChartData = {\r\n homeTeam:action.payload.response.chartInfo.homeTeam,\r\n awayTeam:action.payload.response.chartInfo.awayTeam,\r\n labels:action.payload.response.chartInfo.labels\r\n }\r\n }\r\n }\r\n \r\n break;\r\n case 2:\r\n if(action.payload.response && \r\n Object.keys(action.payload.response).length){\r\n state.keyIndicatorsData = action.payload.response;\r\n }\r\n break;\r\n default:\r\n }\r\n \r\n },\r\n setFilterData:(state,action)=>{\r\n if(action.payload.response && \r\n action.payload.response.Season && \r\n action.payload.response.Season.length>0){\r\n state.seasonFilterData = action.payload.response.Season;\r\n }\r\n if(action.payload.response && \r\n action.payload.response.HDC_Type && \r\n action.payload.response.HDC_Type.length>0){\r\n state.HDCTypeFilterData = action.payload.response.HDC_Type;\r\n }\r\n if(action.payload.response && \r\n action.payload.response.HiLo_FT && \r\n action.payload.response.HiLo_FT.length>0){\r\n state.HiLoFTFilterData = action.payload.response.HiLo_FT;\r\n }\r\n if(action.payload.response && \r\n action.payload.response.HiLo_HT && \r\n action.payload.response.HiLo_HT.length>0){\r\n state.HiLoHTFilterData = action.payload.response.HiLo_HT;\r\n }\r\n if(action.payload.response && \r\n action.payload.response.Options && \r\n action.payload.response.Options.length>0){\r\n state.optionsList = action.payload.response.Options;\r\n }\r\n if(action.payload.response && \r\n action.payload.response.betType && \r\n action.payload.response.betType.length>0){\r\n state.betTypeFilterData = action.payload.response.betType;\r\n }\r\n },\r\n resetTableData: (state,action)=>{\r\n state.standingsTableData = action.payload;\r\n state.keyIndicatorsData = {};\r\n }\r\n }\r\n});\r\n\r\nexport const getTablesList = (tableAndRoutes, eventId, competitionId,isTournament,type,languageId,homeTeamId,awayTeamId) => dispatch => {\r\n var url = seasonalStats.getTablesList+\"?languageId=\"+languageId+\"&channelId=\"+channelId;\r\n dispatch(setLoader(true));\r\n apiCaller(url,'GET',{})\r\n .then((response)=>{\r\n if(response.data && response.data!=null && response.data.length>0){\r\n const data = response.data;\r\n const desiredOrder = [1,2,3,6,10,4,9,5,8,7,11];\r\n \r\n let newSortedData = data.filter(item => desiredOrder.includes(item.tableId))\r\n .sort((a, b) => desiredOrder.indexOf(a.tableId) - desiredOrder.indexOf(b.tableId));\r\n // const uniqueTableNames = Array.from(new Set(response.data.map(item => item.tableId)));\r\n // let specifyOrder = [];\r\n \r\n // if (uniqueTableNames.includes(10)) {\r\n // specifyOrder = uniqueTableNames.filter(name => name !== 10);\r\n\r\n // specifyOrder.splice(4, 0, 10);\r\n // } else {\r\n // specifyOrder = uniqueTableNames;\r\n // }\r\n // const sortedData = response.data.sort((a, b) => specifyOrder.indexOf(a.tableId) - specifyOrder.indexOf(b.tableId));\r\n dispatch(setTablesList(newSortedData));\r\n if((homeTeamId && awayTeamId)|| type)\r\n dispatch(getSelectTable(tableAndRoutes,response.data,eventId,competitionId,isTournament,type,languageId,homeTeamId,awayTeamId));\r\n }else{\r\n dispatch(setTablesList([]));\r\n dispatch(setLoader(false));\r\n }\r\n }).catch((error)=>{\r\n dispatch(setTablesList([]));\r\n dispatch(setLoader(false));\r\n })\r\n}\r\n\r\nexport const bindLink = (id,tableAndRoutes,index) => dispatch => {\r\n return tableAndRoutes && tableAndRoutes[index]!=undefined && tableAndRoutes[index].route;\r\n // if(tableAndRoutes && tableAndRoutes.length){\r\n // tableAndRoutes.forEach((table,index)=>{\r\n // if(id == table.tableId){\r\n // alert(table.route)\r\n // }\r\n // })\r\n // }\r\n\r\n // return (id == 1)?'standings':\r\n // (id == 2)?'keyindicators':\r\n // (id == 3)?'firsthalfhad':\r\n // (id == 4)?'handicap':\r\n // (id == 5)?'handicaphad':\r\n // (id == 6)?'hafu':\r\n // (id == 7)?'hilo':\r\n // (id == 8)?'fhhilo':\r\n // (id == 9)?'teamstoscoreoddoreven':\r\n // (id == 10)?'firstteamtoscore':\r\n // (id == 11)?'correctscore':\r\n // (id == 12)?'fhcorrectscore':\r\n // (id == 13)?'cornershilo':'totalgoals'\r\n}\r\n\r\nexport const getTableData = (params) => dispatch =>{\r\n // if(params.homeTeamId && (\"\"+params.homeTeamId).length>0 && params.awayTeamId &&(\"\"+params.awayTeamId).length>0){\r\n dispatch(setLoader(true))\r\n dispatch(resetTableData([]))\r\n \r\n var obj = {\r\n \"channelId\":channelId,\r\n \"languageId\":params.languageId, \r\n // \"eventId\":params.eventId,\r\n \"competitionId\":params.competitionId,\r\n \"homeTeamId\":params.homeTeamId,\r\n \"awayTeamId\":params.awayTeamId\r\n }\r\n var partialUrl = window.location.pathname.split(\"/\");\r\n if(partialUrl.includes('tournament')){\r\n var tabId = partialUrl[5]=='team'?2:1;\r\n if(tabId == 2){\r\n obj.teamId = partialUrl[6];\r\n }\r\n var url = seasonalStats.getKeyPerformanceTableInfo+\"?tableId=\"+params.table.tableId+\"&tabId=\"+tabId;\r\n }else{\r\n var url = seasonalStats.getKeyPerformanceInfo+\"?tableId=\"+params.table.tableId+\"&competitionId=\"+params.competitionId;\r\n }\r\n if(params.table.tableId === 1 || \r\n params.table.tableId === 3 || \r\n params.table.tableId === 4 || \r\n params.table.tableId === 6 ||\r\n params.table.tableId == 5 || \r\n params.table.tableId == 7 ||\r\n params.table.tableId == 8 || \r\n params.table.tableId == 9 ||\r\n params.table.tableId == 10 ||\r\n params.table.tableId == 11){ \r\n obj.optionId=params.optionId?params.optionId:1;\r\n obj.seasonId=params.seasonId?params.seasonId:1;\r\n if(params.table.tableId === 3){\r\n obj.hdcTypeId=params.hdcTypeId?params.hdcTypeId:1;\r\n }\r\n if(params.table.tableId === 1 || params.table.tableId === 6 || params.table.tableId === 9 || params.table.tableId === 10 || params.table.tableId === 3){\r\n obj.betTypeId=params.betTypeId?params.betTypeId:2;\r\n }\r\n if(params.table.tableId === 6){\r\n obj.hiLoFtId=params.hiLoFtId?params.hiLoFtId:1;\r\n }\r\n if(params.table.tableId === 6){\r\n obj.hiLoHtId=params.hiLoHtId?params.hiLoHtId:1;\r\n }\r\n }\r\n apiCaller(url,'POST',obj).then(response => {\r\n if(response.data && Object.keys(response.data)){\r\n dispatch(setData({table:params.table,response:response.data}))\r\n dispatch(setComepetitionAndDate({\r\n competitionName:response.data.hasOwnProperty('competitionName')?response.data.competitionName:response.data.teamName,\r\n lastUpdated:response.data.lastUpdated,\r\n }))\r\n dispatch(setLoader(false));\r\n }else{\r\n dispatch(setData({table:params.table,response:{}}))\r\n dispatch(setComepetitionAndDate({\r\n competitionName:'',\r\n lastUpdated:'',\r\n }))\r\n dispatch(setLoader(false))\r\n } \r\n })\r\n // }\r\n\r\n}\r\nexport const getFiltersData = (params) => dispatch =>{\r\n var partialUrl = window.location.pathname.split(\"/\");\r\n var tabId = partialUrl[5]=='team'?2:1;\r\n var teamId =partialUrl[5]=='team'?partialUrl[6]:1;\r\n \r\n // var seasonalstatsTabStatus = window.location.href.includes(\"seasonalstats\");\r\n var url = tabId==2 ? seasonalStats.getFilters+\"?languageId=\"+params.languageId+\"&channelId=\"+channelId+\"&tableId=\"+params.table.tableId+\r\n \"&competitionId=\"+params.competitionId+\"&tabId=\"+tabId+\"&teamId=\"+teamId : seasonalStats.getFilters+\"?languageId=\"+params.languageId+\"&channelId=\"+channelId+\"&tableId=\"+params.table.tableId+\r\n \"&competitionId=\"+params.competitionId+\"&tabId=\"+tabId\r\n dispatch(setLoader(true));\r\n apiCaller(url,'GET',{}).then(response => {\r\n if(response.data && Object.keys(response.data)){\r\n dispatch(setFilterData({tableId:params.table.tableId,response:response.data}));\r\n params.seasonId=response.data?response.data.Season?response.data.Season[0].id:1:1;\r\n dispatch(setFilter({ filter: \"season\", \"value\": params.seasonId}));\r\n let competitionId=response.data?response.data.Season?response.data.Season[0].competitionId:params.competitionId:params.competitionId;\r\n params.competitionId=competitionId?competitionId:params.competitionId\r\n dispatch(getTableData(params));\r\n // dispatch(setLoader(false));\r\n //dispatch(setSelectedTable(params.table));\r\n }else{\r\n dispatch(setLoader(false));\r\n } \r\n })\r\n}\r\n\r\nexport const highlightTab = (tableId,tableAndRoutes,index,isTournament,type) => dispatch => {\r\n var link = dispatch(bindLink(tableId,tableAndRoutes,index));\r\n dispatch(setTab(1));\r\n //dispatch(setFilter({filter:\"season\",\"value\":1}))\r\n dispatch(setFilter({filter:\"hdcType\",\"value\":1}))\r\n dispatch(setFilter({filter:\"hiloFT\",\"value\":1}))\r\n dispatch(setFilter({filter:\"hiloHT\",\"value\":1}))\r\n dispatch(setFilter({filter:\"betType\",\"value\":2}))\r\n return ((isTournament?(type=='team'?window.location.pathname.split(\"/\")[8]:window.location.pathname.split(\"/\")[6]):window.location.pathname.split(\"/\")[7]) ==link)?'active':'';\r\n\r\n}\r\n\r\nexport const getSelectTable = (tableAndRoutes, tablesList,eventId,competitionId,isTournament,type,languageId,homeTeamId,awayTeamId) => dispatch => {\r\n tableAndRoutes.forEach((table,index)=>{\r\n if(table.route == (isTournament?(type=='team'?window.location.pathname.split(\"/\")[8]:window.location.pathname.split(\"/\")[6]):window.location.pathname.split(\"/\")[7])){\r\n // dispatch(getTableData({table:tablesList[index], eventId:eventId,competitionId:competitionId,languageId:languageId,homeTeamId:homeTeamId,awayTeamId:awayTeamId}))\r\n dispatch(setSelectedTable(tablesList[index]));\r\n dispatch(setLoader(true));\r\n dispatch(getFiltersData({table:tablesList[index], eventId:eventId,competitionId:competitionId,languageId:\r\n languageId,homeTeamId:homeTeamId,awayTeamId:awayTeamId}));\r\n }\r\n })\r\n}\r\n\r\nexport const { setTablesList,setData,setFilterData, setSelectedTable, setTableHeaders, resetTableData } = SeasonalStatsSlice.actions;\r\n\r\nexport default SeasonalStatsSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { tournament, seasonalStats } from '../../sharedfiles/EndpointConfig';\r\nimport { languageId, channelId } from '../../sharedfiles/constants'\r\nimport { setLoader, metaData } from '../../AppSlice';\r\nimport { setComepetitionAndDate } from '../tournamentleague/TournamentLeagueSlice';\r\n\r\nexport const TournamentStandingsSlice = createSlice({\r\n name: 'tournamentstandings',\r\n initialState: {\r\n optionsList: [],\r\n seasonFilterData: [],\r\n selectedSeasonFilter: 1,\r\n selectedTab: 1,\r\n standingColumns: [],\r\n standingsData: {},\r\n staticKeyWords: {},\r\n level1Opt: [],\r\n isRegSeas: true,\r\n level2Opt: [],\r\n level1SelOpt: '',\r\n level2SelOpt: '',\r\n layOut: '',\r\n roundId: '',\r\n layoutId:'',\r\n groupLetter:[],\r\n groupName:\"all\",\r\n compId:''\r\n },\r\n reducers: {\r\n setTab: (state, action) => {\r\n state.selectedTab = action.payload;\r\n },\r\n setTableHeaders: (state, action) => {\r\n var staticKeyWords = action.payload;\r\n state.staticKeyWords = staticKeyWords;\r\n state.standingColumns = [\r\n { column: staticKeyWords.tournamentRank, key: \"teamRank\", isSplit: false },\r\n { column: staticKeyWords.team, key: \"teamName\", isSplit: false, className: \"team\" },\r\n { column: staticKeyWords.p, key: \"teamPlayed\", isSplit: false },\r\n { column: staticKeyWords.w, key: \"teamWin\", isSplit: false },\r\n { column: staticKeyWords.d, key: \"teamDraw\", isSplit: false },\r\n { column: staticKeyWords.standingsl, key: \"teamLoss\", isSplit: false },\r\n { column: staticKeyWords.gf, key: \"teamGoalsFor\", isSplit: false },\r\n { column: staticKeyWords.ga, key: \"teamGoalsAway\", isSplit: false },\r\n { column: staticKeyWords.gd, key: \"teamGoalsDiff\", isSplit: false },\r\n { column: staticKeyWords.pts, key: \"teamPoints\", isSplit: false },\r\n { column: staticKeyWords.form, key: \"teamForm\", isSplit: true },\r\n ];\r\n },\r\n setFilterData: (state, action) => {\r\n if (action.payload.response &&\r\n action.payload.response.Season &&\r\n action.payload.response.Season.length > 0) {\r\n state.seasonFilterData = action.payload.response.Season;\r\n }\r\n if (action.payload.response &&\r\n action.payload.response.Options &&\r\n action.payload.response.Options.length > 0) {\r\n state.optionsList = action.payload.response.Options;\r\n }\r\n },\r\n setFilter: (state, action) => {\r\n state.selectedSeasonFilter = action.payload.value\r\n },\r\n setData: (state, action) => {\r\n state.standingsData = action.payload\r\n },\r\n setLevel1Opt: (state, action) => {\r\n state.level1Opt = action.payload;\r\n },\r\n setSeasonType: (state, action) => {\r\n state.isRegSeas = action.payload;\r\n },\r\n setLevel2Opt: (state, action) => {\r\n state.level2Opt = action.payload;\r\n },\r\n setSelLevel1Opt: (state, action) => {\r\n state.level1SelOpt = action.payload;\r\n },\r\n setSelLevel2Opt: (state, action) => {\r\n state.level2SelOpt = action.payload;\r\n },\r\n setLayOut: (state, action) => {\r\n state.layOut = action.payload;\r\n },\r\n setGroupLetter: (state, action) => {\r\n state.groupLetter = action.payload;\r\n },\r\n setGroupName: (state, action) => {\r\n state.groupName = action.payload;\r\n },\r\n setCompetitionId:(state,action)=>{\r\n state.compId = action.payload\r\n }\r\n },\r\n});\r\n\r\nexport const { setTab, setData, setFilterData, setFilter, setTableHeaders, setLevel1Opt, setSeasonType,\r\n setLevel2Opt, setSelLevel1Opt, setSelLevel2Opt, setLayOut,setGroupLetter,setGroupName,setCompetitionId } = TournamentStandingsSlice.actions;\r\n\r\nexport const getStandingsOpt = (params, leagueType, languageId) => dispatch => {\r\n // if (params.isLeague) {\r\n var tournUrl = tournament.tourOptions + '?languageId=' + languageId + '&channelId=' + channelId + '&competitionId=' + params.compId + \r\n '&seasonId=' + params.seasonId;\r\n apiCaller(tournUrl, 'GET', {}).then(tourResp => {\r\n let isRegSeas = true;\r\n \r\n // if (tourResp.data.length === 1) {\r\n // isRegSeas = true;\r\n // } else {\r\n // if (tourResp.data[0].name === \"Group Staging\") {\r\n // isRegSeas = true;\r\n // } else {\r\n // isRegSeas = false;\r\n // dispatch(setLoader(false));\r\n // }\r\n // }\r\n var levelData = tourResp.data;\r\n let levelFound=false;\r\n if (levelData) {\r\n if (params.level1Id || params.level2Id) {\r\n for (var lvl of levelData) {\r\n if (lvl.levelId === params.level1Id) {\r\n\r\n if (!params.level2Id) {\r\n dispatch(setLayOut(lvl.layoutName));\r\n params.roundId = lvl.id;\r\n params.layoutId = lvl.layoutId;\r\n levelFound=true;\r\n }\r\n \r\n dispatch(setSelLevel1Opt(lvl));\r\n }\r\n if (params.level2Id && lvl.subLevels.length > 0) {\r\n var subLevels = lvl.subLevels;\r\n for (var subLvl of subLevels) {\r\n if (subLvl.levelId === params.level2Id) {\r\n dispatch(setLayOut(subLvl.layoutName));\r\n params.roundId = subLvl.id;\r\n params.layoutId = subLvl.layoutId;\r\n dispatch(setLevel2Opt(subLevels));\r\n dispatch(setSelLevel2Opt(subLvl));\r\n levelFound=true;\r\n }\r\n }\r\n }\r\n }\r\n } \r\n if(!levelFound){\r\n var levelData = tourResp.data;\r\n let array = window.location.href.split(\"/\")\r\n let value = array[8] ? array[8]: \"\";\r\n let objsel={}\r\n for (var LvlValue of levelData){\r\n // dispatch(setSelLevel1Opt(LvlValue.name))\r\n if(value && value.trim() == LvlValue.engName.replace(' ','_').trim()){\r\n objsel=LvlValue;\r\n dispatch(setSelLevel1Opt(LvlValue));\r\n }\r\n }\r\n objsel=Object.keys(objsel).length>0?objsel:levelData[0];\r\n dispatch(setLayOut(objsel.layoutName));\r\n params.roundId = objsel.id;\r\n params.layoutId = objsel.layoutId;\r\n dispatch(setSelLevel1Opt(objsel));\r\n if (objsel.subLevels.length > 0) {\r\n dispatch(setLevel2Opt(objsel.subLevels));\r\n dispatch(setSelLevel2Opt(objsel.subLevels[0]));\r\n } else {\r\n dispatch(setLevel2Opt([]));\r\n dispatch(setSelLevel2Opt(''));\r\n }\r\n if (objsel.subLevels.length > 0) {\r\n dispatch(setLevel2Opt(objsel.subLevels));\r\n dispatch(setSelLevel2Opt(objsel.subLevels[0]));\r\n } else {\r\n dispatch(setLevel2Opt([]));\r\n dispatch(setSelLevel2Opt(''));\r\n }\r\n }\r\n dispatch(getStandings(params, leagueType, languageId, isRegSeas));\r\n if (tourResp.data.length > 1) {\r\n dispatch(setLevel1Opt(tourResp.data));\r\n //dispatch(setSelLevel1Opt(tourResp.data[0]));\r\n }else{\r\n dispatch(setLevel1Opt(''));\r\n }\r\n } else {\r\n dispatch(setLevel2Opt(''));\r\n dispatch(setLevel1Opt(''));\r\n dispatch(setData([]))\r\n dispatch(setComepetitionAndDate({\r\n competitionName: '',\r\n lastUpdated: ''\r\n }))\r\n dispatch(setLoader(false));\r\n }\r\n\r\n //if (isRegSeas) {\r\n \r\n // }\r\n // if (tourResp && tourResp.data) {\r\n //dispatch(setSeasonType(isRegSeas));\r\n\r\n\r\n\r\n \r\n //else {\r\n // dispatch(setLoader(false));\r\n // }\r\n // }\r\n });\r\n }\r\n// else {\r\n// dispatch(getStandings(params, leagueType, languageId, true));\r\n// }\r\n// }\r\n\r\nexport const getStandings = (params, leagueType, languageId, isRegSeas) => dispatch => {\r\n dispatch(setData({}))\r\n dispatch(setLoader(true));\r\n var url = \"\";\r\n let tabId;\r\n if (params.isLeague) {\r\n tabId = 1;\r\n} else {\r\n tabId = 2;\r\n}\r\n var leagueTypeId = leagueType == 'league' ? 1 : leagueType == 'cup' ? 2 : 3;\r\n if(params.layoutId !==2){\r\n dispatch(setGroupName('all'));\r\n }\r\n if (params.isLeague) {\r\n url = tournament.getStandings + '?languageId=' + languageId + '&channelId=' + channelId + '&competitionId=' + params.compId +\r\n '&optionId=' + params.optionId + '&seasonId=' + params.seasonId + '&layoutId=' + params.layoutId +\r\n '&roundId=' + params.roundId+'&tabId=' + tabId+'&&group='+(params?.groupLetter ? params.groupLetter : \"all\");\r\n } else {\r\n url = tournament.getStandings + '?languageId=' + languageId + '&channelId=' + channelId + '&competitionId=' + params.compId +\r\n '&optionId=' + params.optionId + '&seasonId=' + params.seasonId + '&layoutId=' + params.layoutId +\r\n '&roundId=' + params.roundId+'&tabId=' + tabId+'&teamId=' + params.teamId+'&&group='+(params?.groupLetter ? params.groupLetter : \"all\");\r\n // dispatch(setLayOut(\"LEAGUE_TABLE\"));\r\n // url = tournament.getTeamStandings + '?languageId=' + languageId + '&channelId=' + channelId + '&competitionId=' \r\n // + params.compId + '&teamId=' + params.teamId + '&optionId=' + params.optionId + '&seasonId=' + params.seasonId+'&tabId='+tabId;\r\n // dispatch(setLevel2Opt(''));\r\n // dispatch(setLevel1Opt(''));\r\n }\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if (response && response.data) {\r\n const data = response.data\r\n\r\n // if (data.corrections && data.corrections.length > 0) {\r\n // const correctionVal = data.corrections.filter(val => val && val.teamName).map(val => val.teamName);\r\n // for (const teamName of correctionVal) {\r\n // const updateInfo = data.info.find(info => info && info.teamName === teamName);\r\n // if (updateInfo) {\r\n // updateInfo.teamName = updateInfo.teamName + \"*\";\r\n // }\r\n // }\r\n // }\r\n dispatch(setData(response.data))\r\n dispatch(setComepetitionAndDate({\r\n competitionName: response.data.hasOwnProperty('competitionName') ? response.data.competitionName : response.data.teamName,\r\n lastUpdated: response.data.lastUpdated,\r\n corrections:response.data.corrections\r\n }))\r\n dispatch(setCompetitionId(response.data?response.data.Season?response.data.Season[0].competitionId:params.compId:params.compId))\r\n dispatch(metaData(params.isLeague ? \"TournamentLeague\" : \"TeamName\" , response.data.hasOwnProperty('competitionName') ? response.data.competitionName : response.data.teamName));\r\n if(params?.groupLetter?.toLowerCase()=== \"all\"){\r\n dispatch(setGroupLetter((response.data.displayname)));\r\n }\r\n } else {\r\n dispatch(setComepetitionAndDate({\r\n competitionName: '',\r\n lastUpdated: '',\r\n corrections:[]\r\n }))\r\n dispatch(setGroupName('all'));\r\n dispatch(setGroupLetter([]));\r\n //dispatch(setBanner(response.data));\r\n }\r\n dispatch(setLoader(false));\r\n });\r\n}\r\n\r\nexport const getFiltersData = (params,leagueType,languageId,) => dispatch => {\r\n let tableId=1;\r\n let tabId;\r\n let teamId = params.teamId;\r\n if (params.isLeague) {\r\n tabId=1;\r\n }\r\n else{\r\n tabId=2;\r\n }\r\n if (params.isLeague) {\r\n var url = seasonalStats.getFilters + \"?languageId=\" + languageId + \"&channelId=\" + channelId +\r\n \"&tableId=\" + tableId+\"&competitionId=\"+params.compId+\"&tabId=\"+tabId;\r\n }else{\r\n var url = seasonalStats.getFilters + \"?languageId=\" + languageId + \"&channelId=\" + channelId +\r\n \"&tableId=\" + tableId+\"&competitionId=\"+params.compId+\"&tabId=\"+tabId+\"&teamId=\"+teamId;\r\n }\r\n dispatch(setLoader(true));\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if (response.data && Object.keys(response.data)) {\r\n dispatch(setFilterData({ tableId: tableId, response: response.data }));\r\n params.seasonId=response.data?response.data.Season?response.data.Season[0].id:1:1;\r\n dispatch(setFilter({ \"value\": params.seasonId }));\r\n var competitionId = response.data?response.data.Season?response.data.Season[0].competitionId:params.compId:params.compId;\r\n params.compId = competitionId ? competitionId : params.compId;\r\n // if(leagueType !== \"team\"){\r\n dispatch(getStandingsOpt(params, params.leagueType, languageId));\r\n // }else{\r\n // dispatch(getStandings(params, params.leagueType,languageId, true));\r\n // }\r\n }else{\r\n dispatch(setLoader(false));\r\n }\r\n })\r\n}\r\n\r\nexport const resetLevels = () => dispatch => {\r\n dispatch(setLevel2Opt(''));\r\n dispatch(setLevel1Opt(''));\r\n dispatch(setFilter({ \"value\": 1 }));\r\n dispatch(setData([]));\r\n dispatch(setComepetitionAndDate({\r\n competitionName: '',\r\n lastUpdated: '',\r\n corrections:[]\r\n }))\r\n dispatch(setLayOut(''));\r\n dispatch(setSelLevel1Opt(''));\r\n dispatch(setSelLevel2Opt(''));\r\n dispatch(setGroupName('all'));\r\n dispatch(setGroupLetter([]))\r\n}\r\nexport default TournamentStandingsSlice.reducer;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { tournament } from '../../sharedfiles/EndpointConfig';\r\nimport { channelId} from '../../sharedfiles/constants'\r\nimport { getTimeZoneOffset } from '../../sharedfiles/helper';\r\nimport { setComepetitionAndDate } from '../tournamentleague/TournamentLeagueSlice';\r\nimport { setLoader, metaData } from '../../AppSlice';\r\n\r\nexport const FixturesResultsSlice = createSlice({\r\n name: 'fixturesresults',\r\n initialState: {\r\n data:[],\r\n carouselData:[],\r\n selectedCarouselItem:{},\r\n fixtureFilters:{},\r\n selectedSeason:'1',\r\n selectedLeague:'1',\r\n selectedHHAD:'1',\r\n selectedHDC:'1',\r\n selectedCorner:'2',\r\n selectedOption:'1',\r\n seasons:[],\r\n selectedFRSeason:{},\r\n loaderFR:false,\r\n selectedTabId: 2,\r\n isSlideIndex:true,\r\n slideIndex:0,\r\n defaultCornersHiloValue:9.5,\r\n\r\n },\r\n reducers: {\r\n setSelectedTabId: (state, action)=>{\r\n state.selectedTabId = action.payload;\r\n },\r\n setData: (state,action)=>{\r\n state.data = action.payload;\r\n },\r\n setCarouselData:(state,action)=>{\r\n state.carouselData = action.payload;\r\n //state.selectedCarouselItem = action.payload[action.payload.length-1];\r\n },\r\n selectCarouselItem:(state,action)=>{\r\n state.selectedCarouselItem = action.payload;\r\n },\r\n setFixtureResultsFilters:(state,action)=>{\r\n state.fixtureFilters = action.payload;\r\n },\r\n setFilterOptions:(state,action)=>{\r\n switch(action.payload.key) {\r\n case 'Season':\r\n state.selectedSeason = action.payload.value;\r\n break;\r\n case 'Team_League':\r\n state.selectedLeague = action.payload.value;\r\n break;\r\n case 'Team_Corner':\r\n state.selectedCorner = action.payload.value\r\n break;\r\n case 'Team_HDC':\r\n state.selectedHDC = action.payload.value\r\n break;\r\n case 'Team_HHAD':\r\n state.selectedHHAD = action.payload.value;\r\n break;\r\n case 'Options':\r\n state.selectedOption = action.payload.value\r\n default:\r\n }\r\n },\r\n generateCarouselData:(state,action)=>{\r\n let selectedSeason = action.payload; \r\n //let startDate = new Date(selectedSeason.SeasonFromDate);\r\n // let endDate = new Date(selectedSeason.SeasonToDate);\r\n let doOperation = true;\r\n let currentDate = new Date();\r\n let carouselData=[];\r\n let selectedCarouselItem={}\r\n state.isSlideIndex=true;\r\n // while(doOperation){\r\n let idx=0;\r\n for (var item of selectedSeason.fixtureRange) {\r\n idx=idx+1;\r\n var dt = new Date(item.trim());\r\n carouselData.push({\r\n id: dt.getFullYear() +\"\"+ (dt.getMonth() + 1),\r\n fullDate: dt.getFullYear() + \"-\" + ((\"0\" + (dt.getMonth() + 1)).slice(-2)) ,//+ \"-\" + dt.getDate()\r\n date: dt.getDate(),\r\n month: dt.getMonth() + 1,\r\n year: dt.getFullYear()\r\n });\r\n if(currentDate.getMonth() === dt.getMonth() && currentDate.getFullYear() === dt.getFullYear()){\r\n selectedCarouselItem = {\r\n id: dt.getFullYear() +\"\"+ (dt.getMonth() + 1),\r\n fullDate: dt.getFullYear() + \"-\" + ((\"0\" + (dt.getMonth() + 1)).slice(-2)), //+ \"-\" + dt.getDate()\r\n date: dt.getDate(),\r\n month: dt.getMonth() + 1,\r\n year: dt.getFullYear()\r\n }\r\n state.slideIndex=idx;\r\n }\r\n }\r\n // startDate.setMonth(startDate.getMonth() + (carouselData.length===0?0:1));\r\n \r\n // if(startDate.getMonth() === endDate.getMonth() && startDate.getFullYear() === endDate.getFullYear()){\r\n // doOperation =false;\r\n // }\r\n // }\r\n if(Object.keys(selectedCarouselItem).length===0){\r\n state.selectedCarouselItem = carouselData[0];\r\n state.slideIndex=0;\r\n }else{\r\n state.selectedCarouselItem = selectedCarouselItem;\r\n }\r\n state.carouselData = carouselData;\r\n },\r\n setLeagueSeason:(state,action)=>{\r\n state.selectedFRSeason = action.payload; \r\n },\r\n setSeasonsData:(state,action)=>{\r\n state.seasons = action.payload;\r\n state.selectedFRSeason = action.payload[0]; \r\n \r\n },\r\n setSlideIndex:(state,action)=>{\r\n state.isSlideIndex=action.payload;\r\n }\r\n },\r\n});\r\n\r\nexport const { setSelectedTabId, setData, setCarouselData, selectCarouselItem, setFixtureResultsFilters, setFilterOptions, setSeasonsData, \r\n generateCarouselData,setLeagueSeason,setSlideIndex} = FixturesResultsSlice.actions;\r\n\r\nexport const getFixturesResultsData = (params,languageId) => dispatch => {\r\n dispatch(setData({}))\r\n dispatch(setLoader(true));\r\n var url=\"\";\r\n if(params.isLeague){\r\n url = tournament.getFixturesResults+'?languageId='+languageId+'&channelId='+channelId+'&competitionId='+params.compId+\"&seasonId=\"+params.seasonId+'&date='+params.date+'&tzOffSet='+getTimeZoneOffset();\r\n }else{\r\n url = tournament.getTeamFixturesResults+'?languageId='+languageId+'&channelId='+channelId+'&teamId='+params.teamId+\"&SeasonId=\"+params.selectedSeason+\"&OptionId=\"+params.selectedOption+\"&HHAD=\"+params.selectedHHAD+\"&HDC=\"+params.selectedHDC+\"&LeagueId=\"+params.selectedLeague+\"&Corner=\"+params.selectedCorner+\"&tabId=\"+params.selectedTabId;\r\n // url = tournament.getTeamFixturesResults+'?languageId='+languageId+'&channelId='+channelId+'&teamId='+params.teamId+'&date='+params.date+'&tzOffSet='+getTimeZoneOffset();\r\n }\r\n \r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response && response.data!=undefined && response.data ){\r\n dispatch(setData(response.data))\r\n dispatch(setLoader(false));\r\n dispatch(setComepetitionAndDate({\r\n competitionName:response.data.hasOwnProperty('competitionName')?response.data.competitionName:response.data.teamName,\r\n lastUpdated:response.data.lastUpdated\r\n }))\r\n dispatch(metaData(params.isLeague ? \"FixturesResults\" : \"FixturesResult\" , response.data.hasOwnProperty('competitionName')?response.data.competitionName:response.data.teamName));\r\n }else{\r\n dispatch(setData({}))\r\n dispatch(setLoader(false));\r\n dispatch(setComepetitionAndDate({\r\n competitionName:'',\r\n lastUpdated:''\r\n }))\r\n // dispatch(setLoader(false));\r\n //dispatch(setBanner(response.data));\r\n }\r\n });\r\n\r\n}\r\n\r\nexport const getFixtureResultsFilters = (competitionId,languageId,params) => dispatch => {\r\n var url = tournament.fixtureResultsFilters+\"?channelId=\"+channelId+\"&languageId=\"+languageId+\"&competitionId=\"+competitionId+'&teamId='+params.teamId;\r\n apiCaller(url,'GET',{}).then(response =>{\r\n \r\n if(response && response.data!=undefined && response.data){\r\n dispatch(setFixtureResultsFilters(response.data))\r\n for(var property in response.data){ \r\n if(property === \"Options\"){\r\n params.selectedOption=response.data[property][0].id; \r\n }else if(property == \"Team_HDC\"){\r\n params.selectedHDC=response.data[property][0].id; \r\n }else if(property == \"Team_Corner\"){\r\n params.selectedCorner=response.data[property][1].id; \r\n }else if(property == \"Team_HHAD\"){\r\n params.selectedHHAD=response.data[property][0].id; \r\n }\r\n if(property === \"Team_Corner\"){\r\n dispatch(setFilterOptions({\"key\":property,\"value\":response.data[property][1].id})) \r\n }else{\r\n dispatch(setFilterOptions({\"key\":property,\"value\":response.data[property][0].id}))\r\n }\r\n if(property === \"Season\"){\r\n params.selectedSeason=response.data[property][0].id;\r\n }\r\n }\r\n dispatch(getFixturesResultsData(params, languageId));\r\n }\r\n })\r\n\r\n}\r\n\r\nexport const getFixturesResultsSeasons = (params,languageId) => dispatch=>{\r\n var url = tournament.getSeasons+\"?channelId=\"+channelId+\"&languageId=\"+languageId+\"&competitionId=\"+params.compId;\r\n apiCaller(url,'GET',{}).then(response =>{\r\n if(response && response.data!=undefined && response.data.length>0){\r\n dispatch(setSeasonsData(response.data))\r\n dispatch(generateCarouselData(response.data[0]))\r\n }else{\r\n dispatch(setLoader(false));\r\n }\r\n })\r\n\r\n}\r\n\r\nexport const bindStatusResults = (cornersArray,selectedCorner,txtFrom)=> dispatch => {\r\n \r\n for (var i = 0; i < cornersArray.length; i++){\r\n var val = false;\r\n if((cornersArray[i].line == selectedCorner.name) && (val==false)){\r\n val = true;\r\n if(txtFrom == 'value'){\r\n return cornersArray[i].outcomeName\r\n }else if(txtFrom == 'class'){\r\n return (cornersArray[i].outcomeName.toLowerCase().includes('h'))?'status High':(cornersArray[i].outcomeName.toLowerCase().includes('l'))?'status Low':'';\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\nexport default FixturesResultsSlice.reducer;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { statistics } from '../../sharedfiles/EndpointConfig';\r\nimport { languageId, channelId} from '../../sharedfiles/constants';\r\nimport { setLoader } from '../../AppSlice';\r\n\r\nexport const BMStatisticsSlice = createSlice({\r\n name: 'bmstatistics',\r\n initialState: {\r\n \tmarketsInfo:{},\r\n // seasonsList:[\r\n // {\"seasonId\":1,\"seasonName\":\"Current Season\"},\r\n // {\"seasonId\":2,\"seasonName\":\"Last Season\"}\r\n // ],\r\n selectedSeasonId:'',\r\n hiloFilters: {\r\n homeHalfTimeGoals: [],\r\n homeFullTimeGoals: [],\r\n awayHalfTimeGoals: [],\r\n awayFullTimeGoals: []\r\n },\r\n cornershiloAllFilters: {\r\n homeCornersHalfTimeGoals: [],\r\n homeCornersFullTimeGoals: [],\r\n awayCornersHalfTimeGoals: [],\r\n awayCornersFullTimeGoals: []\r\n },\r\n // cornersFilters: {\r\n // // homeCornersFullTimeGoals: [],\r\n // // awayCornersFullTimeGoals: []\r\n // },\r\n seledtedFilter: {\r\n homehalf: '',\r\n homefull: '',\r\n awayhalf: '',\r\n awayfull: '',\r\n // homecornerfull: '',\r\n // awaycornerfull: '',\r\n homeCornersHalf: '',\r\n homeCornersFull: '',\r\n awayCornersHalf: '',\r\n awayCornersFull: '',\r\n },\r\n \tleagueColumns:[],\r\n \tfhHadColumns:[],\r\n \thandicapColumns:[],\r\n \toddEvenColumns:[],\r\n \tteamsToScoreColumns:[],\r\n \thtftColumns:[],\r\n \tgoalsColumns:[],\r\n fhandicapColumns:[],\r\n \tfhCorrectScoreColumns:[\r\n \t\t{column:'', key:''},\r\n \t\t{column:'1:0', key:'score1_0'},\r\n \t\t{column:'2:0', key:'score2_0'},\r\n \t\t{column:'2:1', key:'score2_1'},\r\n \t\t{column:'0:0', key:'score0_0'},\r\n \t\t{column:'1:1', key:'score1_1'},\r\n \t\t{column:'2:2', key:'score2_2'},\r\n \t\t{column:'0:1', key:'score0_1'},\r\n \t\t{column:'0:2', key:'score0_2'},\r\n \t\t{column:'1:2', key:'score1_2'}\r\n \t],\r\n hilpCornersColumns:{\r\n mainColumns: [\r\n {column:'Half Time', header:'Goal Line', rowspan: true},\r\n {column:'Full Time', header:'Goal Line', rowspan: false}\r\n ],\r\n subColumns: [\r\n {column:'', key:''},\r\n {column:'H', key:'half.high'},\r\n {column:'L', key:'half.low'},\r\n {column:'', key:''},\r\n {column:'H', key:'full.high'},\r\n {column:'L', key:'full.low'},\r\n ]\r\n },\r\n hiloCornersAllColumns:{\r\n mainColumns: [\r\n {column:'Half Time', header:'Goal Line', rowspan: true},\r\n {column:'Full Time', header:'Goal Line', rowspan: false}\r\n ],\r\n subColumns: [\r\n {column:'', key:''},\r\n {column:'H', key:'half.high'},\r\n {column:'L', key:'half.low'},\r\n {column:'', key:''},\r\n {column:'H', key:'full.high'},\r\n {column:'L', key:'full.low'},\r\n ]\r\n},\r\n cornersHiloColumns:[],\r\n teamToScoreColumns:[],\r\n teamToWinColumns:[]\r\n },\r\n reducers: {\r\n\t setMarketsInfo: (state, action) => {\r\n\t \t\tstate.marketsInfo = action.payload;\r\n },\r\n setTableHeaders:(state,action)=>{\r\n var staticKeyWords = action.payload;\r\n state.staticKeyWords = staticKeyWords;\r\n state.leagueColumns = [\r\n {column:'', key:''},\r\n {column:staticKeyWords.p, key:'teamPlayed'},\r\n {column:staticKeyWords.w, key:'teamWin'},\r\n {column:staticKeyWords.d, key:'teamDraw'},\r\n {column:staticKeyWords.l, key:'teamLoss'},\r\n {column:staticKeyWords.gf, key:'teamGF'},\r\n {column:staticKeyWords.ga, key:'teamGA'},\r\n {column:staticKeyWords.point, key:'points'},\r\n {column:staticKeyWords.wprc, key:'winpercentage'}\r\n ];\r\n state.fhHadColumns = [\r\n {column:'', key:'', class:''},\r\n {column:staticKeyWords.w, key:'teamWin', class:'w-100px'},\r\n {column:staticKeyWords.d, key:'teamDraw', class:'w-100px'},\r\n {column:staticKeyWords.l, key:'teamLoss', class:'w-100px'},\r\n ];\r\n state.handicapColumns = [\r\n {column:'', key:''},\r\n {column:staticKeyWords.w, key:'teamWin'},\r\n {column:staticKeyWords.halfWin, key:'teamHalfWin'},\r\n {column:staticKeyWords.d, key:'teamDraw'},\r\n {column:staticKeyWords.halfLoss, key:'teamHalfLoss'},\r\n {column:staticKeyWords.l, key:'teamLoss'},\r\n ];\r\n state.fhandicapColumns = [\r\n {column:'', key:''},\r\n {column:staticKeyWords.w, key:'teamWin'},\r\n {column:staticKeyWords.halfWin, key:'teamHalfWin'},\r\n {column:staticKeyWords.d, key:'teamDraw'},\r\n {column:staticKeyWords.halfLoss, key:'teamHalfLoss'},\r\n {column:staticKeyWords.l, key:'teamLoss'},\r\n ];\r\n state.oddEvenColumns = [\r\n {column:'', key:''},\r\n {column:staticKeyWords.odd, key:'teamOdd', class:'w-100px'},\r\n {column:staticKeyWords.even, key:'teamEven', class:'w-100px'},\r\n ];\r\n state.teamsToScoreColumns = [\r\n {column:'', key:'', class:''},\r\n {column:'0', key:'neither_score', class:'w-100px'},\r\n {column:'1', key:'one_score', class:'w-100px'},\r\n {column:staticKeyWords.both, key:'both_Score', class:'w-100px'},\r\n ];\r\n state.htftColumns = [\r\n {column:'', key:''},\r\n {column:staticKeyWords.ww, key:'teamWinWin'},\r\n {column:staticKeyWords.wd, key:'teamWinDraw'},\r\n {column:staticKeyWords.wl, key:'teamWinLoss'},\r\n {column:staticKeyWords.dw, key:'teamDrawWin'},\r\n {column:staticKeyWords.dd, key:'teamDrawDraw'},\r\n {column:staticKeyWords.dl, key:'teamDrawLoss'},\r\n {column:staticKeyWords.lw, key:'teamLossWin'},\r\n {column:staticKeyWords.ld, key:'teamLossDraw'},\r\n {column:staticKeyWords.ll, key:'teamLossLoss'}\r\n \r\n ];\r\n state.goalsColumns = [\r\n {column:'', key:''},\r\n {column:'0', key:'goalsZero'},\r\n {column:'1', key:'goalsOne'},\r\n {column:'2', key:'goalsTwo'},\r\n {column:'3', key:'goalsThree'},\r\n {column:'4', key:'goalsFour'},\r\n {column:'5', key:'goalsFive'},\r\n {column:'6', key:'goalsSix'},\r\n {column:'7+', key:'goalsSevenplus'},\r\n {column:staticKeyWords.average, key:'average'}\r\n ];\r\n state.hilpCornersColumns = {\r\n mainColumns: [\r\n {column:staticKeyWords.halfTime, header:'Goal Line', rowspan: true},\r\n {column:staticKeyWords.fullTime, header:'Goal Line', rowspan: false}\r\n ],\r\n subColumns: [\r\n {column:'', key:''},\r\n {column:staticKeyWords.hi, key:'half.high'},\r\n {column:staticKeyWords.lo, key:'half.low'},\r\n {column:'', key:''},\r\n {column:staticKeyWords.hi, key:'full.high'},\r\n {column:staticKeyWords.lo, key:'full.low'},\r\n ]\r\n\r\n };\r\n state.hiloCornersAllColumns = {\r\n mainColumns: [\r\n {column:staticKeyWords.halfTime, header:'Goal Line', rowspan: true},\r\n {column:staticKeyWords.fullTime, header:'Goal Line', rowspan: false}\r\n ],\r\n subColumns: [\r\n {column:'', key:''},\r\n {column:staticKeyWords.hi, key:'half.high'},\r\n {column:staticKeyWords.lo, key:'half.low'},\r\n {column:'', key:''},\r\n {column:staticKeyWords.hi, key:'full.high'},\r\n {column:staticKeyWords.lo, key:'full.low'},\r\n ]\r\n\r\n };\r\n \r\n state.cornersHiloColumns = [\r\n {column:'', key:''},\r\n {column:staticKeyWords.hi, key:'',class:\"w-100px\"},\r\n {column:staticKeyWords.lo, key:'',class:\"w-100px\"}\r\n ]\r\n state.teamToScoreColumns=[\r\n {column:'', key:''},\r\n {column:staticKeyWords.matches, key:'matches', class:'w-100px'},\r\n {column:staticKeyWords.scoreFirst, key:'scoreFirst', class:'w-100px'},\r\n {column:staticKeyWords.oppositScoreFirst, key:'oppositeScoreFirst', class:'w-150'},\r\n ]\r\n state.teamToWinColumns=[\r\n {column:staticKeyWords.scoreFirstAndWin, key:''},\r\n {column:staticKeyWords.scoreFirst, key:'scoreFirst', class:'w-100px'},\r\n {column:staticKeyWords.oppositScoreFirst, key:'oppositeScoreFirst', class:'w-150'},\r\n ]\r\n },\r\n setHiloFilters: (state, action) => {\r\n state.hiloFilters= {\r\n homeHalfTimeGoals: action.payload.homeHalfTimeGoals,\r\n homeFullTimeGoals: action.payload.homeFullTimeGoals,\r\n awayHalfTimeGoals: action.payload.awayHalfTimeGoals,\r\n awayFullTimeGoals: action.payload.awayFullTimeGoals,\r\n }\r\n },\r\n selectFilter: (state, action) => {\r\n if(action.payload.text == 'homehalf'){\r\n state.seledtedFilter.homehalf = action.payload.value\r\n }else if(action.payload.text == 'homefull'){\r\n state.seledtedFilter.homefull = action.payload.value\r\n }else if(action.payload.text == 'awayhalf'){\r\n state.seledtedFilter.awayhalf = action.payload.value\r\n }else if(action.payload.text == 'awayfull'){\r\n state.seledtedFilter.awayfull = action.payload.value\r\n }\r\n },\r\n selectCornersFilter: (state, action) => {\r\n // if(action.payload.text == 'homecornerfull'){\r\n // state.seledtedFilter.homecornerfull = action.payload.value\r\n // }else if(action.payload.text == 'awaycornerfull'){\r\n // state.seledtedFilter.awaycornerfull = action.payload.value\r\n // }\r\n if(action.payload.text == 'homeCornersHalf'){\r\n state.seledtedFilter.homeCornersHalf = action.payload.value\r\n }else if(action.payload.text == 'homeCornersFull'){\r\n state.seledtedFilter.homeCornersFull = action.payload.value\r\n }else if(action.payload.text == 'awayCornersHalf'){\r\n state.seledtedFilter.awayCornersHalf = action.payload.value\r\n }else if(action.payload.text == 'awayCornersFull'){\r\n state.seledtedFilter.awayCornersFull = action.payload.value\r\n }\r\n },\r\n // setCornersFilters: (state, action) => {\r\n // state.cornersFilters= {\r\n // homeCornersFullTimeGoals: action.payload.homeCornersFullTimeGoals,\r\n // awayCornersFullTimeGoals: action.payload.awayCornersFullTimeGoals,\r\n // }\r\n // },\r\n setCornerHiloAllFilters: (state, action) => {\r\n state.cornershiloAllFilters= {\r\n homeCornersHalfTimeGoals: action.payload.homeCornersHalfTimeGoals,\r\n homeCornersFullTimeGoals: action.payload.homeCornersFullTimeGoals,\r\n awayCornersHalfTimeGoals: action.payload.awayCornersHalfTimeGoals,\r\n awayCornersFullTimeGoals: action.payload.awayCornersFullTimeGoals,\r\n }\r\n },\r\n setSeason: (state, action) => {\r\n state.selectedSeasonId = action.payload;\r\n }\r\n },\r\n});\r\n\r\nexport const { setMarketsInfo, setHiloFilters, setCornerHiloAllFilters ,selectFilter, selectCornersFilter, setCornersFilters, setTableHeaders, setSeason} = BMStatisticsSlice.actions;\r\n\r\nexport const getMarketsInfo =(eventId,seasonId=1,homeTeamId,awayTeamId,competitionId) => dispatch => {\r\n dispatch(setSeason(seasonId))\r\n dispatch(setLoader(true));\r\n dispatch(setMarketsInfo({}))\r\n\tvar url = statistics.getMarketsInfo+\"?channelId=\"+channelId+\"&languageId=\"+languageId+\"&eventId=\"+eventId+\"&seasonId=\"+seasonId+'&homeTeamId='+homeTeamId+\"&awayTeamId=\"+awayTeamId+\"&competitionId=\"+competitionId;\r\n\tapiCaller(url, 'GET', {})\r\n\t.then((response)=>{\r\n if(response && Object.keys(response.data).length>0){\r\n if(response.data.hasOwnProperty('hiLoTable')){\r\n var homeHalfTimeGoals = [];\r\n var homeFullTimeGoals = [];\r\n var awayHalfTimeGoals = [];\r\n var awayFullTimeGoals = [];\r\n var data = response.data.hiLoTable;\r\n for(var key in data){\r\n for(var subkey in data[key]){\r\n for(var innersubkey in data[key][subkey]){\r\n for(var i=0;i {\r\n state.searchData = action.payload;\r\n },\r\n teamSearch:(state,action)=>{\r\n state.value = action.payload; \r\n\r\n },\r\n teamChange:(state,action)=>{\r\n state.value = action.payload;\r\n \r\n },\r\n teamList:(state,action)=>{\r\n state.temsList = action.payload;\r\n },\r\n setTeams:(state,action)=>{\r\n state.teamsList = action.payload;\r\n },\r\n setFilter:(state,action)=>{\r\n state.filterBy = action.payload;\r\n state.value = \"\";\r\n },\r\n setLoadingData:(state,action)=>{\r\n state.isInProgress = ! state.isInProgress;\r\n },\r\n setLoader:(state,action)=>{\r\n state.loader = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const { loadCourseSuccess, teamSearch,teamChange, setTeams, setFilter, setEventId, setLoadingData, setLoader } = homeSlice.actions;\r\n\r\nexport const loadSearchData = (teamsList=[],teamName = \"\",filterBy=\"\", languageId) => dispatch => {\r\n dispatch(setLoader(true));\r\n dispatch(loadCourseSuccess([]));\r\n var teamId = '';\r\n dispatch(setLoadingData());\r\n if(teamName !== null && teamsList.length>0){\r\n dispatch(teamSearch(teamName))\r\n teamsList.forEach(function(item,index){\r\n if(item.teamName === teamName){\r\n teamId=item.teamId;\r\n }\r\n })\r\n }else{\r\n dispatch(teamSearch(''))\r\n }\r\n var param = 'sortById='+filterBy+'&languageId='+languageId+'&channelId='+channelId+'&tzOffSet='+getTimeZoneOffset();\r\n if(teamId !== \"\" && teamId>0){\r\n param=param+\"&teamId=\"+teamId;\r\n }\r\n var url = matchCenter.getGames+\"?\"+param;\r\n apiCaller(url, 'GET', {}).then(response => {\r\n dispatch(setLoadingData());\r\n if(response && response.data!==null){\r\n dispatch(setLoader(false))\r\n response.data.map((comp)=>{\r\n comp.events.map((eve)=>{\r\n if(eve.hasOwnProperty('awayForm') && eve.awayForm.length>0){\r\n eve.awayForm = eve.awayForm.split(',');\r\n }else{\r\n eve.awayForm=[];\r\n }\r\n if(eve.hasOwnProperty('homeForm') && eve.homeForm.length>0){\r\n eve.homeForm = eve.homeForm.split(',');\r\n }else{\r\n eve.homeForm=[];\r\n }\r\n })\r\n })\r\n dispatch(loadCourseSuccess(response.data));\r\n }else{\r\n dispatch(setLoader(false))\r\n dispatch(loadCourseSuccess([])); \r\n }\r\n \r\n });\r\n}\r\n\r\nexport const getTeamsList = (name,filterBy,languageId) => dispatch => {\r\n //const userRe = /^[A-Za-z0-9. ]+$/;\r\n const userRe = /^[-'A-Za-z0-9. \\u4e00-\\u9eff]{1,20}$/;\r\n if(userRe.test(name) || name===\"\"){\r\n dispatch(teamChange(name));\r\n if(name.length>0){\r\n var url = matchCenter.getTeamSearch+\"?teamName=\"+name+\"&languageId=\"+languageId;\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response && response.data !== null && response.data.length>0)\r\n dispatch(setTeams(response.data));\r\n });\r\n }else{\r\n dispatch(loadSearchData([],'',filterBy,languageId));\r\n dispatch(setTeams([]));\r\n }\r\n }\r\n}\r\n\r\nexport const selectSearchData = state => state.home.searchData;\r\nexport const selectValue = state=>state.home.value;\r\nexport const selectTeamsList = state=> state.home.teamsList;\r\nexport const selectFilterBy = state=>state.home.filterBy;\r\nexport const selectLoader = state=>state.home.loader;\r\nexport const selectStaticWords = state=>state.app.staticKeyWords;\r\nexport const selectLanguageId = state=>state.app.languageId;\r\nexport default homeSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { matchCenter } from '../../sharedfiles/EndpointConfig';\r\nimport {languageId,channelId} from '../../sharedfiles/constants';\r\nimport { setLoader } from '../../AppSlice';\r\n\r\nexport const fetchhilolastencouters = createAsyncThunk(\r\n 'hilo/lastencounters',\r\n async (ids,thunkAPI) => { \r\n\r\n let url = matchCenter.getH2hInfo+'?languageId='+ids.languageId+'&channelId='+channelId+'&eventId='+ids.eventId+'&marketGroupId='+ids.marketGroupId+'&optionId='+ids.optionId+\"&mode=\"+(ids.isBasic?1:2)\r\n const response = await apiCaller(url, 'GET', {})\r\n return response.data\r\n }\r\n)\r\nexport const HiloCornersTabSlice = createSlice({\r\n name: 'hilocorners',\r\n initialState: {\r\n hiLoLastEncounters:[],\r\n homeTeamName:\"\",\r\n awayTeamName:\"\",\r\n hiLo:{},\r\n firstHalfHad:{},\r\n hdcHad:{},\r\n options:[],\r\n selectedOption:{},\r\n fullTime:{},\r\n halfTime:{},\r\n cornersHiLo:[],\r\n cornersHiLoHT:[],\r\n cornerftHiLo:[],\r\n cornerhtHiLo:[],\r\n data:{},\r\n ftHiLo:[],\r\n htHiLo:[],\r\n firstToScore:{},\r\n goalTimes:[],\r\n cornersPerGame:{},\r\n selectedOptionId:1,\r\n totalGoals:[],\r\n teamsToScore:{},\r\n tableRecentResults:{},\r\n loader: true,\r\n isData:true\r\n },\r\n reducers: {\r\n setOptions:(state,action)=>{\r\n state.options = action.payload;\r\n state.selectedOption= action.payload[0]\r\n },\r\n setSelectedOption:(state,action)=>{\r\n state.selectedOptionId= action.payload;\r\n }\r\n },\r\n extraReducers: {\r\n // Add reducers for additional action types here, and handle loading state as needed\r\n [fetchhilolastencouters.pending]: (state, action) => {\r\n state.loader= true;\r\n state.hiLoLastEncounters=[];\r\n state.hiLo ={};\r\n state.cornersHiLo=[];\r\n state.cornersHiLoHT=[];\r\n state.cornerhtHiLo=[];\r\n state.cornerftHiLo=[];\r\n state.ftHiLo=[];\r\n state.htHiLo=[];\r\n state.firstToScore={};\r\n state.goalTimes=[];\r\n state.cornersPerGame={};\r\n state.totalGoals=[];\r\n state.teamsToScore={};\r\n },\r\n [fetchhilolastencouters.rejected]: (state, action) => {\r\n state.loader= false;\r\n state.hiLoLastEncounters = [];\r\n state.isData = action.payload.isData;\r\n },\r\n [fetchhilolastencouters.fulfilled]: (state, action) => {\r\n // Add user to the state array\r\n // state.entities.push(action.payload);\r\n state.loader=false;\r\n if (action.payload) {\r\n state.isData = action.payload.isData;\r\n state.data = action.payload;\r\n if(action.payload.h2hLast8Encounters && action.payload.h2hLast8Encounters.length>0){\r\n state.hiLoLastEncounters = action.payload.h2hLast8Encounters;\r\n }\r\n if(action.payload.recentEncounter && Object.keys(action.payload.recentEncounter).length>0){\r\n state.tableRecentResults = action.payload.recentEncounter;\r\n }\r\n if(action.payload.hiLo && action.payload.hiLo.ftHiLo && action.payload.hiLo.ftHiLo.length>0){\r\n state.ftHiLo = action.payload.hiLo.ftHiLo;\r\n }\r\n if(action.payload.hiLo && action.payload.hiLo.htHiLo && action.payload.hiLo.htHiLo.length>0){\r\n state.htHiLo = action.payload.hiLo.htHiLo;\r\n }\r\n if(action.payload.corners && action.payload.corners.cornersHiLo && action.payload.corners.cornersHiLo.length>0){\r\n state.cornersHiLo = action.payload.corners.cornersHiLo; \r\n state.cornerftHiLo = action.payload.corners.cornersHiLoFTHT.fullTime; \r\n state.cornerhtHiLo = action.payload.corners.cornersHiLoFTHT.halfTime; \r\n console.log(\"corner::\",state.cornerftHiLo );\r\n \r\n }\r\n // if(action.payload.corners && action.payload.corners.cornersHiLoHT && action.payload.corners.cornersHiLoHT.length>0){ \r\n // state.cornersHiLoHT = action.payload.corners.cornersHiLoHT; \r\n // }\r\n if(action.payload.corners && action.payload.corners.cornersPerGame && Object.keys(action.payload.corners.cornersPerGame).length>0){\r\n state.cornersPerGame = action.payload.corners.cornersPerGame;\r\n }\r\n if(action.payload.totalGoals && action.payload.totalGoals.firstTeamToScore && Object.keys(action.payload.totalGoals.firstTeamToScore).length>0){\r\n state.firstToScore = action.payload.totalGoals.firstTeamToScore;\r\n }\r\n if(action.payload.homeTeamName && action.payload.homeTeamName.length>0){\r\n state.homeTeamName = action.payload.homeTeamName;\r\n }\r\n if(action.payload.awayTeamName && action.payload.awayTeamName.length>0){\r\n state.awayTeamName = action.payload.awayTeamName;\r\n }\r\n if(action.payload.totalGoals && action.payload.totalGoals.goalTimes && Object.keys(action.payload.totalGoals.goalTimes).length>0){\r\n state.goalTimes = action.payload.totalGoals.goalTimes;\r\n }\r\n if(action.payload.totalGoals && action.payload.totalGoals.teamsToScore && Object.keys(action.payload.totalGoals.teamsToScore).length>0){\r\n state.teamsToScore = action.payload.totalGoals.teamsToScore;\r\n }\r\n if(action.payload.totalGoals && action.payload.totalGoals.totalGoalsAnalysis && action.payload.totalGoals.totalGoalsAnalysis.length>0){\r\n state.totalGoals = action.payload.totalGoals.totalGoalsAnalysis;\r\n }\r\n // if(action.payload.handicap && action.payload.handicap.hdcHad && Object.keys(action.payload.handicap.hdcHad).length>0){\r\n // state.hdcHad = action.payload.handicap.hdcHad;\r\n // }\r\n // if(action.payload.correctScoreHaFu && action.payload.correctScoreHaFu.fullTime && Object.keys(action.payload.correctScoreHaFu.fullTime).length>0){\r\n // state.fullTime = action.payload.correctScoreHaFu.fullTime;\r\n // }\r\n // if(action.payload.correctScoreHaFu && action.payload.correctScoreHaFu.halfTime && Object.keys(action.payload.correctScoreHaFu.halfTime).length>0){\r\n // state.halfTime = action.payload.correctScoreHaFu.halfTime;\r\n // }\r\n // if(action.payload.correctScoreHaFu && action.payload.correctScoreHaFu.haFu && action.payload.correctScoreHaFu.haFu.length>0){\r\n // state.haFu = action.payload.correctScoreHaFu.haFu;\r\n // }\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport const { setOptions, setSelectedOption } = HiloCornersTabSlice.actions;\r\n\r\nexport const selectBannerData = state => state.home.bannerData;\r\n\r\nexport default HiloCornersTabSlice.reducer;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\n// import { apiCaller } from '../../api/apiCaller';\r\n// import { matchCenter } from '../../sharedfiles/EndpointConfig';\r\n// import {languageId,channelId} from '../../sharedfiles/constants'\r\n\r\nexport const HToHTabSlice = createSlice({\r\n name: 'htohtab',\r\n initialState: {\r\n selectedTab:'had'\r\n },\r\n reducers: {\r\n selectTab:(state,action)=>{\r\n state.selectedTab = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const { selectTab } = HToHTabSlice.actions;\r\n\r\nexport const selectSelectedTab = state => state.home.selectedTab;\r\n\r\nexport default HToHTabSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { matchCenter } from '../../sharedfiles/EndpointConfig';\r\nimport {languageId,channelId} from '../../sharedfiles/constants'\r\n\r\nexport const RecentFormHiLoSlice = createSlice({\r\n name: 'recentfromhilo',\r\n initialState: {\r\n // selectedTab:'had',\r\n homeSelectedOptionId:2,\r\n awaySelectedOptionId:3\r\n },\r\n reducers: {\r\n // selectTab:(state,action)=>{\r\n // console.log(action.payload)\r\n // state.selectedTab = action.payload;\r\n // }\r\n setOption:(state,action)=>{\r\n if(action.payload.type==='home' && Number(action.payload.id)>0){\r\n state.homeSelectedOptionId = Number(action.payload.id)\r\n }\r\n if(action.payload.type==='away' && Number(action.payload.id)>0){\r\n state.awaySelectedOptionId = Number(action.payload.id)\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport const { setOption } = RecentFormHiLoSlice.actions;\r\n\r\n// export const selectSelectedTab = state => state.recentfromhilo.selectedTab;\r\n\r\nexport default RecentFormHiLoSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { matchCenter } from '../../sharedfiles/EndpointConfig';\r\nimport {languageId,channelId} from '../../sharedfiles/constants'\r\n\r\nexport const RecentFormCornersSlice = createSlice({\r\n name: 'recentfromcorners',\r\n initialState: {\r\n // selectedTab:'had',\r\n homeSelectedOptionId:2,\r\n awaySelectedOptionId:3\r\n },\r\n reducers: {\r\n // selectTab:(state,action)=>{\r\n // state.selectedTab = action.payload;\r\n // }\r\n setOption:(state,action)=>{\r\n if(action.payload.type==='home' && Number(action.payload.id)>0){\r\n state.homeSelectedOptionId = Number(action.payload.id)\r\n }\r\n if(action.payload.type==='away' && Number(action.payload.id)>0){\r\n state.awaySelectedOptionId = Number(action.payload.id)\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport const { setOption } = RecentFormCornersSlice.actions;\r\n\r\n// export const selectSelectedTab = state => state.recentfromcorners.selectedTab;\r\n\r\nexport default RecentFormCornersSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { tournament,seasonalStats } from '../../sharedfiles/EndpointConfig';\r\nimport { languageId, channelId} from '../../sharedfiles/constants'\r\nimport { setLoader, metaData } from '../../AppSlice';\r\nimport { setComepetitionAndDate } from '../tournamentleague/TournamentLeagueSlice';\r\n\r\nexport const TournamentStandingsSlice = createSlice({\r\n name: 'topscorer',\r\n initialState: {\r\n topScorerColumns:[],\r\n topScorerData:[]\r\n },\r\n reducers: {\r\n setData: (state,action)=>{\r\n state.topScorerData = action.payload\r\n },\r\n setTableHeaders:(state,action)=>{\r\n var staticKeyWords = action.payload;\r\n state.staticKeyWords = staticKeyWords;\r\n state.topScorerColumns = [\r\n {column:staticKeyWords.rank,key:\"playerRank\",isSplit:false,showImg:false,isTopScorer:true},\r\n {column:staticKeyWords.player,key:\"playerName\",isSplit:false,showImg:false,imgKey:\"playerImageUrl\", className:\"text-left w-400\",isTopScorer:true},\r\n {column:staticKeyWords.club,key:\"playerClub\",isSplit:false,showImg:false,isTopScorer:true, className:\"text-left\"},\r\n {column:staticKeyWords.nationality,key:\"playerCountry\",isSplit:false,showImg:false,isTopScorer:true, className:\"text-left\"},\r\n {column:staticKeyWords.goals,key:\"playerGoals\",isSplit:false,showImg:false,isTopScorer:true},\r\n {column:staticKeyWords.hKJCNo,key:\"playerHkjcNo\",isSplit:false,showImg:false,isTopScorer:true}\r\n ]\r\n }\r\n },\r\n});\r\n\r\nexport const { setData, setTableHeaders } = TournamentStandingsSlice.actions;\r\n\r\nexport const getTopScorerData = (leagueId,languageId) => dispatch => {\r\n dispatch(setData([]))\r\n dispatch(setLoader(true));\r\n var url = tournament.getTopScorer+'?languageId='+languageId+'&channelId='+channelId+'&competitionId='+leagueId;\r\n apiCaller(url, 'GET', {}).then(response => {\r\n // if(response && response.data && response.data.length>0){\r\n if(response && response.data){\r\n dispatch(setData(response.data))\r\n dispatch(setComepetitionAndDate({\r\n competitionName:response.data.competitionName,\r\n lastUpdated:response.data.lastUpdated\r\n }))\r\n dispatch(metaData(\"TopScorer\" , response.data.competitionName));\r\n }else{\r\n dispatch(setComepetitionAndDate({\r\n competitionName:'',\r\n lastUpdated:''\r\n }))\r\n }\r\n dispatch(setLoader(false));\r\n //dispatch(setBanner(response.data));\r\n });\r\n\r\n}\r\n\r\n\r\nexport default TournamentStandingsSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { tournament,seasonalStats } from '../../sharedfiles/EndpointConfig';\r\nimport { languageId, channelId} from '../../sharedfiles/constants';\r\nimport playertableIcon1 from '../../assets/images/playertable icon-1.svg';\r\nimport playertableIcon2 from '../../assets/images/playertable icon-2.svg';\r\nimport playertableIcon3 from '../../assets/images/playertable icon-3.svg';\r\nimport playertableIcon4 from '../../assets/images/playertable icon-4.svg';\r\nimport logo from '../../assets/images/logo.png'\r\nimport { setLoader, metaData } from '../../AppSlice';\r\nimport { setComepetitionAndDate } from '../tournamentleague/TournamentLeagueSlice';\r\n\r\nexport const PlayersSlice = createSlice({\r\n name: 'players',\r\n initialState: {\r\n playersColumns:[],\r\n playersData:[],\r\n staticKeyWords:{}\r\n },\r\n reducers: {\r\n setData: (state,action)=>{\r\n state.playersData = action.payload\r\n },\r\n setTableHeaders:(state,action)=>{\r\n var staticKeyWords = action.payload;\r\n state.staticKeyWords = staticKeyWords;\r\n state.playersColumns = [\r\n {column:staticKeyWords.squad,key:\"squadNo\",isSplit:false,showImg:false},\r\n {column:staticKeyWords.teamPlayer,key:\"playerName\",isSplit:false,showImg:true,imgKey:\"playerImageUrl\", className:\"text-left standings-player\"},\r\n {column:staticKeyWords.position,key:\"playerPos\",isSplit:false,showImg:false},\r\n {column:staticKeyWords.age,key:\"playerAge\",isSplit:false,showImg:false},\r\n {column:staticKeyWords.appearances,key:\"playerAppearances\",isSplit:false,showImg:false},\r\n // {column:staticKeyWords.assists,key:\"playerAssists\",isSplit:false,showImg:false},\r\n // {column:playertableIcon1,key:\"playerYellowCards\",isSplit:false,showImg:false,isHeaderImg:true},\r\n // {column:playertableIcon2,key:\"playerRedCards\",isSplit:false,showImg:false,isHeaderImg:true},\r\n // {column:playertableIcon3,key:\"playerIn\",isSplit:false,showImg:false,isHeaderImg:true},\r\n // {column:playertableIcon4,key:\"playerOut\",isSplit:false,showImg:false,isHeaderImg:true}\r\n {column:staticKeyWords.goals,key:\"playerGoals\",isSplit:false,showImg:false},\r\n {column:staticKeyWords.yellowcards,key:\"playerYellowCards\",isSplit:false,showImg:false},\r\n {column:staticKeyWords.redcards,key:\"playerRedCards\",isSplit:false,showImg:false},\r\n {column:staticKeyWords.subbedon,key:\"playerIn\",isSplit:false,showImg:false},\r\n {column:staticKeyWords.subbedoff,key:\"playerOut\",isSplit:false,showImg:false}\r\n ]\r\n }\r\n },\r\n});\r\n\r\nexport const { setData, setTableHeaders } = PlayersSlice.actions;\r\n\r\nexport const getPleayersData = (params) => dispatch => {\r\n dispatch(setData([]))\r\n dispatch(setLoader(true));\r\n var url = tournament.getPlayers+'?languageId='+params.languageId+'&channelId='+channelId+'&teamId='+params.teamId;\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response && response.data){\r\n dispatch(setData(response.data))\r\n dispatch(setComepetitionAndDate({\r\n competitionName:response.data.teamName,\r\n lastUpdated:response.data.lastUpdated\r\n }))\r\n dispatch(metaData('Players',response.data.teamName));\r\n }else{\r\n dispatch(setComepetitionAndDate({\r\n competitionName:'',\r\n lastUpdated:''\r\n }))\r\n }\r\n //dispatch(setBanner(response.data));\r\n dispatch(setLoader(false));\r\n });\r\n\r\n}\r\n\r\n\r\nexport default PlayersSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { summary, recentforms } from '../../sharedfiles/EndpointConfig';\r\nimport { languageId, channelId} from '../../sharedfiles/constants'\r\n\r\nexport const BMRecentFormsSlice = createSlice({\r\n name: 'bmrecentforms',\r\n initialState: {\r\n \ttableData:{\r\n\t homeTeam: [],\r\n\t awayTeam: [],\r\n\t},\r\n homeMarketGroupId:'1',\r\n awayMarketGroupId:'1',\r\n handicapColumns:[\r\n \t{column:\"Event\",key:\"competitionName\",isDiff:false,isHandicap:true},\r\n \t{column:\"Date\",key:\"kickOff\",isDiff:false,isHandicap:true},\r\n \t{column:\"H/A\",key:\"homeOrAway\",isDiff:false,isHandicap:true},\r\n \t{column:\"Against\",key:\"teamAganist\",isDiff:false,isHandicap:true},\r\n \t{column:\"FT Score\",key:\"fullTimeScore\",isDiff:false,isHandicap:true},\r\n \t{column:\"HT Score\",key:\"halfTimeScore\",isDiff:false,isHandicap:true},\r\n \t{column:\"FT Result\",key:\"fullTimeResult\",isDiff:false,isHandicap:true},\r\n \t{column:\"FHAD\",key:\"fullTimeHad\",isDiff:false,isHandicap:true},\r\n \t{column:\"HDC\",key:\"hdc\",isDiff:true,isHandicap:true},\r\n \t{column:\"HHAD\",key:\"hHad\",isDiff:true,isHandicap:true}\r\n ],\r\n cornersColumns:[\r\n \t{column:\"Event\",key:\"competitionName\",isDiff:false,isHandicap:false},\r\n \t{column:\"Date\",key:\"kickOff\",isDiff:false,isHandicap:false},\r\n \t{column:\"H/A\",key:\"homeOrAway\",isDiff:false,isHandicap:false},\r\n \t{column:\"Against\",key:\"teamAganist\",isDiff:false,isHandicap:false},\r\n \t{column:\"FT Score\",key:\"fullTimeScore\",isDiff:false,isHandicap:false},\r\n \t{column:\"HT Score\",key:\"halfTimeScore\",isDiff:false,isHandicap:false},\r\n \t{column:\"TTG\",key:\"totalGoals\",isDiff:false,isHandicap:false},\r\n \t{column:\"FH HiLo\",key:\"firstHalfHilo\",isDiff:true,isHandicap:false},\r\n \t{column:\"HiLo\",key:\"hilo\",isDiff:true,isHandicap:false},\r\n \t{column:\"Both Teams to Score\",key:\"bothTeamsToScore\",isDiff:false,isHandicap:false},\r\n \t{column:\"Teams to Score\",key:\"teamsToScore\",isDiff:false,isHandicap:false},\r\n \t{column:\"Corners HiLo\",key:\"cornerHilo\",isDiff:true,isHandicap:false},\r\n\t\t{column:\"Corners HiLo HT\",key:\"cornerHiloHT\",isDiff:true,isHandicap:false}\r\n ],\r\n handicapColumns:[],\r\n cornersColumns:[],\r\n\tstaticKeyWords:{}\r\n },\r\n reducers: {\r\n\tsetTableData: (state, action)=>{\r\n\t\tif(action.payload.from == 'home'){\r\n\t\t\tstate.tableData.homeTeam = action.payload.data;\r\n\t\t}else if(action.payload.from == 'away'){\r\n\t\t\tstate.tableData.awayTeam = action.payload.data;\r\n\t\t}else{\r\n\t\t\tstate.tableData = {\r\n\t\t\t\thomeTeam : action.payload.data.homeTeam,\r\n\t\t\t awayTeam : action.payload.data.awayTeam\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tsetMarketGroupId: (state, action)=>{\r\n\t\tif(action.payload.text == 'home'){\r\n\t\t\tstate.homeMarketGroupId = action.payload.id;\r\n\t\t}else{\r\n\t\t\tstate.awayMarketGroupId = action.payload.id;\r\n\t\t}\r\n\t},\r\n\tsetTableHeaders:(state,action)=>{\r\n\t\tvar staticKeyWords = action.payload;\r\n\t\tstate.staticKeyWords = staticKeyWords;\r\n\t\tstate.handicapColumns = [\r\n\t\t\t{column:staticKeyWords.event,key:\"competitionName\",isDiff:false,isHandicap:true},\r\n\t\t\t{column:staticKeyWords.date,key:\"kickOff\",isDiff:false,isHandicap:true},\r\n\t\t\t{column:staticKeyWords.ha,key:\"homeOrAway\",isDiff:false,isHandicap:true},\r\n\t\t\t{column:staticKeyWords.againt,key:\"teamAganist\",isDiff:false,isHandicap:true},\r\n\t\t\t{column:staticKeyWords.ftScore,key:\"fullTimeScore\",isDiff:false,isHandicap:true,isSpecialClass:true},\r\n\t\t\t{column:staticKeyWords.htScore,key:\"halfTimeScore\",isDiff:false,isHandicap:true},\r\n\t\t\t{column:staticKeyWords.ftResult,key:\"fullTimeResult\",isDiff:false,isHandicap:true},\r\n\t\t\t{column:staticKeyWords.fHAD,key:\"fullTimeHad\",isDiff:false,isHandicap:true},\r\n\t\t\t{column:staticKeyWords.hdc,key:\"hdc\",isDiff:true,isHandicap:true},\r\n\t\t\t{column:staticKeyWords.hHAD,key:\"hHad\",isDiff:true,isHandicap:true}\r\n\t\t];\r\n\t\tstate.cornersColumns = [\r\n\t\t\t{column:staticKeyWords.event,key:\"competitionName\",isDiff:false,isHandicap:false},\r\n\t\t\t{column:staticKeyWords.date,key:\"kickOff\",isDiff:false,isHandicap:false},\r\n\t\t\t{column:staticKeyWords.ha,key:\"homeOrAway\",isDiff:false,isHandicap:false},\r\n\t\t\t{column:staticKeyWords.againt,key:\"teamAganist\",isDiff:false,isHandicap:false},\r\n\t\t\t{column:staticKeyWords.ftScore,key:\"fullTimeScore\",isDiff:false,isHandicap:false,isSpecialClass:true},\r\n\t\t\t{column:staticKeyWords.htScore,key:\"halfTimeScore\",isDiff:false,isHandicap:false},\r\n\t\t\t{column:staticKeyWords.ttg,key:\"totalGoals\",isDiff:false,isHandicap:false},\r\n\t\t\t{column:staticKeyWords.fhHiLo,key:\"firstHalfHilo\",isDiff:true,isHandicap:false},\r\n\t\t\t{column:staticKeyWords.hiLo,key:\"hilo\",isDiff:true,isHandicap:false},\r\n\t\t\t{column:staticKeyWords.btts,key:\"bothTeamsToScore\",isDiff:false,isHandicap:false},\r\n\t\t\t{column:staticKeyWords.tts,key:\"teamsToScore\",isDiff:false,isHandicap:false},\r\n\t\t\t{column:staticKeyWords.cornersHiLo,key:\"cornerHilo\",isDiff:true,isHandicap:false},\r\n\t\t\t{column:staticKeyWords.cornersHiLoHT,key:\"cornerHiloHT\",isDiff:true,isHandicap:false}\r\n\t\t]\r\n\t} \r\n },\r\n});\r\n\r\nexport const { setTableData, setMarketGroupId, setTableHeaders } = BMRecentFormsSlice.actions;\r\n\r\nexport const getRecentResultsEvent = (text, marketGroupId, bannerData) => dispatch => {\r\n\t// if(text){\r\n\t// \tdispatch(setMarketGroupId({text:text,id:marketGroupId}))\r\n\t// \tvar url = recentforms.getRecentResultsTeam+\"?channelId=\"+channelId+\"&languageId=\"+languageId+\"&teamId=\"+(text=='home'?bannerData.homeTeamId:bannerData.awayTeamId)+\"&marketGroupId=\"+marketGroupId;\r\n\t// }else{\r\n\t// \tvar url = recentforms.getRecentResultsEvent+\"?channelId=\"+channelId+\"&languageId=\"+languageId+\"&homeTeamId=\"+bannerData.homeTeamId+\"&awayTeamId=\"+bannerData.awayTeamId+\"&marketGroupId=\"+marketGroupId;\r\n\t// }\r\n\t// apiCaller(url, 'GET', {})\r\n\t// .then((response)=>{\r\n\t// \tif(response){\r\n\t// \t\t// if(marketGroupId==2){\r\n\t// \t\t// \tif(text == 'home'){\r\n\t// \t\t// \t\tvar data = []\r\n\t// \t\t// \t\tresponse.data.map((team)=>{\r\n\t// \t\t// \t\t\tteam['hilo'].map((item)=>{\r\n\t// \t\t// \t\t\t\tconsole.log(\"item....\",item)\r\n\t// \t\t// \t\t\t\tdata.push(item)\r\n\t// \t\t// \t\t\t})\r\n\t// \t\t// \t\t\tteam['hilo'].map((item)=>{\r\n\t// \t\t// \t\t\t\tconsole.log(\"item....\",item)\r\n\t// \t\t// \t\t\t\tdata.push(item)\r\n\t// \t\t// \t\t\t})\r\n\t// \t\t// \t\t\tconsole.log(\"endo emo....\",data.length)\r\n\t// \t\t// \t\t})\r\n\t// \t\t// \t}\t\t\t\t\r\n\t// \t\t// }\r\n\t// \t\tdispatch(setTableData({data:response.data,from:text}))\r\n\t// \t}\r\n\t// })\r\n}\r\n\r\nexport default BMRecentFormsSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { bmhead2head, matchCenter } from '../../sharedfiles/EndpointConfig';\r\nimport {languageId,channelId} from '../../sharedfiles/constants'\r\n\r\nexport const BMHead2HeadSlice = createSlice({\r\n name: 'bmh2h',\r\n initialState: {\r\n pastSeasons:{},\r\n homeTeamTableData:{},\r\n awayTeamTableData:{},\r\n homeMarketGroupId:1,\r\n awayMarketGroupId:1,\r\n handicapColumns:[],\r\n staticKeyWords:{}\r\n },\r\n reducers: {\r\n setData:(state,action)=>{\r\n var data = action.payload;\r\n if(data && data.hasOwnProperty('pastSeasons')){\r\n state.pastSeasons = data.pastSeasons;\r\n }\r\n if(data && data.hasOwnProperty('recentEncounters')){\r\n if(data.recentEncounters && data.recentEncounters.hasOwnProperty('homeTeam')){\r\n state.homeTeamTableData = data.recentEncounters.homeTeam;\r\n }\r\n if(data.recentEncounters && data.recentEncounters.hasOwnProperty('awayTeam')){\r\n state.awayTeamTableData = data.recentEncounters.awayTeam;\r\n }\r\n }\r\n },\r\n setTableHeaders:(state,action)=>{\r\n var staticKeyWords = action.payload;\r\n state.staticKeyWords = staticKeyWords;\r\n state.handicapColumns = [\r\n {column:staticKeyWords.event,key:\"competitionName\",isDiff:false,isHandicap:true},\r\n {column:staticKeyWords.date,key:\"kickOff\",isDiff:false,isHandicap:true},\r\n {column:staticKeyWords.home,key:\"homeOrAway\",isDiff:false,isHandicap:true},\r\n {column:staticKeyWords.away,key:\"homeOrAway\",isDiff:false,isHandicap:true},\r\n {column:staticKeyWords.ftScore,key:\"fullTimeScore\",isDiff:false,isHandicap:true},\r\n {column:staticKeyWords.htScore,key:\"halfTimeScore\",isDiff:false,isHandicap:true},\r\n {column:staticKeyWords.ftResult,key:\"fullTimeResult\",isDiff:false,isHandicap:true},\r\n {column:staticKeyWords.fHAD,key:\"fullTimeHad\",isDiff:false,isHandicap:true},\r\n {column:staticKeyWords.hdc,key:\"hdc\",isDiff:true,isHandicap:true,},\r\n {column:staticKeyWords.hHAD,key:\"hHad\",isDiff:true,isHandicap:true}\r\n ]\r\n },\r\n setTeamData:(state,action)=>{\r\n if(action.payload.type==='home'){\r\n state.homeTeamTableData.encounters = action.payload.data;\r\n }else{\r\n state.awayTeamTableData.encounters = action.payload.data;\r\n }\r\n },\r\n setPastSeasons:(state,action)=>{\r\n state.pastSeasons= action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const { setData, setTeamData,setTableHeaders, setPastSeasons } = BMHead2HeadSlice.actions;\r\n\r\nexport const getEventInfo = (homeTeamId,awayTeamId) => dispatch => {\r\n var marketGroupId = 1;\r\n var url = matchCenter.getEventInfo+'?languageId='+languageId+'&channelId='+channelId+'&homeTeamId='+homeTeamId+'&awayTeamId='+awayTeamId+'&marketGroupId='+marketGroupId+\"&mode=1\"\r\n // if(optionId){\r\n // var teamId = from=='home'?homeTeamId:awayTeamId;\r\n // var url = matchCenter.getLasRresults+'?languageId='+languageId+'&channelId='+channelId+'&teamId='+teamId+'&marketGroupId='+marketGroupId+'&optionId='+optionId;\r\n // }else{\r\n // var url = matchCenter.getRecentformInformation+'?languageId='+languageId+'&channelId='+channelId+'&homeTeamId='+homeTeamId+'&awayTeamId='+awayTeamId+'&marketGroupId='+marketGroupId+'&optionId='+1;\r\n // }\r\n apiCaller(url,'GET',{}).then(response => {\r\n if(response.data!=null && response.data && Object.keys(response.data)){\r\n dispatch(setData(response.data))\r\n }\r\n })\r\n }\r\n export const getTeamInfo = (type, teamId, marketGroupId) => dispatch => {\r\n var url = bmhead2head.getTeamInfo+'?languageId='+languageId+'&channelId='+channelId+'&teamId='+teamId+'&marketGroupId='+marketGroupId\r\n apiCaller(url,'GET',{}).then(response => {\r\n if(response.data!=null && response.data.length>0){\r\n var data = {\r\n type:type,\r\n data:response.data\r\n }\r\n dispatch(setTeamData(data))\r\n }\r\n })\r\n }\r\n export const getPastSeason = (eventId) => dispatch => {\r\n var url = bmhead2head.pastSeasonInfo+'?languageId='+languageId+'&channelId='+channelId+'&eventId='+eventId\r\n apiCaller(url,'GET',{}).then(response => {\r\n if(response.data && Object.keys(response.data).length>0){\r\n dispatch(setPastSeasons(response.data))\r\n }\r\n })\r\n }\r\n\r\nexport default BMHead2HeadSlice.reducer;\r\n","import { createSlice } from '@reduxjs/toolkit';\r\nimport { apiCaller } from '../../api/apiCaller';\r\nimport { tournament } from '../../sharedfiles/EndpointConfig';\r\nimport { channelId } from '../../sharedfiles/constants';\r\nimport { setComepetitionAndDate } from '../tournamentleague/TournamentLeagueSlice';\r\nimport { metaData } from '../../AppSlice';\r\n\r\nexport const RulesSlice = createSlice({\r\n name: 'rules',\r\n initialState: {\r\n rulesInfo:{}\r\n },\r\n reducers: {\r\n setRulesInfo: (state, actions) => {\r\n state.rulesInfo = actions.payload;\r\n }\r\n }\r\n})\r\n\r\nexport const { setRulesInfo } = RulesSlice.actions;\r\n\r\nexport const getRulesInfo = (competitionId,languageId) => dispatch => {\r\n var url = tournament.getRules+'?languageId='+languageId+'&channelId='+channelId+'&competitionId='+competitionId\r\n apiCaller(url, 'GET', {}).then(response => {\r\n if(response.data !== null && response.data ){\r\n dispatch(setRulesInfo(response.data));\r\n dispatch(setComepetitionAndDate({\r\n competitionName: response.data.competitionName,\r\n lastUpdated: response.data.lastUpdated\r\n }))\r\n dispatch(metaData(\"Rules\" , response.data.competitionName));\r\n } else {\r\n dispatch(setRulesInfo({}));\r\n dispatch(setComepetitionAndDate({\r\n competitionName: '',\r\n lastUpdated: ''\r\n }))\r\n }\r\n });\r\n \r\n }\r\nexport default RulesSlice.reducer;","import { createSlice } from '@reduxjs/toolkit';\r\n\r\nexport const PopOverSlice = createSlice({\r\n name: 'popover',\r\n initialState: {\r\n activeIdx: {\r\n home: 0+\"_home\",\r\n away:0+\"_away\"\r\n }\r\n }, reducers: {\r\n setActiveIdx: (state, actions) => {\r\n if (actions.payload.isHome) {\r\n state.activeIdx.home = actions.payload.keyValue;\r\n } else {\r\n state.activeIdx.away = actions.payload.keyValue;\r\n }\r\n }\r\n }\r\n})\r\n\r\nexport const { setActiveIdx } = PopOverSlice.actions;\r\nexport const setPopOverIdx = (status,isHome,keyValue) => dipatch => {\r\n dipatch(setActiveIdx({ status, isHome, keyValue }))\r\n}\r\n\r\nexport default PopOverSlice.reducer;","module.exports = __webpack_public_path__ + \"static/media/logo-bettorlogic.71c94ede.png\";","import React,{Component} from 'react';\r\nimport { connect } from 'react-redux';\r\nclass Loading extends Component{\r\n render(){\r\n return (\r\n
\r\n {this.props.isNoData &&
{this.props.staticKeyWords.temporarilyNoData}
}\r\n {this.props.isLoader &&
}\r\n
\r\n );\r\n }\r\n \r\n \r\n}\r\nfunction mapStateToProps(state) {\r\n return {\r\n staticKeyWords: state.app.staticKeyWords\r\n };\r\n }\r\nexport default connect(mapStateToProps)(Loading);\r\n\r\n","module.exports = __webpack_public_path__ + \"static/media/playertable icon-1.21365c0d.svg\";","module.exports = __webpack_public_path__ + \"static/media/playertable icon-2.b1af8e45.svg\";","module.exports = __webpack_public_path__ + \"static/media/playertable icon-3.330d2ec4.svg\";","module.exports = __webpack_public_path__ + \"static/media/playertable icon-4.961f1143.svg\";","import React, { Component,lazy,Suspense } from 'react';\r\nimport { BrowserRouter as Router, Route, Switch, NavLink } from 'react-router-dom';\r\nimport { bindActionCreators } from \"redux\";\r\nimport { connect } from 'react-redux';\r\n// import Match from './layouts/match';\r\nimport './assets/css/hkjc-stats-center-styles.scss';\r\nimport logo from './assets/images/logo.png'\r\n// import { Home } from './components/match/home';\r\nimport { getCountryList, getCompetitionsList, getEventList, toggleMode } from './layouts/matchSlice';\r\nimport { getEvenId, resetEventId, setTempCountryInfo, setTempCompetitionInfo, reSetMainTab,\r\n setStaticKeyWords, setLanguage, setConfigurations, getConfigurations} from './AppSlice';\r\n// import TournamentLeague from './components/tournamentleague/TournamentLeague';\r\n// import TournamentLayout from './components/tournament/layout/TournamentLayout';\r\n// import HtoHSearch from './components/htohsearch/HtoHSearch';\r\nimport blLogo from './assets/images/logo-bettorlogic.png';\r\nimport { staticEng, staticChe, configurations } from './sharedfiles/constants';\r\nimport {FacebookIcon,FacebookShareButton,TwitterShareButton,TwitterIcon,WhatsappShareButton,WhatsappIcon} from \"react-share\"\r\nimport {engLangId} from './sharedfiles/constants';\r\nimport Loading from './components/loading/Loading'\r\n/**\r\n * Lazy loading\r\n */\r\nconst TournamentLayout = lazy(() => import('./components/tournament/layout/TournamentLayout'));\r\n// const HtoHSearch = lazy(() => import('./components/htohsearch/HtoHSearch')); // As per client request temporarily hiding\r\nconst Home = lazy(() => import('./components/match/home'));\r\nconst Match = lazy(() => import('./layouts/match'));\r\nconst ErrorPage = lazy(() => import('../src/components/errorpage'))\r\nclass App extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n hasError: false,\r\n errorInfo: null \r\n }\r\n }\r\n\r\n componentDidCatch(error, erroInfo){\r\n this.setState({ error: error, erroInfo: erroInfo })\r\n }\r\n static getDerivedStateFromError(error) {\r\n return { hasError: true };\r\n }\r\n componentWillMount() {\r\n var staticKeyWords = {}\r\n if (this.props.match && this.props.match.params.lang && this.props.match.params.lang === 'en') {\r\n this.props.dispatch(setLanguage(19));\r\n staticKeyWords = staticEng;\r\n } else {\r\n this.props.dispatch(setLanguage(18))\r\n staticKeyWords = staticChe;\r\n }\r\n if (this.props.match && (!this.props.match.params.lang || this.props.match.params.lang.length < 2 || this.props.match.params.lang.length > 2)) {\r\n if (this.props.match.url.length > 0 && this.props.match.url !== \"/\") {\r\n this.props.history.push('/en' + this.props.location.pathname)\r\n window.location.reload()\r\n } else {\r\n this.props.history.push('/en')\r\n window.location.reload()\r\n }\r\n\r\n }\r\n this.props.dispatch(getConfigurations())\r\n //this.props.dispatch(setConfigurations(configurations));\r\n this.props.dispatch(setStaticKeyWords(staticKeyWords));\r\n \r\n }\r\n componentDidMount() {\r\n this.props.dispatch(reSetMainTab());\r\n if(navigator.cookieEnabled){\r\n window.onbeforeunload = function() {\r\n localStorage.setItem(\"modeType\",'');\r\n }\r\n }\r\n }\r\n changeLanguage(lang) {\r\n var pathName = window.location.pathname;\r\n if (pathName.length >= 3) {\r\n var pathArray = pathName.split('/');\r\n if (pathArray.length >= 2 && pathArray[1].length === 2) {\r\n pathArray[1] = lang;\r\n pathName = pathArray.join('/');\r\n }\r\n this.props.history.push(pathName);\r\n window.location.reload();\r\n }\r\n }\r\n render() {\r\n if (this.state.hasError){\r\n window.location.href = window.location.origin+\"/error\"\r\n }\r\n return (<> \r\n {/* \r\n \r\n \r\n */}\r\n {!this.props.intialLoad?\r\n
\r\n {!this.props.isEdisplay &&
\r\n
\r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n
    \r\n\r\n
  • this.props.dispatch(resetEventId('match', toggleMode))}>\r\n {\r\n if (location.pathname.split('/').length === 2 ||\r\n location.pathname.includes('/matchcenter')) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }}>\r\n {this.props.staticKeyWords.match}\r\n \r\n {/* {\r\n if (location.pathname === \"/\" || location.pathname.includes('home')|| \r\n location.pathname.includes('/matchcenter')) {\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n }}>\r\n\r\n \r\n {this.props.staticKeyWords.match} \r\n */}\r\n
  • \r\n\r\n
  • this.props.dispatch(resetEventId('tournament', toggleMode))}>\r\n {\r\n if (location.pathname.includes('tournament')) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }}>\r\n {this.props.staticKeyWords.tournament}\r\n \r\n
  • \r\n {/*
  • this.props.dispatch(resetEventId('htohsearch', toggleMode))}>\r\n \r\n {this.props.staticKeyWords.headTOHeadSearch}\r\n \r\n
  • */}\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
SHARE
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/*
\r\n \r\n \r\n \r\n
*/}\r\n
\r\n
\r\n 中文|\r\n EN|\r\n hkjcfootball.com\r\n
\r\n
\r\n {(this.props.selectedMainTab == 'match' && this.props.eventInfo.eventId && false) ?\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
: ''}\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n
\r\n {!this.props.isEdisplay &&
\r\n {/*{(this.props.selectedMainTab=='match' && this.props.eventInfo.eventId)?
*/}\r\n {(this.props.eventInfo.eventId && window.location.pathname.split('/').includes('matchcenter')) ?
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
: \"\"}\r\n\r\n
\r\n }\r\n {/**/}\r\n
}>\r\n \r\n \r\n \r\n } />\r\n } />\r\n \r\n {/* } /> */}\r\n \r\n \r\n \r\n {/**/}\r\n
\r\n
{this.props.staticKeyWords.footerText}
\r\n
\"logo\"
\r\n
\r\n
\r\n
\r\n {/* */}\r\n
\r\n
:\"\"}\r\n \r\n \r\n )\r\n }\r\n}\r\nfunction mapStateToProps(state) {\r\n return {\r\n countryList: state.match.countryList,\r\n competitionsList: state.match.competitionsList,\r\n eventList: state.match.eventList,\r\n selectedMainTab: state.app.selectedMainTab,\r\n eventInfo: state.app.eventInfo,\r\n tempEventInfo: state.app.tempEventInfo,\r\n bannerData: state.match.bannerData,\r\n tabInfo: state.playeranalysis.tabInfo,\r\n staticKeyWords: state.app.staticKeyWords,\r\n languageId: state.app.languageId,\r\n disableLeagues: state.app.disableLeagues,\r\n isEdisplay:state.app.isEdisplay,\r\n metaDataInfo:state.app.metaDataInfo,\r\n metaDataurl : state.app.metaDataURL,\r\n intialLoad:state.app.intialLoad\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n dispatch,\r\n actions: bindActionCreators({\r\n getConfigurations,\r\n getCountryList,\r\n getEvenId,\r\n getCompetitionsList,\r\n getEventList,\r\n }, dispatch)\r\n }\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(App);\r\n\r\n","import { configureStore } from '@reduxjs/toolkit';\r\nimport homeReducer from '../components/match/homeSlice';\r\nimport MatchCenterReducer from '../components/matchcenter/MatchCenterSlice'\r\nimport HADHandicapTabReducer from '../components/hadhandicaptab/HADHandicapTabSlice';\r\nimport HiLoCornersTabReducer from '../components/hilocornerstab/HiloCornersTabSlice';\r\nimport HToHTabReducer from '../components/htohtab/HToHTabSlice';\r\nimport RecentFormTabReducer from '../components/recentformtab/RecentFormTabSlice';\r\nimport RecentFromHADReducer from '../components/recentformhad/RecentFormHADSlice';\r\nimport RecentFromHandicapReducer from '../components/recentformhad/RecentFormHADSlice';\r\nimport RecentFormHiLoReducer from '../components/recentformhilo/RecentFormHiLoSlice';\r\nimport RecentFromCornersReducer from '../components/recentformcorners/RecentFormCornersSlice';\r\nimport RecentformTableReducer from '../components/recentformtable/RecentformTableSlice';\r\nimport MatchReducer from '../layouts/matchSlice';\r\nimport SeasonalStatsReducer from '../components/seasonalstats/SeasonalStatsSlice';\r\nimport StandingsReducer from '../components/seasonalstats/standings/StandingsSlice';\r\nimport AppReducer from '.././AppSlice';\r\nimport PlayerAnalysisReducer from '../components/playeranalysis/PlayerAnalysisSlice';\r\nimport TournamentStandingsReducer from '../components/tournamentstandings/TournamentStandingsSlice';\r\nimport TopScorerReducer from '../components/topscorer/TopScorerSlice';\r\nimport PlayersReducer from '../components/players/PlayersSlice';\r\nimport FixturesResultsReducer from '../components/fixturesresults/FixturesResultsSlice';\r\nimport TournamentReducer from '../components/tournament/TournamentSlice';\r\nimport HtoHSearchReducer from '../components/htohsearch/HtoHSearchSlice';\r\nimport SummaryReducer from '../components/summary/SummarySlice';\r\nimport BMRecentFormsReducer from '../components/bmrecentforms/BMRecentFormsSlice';\r\nimport BMStatisticsReducer from '../components/bmstatistics/BMStatisticsSlice';\r\nimport BMHead2HeadReducer from '../components/bmhead2head/BMHead2HeadSlice';\r\nimport TournamentLeagueReducer from '../components/tournamentleague/TournamentLeagueSlice';\r\nimport HTOHOutputReducer from '../components/htohoutput/htohOutputSlice';\r\nimport RulesSliceReducer from '../components/rules/rulesSlice';\r\nimport PopOverReducer from '../components/summary/popover/popoverSlice';\r\n\r\nexport default configureStore({\r\n reducer: {\r\n app:AppReducer,\r\n home: homeReducer,\r\n matchcenter:MatchCenterReducer,\r\n hadhandicap:HADHandicapTabReducer,\r\n hilocorners:HiLoCornersTabReducer,\r\n htohtab:HToHTabReducer,\r\n recentfromtab:RecentFormTabReducer,\r\n recentformhad:RecentFromHADReducer,\r\n recentformhandicap:RecentFromHandicapReducer,\r\n recentformhilo:RecentFormHiLoReducer,\r\n recentformcorners:RecentFromCornersReducer,\r\n recentfromtable:RecentformTableReducer,\r\n match:MatchReducer,\r\n seasonalstats:SeasonalStatsReducer,\r\n standings:StandingsReducer,\r\n playeranalysis:PlayerAnalysisReducer,\r\n tournamentstandings:TournamentStandingsReducer,\r\n topscorer:TopScorerReducer,\r\n players:PlayersReducer,\r\n fixturesresults:FixturesResultsReducer,\r\n tournament:TournamentReducer,\r\n htohsearch:HtoHSearchReducer,\r\n summary:SummaryReducer,\r\n bmrecentforms:BMRecentFormsReducer,\r\n bmstatistics:BMStatisticsReducer,\r\n bmh2h:BMHead2HeadReducer,\r\n tournamentleague:TournamentLeagueReducer,\r\n htohoutput: HTOHOutputReducer,\r\n rules: RulesSliceReducer,\r\n popover:PopOverReducer\r\n },\r\n});\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter as Router, Route } from 'react-router-dom';\r\n// import './index.css';\r\nimport App from './App';\r\nimport store from './app/store';\r\nimport { Provider } from 'react-redux';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\n// function userRedirect(nextState, replace) {\r\n// var defaultLanguage = 'en-gb';\r\n// var redirectPath = defaultLanguage + nextState.location.pathname\r\n// replace({\r\n// pathname: redirectPath,\r\n// })\r\n// };\r\nReactDOM.render(\r\n \r\n \r\n \r\n } />\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}