feat(SelectionMenuComponent): create SelectionMenu component to display a toolbar with a "Group" button for node selection
fix(styleUtils): import Group icon from lucide-react to use in SelectionMenuComponent
The `connectedInputNodesOnHandle` function is added to retrieve the nodes connected to the input handle of a given node. It takes the `nodeId`, `handleId`, `nodes`, and `edges` as parameters and returns an array of connected nodes.
The `ungroupNode` function is added to ungroup a group node. It takes the `groupNode` and `BaseFlow` as parameters and updates the edges and nodes in the `BaseFlow` to redirect the edges to the correct proxy node.
The `processFLow` function is added to process the flow object recursively. It clones the flow object and iterates through the nodes to ungroup any group nodes and update the edges and nodes accordingly.
Note: No newline at the end of the file.
fix(utils/reactflowUtils.ts): import TemplateVariableType from types/api
feat(utils/reactflowUtils.ts): add mergeNodeTemplates function to merge node templates and update display names
feat(utils/reactflowUtils.ts): add isHandleConnected function to check if a handle is connected to an edge
refactor(utils/reactflowUtils.ts): remove TODO comments and update comments for mergeNodeTemplates and isHandleConnected functions
feat(utils/reactflowUtils.ts): add generateNodeTemplate function to generate node templates from a flow
feat(reactflowUtils.ts): add function to update group node template to set visibility of basic types to advanced true
feat(reactflowUtils.ts): add function to generate node template for group node based on flow data
feat(reactflowUtils.ts): add function to generate node from flow data
feat(reactflowUtils.ts): add concatFlows function to concatenate nodes and edges from a FlowType object to a ReactFlowInstance
feat(reactflowUtils.ts): add generateNodeFromFlow function to generate a NodeType object from a FlowType object
feat(reactflowUtils.ts): add filterFlow function to filter out selected nodes and edges from the flow
feat(reactflowUtils.ts): add updateFlowPosition function to update the position of nodes in the flow based on a new position
fix(reactflowUtils.ts): fix return type of generateFlow function to use generateFlowType type instead of inline type definition
The getMiddlePoint function calculates the average position of multiple nodes by summing up the x and y coordinates of each node and dividing them by the total number of nodes. This allows us to find the middle point or center of a group of nodes. This function can be used to determine the position of a new node based on the average position of existing nodes.
🐛 fix(parameterComponent): remove unused import of CodeAreaComponent to improve code readability
🐛 fix(parameterComponent): remove unused import of TabsContext to improve code readability
🐛 fix(parameterComponent): remove unused import of typesContext to improve code readability
🐛 fix(parameterComponent): remove unused import of TabsState to improve code readability
🐛 fix(parameterComponent): remove unused import of nodeColors to improve code readability
🐛 fix(parameterComponent): remove unused import of nodeIconsLucide to improve code readability
🐛 fix(parameterComponent): remove unused import of nodeNames to improve code readability
🐛 fix(parameterComponent): remove unused import of classNames to improve code readability
🐛 fix(parameterComponent): remove unused import of groupByFamily to improve code readability
🐛 fix(parameterComponent): remove unused import of useUpdateNodeInternals to improve code readability
🐛 fix(parameterComponent): remove unused import of Position from reactflow to improve code readability
🐛 fix(parameterComponent): remove unused import of Handle from reactflow to improve code readability
🐛 fix(parameterComponent): remove unused import of types from reactflow to improve code readability
🐛 fix(parameterComponent): remove unused import of React from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useEffect from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useContext from react to improve code readability
🐛 fix(parameterComponent): remove unused import of ReactNode from react to improve code readability
🐛 fix(parameterComponent): remove unused import of forwardRef from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useEffect from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
🐛 fix(parameterComponent): remove unused import of useState from react to improve code readability
✨ feat(users.py): add support for resetting a user's password
🐛 fix(crud.py): fix update_user function to properly handle unchanged attributes and return 304 status code if nothing is updated
🐛 fix(user.py): change field name in UserUpdate model from 'username' to 'password' to reflect the intended functionality
🐛 fix(index.ts): update API routes in frontend controller functions to match the changed user-related endpoint paths
🔥 chore(EditNodeModal): remove unused state variables 'dict' and 'dictArr' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused useEffect hook for 'dict' state variable to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused state variable 'obj' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused state variable 'myData' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused state variable 'setMyData' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused state variable 'setDict' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused state variable 'setDictArr' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused state variable 'setObj' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused state variable 'setTabsState' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused state variable 'tabId' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused state variable 'reactFlowInstance' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'typesContext' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'useState' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'useEffect' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'forwardRef' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'useContext' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'classNames' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'convertObjToArray' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'convertArrayToObj' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'hasDuplicateKeys' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'KeypairListComponent' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'TextAreaComponent' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'useState' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'useEffect' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'useContext' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'forwardRef' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'classNames' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'convertObjToArray' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'convertArrayToObj' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove unused import for 'hasDuplicateKeys' to improve code cleanliness and remove unnecessary complexity
🔥 chore(EditNodeModal): remove
🔧 fix(parameterComponent): remove unused dict and dictArr state variables
🔧 fix(parameterComponent): remove unused useEffect hook
🔧 fix(parameterComponent): update onChange handler to setObj instead of setDict
🔧 fix(keypairListComponent): remove commented out code for future feature
🔧 fix(EditNodeModal): update condition to check for "keypairlist" type instead of "keypair" type
🔧 fix(types): update onChange type in DictComponentType to accept any value
🔧 fix(reactflowUtils): remove unnecessary comments and newline at end of file
🐛 fix(dictComponent): fix import statement for DictComponentType in dictComponent
🐛 fix(keypairListComponent): fix import statement for KeyPairListComponentType in keypairListComponent
🐛 fix(EditNodeModal): fix incorrect type check for dict and keypair components in EditNodeModal
🐛 fix(types): rename KeyPairListComponent to KeyPairListComponentType and add DictComponentType
🎨 style(App.css): reformat CSS code for better readability and consistency
🚀 feat(App.css): add styles for json-view component
🔨 refactor(parameterComponent): extract DictComponent to a separate file for reusability
🔧 chore(constants): add constant for CODE_DICT_DIALOG_SUBTITLE
🔨 refactor(EditNodeModal): extract DictComponent to a separate file for reusability
🔧 chore(constants): add constant for CODE_DICT_DIALOG_SUBTITLE
🔨 refactor(codeAreaModal): remove unused isTweakPage variable
🚀 feat(dictAreaModal): add DictAreaModal component to allow editing of dictionaries
🔧 chore(styleUtils.ts): import and add BookMarked icon to nodeIconsLucide for future use