JGerla
7b12ae1f5e
test: added test for addNode error
...
added test for addNode error thrown on unexpected node type
ref: N25B-114
2025-10-25 21:09:25 +02:00
JGerla
416025bf3f
test: added test for nodeId generation
...
added test for addNode id generation
ref: N25B-114
2025-10-25 20:59:41 +02:00
JGerla
9bfc39afa1
test: added test
...
added test for addNode
ref: N25B-114
2025-10-25 20:53:09 +02:00
JGerla
e1d6b08a1c
refactor: removed start and end nodes from the addNode functionality as they are not supported for manual adding
...
removed unnecessary code.
BREAKING: end and start nodes are no longer supported by the dnd addNode functionality.
ref: N25B-114
2025-10-25 18:58:41 +02:00
JGerla
a0324479e6
refactor: removed start and end nodes from the addNode functionality as they are not supported for manual adding
...
removed unnecessary code.
BREAKING: end and start nodes are no longer supported by the dnd addNode functionality.
ref: N25B-114
2025-10-25 18:41:57 +02:00
JGerla
b7cd925c2c
refactor: moved addNode function outside the handleNode definition
...
Made sure to minimize responsibilities per function, by taking the addNode logic and moving it into its own function.
ref: N25B-114
2025-10-25 18:29:53 +02:00
JGerla
e1d131e642
feat: updated the phase node creation to better assign ids to new phase and norm nodes.
...
ref: N25B-114
2025-10-25 18:12:57 +02:00
JGerla
8038674167
test: added tests for deleteNode function
...
ref: N25B-114
2025-10-25 17:13:42 +02:00
JGerla
8c698d1f8e
refactor: moved delete logic out of the toolbar declaration and into the FlowStore.
...
BREAKING: changed type of FlowState
ref: N25B-114
2025-10-25 16:58:23 +02:00
JGerla
c8484d28e5
test: added tests for onReconnectEnd
...
ref: N25B-114
2025-10-25 16:03:57 +02:00
JGerla
48dabb86e0
test: updated the onReconnectStart test to reflect updated setupFlowTest.ts
...
ref: N25B-114
2025-10-25 15:37:24 +02:00
JGerla
1f2b57fbcd
chore: updated setupFlowTests.ts to properly handle resetting of the flowState for each test
...
ref: N25B-114
2025-10-25 15:34:49 +02:00
JGerla
2e2bd587d0
test: Added test for onReconnectStart
...
ref: N25B-114
2025-10-25 15:27:50 +02:00
JGerla
42357217e5
test: Added test for onReconnect
...
ref: N25B-114
2025-10-25 15:17:14 +02:00
JGerla
023e1d2b8b
test: Added tests for setNodes and setEdges.
...
ref: N25B-114
2025-10-25 14:59:34 +02:00
JGerla
ea79de5ee5
style: restructured and renamed VisProg.test.tsx to VisProgStores.test.tsx
...
renamed as the functionality being tested is contained within the VisProgStores.tsx file and thus the filename for the tests should reflect that relation, so order is preserved in the project.
also added a second describe layer to group the tests for all FlowStore functions together for organisational purposes.
ref: N25B-114
2025-10-25 13:57:37 +02:00
JGerla
b64d4fbd01
chore: added test coverage collection
...
updated the jest configuration to generate a coverage report on the entire project when tests are run. this coverage report has been added to the the gitignore file as it is not relevant to store it in the online repository.
ref: N25B-114
2025-10-25 13:54:18 +02:00
JGerla
8513be5a56
test: added test for onConnect event
...
ref: N25B-114
2025-10-22 16:30:24 +02:00
JGerla
3bd1aa99e3
chore: added setupFlowTests.ts for ReactFlow specific testing
...
added Setup config for mocking reactflow based on the provided information in ReactFlow documentation
ref: N25B-114
2025-10-22 15:43:47 +02:00
JGerla
6a655f62f8
style: moved all logic from VisProgUI.tsx to VisProg.tsx and the css from VisProgUI.module.css to VisProg.module.css.
...
made code easier to navigate, by removing an unnecessary set of files through combining logic into a mostly empty file that is suitable for hosting said logic.
BREAKING: removed VisProgUI.module.css and removed VisProgUI.tsx, logic is now in VisProg.module.css and VisProg.tsx respectively
ref: N25B-114
2025-10-22 15:12:29 +02:00
JGerla
34dd48ecb6
fix: updated jest.config.js to allow for folders in the test directory
...
ref: N25B-212
2025-10-22 12:39:35 +02:00
JGerla
b365a8754e
style: moved inline styles to VisProgUI.module.css and used some existing classes to replace simple css
...
ref: N25B-114
2025-10-22 12:31:04 +02:00
JGerla
e880e00b6d
style: changed VisProgUI.css to VisProgUI.module.css and updated relevant references
...
ref: N25B-114
2025-10-22 12:12:16 +02:00
JGerla
1f56eff9a8
Merge remote-tracking branch 'origin/feat/visual-programming-interface' into feat/visual-programming-interface
2025-10-22 11:53:50 +02:00
JGerla
d3c327c100
fixup! build: moved dependencies for merge with dev
2025-10-22 11:53:30 +02:00
JGerla
5a6bcb9298
build: moved dependencies for merge with dev
...
ref: N25B-114
2025-10-22 11:51:12 +02:00
JGerla
af7eb5ee73
build: added moved depencies for merge with dev
...
ref: N25B-114
2025-10-22 11:50:29 +02:00
JGerla
f8c152ecfb
Merge remote-tracking branch 'origin/dev' into feat/visual-programming-interface
...
# Conflicts:
# package-lock.json
2025-10-22 11:44:10 +02:00
JGerla
7e739ef106
refactor: changes from feedback on merge request
...
ref: N25B-114
2025-10-21 20:31:24 +02:00
Gerla, J. (Justin)
9235b82fa9
Apply 1 suggestion(s) to 1 file(s)
...
Co-authored-by: Twirre <s.a.meulenbelt@students.uu.nl >
2025-10-21 11:59:43 +00:00
JGerla
5cbcf30f68
feat: added VisProgPage to linked pages in Home.tsx and App.tsx
...
BREAKING: renamed Sidebar to DndToolbar.
ref: N25B-114
2025-10-12 13:56:06 +02:00
JGerla
cf77267e95
Merge remote-tracking branch 'origin/dev' into feat/visual-programming-interface
...
# Conflicts:
# src/App.tsx
# src/pages/Home/Home.tsx
# src/pages/TemplatePage/Template.tsx
2025-10-12 13:49:36 +02:00
JGerla
a9effb7c23
style: added comments to code and changed name of Sidebar to DndToolbar
...
BREAKING: renamed Sidebar to DndToolbar.
ref: N25B-114
2025-10-12 13:48:42 +02:00
JGerla
bd5887ed9f
style: reformated NodeDefinitions.tsx to be compliant with code standards
...
ref: N25B-114
2025-10-09 17:00:16 +02:00
JGerla
ece94b0b02
style: reformated DragDropSidebar.tsx to be compliant with code standards
...
ref: N25B-114
2025-10-09 16:55:08 +02:00
JGerla
ff8a617c5e
style: reformated VisProgStores.tsx to be compliant with code standards
...
ref: N25B-114
2025-10-09 16:41:32 +02:00
JGerla
40af530fd5
style: reformated VisProg.tsx and VisProgTypes.tsx to be compliant with code standards
...
ref: N25B-114
2025-10-09 16:38:52 +02:00
JGerla
f6fcd20462
refactor: reformated VisProgUI.tsx to be compliant with code standards
...
some inline css was moved to VisProgUI.css
ref: N25B-114
2025-10-09 16:35:38 +02:00
JGerla
d0451f1795
style: updated comments and changed order of lines and fixed general inconsistencies in code-style
...
ref: N25B-114
2025-10-08 16:39:56 +02:00
JGerla
5b8213d5ef
refactor: moved visualProgrammingUI into page folder
...
BREAKING: moved directory visualProgrammingUI and contents into VisProgPage
ref: N25B-114
2025-10-08 16:31:11 +02:00
JGerla
47266c4ef0
refactor: improved code style and naming
...
BREAKING: renamed useStore to useFlowStore
ref: N25B-114
2025-10-08 15:47:59 +02:00
JGerla
1a5b1e7617
feat: moved the state handling logic for VisProgUI to a Zustand store
...
all functional logic and state is now contained within a single Zustand store, and removed from the editor component definition
ref: N25B-162
2025-10-08 15:19:49 +02:00
JGerla
59a38a3a12
feat: Updated editor layout to make use of ReactFlow Panel Components
...
moved the draggable node collection inside the editor and attached it to a panel component inside the editor.
also modified the css by creating seperate classes for the draggable nodes inside the ui element
ref: N25B-114
2025-10-08 12:10:22 +02:00
JGerla
987b5efc3e
Merge remote-tracking branch 'origin/dev' into feat/visual-programming-interface
2025-10-08 11:37:42 +02:00
JGerla
d5c7b4636d
feat: added zustand package to dependencies
...
ref: N25B-114
2025-10-08 11:35:41 +02:00
JGerla
2182e1cdb3
feat: removed option to add a start or end node to the editor
...
Start and End nodes indicate the start and endpoint for program evaluation, for now adding more start points and end points would overcomplicate the initial implementation. Supporting multiple end nodes could be an interesting option to look into later in development.
ref: N25B-114
2025-10-08 11:23:50 +02:00
JGerla
d6e78fc978
feat: repositioned Node sidebar to make use of the panel component provided by ReactFlow.
...
ref: N25B-114
2025-10-08 11:14:04 +02:00
JGerla
07e1d84a62
feat: Added allowDelete param to nodeToolbar
...
allowDelete lets developers decide if a nodetype should be deletable and if not it disables the delete button in the nodeToolbar
ref: N25B-114
2025-10-08 10:27:34 +02:00
JGerla
705ff3ff2b
fix: changed edgetype to default
...
floating was used as edgetype whilst floating wasn't available, ReactFlow automatically fell back to default. now it is changed to default in the code preventing potential unexpected behavior
ref: N25B-114
2025-10-08 09:34:44 +02:00
JGerla
4648e77289
fix: removed minimap as not yet intended to be added
...
ref: N25B-114
2025-10-02 13:14:55 +02:00
JGerla
0a4a3fb46c
feat: fixed dark mode compliancy for nodes and background
...
ref: N25B-114
2025-10-02 13:12:01 +02:00
JGerla
70ebb16359
feat: modified css styling for nodes to have different colors per type
...
updated the nodes to have a different colour per NodeType, so it is easier to see what nodes are of what type in the graph.
ref: N25B-114
2025-10-02 12:43:44 +02:00
JGerla
7780878447
feat: added Norm nodes and an extra handle on phase nodes
...
ref: N25B-114
2025-10-01 17:13:55 +02:00
JGerla
1175ba3acc
Merge remote-tracking branch 'origin/feat/visual-programming-interface' into feat/visual-programming-interface
...
# Conflicts:
# src/visualProgrammingUI/components/NodeDefinitions.tsx
2025-10-01 15:56:34 +02:00
JGerla
6c22286b28
feat: added delete option to Nodes
...
added a delete option to nodes, nodes now have strongly typed nodeProps to conform to typescript type safety norms.
ref: N25B-114
2025-10-01 15:56:07 +02:00
JGerla
f9f5a71c47
feat: added delete option to Nodes
...
added a delete option to nodes, nodes now have strongly typed nodeProps to conform to typescript type safety norms.
ref: N25B-114
2025-10-01 15:51:24 +02:00
JGerla
b1b1c83d73
feat: added VisProgUI to a page
...
ref: N25B-114
2025-10-01 14:22:31 +02:00
JGerla
af44d4cdab
Merge remote-tracking branch 'origin/dev' into feat/visual-programming-interface
...
# Conflicts:
# src/main.tsx
2025-10-01 14:08:23 +02:00
JGerla
affdc0c3cd
feat: modified DnD sidebar to provide different node types
...
Modified the drag and drop sidebar to create a node of the correct type instead of creating only default nodes, regardless of specified node types for a respective option.
ref: N25B-114
2025-10-01 13:45:20 +02:00
JGerla
9df46c90a3
feat: added drag and drop menu for adding new nodes to flow
...
added a sidebar that supports drag and dropping new nodes from the sidebar into the flow editor.
also added a new package (neodrag) for easy draggable behavior outside the reactFlow editor.
ref: N25B-114
2025-10-01 13:30:06 +02:00
JGerla
85eff77e28
Merge remote-tracking branch 'origin/feat/visual-programming-interface' into feat/visual-programming-interface
...
# Conflicts:
# src/visualProgrammingUI/components/NodeDefinitions.tsx
2025-10-01 10:59:33 +02:00
JGerla
79f0827b39
feat: created new nodes and a default nodeType
...
added a type for defaultNodeData, this can house common data that all nodes should have. the other types can build on this defaultData. Also added an endNode and phaseNode to NodeDefinitions.tsx, together with a nodeData type for each new node type.
ref: N25B-114
2025-10-01 10:58:43 +02:00
JGerla
54b5935829
feat: created new nodes and a default nodeType
...
added a type for defaultNodeData, this can house common data that all nodes should have. the other types can build on this defaultData. Also added an endNode and phaseNode to NodeDefinitions.tsx, together with a nodeData type for each new node type.
ref: N25B-114
2025-10-01 10:55:24 +02:00
JGerla
b991e92c37
feat: changed startNode to use custom type for data
...
changed to startNode file to be a general file for custom node types, and created a custom type for the data property of StartNode.
BREAKING: renamed StartNode.tsx to NodeDefinitions.tsx
ref: N25B-114
2025-10-01 10:38:35 +02:00
JGerla
e098ffebd6
feat: added a custom start node
...
Defined a basic start node; it does not contain any further functionality but does provide a basis for implementing future custom nodes.
ref: N25B-114
2025-09-30 16:13:48 +02:00
JGerla
10e5db057b
feat: updated styles of visProgUI
...
Added a rounded outline to the editor and changed the edge to be an arrow so program-flow can be interpreted more easily from the UI.
ref: N25B-114
2025-09-30 15:20:16 +02:00
JGerla
0eb5b65f67
feat: Added reconnectable edges
...
Modified edges to support being disconnected and reconnected upon dragging their connection away from the currently connected node.
ref: N25B-114
2025-09-30 14:53:53 +02:00
JGerla
e076331cfc
feat: added ReactFlow-based node graph
...
Added ReactFlow to dependencies (@xyflow/react).
Added a basic reactflow template to test functionality of reactFlow and to build the visual programming UI on top of.
ref: N25B-114
2025-09-30 13:43:48 +02:00