Refactor asset model handling and event data management
- Removed redundant data structure in handleModelLoad function. - Introduced eventData object to encapsulate event-related information for different asset types (Conveyor, Vehicle, ArmBot, StaticMachine). - Updated socket emission to include complete data with eventData. - Enhanced copy-paste and duplication controls to maintain eventData integrity during object duplication. - Integrated event data updates in move and rotate controls to reflect changes in the simulation state. - Improved PointsCreator component to handle rotation for event groups. - Updated handleAddEventToProduct function to support event data management. - Enhanced product management to fetch existing products from the server and handle new product creation. - Added new types for eventData in worldTypes and simulationTypes for better type safety. - Refactored IndexedDB utility functions for cleaner code.
This commit is contained in:
@@ -6,6 +6,7 @@ type ProductsStore = {
|
||||
|
||||
// Product-level actions
|
||||
addProduct: (productName: string, productId: string) => void;
|
||||
setProducts: (products: productsSchema) => void;
|
||||
removeProduct: (productId: string) => void;
|
||||
updateProduct: (productId: string, updates: Partial<{ productName: string; eventDatas: EventsSchema[] }>) => void;
|
||||
|
||||
@@ -78,6 +79,12 @@ export const useProductStore = create<ProductsStore>()(
|
||||
});
|
||||
},
|
||||
|
||||
setProducts: (products) => {
|
||||
set((state) => {
|
||||
state.products = products;
|
||||
});
|
||||
},
|
||||
|
||||
removeProduct: (productId) => {
|
||||
set((state) => {
|
||||
state.products = state.products.filter(p => p.productId !== productId);
|
||||
|
||||
Reference in New Issue
Block a user