Refactor SVG icons and clean up DashboardEditor component

- Updated the pointing cursor SVG to improve stroke properties and remove redundant paths.
- Removed unused ElementDropdown import and related state in DashboardEditor.
- Commented out console logs for better performance and cleaner code.
- Simplified the handleElementClick function for better readability.
- Removed unnecessary dropdown position state management.
- Cleaned up BlockComponent by removing extra lines and ensuring consistent formatting.
- Streamlined BlockEditor component by consolidating onChange handlers and improving readability.
- Fixed stroke properties in AssetTypeIcons and ExportToolsIcons for consistency.
This commit is contained in:
2025-10-17 17:09:44 +05:30
parent ba4e7b6d15
commit a5f1a15843
8 changed files with 34 additions and 98 deletions

View File

@@ -11,7 +11,6 @@ import useModuleStore from "../../store/ui/useModuleStore";
import { calculateMinBlockSize } from "./functions/block/calculateMinBlockSize";
import { handleElementDragStart, handleElementResizeStart, handleBlockResizeStart, handleSwapStart, handleSwapTarget, handleBlockClick, handleElementClick } from "./functions/eventHandlers";
import BlockGrid from "./components/block/BlockGrid";
import ElementDropdown from "./components/element/ElementDropdown";
import BlockEditor from "./components/block/BlockEditor";
import ElementEditor from "./components/element/ElementEditor";
import useCallBackOnKey from "../../utils/hooks/useCallBackOnKey";
@@ -64,7 +63,6 @@ const DashboardEditor: React.FC = () => {
const [dataModel, setDataModel] = useState<DataModel>(dataModelManager.getDataSnapshot());
const [showDataModelPanel, setShowDataModelPanel] = useState(false);
const [showElementDropdown, setShowElementDropdown] = useState<string | null>(null);
const [dropDownPosition, setDropDownPosition] = useState({ top: 0, left: 0 });
const [draggingBlock, setDraggingBlock] = useState<string | null>(null);
const [elementDragOffset, setElementDragOffset] = useState<Position>({ x: 0, y: 0 });
const [blockDragOffset, setBlockDragOffset] = useState<Position>({ x: 0, y: 0 });
@@ -79,14 +77,13 @@ const DashboardEditor: React.FC = () => {
const currentElement = currentBlock?.elements.find((el) => el.elementUuid === selectedElement);
useEffect(() => {
console.log("blocks: ", blocks);
// console.log("blocks: ", blocks);
}, [blocks]);
useEffect(() => {
if (!projectId || !selectedVersion) return;
getDashBoardBlocksApi(projectId, selectedVersion.versionId).then((data) => {
if (data.data?.blocks) {
console.log("data.data.blocks: ", data.data.blocks);
setBlocks(data.data.blocks);
}
});
@@ -97,7 +94,6 @@ const DashboardEditor: React.FC = () => {
upsetDashBoardBlocksApi({ projectId, versionId: selectedVersion.versionId, blocks }).then((data) => {
if (data.data?.blocks) {
console.log("data.data.blocks: ", data.data.blocks);
setBlocks(data.data.blocks);
}
});
@@ -336,17 +332,6 @@ const DashboardEditor: React.FC = () => {
};
}, [draggingElement, resizingElement, draggingBlock, resizingBlock, elementDragOffset, blockDragOffset, selectedBlock, currentElement, resizeStart, currentBlock, blocks]);
// Update dropdown position when showElementDropdown changes
useEffect(() => {
if (showElementDropdown && blockRef.current) {
const rect = blockRef.current.getBoundingClientRect();
setDropDownPosition({
top: rect.bottom + window.scrollY,
left: rect.left + window.scrollX,
});
}
}, [showElementDropdown]);
return (
<div ref={editorRef} className="dashboard-editor">
{activeModule === "visualization" && (
@@ -365,7 +350,9 @@ const DashboardEditor: React.FC = () => {
swapSource={swapSource}
calculateMinBlockSize={calculateMinBlockSize}
handleBlockClick={(blockId, event) => handleBlockClick(blockId, event, editMode, setSelectedBlock, setSelectedElement, setShowSwapUI)}
handleElementClick={(blockId, elementId, event) => handleElementClick(blockId, elementId, event, editMode, setSelectedElement, setSelectedBlock, setShowSwapUI, setShowElementDropdown)}
handleElementClick={(blockId, elementId, event) =>
handleElementClick(blockId, elementId, event, editMode, setSelectedElement, setSelectedBlock, setShowSwapUI, setShowElementDropdown)
}
handleElementDragStart={(elementId, event) => handleElementDragStart(elementId, event, currentElement, setDraggingElement, setElementDragOffset)}
handleElementResizeStart={(elementId, event) => handleElementResizeStart(elementId, event, setResizingElement, setResizeStart)}
handleBlockResizeStart={(blockId, event) => handleBlockResizeStart(blockId, event, setResizingBlock, setResizeStart)}
@@ -411,13 +398,8 @@ const DashboardEditor: React.FC = () => {
)}
</div>
{showDataModelPanel && editMode && <DataModelPanel dataModel={dataModel} dataModelManager={dataModelManager} />}
{showSwapUI && <SwapModal setShowSwapUI={setShowSwapUI} setSwapSource={setSwapSource} />}
</div>
);