Нарисуйте графическую структуру с помощью JSF

Я хотел бы создать веб-приложение JSF для отображения графической структуры (состоящей из иерархических элементов, организованных в базе данных), где, если возможно, пользователь мог бы в конечном итоге увеличивать/уменьшать масштаб, добавлять новые элементы.. .

Но я не смог определить ни одного компонента JSF (или совместимого компонента), который помог бы мне в этом.

Вот что я хотел бы: http://www.yworks.com/products/yfileshtml/demos/Complete/demo.yfiles.graph.orgchart/index.html Но это не бесплатно и не в JSF.

Я думал о компоненте карты разума PrimeFaces, но он несовместим с IE8, и это требование для моего проекта...

Моей второй мыслью было использовать Paint2D от RichFaces для ручного рисования информации в прямоугольниках и связей между прямоугольниками с вычисленными координатами, но это кажется немного сложным... http://livedemo.exadel.com/richfaces-demo/richfaces/paint2D.jsf?c=paint2d

Последней мыслью было использовать CSS для отображения прямоугольников, но я не могу отображать ссылки и взаимодействовать со структурой...

Любая лучшая идея? Спасибо за помощь !


person user1882817    schedule 06.12.2012    source источник


Ответы (1)


В OmniFaces есть компонент для создания иерархического дерева. Возможно, вы могли бы использовать это для отображения пользовательской разметки и разработать способ манипулирования ею с помощью Javascript, чтобы получить желаемое поведение.

Если это невозможно, я предлагаю вам немного изучить HTML5 Canvas, посмотреть, что вы можете с этим сделать. Вы можете получить вдохновение здесь, посмотрев это приложение HTML5 с открытым исходным кодом (GPL), код находится на GitHub.

person Elias Dorneles    schedule 06.12.2012
comment
Спасибо за ваш ответ. К сожалению, иерархическое дерево не совсем то, что мне нужно, оно все еще слишком табличное. Что касается приложения для карты разума HTML5, для него требуется IE9+ :( - person user1882817; 07.12.2012
comment
Жаль это слышать... Совместимость с IE - это довольно сложная задача. - person Elias Dorneles; 07.12.2012