feat(web): ventana de formulario SBO (toolbar, título con estado, pestañas, menús y barra de estado)
- sbo-window: título con insignia de estado, cuerpo, zona de acciones
(sboActions / sboActionsEnd) y barra de estado ok / warn / err / info con
role="status".
- sbo-toolbar con botones .tb y sbo-icon (SVG en línea).
- sbo-tabs / sbo-tab: paneles ocultos conservan su estado, [(selected)],
flechas izquierda/derecha con foco, roles y aria-controls.
- sbo-menu-button: lista de acciones ("Copiar de/a") que abre hacia arriba o
abajo; Esc y clic fuera la cierran; opciones deshabilitables.
- sbo-badge compartido con las listas (data-table lo usa); tono 'info'.
- Verificado en Chrome contra el mockup oferta_venta.html: misma estructura,
pestañas por clic y teclado, menú hacia arriba, estados ok/err.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
fad66abec4
commit
26f0649da9
16 files changed
+768
-25
No files matched your search
@@ -135,3 +135,35 @@ Lista con **barra de filtros** y **búsqueda por columna**, igual que el mini-er
|
||||
- Entradas: `title`, `resource`, `columns`, `filters`, `extraFields`, `baseFilter`, `orderby`, `pageSize` (50), `createLabel`; salidas `(open)` y `(create)`.
|
||||
|
||||
El estado de búsqueda/paginación (`core/sl/sl-list.ts`) y la tabla (`sbo-data-table`) son compartidos con `sbo-value-help`.
|
||||
|
||||
### Ventana de formulario (`shared/window`)
|
||||
|
||||
Marco de las pantallas `nuevo` y `:docEntry`, con la estructura del mockup:
|
||||
|
||||
```html
|
||||
<sbo-toolbar aria-label="Acciones del documento">
|
||||
<button class="tb" type="button"><sbo-icon name="new" />Nueva</button>
|
||||
<button class="tb" type="button"><sbo-icon name="find" />Buscar</button>
|
||||
<span class="tb-sep"></span>
|
||||
<button class="tb" type="button" aria-label="Primero"><sbo-icon name="first" /></button>
|
||||
<!-- prev · next · last · print -->
|
||||
</sbo-toolbar>
|
||||
|
||||
<sbo-window title="Oferta de ventas" [badge]="{ label: 'Nueva', tone: 'info' }" [status]="status()">
|
||||
<div class="sbo-hdr"><!-- filas de campos --></div>
|
||||
<sbo-tabs>
|
||||
<sbo-tab label="Contenido">…</sbo-tab>
|
||||
<sbo-tab label="Logística">…</sbo-tab>
|
||||
</sbo-tabs>
|
||||
|
||||
<button sboActions class="btn main" type="button">Crear</button>
|
||||
<button sboActions class="btn" type="button">Cancelar</button>
|
||||
<sbo-menu-button sboActionsEnd label="Copiar de" [items]="items" (picked)="copyFrom($event)" />
|
||||
</sbo-window>
|
||||
```
|
||||
|
||||
- `sbo-window`: título, insignia de estado (`tone`: `info` Nueva, `ok` Abierta, `muted` Cerrada, `err` Cancelada, `warn`), cuerpo, zona de acciones (`sboActions` a la izquierda, `sboActionsEnd` a la derecha) y **barra de estado** (`{ kind: 'info' | 'ok' | 'warn' | 'err', text }`, con `role="status"`).
|
||||
- `sbo-toolbar` + botones `.tb` + `sbo-icon` (iconos SVG en línea: `new find first prev next last print`).
|
||||
- `sbo-tabs` / `sbo-tab`: los paneles ocultos siguen en el DOM (conservan el estado); `[(selected)]`; flechas ←/→.
|
||||
- `sbo-menu-button`: lista de acciones que se abre hacia arriba (o `direction="down"`); se cierra con Esc o clic fuera; opciones `disabled`.
|
||||
- `sbo-badge`: la misma insignia que usan las listas.
|
||||
Reference in new issue
Block a user