Разработать ReactFlow model

15 000 руб. за проект
23 октября 2023, 19:43 • 4 отклика • 69 просмотров
Технологии которые требуется использовать: React, JS bootstrap5+, CSS, HTML, JSON
использовать reactflow

задача простая и всё есть по сути в ReactFlow
требуется Знать как работать с React Flow

ВВОДНЫЕ ДАННЫЕ:
1) с backend приходит json data по примеру пункта (E) ниже в описание либо приходит пустой JSON

Требуется:
используя react flow
открывается canvas на страничке как пример смотри вложенные "example canvas.png"
нужно создать:
- контейнер(главная нода) в котором есть child nodes
- от child nodes идет флоу до сл контейера

описание:
1) над canvas должна быть кнопка "add container"
2) главный контейнер должен иметь а) заголовок приходящий из JSON + Container ID б) в низу контейнера должна быть кнопка "add action" и кнопка "edit container"
между заголовком главного контейра и кнопкой "add action" должны быть:
3) child nodes - их может быть несколько либо вообще не быть; child node это мини контейнер который создержит: а) заголовок б) кнопка "edit action"

А) разработка добавления контейров:
когда наживаем на "add container" появляется справа менюшка которая содержит
- container name filed - text - обязательное поле
- order - int
- conection to container ID - int - но может быть пустым
- Action выподающий список: [text, button]
- кнопка "create container"
после нажатия создать контейнер - обновляется react flow и таким обзом у нас теперь два главных контейнера

Б) разработка добавления actions для определенного контейнера
при нажатие "add action" справа открыывется меню с названием "Adding Action to {container ID}":
- Action name - text field (обязательное поле)
- order action - int (не обязательное поле)
- action type: выпадающий список [text, button] (обязательное поле)
- element data: вписать название текста
- connection to container - int (не обязательное поле)
- кнопка "create acion" после нажатия кнопки обновляется контейнер в reactlow

С) также требуется уметь редактировать эти ноды

D) варианты соединений:
смотри загруженные документы
- "connection variant 1.png"
- "connection variant 2.png"

E) должны быть кнопка на канвасе "Save Flow"
при нажатие на данную кнопку должен сформироваться json типа
{
......{{container ID}}: {
............"ContainerName": "{{Container Name}}",
............"Order": "{{Order}}",
............"ConectionToContainer":{{ConectionToContainer}},
............"Actions":{
.................."{{ActionID}}":{
........................"ActionName": {{"ActionName"}},
........................"ActionOrder": {{"ActionOrder"}},
........................"ActionType": {{"ActionType"}},
........................"ActionData": {{"ActionData"}},
........................"ConectionToC": {{"ConteinerID"}},
..................},
............}
......}
}
и он должен быть отправлен на endpoint of flask project "/flow-update"

P.S. если сможете такое реализовать - то можно будет дальше поработать над улучшением дополнительных функций


перед началом работы прошу указать ваши примеры по работе с React / Reactflow