diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-01 16:42:13 +0200 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:05:56 +0200 |
| commit | 17ae0a3fafd806a5a533bf1d51a3ac708a8cf978 (patch) | |
| tree | c3687bd08891ef3698f4773e44a6920856229dfe /src/sagas | |
| parent | eea529f57e3ee39d2f492062688b2848ced0a747 (diff) | |
Implement room name edit
Diffstat (limited to 'src/sagas')
| -rw-r--r-- | src/sagas/index.js | 3 | ||||
| -rw-r--r-- | src/sagas/topology.js | 15 |
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); + } +} |
