Разработать ReactFlow model
15 000 руб. за проект
Технологии которые требуется использовать: 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
использовать 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
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.