En una página web quiero representar dinámicamente diagramas de flujo muy básicos, es decir, unos pocos cuadros unidos por líneas. Idealmente, el usuario podría hacer clic en uno de estos cuadros (DIVs?) Y ser llevado a una página diferente. Recurrir a Flash parece una exageración. ¿Alguien sabe de alguna biblioteca/técnica de JavaScript o de CSS del lado del cliente (es decir, servidor independiente) que pueda ayudar a lograr esto?¿Hay una biblioteca para representar diagramas de flujo básicos en Javascript/CSS?
Respuesta
¿El renderizado tiene que ser del lado del cliente?
Si es así, usted podría intentar procesamiento:
http://ejohn.org/blog/processingjs/
Si puede hacerlo del lado del servidor, a continuación, Graphviz es una buena opción.
Este tipo de diagrama de flujo se puede lograr usando CSS, recurrir a las bibliotecas de gráficos de JavaScript (lienzo) podría ser una exageración. Es posible que desee verificar cómo algunos sitios de Genealogía hacen esto para obtener un árbol genealógico.
Lo mejor y más simple que encontré es js-graph.it.
También tiene esta característica útil: deciding the orientation of the flow. Por ejemplo, en mi caso tengo un flujo de trabajo de documentos, por lo que necesito que fluya hacia el lado derecho.
Una alternativa incluso más simple es wz_jsGraphics. En mi caso, dibujo las flechas de esta manera:
/**Draw an arrow made of 3 lines.
* Requires wz_jsGraphics (http://www.walterzorn.de/en/jsgraphics/jsgraphics_e.htm).
* @canvas a jsGraphics object used as canvas
* @blockFrom id of the object from which the arrow starts
* @blockTo id of the object where the arrow ends with a arrowhead
*/
function drawArrow(canvas, blockFrom, blockTo){
//blocks
var f = $("#" + blockFrom);
var t = $("#" + blockTo);
//lines positions and measures
var p1 = { left: f.position().left + f.outerWidth(), top: f.position().top + f.outerHeight()/2 };
var p4 = { left: t.position().left, top: t.position().top + t.outerHeight()/2 };
var mediumX = Math.abs(p4.left - p1.left)/2;
var p2 = { left: p1.left + mediumX, top: p1.top };
var p3 = { left: p1.left + mediumX, top: p4.top };
//line A
canvas.drawLine(p1.left, p1.top, p2.left, p2.top);
//line B
canvas.drawLine(p2.left, p2.top, p3.left, p3.top);
//line C
canvas.drawLine(p3.left, p3.top, p4.left, p4.top);
//arrowhead
canvas.drawLine(p4.left - 7, p4.top - 4, p4.left, p4.top);
canvas.drawLine(p4.left - 7, p4.top + 4, p4.left, p4.top);
}
var jg = new jsGraphics('myCanvasDiv');
drawArrow(jg, 'myFirstBlock', 'mySecondBlock');
jg.paint();
- 1. Biblioteca para generar diagramas UML
- 2. ¿Hay alguna manera de generar automáticamente diagramas de flujo de datos y diagramas de flujo?
- 3. ¿Hay una buena biblioteca de diagramas para Python?
- 4. ¿Hay una biblioteca Javascript para dibujar diagramas de circuitos eléctricos?
- 5. ¿Qué usas para crear diagramas de flujo?
- 6. Idioma para crear diagramas de flujo
- 7. Diagramas de flujo en comparación con diagramas de actividad UML
- 8. Representar Algoritmos especificados en el Diagrama de Flujo en Haskell
- 9. diagramas de flujo: herramientas/mejores prácticas
- 10. ¿Buen freeware para diagramas de flujo en Windows?
- 11. Diagramas de flujo de programación funcional
- 12. Biblioteca en C++ para representar documentos ODF?
- 13. ¿Qué se usa para hacer diagramas de flujo de programación, diagramas, etc.?
- 14. Biblioteca de Javascript - Diagrama de flujo del árbol genealógico
- 15. ¿Cómo representar una función recursiva con un diagrama de flujo?
- 16. ¿Hay una clase estándar para representar un "rango" en .net?
- 17. Generador de diagramas de flujo de los archivos fuente
- 18. ¿Cómo podría representar una interrupción (para microcontroladores) en un diagrama de flujo?
- 19. ¿Hay alguna (gratis) alternativa a Visustin, Necesito crear diagramas de flujo de código JavaScript
- 20. ¿Hay alguna biblioteca para representar consultas SQL como objetos en código Java?
- 21. Biblioteca de Javascript para la creación de diagramas?
- 22. ¿Hay una buena biblioteca de gráficos para Android?
- 23. ¿Hay una biblioteca de MapReduce para Delphi?
- 24. ¿Hay una biblioteca de Cálculo para JavaScript?
- 25. ¿Hay una biblioteca de hashmap para JavaScript?
- 26. ¿Hay una biblioteca de estadísticas para PHP?
- 27. Biblioteca de flujo de trabajo/BPM incrustable para Python?
- 28. ¿Hay una biblioteca LINQ para C++?
- 29. ¿Hay una buena biblioteca yaml para Android?
- 30. ¿Hay una biblioteca YAML nativa para iPhone?