diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-29 20:40:26 +0200 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-29 20:40:26 +0200 |
| commit | fb2091a8f0a1c17c5f9e70e908d71eea0d14ac89 (patch) | |
| tree | ace8753116b651ade02bd4b9316a8424354f9557 | |
| parent | fe563d05ae387f5f5231ca348410685c9ab9367d (diff) | |
Fix map position bug on empty DC
| -rw-r--r-- | src/store/middlewares/viewport-adjustment.js | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/store/middlewares/viewport-adjustment.js b/src/store/middlewares/viewport-adjustment.js index fddbf038..a0056ee5 100644 --- a/src/store/middlewares/viewport-adjustment.js +++ b/src/store/middlewares/viewport-adjustment.js @@ -27,9 +27,19 @@ export const viewportAdjustmentMiddleware = store => next => action => { const rooms = roomIds.map(id => Object.assign({}, state.objects.room[id])); rooms.forEach(room => room.tiles = room.tileIds.map(tileId => state.objects.tile[tileId])); - const viewportParams = calculateParametersToZoomInOnRooms(rooms, mapDimensions.width, mapDimensions.height); - store.dispatch(setMapPosition(viewportParams.newX, viewportParams.newY)); - store.dispatch(setMapScale(viewportParams.newScale)); + let hasNoTiles = true; + for (let i in rooms) { + if (rooms[i].tiles.length > 0) { + hasNoTiles = false; + break; + } + } + + if (!hasNoTiles) { + const viewportParams = calculateParametersToZoomInOnRooms(rooms, mapDimensions.width, mapDimensions.height); + store.dispatch(setMapPosition(viewportParams.newX, viewportParams.newY)); + store.dispatch(setMapScale(viewportParams.newScale)); + } } next(action); |
