feat: update PointsCreator to include getPointByUuidFromProduct and enhance point state management
This commit is contained in:
@@ -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
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user