fix(web): la grilla de líneas no aprieta las columnas (ancho mínimo = suma de anchos), el total va tras el impuesto y el proyecto de la cabecera abre su ventana

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-16 11:09:47 -05:00
1 parent f66ef108cf
commit f077a61d08
11 files changed
+90 -13

No files matched your search

@@ -55,6 +55,19 @@ export class LinesGrid {
protected readonly lookupTarget = signal<LookupTarget | null>(null);
protected readonly multiOpen = signal(false);
protected readonly lookup = computed(() => this.lookupTarget()?.column.lookup?.config);
/**
* Ancho mínimo de la tabla: la suma de los anchos de sus columnas (las que no declaran uno, como la
* descripción, reservan 220 px), más el número de fila y el botón de quitar. Si no cabe en pantalla, la
* grilla se desplaza en horizontal en lugar de apretar las columnas hasta cortar su contenido.
*/
protected readonly tableMinWidth = computed(() => {
const px = (c: GridColumn): number => {
const w = parseFloat(c.width ?? '');
return Number.isFinite(w) ? w : 220;
};
return this.columns().reduce((sum, c) => sum + px(c), 34 + (this.readonly() ? 0 : 30));
});
protected readonly lookupMultiple = computed(() => !!this.lookupTarget()?.column.lookup?.multiple);
protected cellText(line: GridLine, column: GridColumn): string {