manual de mi pagina
31. flujomate manual
Manual de FlujoMate
Este manual muestra cómo usar FlujoMate con JSON embebido, cómo cambiar opciones desde atributos data-* y cómo ver al mismo tiempo el código y el resultado.
1. Estructura mínima
La estructura más simple es esta:
<div class="flujomate">
<script type="application/json">
{
"titulo": "Mi diagrama",
"nodos": [
{ "id": "n1", "tipo": "inicio", "texto": "Inicio" },
{ "id": "n2", "tipo": "proceso", "texto": "Hacer algo" },
{ "id": "n3", "tipo": "fin", "texto": "Fin" }
],
"conexiones": [
{ "desde": "n1", "hacia": "n2" },
{ "desde": "n2", "hacia": "n3" }
]
}
</script>
</div>
Si tu librería ya tiene activado el auto renderizado, no necesitas escribir un script extra para dibujar el diagrama.
2. Tipos de nodos
FlujoMate reconoce estos tipos de nodos:
inicio -> nodo inicial del flujo
fin -> nodo final
proceso -> acción o paso de trabajo
decision -> rombo de decisión
resultado -> resultado o conclusión intermedia
nota -> comentario lateral
error -> advertencia, error frecuente o excepción
referencia -> vínculo o recordatorio de otra ruta/contenido
Ejemplo de nodos:
"nodos": [
{ "id": "n1", "tipo": "inicio", "texto": "Inicio" },
{ "id": "n2", "tipo": "proceso", "texto": "Resolver" },
{ "id": "n3", "tipo": "decision", "texto": "¿Se puede simplificar?" },
{ "id": "n4", "tipo": "resultado", "texto": "Resultado parcial" },
{ "id": "n5", "tipo": "nota", "texto": "Recuerda revisar signos" },
{ "id": "n6", "tipo": "error", "texto": "Error frecuente" },
{ "id": "n7", "tipo": "referencia", "texto": "Ver método alternativo" },
{ "id": "n8", "tipo": "fin", "texto": "Respuesta final" }
]
3. Tipos de relaciones o conexiones
Las conexiones se definen en conexiones. Los tipos más usados son estos:
flujo -> conexión normal del diagrama
caso -> salida típica de una decisión, por ejemplo Sí / No
anotacion -> conecta una nota o error lateral con un nodo principal
referencia -> conecta una referencia lateral con un nodo principal
retorno -> ruta de regreso o retroceso especial
Ejemplo:
"conexiones": [
{ "desde": "n1", "hacia": "n2", "semantica": "flujo" },
{ "desde": "n3", "hacia": "n4", "semantica": "caso", "etiqueta": "Sí" },
{ "desde": "n3", "hacia": "n5", "semantica": "caso", "etiqueta": "No" },
{ "desde": "n6", "hacia": "n2", "semantica": "anotacion", "estilo": "punteada" },
{ "desde": "n7", "hacia": "n4", "semantica": "referencia", "estilo": "punteada" }
]
4. Atributos configurables en el HTML
Puedes ajustar parámetros directamente en el contenedor usando atributos data-*.
data-ajustar-nodo-final-abajo="false"
data-centrar-nodo-final="false"
data-distancia-extra-nodo-final="0"
data-rombo-diagonal-salida="12"
data-conexion-ruta-intentos="20"
data-conexion-paso-alternativo="10"
data-conexion-margen-nodo="4"
data-conexion-separacion-min="3"
data-conexion-zona-libre-flecha="20"
data-conexion-offset="20"
No es obligatorio escribir todos. Solo agregas los que quieras cambiar. Lo demás se toma desde la configuración por defecto del archivo JavaScript.
5. Ejemplo 1: diagrama mínimo
Código
<div class="flujomate">
<script type="application/json">
{
"titulo": "Ejemplo mínimo",
"nodos": [
{ "id": "n1", "tipo": "inicio", "texto": "Inicio" },
{ "id": "n2", "tipo": "proceso", "texto": "Resolver" },
{ "id": "n3", "tipo": "fin", "texto": "Fin" }
],
"conexiones": [
{ "desde": "n1", "hacia": "n2" },
{ "desde": "n2", "hacia": "n3" }
]
}
</script>
</div>
Resultado
6. Ejemplo 2: desactivar ajuste del nodo final
Código
<div class="flujomate"
data-ajustar-nodo-final-abajo="false"
data-centrar-nodo-final="false">
<script type="application/json">
{
"titulo": "Final sin forzar",
"nodos": [
{ "id": "n1", "tipo": "inicio", "texto": "Inicio" },
{ "id": "n2", "tipo": "decision", "texto": "¿Continuar?" },
{ "id": "n3", "tipo": "resultado", "texto": "Seguir" },
{ "id": "n4", "tipo": "fin", "texto": "Fin" }
],
"conexiones": [
{ "desde": "n1", "hacia": "n2" },
{ "desde": "n2", "hacia": "n3", "semantica": "caso", "etiqueta": "Sí" },
{ "desde": "n2", "hacia": "n4", "semantica": "caso", "etiqueta": "No" },
{ "desde": "n3", "hacia": "n4" }
]
}
</script>
</div>
Resultado
7. Ejemplo 3: ajustar rutas y salida de rombos
Código
<div class="flujomate"
data-rombo-diagonal-salida="12"
data-conexion-ruta-intentos="24"
data-conexion-paso-alternativo="8">
<script type="application/json">
{
"titulo": "Ajuste de rutas",
"nodos": [
{ "id": "n1", "tipo": "inicio", "texto": "Leer" },
{ "id": "n2", "tipo": "decision", "texto": "¿Hay error?" },
{ "id": "n3", "tipo": "error", "texto": "Corregir dato" },
{ "id": "n4", "tipo": "proceso", "texto": "Calcular" },
{ "id": "n5", "tipo": "fin", "texto": "Responder" }
],
"conexiones": [
{ "desde": "n1", "hacia": "n2" },
{ "desde": "n2", "hacia": "n3", "semantica": "caso", "etiqueta": "Sí" },
{ "desde": "n2", "hacia": "n4", "semantica": "caso", "etiqueta": "No" },
{ "desde": "n4", "hacia": "n5" },
{ "desde": "n3", "hacia": "n4", "semantica": "anotacion", "estilo": "punteada" }
]
}
</script>
</div>
Resultado
8. Resumen práctico
<div class="flujomate"
data-ajustar-nodo-final-abajo="false"
data-centrar-nodo-final="false"
data-rombo-diagonal-salida="10">
<script type="application/json">
{
"titulo": "Mi diagrama",
"nodos": [...],
"conexiones": [...]
}
</script>
</div>
Si no escribes un atributo data-*, FlujoMate usa el valor por defecto definido en el JavaScript.