Frontend – patrones de configuración para GenericMaster
Cuándo usar este skill
Usa este skill siempre que:
- Crees una nueva pantalla de listado/CRUD basada en
GenericMaster o GenericMasterDetail.
- Tengas que ajustar columnas, filtros o acciones de una pantalla existente.
- Quieras revisar si una nueva pantalla puede resolverse con
GenericMaster en lugar de un componente custom.
Este skill complementa las reglas globales de ruibernate_rules y frontend_backend_sync.
1. Checklist para una nueva pantalla con GenericMaster
Al definir una nueva pantalla de listado:
Confirmar endpoint de backend
- Debe existir un endpoint tipo
/api/{entidad} en minúsculas (ej. /api/facturas-venta, /api/clientes).
- El endpoint debe devolver datos en un formato tabular razonable para listar.
Definir columnas básicas
- Identificador principal (ej.
id, número de documento, código).
- Campos de negocio clave (ej. cliente, descripción, monto, moneda).
- Fechas relevantes (emisión, vencimiento, última actualización).
- Estado principal (ej. pendiente, conciliado, anulado).
Definir filtros mínimos
- Rango de fechas principal (emisión o movimiento).
- Estado (multi–select si aplica).
- Texto libre (por código/número/documento).
- Algún filtro de entidad relacionada frecuente (cliente/proveedor, cuenta, etc.) si el dominio lo usa mucho.
Acciones estándar
- Ver detalle.
- Editar (si la entidad es editable).
- Eliminar/Anular (según reglas de negocio).
- Acciones adicionales de negocio (ej. Conciliar, Aprobar, Reversar) como acciones de fila o masivas.
Paginación y orden
- Paginación activada por defecto.
- Orden inicial coherente (ej. fecha descendente o número descendente).
2. Patrones de columnas
Al definir columnas para GenericMaster / GenericMasterDetail:
- Nombres claros: usar labels entendibles para usuario final, no nombres de campo técnicos.
- Orden recomendado:
- Identificador/número principal
- Información de contraparte (cliente/proveedor)
- Datos económicos (monto, moneda)
- Fechas
- Estado
- Acciones
- Anchos razonables:
- Columnas de texto corto (códigos, estados) → ancho reducido.
- Descripciones largas → permitir ancho mayor y truncar con tooltip si es necesario.
- Formato consistente:
- Fechas en formato uniforme para todo el sistema.
- Montos con separador de miles y decimales definidos por el negocio.
3. Patrones de filtros
Al configurar filtros:
- Incluir siempre al menos:
- Rango de fecha principal.
- Estado (cuando exista).
- Texto libre para búsqueda rápida.
- Evitar crear 10+ filtros poco usados; priorizar los que el usuario de negocio usará a diario.
- Cuando la entidad tenga muchas combinaciones posibles, preferir:
- 2–4 filtros muy potentes (fecha, estado, contraparte, tipo).
- Y luego filtros secundarios opcionales si se detecta necesidad real.
4. Acciones y UX mínima
Para acciones de fila:
- Incluir iconos y tooltips descriptivos.
- Respetar siempre las reglas de negocio:
- Deshabilitar/ocultar acciones que no aplican según el estado actual.
- Confirmar acciones destructivas (anular, eliminar) con diálogo de confirmación.
- Para acciones masivas:
- Pedir confirmación indicando cuántos registros serán afectados.
- Mostrar feedback claro de éxito o error (notificaciones).
5. Cuándo NO usar GenericMaster “puro”
Aunque GenericMaster es el estándar, considera envolverlo o extenderlo cuando:
- La pantalla requiera mucha interacción visual custom (gráficos, paneles laterales complejos, dashboards).
- La lógica de filtros o acciones sea muy específica y no encaje bien con la configuración estándar.
En esos casos:
- Mantén a
GenericMaster como núcleo de tabla y filtros.
- Añade componentes alrededor (resúmenes, gráficos, panel de detalles) sin romper las reglas de ruibernate (rutas desde backend, uso de
config, etc.).
1---2name: genericmaster-config-patterns3description: Patrones para configurar columnas, filtros, acciones y paginación de GenericMaster y GenericMasterDetail en ruiBernate. Usar al crear o modificar pantallas de listado/CRUD en el frontend.4---56# Frontend – patrones de configuración para GenericMaster78## Cuándo usar este skill910Usa este skill siempre que:1112- Crees una **nueva pantalla de listado/CRUD** basada en `GenericMaster` o `GenericMasterDetail`.13- Tengas que **ajustar columnas, filtros o acciones** de una pantalla existente.14- Quieras revisar si una nueva pantalla puede resolverse con `GenericMaster` en lugar de un componente custom.1516Este skill **complementa** las reglas globales de `ruibernate_rules` y `frontend_backend_sync`.1718---1920## 1. Checklist para una nueva pantalla con GenericMaster2122Al definir una nueva pantalla de listado:23241. **Confirmar endpoint de backend**25 - Debe existir un endpoint tipo `/api/{entidad}` en minúsculas (ej. `/api/facturas-venta`, `/api/clientes`).26 - El endpoint debe devolver datos en un formato tabular razonable para listar.27282. **Definir columnas básicas**29 - Identificador principal (ej. `id`, número de documento, código).30 - Campos de negocio clave (ej. cliente, descripción, monto, moneda).31 - Fechas relevantes (emisión, vencimiento, última actualización).32 - Estado principal (ej. pendiente, conciliado, anulado).33343. **Definir filtros mínimos**35 - Rango de fechas principal (emisión o movimiento).36 - Estado (multi–select si aplica).37 - Texto libre (por código/número/documento).38 - Algún filtro de entidad relacionada frecuente (cliente/proveedor, cuenta, etc.) si el dominio lo usa mucho.39404. **Acciones estándar**41 - Ver detalle.42 - Editar (si la entidad es editable).43 - Eliminar/Anular (según reglas de negocio).44 - Acciones adicionales de negocio (ej. Conciliar, Aprobar, Reversar) como acciones de fila o masivas.45465. **Paginación y orden**47 - Paginación activada por defecto.48 - Orden inicial coherente (ej. fecha descendente o número descendente).4950---5152## 2. Patrones de columnas5354Al definir columnas para `GenericMaster` / `GenericMasterDetail`:5556- **Nombres claros**: usar labels entendibles para usuario final, no nombres de campo técnicos.57- **Orden recomendado**:58 1. Identificador/número principal59 2. Información de contraparte (cliente/proveedor)60 3. Datos económicos (monto, moneda)61 4. Fechas62 5. Estado63 6. Acciones64- **Anchos razonables**:65 - Columnas de texto corto (códigos, estados) → ancho reducido.66 - Descripciones largas → permitir ancho mayor y truncar con tooltip si es necesario.67- **Formato consistente**:68 - Fechas en formato uniforme para todo el sistema.69 - Montos con separador de miles y decimales definidos por el negocio.7071---7273## 3. Patrones de filtros7475Al configurar filtros:7677- Incluir siempre al menos:78 - **Rango de fecha** principal.79 - **Estado** (cuando exista).80 - **Texto libre** para búsqueda rápida.81- Evitar crear 10+ filtros poco usados; priorizar los que el usuario de negocio usará a diario.82- Cuando la entidad tenga muchas combinaciones posibles, preferir:83 - 2–4 filtros muy potentes (fecha, estado, contraparte, tipo).84 - Y luego filtros secundarios opcionales si se detecta necesidad real.8586---8788## 4. Acciones y UX mínima8990Para acciones de fila:9192- Incluir iconos y tooltips descriptivos.93- Respetar siempre las reglas de negocio:94 - Deshabilitar/ocultar acciones que no aplican según el **estado actual**.95 - Confirmar acciones destructivas (anular, eliminar) con diálogo de confirmación.96- Para acciones masivas:97 - Pedir confirmación indicando cuántos registros serán afectados.98 - Mostrar feedback claro de éxito o error (notificaciones).99100---101102## 5. Cuándo NO usar GenericMaster “puro”103104Aunque GenericMaster es el estándar, considera envolverlo o extenderlo cuando:105106- La pantalla requiera **mucha interacción visual custom** (gráficos, paneles laterales complejos, dashboards).107- La lógica de filtros o acciones sea muy específica y no encaje bien con la configuración estándar.108109En esos casos:110111- Mantén a `GenericMaster` como **núcleo de tabla y filtros**.112- Añade componentes alrededor (resúmenes, gráficos, panel de detalles) sin romper las reglas de ruibernate (rutas desde backend, uso de `config`, etc.).113