Router
Descripcion
Sección titulada «Descripcion»El modulo Router enruta el flujo de datos hacia diferentes modulos segun el valor de un campo especifico o la evaluacion de condiciones. Primero evalua el campo configurado (por ejemplo data.tipo) y busca una coincidencia exacta en las rutas definidas. Si no hay coincidencia exacta, intenta evaluar cada clave de ruta como una expresion JavaScript. Si ninguna ruta coincide, redirige al defaultPath. Es util para dirigir el flujo a diferentes ramas segun el tipo de dato, categoria o cualquier valor dinamico.
Configuracion
Sección titulada «Configuracion»Parametros
Sección titulada «Parametros»| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
| field | text | Si | Expresion JavaScript que se evalua para obtener el valor a comparar. Ej: data.tipo, data.estado. |
| routes | text (JSON) | Si | Objeto JSON donde las claves son valores o condiciones a comparar, y los valores son los nombres de los modulos destino. Ej: {"valor1": "modulo_A", "valor2": "modulo_B"}. |
| defaultPath | text | No | Nombre del modulo al que se redirige si ninguna ruta coincide. |
{ "nextModule": "modulo_destino", "data": { "datos_originales": "sin_modificar" }, "_meta_": { "routerField": "valor_evaluado", "routerPath": "modulo_destino", "routerDefault": false }}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Caso basico
Sección titulada «Caso basico»{ "label": "Router", "field": "data.tipo", "routes": "{\"factura\": \"procesarFactura\", \"pedido\": \"procesarPedido\", \"devolucion\": \"procesarDevolucion\"}", "defaultPath": "procesoGenerico"}- El campo
fieldse evalua coneval(), por lo que puede ser cualquier expresion JavaScript valida (ej:data.tipo,data.items.length). - Las rutas se comparan primero por coincidencia exacta con el valor del campo.
- Si no hay coincidencia exacta, cada clave de ruta se evalua como expresion JavaScript booleana.
- Si
routeses una cadena, se parsea como JSON automaticamente. - Los datos pasan sin modificar al siguiente nodo; el Router no transforma datos.
- El
_meta_incluye informacion sobre la ruta seleccionada y si se uso el defaultPath.