feat: update PointsCreator to include getPointByUuidFromProduct and enhance point state management

This commit is contained in:
2025-05-21 09:44:49 +05:30
parent 542faf5ea9
commit 88d6c48c1d

View File

@@ -15,7 +15,7 @@ function PointsCreator() {
const { gl, raycaster, scene, pointer, camera } = useThree(); const { gl, raycaster, scene, pointer, camera } = useThree();
const { subModule } = useSubModuleStore(); const { subModule } = useSubModuleStore();
const { events, updatePoint, getPointByUuid, getEventByModelUuid } = useEventsStore(); const { events, updatePoint, getPointByUuid, getEventByModelUuid } = useEventsStore();
const { getEventByModelUuid: getEventByModelUuidFromProduct, updatePoint: updatePointFromProduct, getEventByModelUuid: getEventByModelUuidFromProduct2 } = useProductStore(); const { getEventByModelUuid: getEventByModelUuidFromProduct, updatePoint: updatePointFromProduct, getEventByModelUuid: getEventByModelUuidFromProduct2, getPointByUuid: getPointByUuidFromProduct } = useProductStore();
const { selectedProduct } = useSelectedProduct(); const { selectedProduct } = useSelectedProduct();
const { activeModule } = useModuleStore(); const { activeModule } = useModuleStore();
const transformRef = useRef<any>(null); const transformRef = useRef<any>(null);
@@ -76,7 +76,7 @@ function PointsCreator() {
}, [selectedEventSphere]); }, [selectedEventSphere]);
const updatePointToState = (selectedEventSphere: THREE.Mesh) => { const updatePointToState = (selectedEventSphere: THREE.Mesh) => {
let point = JSON.parse( let point: PointsScheme = JSON.parse(
JSON.stringify( JSON.stringify(
getPointByUuid( getPointByUuid(
selectedEventSphere.userData.modelUuid, selectedEventSphere.userData.modelUuid,
@@ -90,28 +90,44 @@ function PointsCreator() {
selectedEventSphere.position.y, selectedEventSphere.position.y,
selectedEventSphere.position.z, selectedEventSphere.position.z,
]; ];
point.rotation = [
selectedEventSphere.rotation.x,
selectedEventSphere.rotation.y,
selectedEventSphere.rotation.z,
];
const event = getEventByModelUuidFromProduct(selectedProduct.productId, selectedEventSphere.userData.modelUuid); const event = getEventByModelUuidFromProduct(selectedProduct.productId, selectedEventSphere.userData.modelUuid);
if (event && selectedProduct.productId !== '') { if (event && selectedProduct.productId !== '') {
const updatedEvent = updatePointFromProduct(
selectedProduct.productId, const updatedPoint = JSON.parse(
selectedEventSphere.userData.modelUuid, JSON.stringify(
selectedEventSphere.userData.pointUuid, getPointByUuidFromProduct(selectedProduct.productId, selectedEventSphere.userData.modelUuid, selectedEventSphere.userData.pointUuid)
point )
) );
if (updatedEvent) { if (updatedPoint) {
updatePoint( updatedPoint.position = point.position;
updatedPoint.rotation = point.rotation;
const updatedEvent = updatePointFromProduct(
selectedProduct.productId,
selectedEventSphere.userData.modelUuid, selectedEventSphere.userData.modelUuid,
selectedEventSphere.userData.pointUuid, selectedEventSphere.userData.pointUuid,
point updatedPoint
) )
updateBackend( if (updatedEvent) {
selectedProduct.productName, updatePoint(
selectedProduct.productId, selectedEventSphere.userData.modelUuid,
organization, selectedEventSphere.userData.pointUuid,
updatedEvent point
); )
updateBackend(
selectedProduct.productName,
selectedProduct.productId,
organization,
updatedEvent
);
}
} }
} }
} }