feat(nakui): Fase 1 del ERP — FieldKind Select + AutoId, seed inyecta id
Primera fase del plan maestro. La metainterfaz gana dos tipos de campo: Select (chips de un conjunto cerrado, con options validadas) y AutoId (UUID autogenerado read-only). NakuiBackend::seed inyecta el id de la entity = clave del store. El módulo CRM los adopta: etapa/canal son selects, los ids de idempotencia se autogeneran, el form de cliente ya no pide id. Ningún formulario pide un UUID a mano. Tests en meta-schema, meta-runtime y nakui-ui verdes. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,21 @@
|
||||
|
||||
Motor GPUI: libs + widgets. Renombrado de `yahweh` el 2026-05-19.
|
||||
|
||||
### feat(meta-*): FieldKind Select y AutoId (Fase 1 del ERP nakui)
|
||||
|
||||
La metainterfaz declarativa gana dos tipos de campo:
|
||||
|
||||
- **`Select`** — valor de un conjunto cerrado. `FieldSpec.options`
|
||||
(valor + etiqueta opcional); `Module::validate` exige `options` no
|
||||
vacío. `meta-form` lo renderiza como chips clickables (el chip
|
||||
elegido resaltado), no texto libre.
|
||||
- **`AutoId`** — UUID v4 autogenerado. `meta-form` lo rellena al abrir
|
||||
el formulario y lo muestra read-only; el usuario no teclea ids de
|
||||
idempotencia. En modo edición conserva el id del record.
|
||||
|
||||
`parse_field_value` trata ambos como string passthrough. Tests nuevos
|
||||
en `meta-schema` (validación de Select) y `meta-runtime` (parseo).
|
||||
|
||||
### feat(nahual-widget-text-input): modo enmascarado para contraseñas
|
||||
|
||||
`TextInput::with_mask()` dibuja el contenido como puntos (`•`, uno por
|
||||
|
||||
@@ -2,6 +2,21 @@
|
||||
|
||||
ERP categórico.
|
||||
|
||||
### feat(nakui): plan maestro del ERP + Fase 1 (captura sin fricción)
|
||||
|
||||
Plan maestro del subproyecto en `docs/nakui-erp-masterplan.md`: 7 fases
|
||||
ordenadas para llevar nakui de "listas y formularios que funcionan" a
|
||||
"ERP profesional terminado". Fase 1 implementada:
|
||||
|
||||
- El módulo CRM usa `select` para etapa y canal (desplegable de
|
||||
opciones) y `auto_id` para los ids de idempotencia — ningún
|
||||
formulario pide un UUID a mano.
|
||||
- `NakuiBackend::seed` inyecta el `id` de la entity = clave del store,
|
||||
así `data.id` y la clave coinciden (los schemas Nickel declaran
|
||||
`id | String`); el formulario de cliente ya no necesita campo `id`.
|
||||
- Tipos de campo nuevos en la metainterfaz: ver el changelog de
|
||||
`nahual` (`FieldKind::Select` / `AutoId`).
|
||||
|
||||
### feat(nakui-ui): CRM como ERP — listas y formularios
|
||||
|
||||
UiModule `examples/nakui-modules/crm/module.json`: hace que el módulo
|
||||
|
||||
Reference in New Issue
Block a user