tooltipSelection = function (id, index, array) {
let color = "";
let content = "";
if (selector.type == "Drivers") {
const info = drivers.get(id);
color = colors.teams[info["teams"][0]["constructorId"]].primary;
const story = dataLayout
.filter((f) => f["StandingsDrivers"].length > 0)
.map((obj, i) => {
const d = { ...obj };
d["DriverStats"] = d["StandingsDrivers"].filter(
(f, i) => f["driverId"] == id
)[0];
return d;
});
content = `
<p class="heading">${info["givenName"]} ${info["familyName"]}</p>
<div class="headingBorder headingBorderCurve" style="border-color: ${color}">
<p class="subheading">
${
info["nationality"]
} • <span style="color: ${color}; font-weight: bold">${
info["teams"][0]["name"]
}</span>
</p>
</div>
<div class="spacer"></div>
<p><b style="color:${color}">${formatPosition(
story[story.length - 1]["DriverStats"]["standing"],
true
)}</b> in driver's championship, <b style="color:${color}">${
story[story.length - 1]["DriverStats"]["pointsTotal"]
}</b> total points${
info["driverId"] == "sainz"
? ' for the <a href="https://www.youtube.com/watch?v=mGkrbzJZCoE&ab_channel=JayLadva" target="_blank">smooth operator<a>'
: ""
}</p>
`;
} else {
const info = constructors.get(id);
const drivers = info["drivers"].sort((a, b) =>
d3.ascending(a["familyName"], b["familyName"])
);
color = colors.teams[info["constructorId"]].primary;
const story = dataLayout
.filter((f) => f["StandingsConstructors"].length > 0)
.map((obj, i) => {
const d = { ...obj };
let standing = 0;
let position = 0;
d["ConstructorStats"] = d["StandingsConstructors"].filter(
(f, i) => f["constructorId"] == id
)[0];
return d;
});
content = `
<div class="" style="border-color: ${color}">
<p class="heading">${info["name"]}</p>
</div>
<div class="headingBorder headingBorderCurve" style="border-color: ${color}">
<p>${drivers[0]["familyName"]} & ${drivers[1]["familyName"]}</p>
</div>
<div class="spacer"></div>
<p><b style="color:${color}">${formatPosition(
story[story.length - 1]["ConstructorStats"]["standing"],
true
)}</b> in constructor's championship, <b style="color:${color}">${
story[story.length - 1]["ConstructorStats"]["pointsTotal"]
}</b> total points</p>
`;
}
if (index == 0) {
return html`
<div class="card card0" style="border-color: ${color}; border-style: ${
array.length > 1 ? "dotted dotted none none" : ""
}">
<div class="clear">${symbolX}</div>
${content}
</div>`;
} else if (index == 1) {
return html`
<div class="versus">
<div class="divider"></div><span>V.S.</span><div class="divider"></div>
</div>
<div class="card card1" style="border-color: ${color}">${content}</div>
`;
}
}