feat(rack): add shift-click context modal for connections with color and edge type configurability
This commit is contained in:
@@ -23,10 +23,14 @@ interface RackState {
|
||||
cablingFromPortId: string | null;
|
||||
setCablingFromPortId: (id: string | null) => void;
|
||||
createConnection: (fromPortId: string, toPortId: string) => Promise<void>;
|
||||
updateConnection: (id: string, data: Partial<{ color: string; label: string; edgeType: string }>) => Promise<void>;
|
||||
deleteConnection: (id: string) => Promise<void>;
|
||||
// Port Config Global Modal
|
||||
activeConfigPortId: string | null;
|
||||
setActiveConfigPortId: (id: string | null) => void;
|
||||
// Connection Config Global Modal
|
||||
activeConfigConnectionId: string | null;
|
||||
setActiveConfigConnectionId: (id: string | null) => void;
|
||||
}
|
||||
|
||||
export const useRackStore = create<RackState>((set, get) => ({
|
||||
@@ -132,6 +136,15 @@ export const useRackStore = create<RackState>((set, get) => ({
|
||||
set({ racks });
|
||||
},
|
||||
|
||||
updateConnection: async (id, data) => {
|
||||
await apiClient.connections.update(id, data);
|
||||
const racks = await apiClient.racks.list();
|
||||
set({ racks });
|
||||
},
|
||||
|
||||
activeConfigPortId: null,
|
||||
setActiveConfigPortId: (id) => set({ activeConfigPortId: id }),
|
||||
|
||||
activeConfigConnectionId: null,
|
||||
setActiveConfigConnectionId: (id) => set({ activeConfigConnectionId: id }),
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user