feat(nakui): Fase 2 del ERP — relaciones legibles + formato
Column.ref_entity resuelve un UUID al label del record referido; Column.format (ValueFormat Number/Currency) agrupa miles y prefija símbolo. El campo entity_ref en formularios muestra el record elegido por su label, no el UUID. human_label_for_record reconoce nombre/titulo (español). El módulo CRM: las listas muestran el nombre del cliente y monto como $12,000. Helper format_value en meta-runtime. Tests en meta-schema, meta-runtime y nakui-ui verdes; clippy limpio. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,23 @@
|
||||
|
||||
Motor GPUI: libs + widgets. Renombrado de `yahweh` el 2026-05-19.
|
||||
|
||||
### feat(meta-*): relaciones legibles + formato (Fase 2 del ERP nakui)
|
||||
|
||||
- **`Column.ref_entity`** — una columna de lista con esto resuelve su
|
||||
valor (un UUID) al label legible del record referido, en vez de
|
||||
mostrar el UUID crudo. `meta-form` carga el record vía el backend y
|
||||
usa `human_label_for_record`.
|
||||
- **`Column.format`** (`ValueFormat::{Plain, Number, Currency}`) —
|
||||
formato de la celda: separador de miles, símbolo de moneda
|
||||
(`12000` → `$12,000`). Helper `format_value` en `meta-runtime`.
|
||||
- El campo `entity_ref` en formularios ahora muestra el **label del
|
||||
record elegido** (read-only) + el selector, no el UUID crudo.
|
||||
- `human_label_for_record` reconoce campos de nombre en español
|
||||
(`nombre`, `titulo`), no sólo inglés.
|
||||
|
||||
Tests nuevos en `meta-runtime` (`format_value`, labels ES) y
|
||||
`meta-schema`. Ver el changelog de `nakui` para el plan maestro.
|
||||
|
||||
### feat(meta-*): FieldKind Select y AutoId (Fase 1 del ERP nakui)
|
||||
|
||||
La metainterfaz declarativa gana dos tipos de campo:
|
||||
|
||||
@@ -2,6 +2,20 @@
|
||||
|
||||
ERP categórico.
|
||||
|
||||
### feat(nakui): Fase 2 del ERP — relaciones legibles + formato
|
||||
|
||||
Segunda fase del plan maestro. El módulo CRM:
|
||||
|
||||
- Las columnas `cliente_id` de las listas de Oportunidades e
|
||||
Interacciones muestran el **nombre del cliente**, no su UUID
|
||||
(`ref_entity` en la columna).
|
||||
- La columna `monto` se formatea como moneda (`$12,000`).
|
||||
- En los formularios, el campo de cliente/oportunidad muestra el
|
||||
record elegido por su nombre.
|
||||
|
||||
Tipos nuevos en la metainterfaz: ver el changelog de `nahual`
|
||||
(`Column.ref_entity` / `Column.format`).
|
||||
|
||||
### feat(nakui): plan maestro del ERP + Fase 1 (captura sin fricción)
|
||||
|
||||
Plan maestro del subproyecto en `docs/nakui-erp-masterplan.md`: 7 fases
|
||||
|
||||
@@ -40,7 +40,7 @@ Ordenadas por dependencia y por impacto visible. Cada fase toca
|
||||
`meta-schema` (constructo declarativo nuevo) → `meta-runtime` (helper
|
||||
puro) → `meta-form` (render) → módulos de ejemplo + tests.
|
||||
|
||||
### Fase 1 · Captura sin fricción — EN CURSO
|
||||
### Fase 1 · Captura sin fricción — HECHA
|
||||
|
||||
- `FieldKind::Select` — campos enumerados como desplegable/chips, con
|
||||
`options` (valor + etiqueta) declaradas.
|
||||
@@ -51,12 +51,13 @@ puro) → `meta-form` (render) → módulos de ejemplo + tests.
|
||||
- **Resultado**: ningún formulario pide un UUID a mano; etapa, canal y
|
||||
similares son selects. El CRM se siente correcto al cargar datos.
|
||||
|
||||
### Fase 2 · Relaciones legibles + formato
|
||||
### Fase 2 · Relaciones legibles + formato — HECHA
|
||||
|
||||
- Columnas/campos `entity_ref` muestran el **label** del record
|
||||
referido (vía `human_label_for_record`), no el UUID.
|
||||
- Formato de valores declarable: moneda (`12000` → `$12,000.00`),
|
||||
fecha, número con separadores. `FieldSpec.format` / `Column.format`.
|
||||
- Columnas con `ref_entity` muestran el **label** del record referido
|
||||
(vía `human_label_for_record`), no el UUID. El campo `entity_ref` en
|
||||
formularios muestra el record elegido, no el UUID crudo.
|
||||
- Formato declarable por columna: `ValueFormat::{Number, Currency}` —
|
||||
separador de miles + símbolo (`12000` → `$12,000`).
|
||||
- **Resultado**: las listas se leen como un ERP, no como un volcado.
|
||||
|
||||
### Fase 3 · Ficha de detalle
|
||||
|
||||
Reference in New Issue
Block a user