Router
Descripción
Sección titulada «Descripción»El modulo Router enruta el flujo de datos hacia diferentes modulos según el valor de un campo especifico o la evaluación 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 útil para dirigir el flujo a diferentes ramas según el tipo de dato, categoría o cualquier valor dinámico.
Configuración
Sección titulada «Configuración»Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| 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 básico
Sección titulada «Caso básico»{ "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 automáticamente. - Los datos pasan sin modificar al siguiente nodo; el Router no transforma datos.
- El
_meta_incluye información sobre la ruta seleccionada y si se uso el defaultPath.