GoJS — бесплатная альтернатива HTML-фреймворку схемы маршрутизации

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

Но так как мы стартап, у нас нет 3000 долларов США, чтобы потратить на библиотеку GoJS, хотя мне нравится фреймворк, он прост и быстр для понимания. Кроме того, модель входных данных потрясающая. Но, вероятно, слишком сложно для того, что нам нужно.

На вопрос... Кто-нибудь знает хорошую альтернативу, отвечающую требованиям:

  • Маршрут от одного элемента к другому и стрелка, как отношения
  • Я могу установить цвет отдельных маршрутов (я хочу, чтобы административный маршрут был красным, другие - синими и т. д.)
  • Автоматическое позиционирование и прорисовка маршрута
  • есть функция связывания (съедает входные данные), где я просто добавляю массив ключей {от: x, до: y, "зеленый"}, и он связывает элемент с #X с элементом с #Y со стрелкой от X до Y с зеленым цветом

Чего нет в GoJS, но было бы здорово: было бы здорово добиться этого с помощью HTML5+CSS3+JS, но все же сложно создать собственный макет на GoJS, который использует openGL.

Моим достижением до того, как я увидел это испытание, было следующее:введите описание изображения здесь

Входные данные

nodeDataArray = [
  { key:1,name: "Group 1", category:"decision", a:"1",  aText:"Add UserGroup", aToolTip:"Test",b:"a",bText:"Delete",bToolTip:"sdas"},  // the root node
  { key:2,name: "Group 2", category:"decision", a:"2",  aText:"Add UserGroup", aToolTip:"Test",b:"b",bText:"Delete",bToolTip:"sdas"},
  { key:3,name: "Group 3", category:"decision", a:"3",  aText:"Add UserGroup", aToolTip:"Test",b:"c",bText:"Delete",bToolTip:"sdas"},
  { key:4,name: "Group 4", category:"decision", a:"4", aText:"Add UserGroup", aToolTip:"Test",b:"d",bText:"Delete",bToolTip:"sdas"},
  { key:5,name: "Group 5", category:"decision", a:"5", aText:"Add UserGroup", aToolTip:"Test",b:"e",bText:"Delete",bToolTip:"sdas"},
  { key:6,name: "Group 6", category:"decision", a:"6",  aText:"Add UserGroup", aToolTip:"Test",b:"f",bText:"Delete",bToolTip:"sdas" }
];

linkDataArray = [
{from:"0", to:"1"},
{from:"1", to:"2"},
{from:"1", to:"3"},

{from:"3", to:"1"},
{from:"1", to:"4"},
{from:"4", to:"5"},
{from:"4", to:"6"}


];
Я предлагаю вам поговорить с gosales@nwoods.com, потому что может быть какая-то категория скидок, которая применима к вашей ситуации.
Вы сделали выбор? не могли бы вы поделиться? Что и почему?
@Mawg Привет, извините за поздний ответ, нет, я не хотел, потому что наша компания не хотела платить за услугу, так как мы не видели в ней такой убийственной функции и решили пока обойтись без нее, но мы планируем сделать подход с созданием с нуля, поскольку нам не нужны все функции, которые используют крупные компании.
@Wenza re: «Нам не нужны все функции, которые используют крупные компании». Жаль, что GoJS не предлагает более ограниченную версию продукта, поэтому вам не нужно платить за все навороты, которые вам не нужны.

Ответы (2)

Вы почти наверняка можете получить то, что вам нужно, используя язык точек с набором инструментов GraphViz (исходный код здесь ), возможно, с клиентом javascript Viz.js или одной из других реализаций, таких как Canviz .

Язык точек позволяет указать набор узлов с текстом, цветами и стилями, а также соединители с текстом, цветами и стилями, а инструменты автоматически разместят диаграмму для вас и выведут ее в ряде форматов, в том числе для Интернета с А именно.js.

  • Свободно
  • Широко используемый
  • Направленные графы с автоматической компоновкой
Привет, спасибо, это самое близкое, что я видел... Только одна вещь, которую я Viz.js ( visjs.org ), кажется, не подходит для моей модели, потому что она, вероятно, связывает только прямые, они не могут сделать это в мой предварительный просмотр... Для меня эти прямые ссылки не экономят достаточно места, а в случае 30 элементов сбивают с толку... Знаете ли вы, есть ли возможность изменить тип ссылок (маршрутов)?
Извините, я плохо знаю Viz.js.

Essential Diagram for JavaScript поддерживает создание любых диаграмм.

Пример Угловой пример

Диаграмма JS с группами пользователей

Весь продукт доступен бесплатно по лицензии сообщества , если вы соответствуете требованиям (доход менее 1 миллиона долларов США).

Я работаю в Синкфьюжн.

Это выглядит фантастически (+1). Знаете ли вы, есть ли какие-либо обертки AngularJs?
@Mawg Да. Вот эквивалентный пример Angular jsplayground.syncfusion.com/ow4r5rjx