feat(ui) : clickable entity links, site→machines links, DataTable fixedLayout

- Add NuxtLink on component/piece/product names in machine hierarchy
  (using composantId, pieceId, product.id)
- Make site machine count badges clickable → /machines?sites={id}
- Add opt-in fixedLayout prop and minWidth to DataTable columns

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-04 16:39:21 +02:00
parent 6716d31126
commit 4f13f7d301
7 changed files with 43 additions and 13 deletions

View File

@@ -71,7 +71,7 @@
>
<span class="loading loading-spinner text-primary" aria-hidden="true" />
</div>
<table :class="['table table-sm md:table-md', tableClass]">
<table :class="['table table-sm md:table-md', tableClass, { 'table-fixed': fixedLayout }]">
<thead>
<!-- Header labels + sort -->
<tr>
@@ -85,6 +85,7 @@
alignClass(col),
{ 'hidden sm:table-cell': col.hiddenMobile },
]"
:style="col.minWidth ? { minWidth: col.minWidth } : undefined"
>
<slot :name="`header-${col.key}`" :column="col">
<span
@@ -221,6 +222,8 @@ const props = withDefaults(defineProps<{
tableClass?: string
showCounter?: boolean
showPerPage?: boolean
/** Use table-layout: fixed for stable column widths. Only enable on tables where columns define width/minWidth. */
fixedLayout?: boolean
}>(), {
rowKey: 'id',
loading: false,