Appearance
List
Tabla genérica configurable. Se le pasan items (filas, objetos arbitrarios) y columns (definición de cada columna: qué propiedad muestra, título, si es un badge y su color, formateo, ellipsis, ancho, alineación). La tabla no parte líneas: si no entra, hace scroll horizontal; las columnas con ellipsis se recortan y muestran el texto completo en tooltip al hacer hover.
Alarmas (badges)
| Código | Descripción | Hora | Fecha | Estado | Observaciones |
|---|---|---|---|---|---|
| AL0001-G00 | Seta de emergencia accionada. Texto largo para ver el ellipsis y el tooltip | 07:15:02 | 10/03/2026 | ACTIVA | Verificar motivo de activación |
| AV0002-G20 | Barrera de entrada cortada | 08:02:40 | 10/03/2026 | PROCESADA | Enviado a técnico para ok |
| EV0033-C01 | Ciclo iniciado | 09:44:03 | 10/03/2026 | ON | Operador: J. Pérez |
| AL0114-P03 | Presión fuera de rango | 10:05:19 | 10/03/2026 | ACTIVA | Revisión programada |
| AW0051-T12 | Temperatura elevada | 10:22:47 | 10/03/2026 | PROCESADA | En seguimiento |
| EV0090-C09 | Ciclo finalizado | 11:03:55 | 10/03/2026 | OFF | Duración 42 min |
| AL0301-V02 | Válvula sin respuesta | 11:47:12 | 10/03/2026 | ACTIVA | Reintento automático |
Estado de máquinas (otra paleta)
Los colores de badge no son exclusivos de alarmas: cualquier Status sirve.
| Máquina | Modo | Estado |
|---|---|---|
| HIP-01 | Automático | En marcha |
| HIP-02 | Manual | Parada |
| HIP-03 | Automático | Mantenimiento |
| HIP-04 | Automático | Alarma |
Métricas numéricas (alineación + formato)
Columnas con align: 'right' y format para unidades y porcentajes.
| Sensor | Valor | OEE |
|---|---|---|
| Presión vasija | 6000 bar | 92.4 % |
| Temperatura TT601 | 85 °C | 88.1 % |
| Caudal N2 | 1250 L/min | 74.9 % |
Lotes (fecha, moneda y ellipsis)
| Lote | Producto | Fecha | Importe |
|---|---|---|---|
| L-1001 | Zumo prensado en frío — pack familiar 1L | 10/03/2026 | 12.450,50 € |
| L-1002 | Guacamole HPP 250g | 10/03/2026 | 8990,00 € |
| L-1003 | Fiambre loncheado 500g — línea premium | 10/03/2026 | 20.375,90 € |
Slot actions + emit row-click
Slot escoped actions: recibe { row } → iconos de acción por fila.
Emit row-click: se dispara al hacer click en cualquier fila, devuelve la fila completa.
Prop clickable: activa cursor pointer + hover cuando se escucha @row-click.
Último click: —
| Código | Descripción | Hora | Fecha | Estado | Observaciones | |
|---|---|---|---|---|---|---|
| AL0001-G00 | Seta de emergencia accionada. Texto largo para ver el ellipsis y el tooltip | 07:15:02 | 10/03/2026 | ACTIVA | Verificar motivo de activación | |
| AV0002-G20 | Barrera de entrada cortada | 08:02:40 | 10/03/2026 | PROCESADA | Enviado a técnico para ok | |
| EV0033-C01 | Ciclo iniciado | 09:44:03 | 10/03/2026 | ON | Operador: J. Pérez | |
| AL0114-P03 | Presión fuera de rango | 10:05:19 | 10/03/2026 | ACTIVA | Revisión programada | |
| AW0051-T12 | Temperatura elevada | 10:22:47 | 10/03/2026 | PROCESADA | En seguimiento | |
| EV0090-C09 | Ciclo finalizado | 11:03:55 | 10/03/2026 | OFF | Duración 42 min | |
| AL0301-V02 | Válvula sin respuesta | 11:47:12 | 10/03/2026 | ACTIVA | Reintento automático |
Sin badges
| Nombre | Rol | Activo |
|---|---|---|
| Ana Ruiz | Operadora | Sí |
| Luis Gómez | Mantenimiento | No |
| María Pérez | Supervisora | Sí |
Estado vacío
Sin items, muestra una única fila con el mensaje de sin datos (personalizable vía emptyMessage).
| Sensor | Valor | OEE |
|---|---|---|
| Sin datos | ||
Tipos
ts
type ListRow = Record<string, unknown>
interface Column<T = ListRow> {
key: string // propiedad de la fila a mostrar
title: string // título de la columna
badge?: boolean // renderiza el valor como StatusBadge
status?: (row: T) => Status // color del badge (si badge). Default: 'info'
format?: (value, row: T) => string | number // transforma el valor (ej: timestamp → hora)
ellipsis?: boolean // recorta en una línea + tooltip
minWidth?: string // ancho mínimo CSS (ej: '7rem')
maxWidth?: string // ancho máximo CSS (ej: '10rem')
align?: 'left' | 'center' | 'right' // alineación de la celda
}Props
| Prop | Tipo | Descripción |
|---|---|---|
items | ListRow[] | Filas a mostrar |
columns | Column[] | Definición de columnas |
emptyMessage | string | Mensaje cuando no hay filas. Default: 'Sin datos' |
clickable | boolean | Activa cursor pointer + hover en filas. Usar cuando se escucha @row-click |
Slots
| Slot | Props | Descripción |
|---|---|---|
actions | { row: ListRow } | Iconos o botones al final de cada fila. Añade columna extra sin cabecera. Activa cursor pointer automáticamente. |
Emits
| Evento | Payload | Cuándo |
|---|---|---|
row-click | row: ListRow | Click en cualquier fila. Usar con prop clickable para feedback visual. |