fix: legend CSS, SI prefix for x-axis ticks, table sort cleanup
This commit is contained in:
@@ -14,27 +14,11 @@ interface Props {
|
||||
export default function TableViz({ config, rows, onEdit, onDelete }: Props) {
|
||||
const { localeMap } = useApp();
|
||||
|
||||
const sortCol = config.signal_type === 'red' ? 'red' : 'green';
|
||||
|
||||
const latest = new Map<string, { green?: number; red?: number }>();
|
||||
for (const row of rows) {
|
||||
latest.set(`${row.combinator}::${row.item_key}`, { green: row.green, red: row.red });
|
||||
}
|
||||
const tableRows = [...latest.entries()]
|
||||
.sort((a, b) => {
|
||||
const va = a[1][sortCol] ?? 0;
|
||||
const vb = b[1][sortCol] ?? 0;
|
||||
switch (config.order_by) {
|
||||
case 'value_asc':
|
||||
case 'delta_asc':
|
||||
return va - vb;
|
||||
case 'abs_desc':
|
||||
return Math.abs(vb) - Math.abs(va);
|
||||
default:
|
||||
return vb - va;
|
||||
}
|
||||
})
|
||||
.slice(0, config.series_limit);
|
||||
const tableRows = [...latest.entries()].slice(0, config.series_limit);
|
||||
|
||||
return (
|
||||
<CardShell title={config.title} onEdit={onEdit} onDelete={onDelete} empty={rows.length === 0}>
|
||||
@@ -57,12 +41,12 @@ export default function TableViz({ config, rows, onEdit, onDelete }: Props) {
|
||||
<td className="px-2 py-0.5 text-gray-500">{combinator}</td>
|
||||
{config.signal_type !== 'red' && (
|
||||
<td className={`px-2 py-0.5 text-right font-mono ${(vals.green ?? 0) < 0 ? 'text-red-400' : 'text-green-400'}`}>
|
||||
{vals.green != null ? formatSI(vals.green) : '--'}
|
||||
{vals.green != null ? formatSI(vals.green, undefined, 0) : '--'}
|
||||
</td>
|
||||
)}
|
||||
{config.signal_type !== 'green' && (
|
||||
<td className="px-2 py-0.5 text-right font-mono text-orange-400">
|
||||
{vals.red != null ? formatSI(vals.red) : '--'}
|
||||
{vals.red != null ? formatSI(vals.red, undefined, 0) : '--'}
|
||||
</td>
|
||||
)}
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user