summaryrefslogtreecommitdiff
path: root/src/sagas
diff options
context:
space:
mode:
authorGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-01 16:42:13 +0200
committerGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-23 10:05:56 +0200
commit17ae0a3fafd806a5a533bf1d51a3ac708a8cf978 (patch)
treec3687bd08891ef3698f4773e44a6920856229dfe /src/sagas
parenteea529f57e3ee39d2f492062688b2848ced0a747 (diff)
Implement room name edit
Diffstat (limited to 'src/sagas')
-rw-r--r--src/sagas/index.js3
-rw-r--r--src/sagas/topology.js15
2 files changed, 17 insertions, 1 deletions
diff --git a/src/sagas/index.js b/src/sagas/index.js
index 7c1d921f..a076736c 100644
--- a/src/sagas/index.js
+++ b/src/sagas/index.js
@@ -5,6 +5,7 @@ import {
ADD_TILE,
CANCEL_NEW_ROOM_CONSTRUCTION,
DELETE_TILE,
+ EDIT_ROOM_NAME,
FETCH_LATEST_DATACENTER,
START_NEW_ROOM_CONSTRUCTION
} from "../actions/topology";
@@ -15,6 +16,7 @@ import {
onAddTile,
onCancelNewRoomConstruction,
onDeleteTile,
+ onEditRoomName,
onFetchLatestDatacenter,
onStartNewRoomConstruction
} from "./topology";
@@ -31,4 +33,5 @@ export default function* rootSaga() {
yield takeEvery(CANCEL_NEW_ROOM_CONSTRUCTION, onCancelNewRoomConstruction);
yield takeEvery(ADD_TILE, onAddTile);
yield takeEvery(DELETE_TILE, onDeleteTile);
+ yield takeEvery(EDIT_ROOM_NAME, onEditRoomName);
}
diff --git a/src/sagas/topology.js b/src/sagas/topology.js
index 815cd842..c029c861 100644
--- a/src/sagas/topology.js
+++ b/src/sagas/topology.js
@@ -4,11 +4,12 @@ import {
addTileSucceeded,
cancelNewRoomConstructionSucceeded,
deleteTileSucceeded,
+ editRoomNameSucceeded,
fetchLatestDatacenterSucceeded,
startNewRoomConstructionSucceeded
} from "../actions/topology";
import {addRoomToDatacenter} from "../api/routes/datacenters";
-import {addTileToRoom, deleteRoom} from "../api/routes/rooms";
+import {addTileToRoom, deleteRoom, updateRoom} from "../api/routes/rooms";
import {deleteTile} from "../api/routes/tiles";
import {
fetchAndStoreCoolingItem,
@@ -129,3 +130,15 @@ export function* onDeleteTile(action) {
console.log(error);
}
}
+
+export function* onEditRoomName(action) {
+ try {
+ const roomId = yield select(state => state.interactionLevel.roomId);
+ const room = Object.assign({}, yield select(state => state.objects.room[roomId]));
+ room.name = action.name;
+ yield call(updateRoom, room);
+ yield put(editRoomNameSucceeded(action.name));
+ } catch (error) {
+ console.log(error);
+ }
+}