diff --git a/app/src/modules/visualization/widgets/2d/DraggableWidget.tsx b/app/src/modules/visualization/widgets/2d/DraggableWidget.tsx
index f865719..c1a5a55 100644
--- a/app/src/modules/visualization/widgets/2d/DraggableWidget.tsx
+++ b/app/src/modules/visualization/widgets/2d/DraggableWidget.tsx
@@ -193,12 +193,18 @@ export const DraggableWidget = ({
};
if (visualizationSocket) {
- visualizationSocket.emit("v2:viz-widget:add", duplicateWidget);
+ console.log('duplicated');
+
+ visualizationSocket.emit("v2:viz-widget:add", duplicateWidget, (res: any)=> {
+ if (res.success) {
+ setSelectedZone((prevZone: any) => ({
+ ...prevZone,
+ widgets: [...prevZone.widgets, duplicatedWidget],
+ }));
+ }
+ });
}
- setSelectedZone((prevZone: any) => ({
- ...prevZone,
- widgets: [...prevZone.widgets, duplicatedWidget],
- }));
+
// const response = await duplicateWidgetApi(selectedZone.zoneId, organization, duplicatedWidget);
@@ -350,13 +356,14 @@ export const DraggableWidget = ({
{/* Render charts based on widget type */}
{widget.type === "progress 1" && (
-
+
)}
{widget.type === "progress 2" && (
-
+
)}
{widget.type === "line" && (
{
+ if (res.success) {
+ addWidget(selectedZone.zoneId, newWidget);
+ setRightSelect(null);
+ setRightClickSelected(null);
+ }
+ });
}
// let response = await adding3dWidgets(selectedZone.zoneId, organization, newWidget)
//
diff --git a/app/src/store/useDroppedObjectsStore.ts b/app/src/store/useDroppedObjectsStore.ts
index 0c03eec..21ae7a3 100644
--- a/app/src/store/useDroppedObjectsStore.ts
+++ b/app/src/store/useDroppedObjectsStore.ts
@@ -132,7 +132,6 @@ export const useDroppedObjectsStore = create((set) => ({
: originalObject.position.left,
},
};
- console.log("duplicated object",duplicatedObject);
let duplicateFloatingWidget = {
organization: organization,
@@ -144,18 +143,23 @@ export const useDroppedObjectsStore = create((set) => ({
if (visualizationSocket) {
visualizationSocket.emit(
"v2:viz-float:addDuplicate",
- duplicateFloatingWidget
+ duplicateFloatingWidget,
+ (res:any)=>{
+ if (res.success) {
+ useDroppedObjectsStore.setState((state) => ({
+ zones: {
+ ...state.zones,
+ [zoneName]: {
+ ...state.zones[zoneName],
+ objects: [...state.zones[zoneName].objects, duplicatedObject], // Append duplicated object
+ },
+ },
+ }));
+ }
+ }
);
}
- useDroppedObjectsStore.setState((state) => ({
- zones: {
- ...state.zones,
- [zoneName]: {
- ...state.zones[zoneName],
- objects: [...state.zones[zoneName].objects, duplicatedObject], // Append duplicated object
- },
- },
- }));
+
// Make async API call outside of Zustand set function
// let response = await addingFloatingWidgets(