diff options
Diffstat (limited to 'src/actions/topology.js')
| -rw-r--r-- | src/actions/topology.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/actions/topology.js b/src/actions/topology.js index 04d9f102..d5812ece 100644 --- a/src/actions/topology.js +++ b/src/actions/topology.js @@ -22,6 +22,7 @@ export const START_RACK_CONSTRUCTION = "START_RACK_CONSTRUCTION"; export const STOP_RACK_CONSTRUCTION = "STOP_RACK_CONSTRUCTION"; export const ADD_RACK_TO_TILE = "ADD_RACK_TO_TILE"; export const ADD_MACHINE = "ADD_MACHINE"; +export const DELETE_MACHINE = "DELETE_MACHINE"; export function fetchLatestDatacenter() { return (dispatch, getState) => { @@ -249,3 +250,20 @@ export function addMachineSucceeded(machine) { dispatch(addPropToStoreObject("rack", rack.id, {machineIds})); }; } + +export function deleteMachine() { + return { + type: DELETE_MACHINE + }; +} + +export function deleteMachineSucceeded() { + return (dispatch, getState) => { + const {interactionLevel, objects} = getState(); + const rack = objects.rack[objects.tile[interactionLevel.tileId].objectId]; + const machineIds = [...rack.machineIds]; + machineIds[interactionLevel.position - 1] = null; + dispatch(goDownOneInteractionLevel()); + dispatch(addPropToStoreObject("rack", rack.id, {machineIds})); + }; +} |
