Player = {
let t = table(aqdatafiltered, {
columns: {
Player: {
formatter(value, i, row) {
let elem = html`<a style='cursor:pointer'>${value}</a>`;
elem.addEventListener('click', () => {
t.value = row;
t.dispatchEvent(new CustomEvent('input'));
});
return elem;
}
},
'xGF%': {
title: 'xGF%',
type: 'string',
formatter(val, i) {
return html`<div style='display:flex;align-items:center;height:1.5em;'>
<div style='width:${val}%;height:1em;background:#21209c;margin-right:0.5em;'></div>${i == 0 ? d3.format('.0%')(val / 100) : val}
</div>`;
}
},
'CF%': {
title: 'CF%',
type: 'string',
formatter(val, i) {
return html`<div style='display:flex;align-items:center;height:1.5em;'>
<div style='width:${val}%;height:1em;background:#fdb827;margin-right:0.5em;'></div>${i == 0 ? d3.format('.0%')(val / 100) : val}
</div>`;
}
},
TOI: {
formatter(val, i) {
let color = d3.scaleLinear()
.domain([0, 15, 30])
.range(["#f4c8cf", "#f8f8f8", "#c8f4cb"]);
return html`<td style='background:${color(val)};text-align:right;padding:2px 5px;'>${val}</td>`;
}
}
}
});
return t;
}