statsEsc = window.statsEsc
statsTable = window.statsTable
fetchParquet = window.fetchParquet
noData = () => html`<p class="text-muted">Data could not be loaded. Try refreshing the page.</p>`
base_url = window.DATA_BASE_URL
t20_teams = fetchParquet(base_url + "cricket/t20-teams.parquet")
t20_venues = fetchParquet(base_url + "cricket/t20-venues.parquet")
odi_teams = fetchParquet(base_url + "cricket/odi-teams.parquet")
odi_venues = fetchParquet(base_url + "cricket/odi-venues.parquet")
test_teams = fetchParquet(base_url + "cricket/test-teams.parquet")
test_venues = fetchParquet(base_url + "cricket/test-venues.parquet")
function makeTeamConfig(fullData) {
return {
columns: ["team", "batting_runs_skill", "batting_wicket_skill", "bowling_runs_skill", "bowling_wicket_skill", "balls"],
header: {
team: "Team",
batting_runs_skill: "Bat Runs",
batting_wicket_skill: "Bat Wickets",
bowling_runs_skill: "Bowl Runs",
bowling_wicket_skill: "Bowl Wickets",
balls: "Balls"
},
groups: [
{ label: "", span: 1 },
{ label: "Batting", span: 2 },
{ label: "Bowling", span: 2 },
{ label: "", span: 1 }
],
format: {
batting_runs_skill: x => x?.toFixed(4) ?? "",
batting_wicket_skill: x => x?.toFixed(6) ?? "",
bowling_runs_skill: x => x?.toFixed(4) ?? "",
bowling_wicket_skill: x => x?.toFixed(6) ?? "",
balls: x => x?.toLocaleString() ?? ""
},
render: {
team: (v) => `<strong>${statsEsc(v)}</strong>`
},
heatmap: {
batting_runs_skill: "high-good",
bowling_runs_skill: "low-good"
},
heatmapData: fullData,
sort: "batting_runs_skill",
reverse: true,
rows: 20
}
}
function makeVenueConfig(fullData) {
return {
columns: ["venue", "run_rate", "wicket_rate", "boundary_rate", "dot_rate", "balls"],
header: {
venue: "Venue",
run_rate: "Run Rate",
wicket_rate: "Wicket Rate",
boundary_rate: "Boundary Rate",
dot_rate: "Dot Rate",
balls: "Balls"
},
groups: [
{ label: "", span: 1 },
{ label: "Rates", span: 4 },
{ label: "", span: 1 }
],
format: {
run_rate: x => x?.toFixed(4) ?? "",
wicket_rate: x => x?.toFixed(4) ?? "",
boundary_rate: x => x?.toFixed(4) ?? "",
dot_rate: x => x?.toFixed(4) ?? "",
balls: x => x?.toLocaleString() ?? ""
},
render: {
venue: (v) => `<strong>${statsEsc(v)}</strong>`
},
heatmap: {
run_rate: "high-good",
boundary_rate: "high-good"
},
heatmapData: fullData,
sort: "run_rate",
reverse: true,
rows: 20
}
}