feat: add Attributes column to Dashboard exchanges table

Shows up to 2 attribute badges (color="auto") per row with a +N overflow
indicator; empty rows render a muted dash. Uses CSS module classes only.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-26 18:36:53 +01:00
parent eb796f531f
commit 47ff122c48
2 changed files with 37 additions and 0 deletions

View File

@@ -123,6 +123,27 @@ function buildBaseColumns(): Column<Row>[] {
<span className={styles.appName}>{row.applicationName ?? ''}</span>
),
},
{
key: 'attributes',
header: 'Attributes',
render: (_, row) => {
const attrs = row.attributes;
if (!attrs || Object.keys(attrs).length === 0) return <span className={styles.muted}></span>;
const entries = Object.entries(attrs);
const shown = entries.slice(0, 2);
const overflow = entries.length - 2;
return (
<div className={styles.attrCell}>
{shown.map(([k, v]) => (
<span key={k} title={k}>
<Badge label={String(v)} color="auto" />
</span>
))}
{overflow > 0 && <span className={styles.attrOverflow}>+{overflow}</span>}
</div>
);
},
},
{
key: 'executionId',
header: 'Exchange ID',