feat: implement simulation dashboard editor with element and block configuration components.
This commit is contained in:
@@ -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)}
|
||||||
|
|||||||
@@ -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 && (
|
||||||
|
|||||||
@@ -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>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user