feat: implement simulation dashboard editor with element and block configuration components.

This commit is contained in:
2025-12-20 09:52:07 +05:30
parent 525bfb6541
commit e9d0a98a49
4 changed files with 8 additions and 9 deletions

View File

@@ -435,9 +435,10 @@ const DashboardEditor: React.FC = () => {
swapSource={swapSource} swapSource={swapSource}
calculateMinBlockSize={calculateMinBlockSize} calculateMinBlockSize={calculateMinBlockSize}
handleBlockClick={(blockId, event) => handleBlockClick(blockId, event, editMode, setSelectedBlock, setSelectedElement, setShowSwapUI, setShowElementDropdown, showElementDropdown)} handleBlockClick={(blockId, event) => handleBlockClick(blockId, event, editMode, setSelectedBlock, setSelectedElement, setShowSwapUI, setShowElementDropdown, showElementDropdown)}
handleElementClick={(blockId, elementId, event) => handleElementClick={(blockId, elementId, event) => {
handleElementClick(blockId, elementId, event, editMode, setSelectedElement, setSelectedBlock, setShowSwapUI, setShowElementDropdown) handleBlockClick(blockId, event, editMode, setSelectedBlock, setSelectedElement, setShowSwapUI, setShowElementDropdown, showElementDropdown);
} handleElementClick(blockId, elementId, event, editMode, setSelectedElement, setSelectedBlock, setShowSwapUI, setShowElementDropdown);
}}
handleElementDragStart={(elementId, event) => handleElementDragStart(elementId, event, currentElement, setDraggingElement, setElementDragOffset)} handleElementDragStart={(elementId, event) => handleElementDragStart(elementId, event, currentElement, setDraggingElement, setElementDragOffset)}
handleElementResizeStart={(elementId, event) => handleElementResizeStart(elementId, event, setResizingElement, setResizeStart)} handleElementResizeStart={(elementId, event) => handleElementResizeStart(elementId, event, setResizingElement, setResizeStart)}
handleBlockResizeStart={(blockId, event) => handleBlockResizeStart(blockId, event, setResizingBlock, setResizeStart)} handleBlockResizeStart={(blockId, event) => handleBlockResizeStart(blockId, event, setResizingBlock, setResizeStart)}

View File

@@ -78,7 +78,7 @@ const BlockComponent: React.FC<BlockComponentProps> = ({
zIndex: block.zIndex || 1, zIndex: block.zIndex || 1,
cursor: isDraggable ? "move" : "pointer", cursor: isDraggable ? "move" : "pointer",
}} }}
onMouseDown={handleMouseDown} onClick={handleMouseDown}
> >
{/* Add Element Button */} {/* Add Element Button */}
{editMode && isSelected && ( {editMode && isSelected && (

View File

@@ -80,9 +80,8 @@ const ElementComponent: React.FC<ElementComponentProps> = ({
Swap Swap
</button> </button>
)} )}
<div className="resize-handle" onMouseDown={(e) => handleElementResizeStart(element.elementUuid, e)} > <div className="resize-handle" onMouseDown={(e) => handleElementResizeStart(element.elementUuid, e)}>
<ResizeIcon /> <ResizeIcon />
</div> </div>
</> </>
)} )}

View File

@@ -56,9 +56,8 @@ const ElementEditor: React.FC<ElementEditorProps> = ({
setSwapSource, setSwapSource,
setShowSwapUI, setShowSwapUI,
}) => { }) => {
const { simulationDashBoardStore, productStore, analysisStore } = useSceneContext(); const { simulationDashBoardStore, productStore } = useSceneContext();
const { products, selectedProduct, getProductById, getEventByModelUuid } = productStore(); const { selectedProduct, getProductById, getEventByModelUuid } = productStore();
const { analysis } = analysisStore();
const product = getProductById(selectedProduct.productUuid); const product = getProductById(selectedProduct.productUuid);
const { getElementById } = simulationDashBoardStore(); const { getElementById } = simulationDashBoardStore();
const element = getElementById(selectedBlock, selectedElement); const element = getElementById(selectedBlock, selectedElement);