From 61a2e1ac8d4ef09ceee326d27c38f95ed0893000 Mon Sep 17 00:00:00 2001 From: Mitchell McCaffrey Date: Fri, 17 Jul 2020 15:57:52 +1000 Subject: [PATCH] Disabled map select when loading a map --- src/components/map/Map.js | 4 ++++ src/components/map/MapControls.js | 1 + src/components/map/SelectMapButton.js | 2 ++ src/network/NetworkedMapAndTokens.js | 12 +++++++++--- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/components/map/Map.js b/src/components/map/Map.js index 56ae6a1..7d947ff 100644 --- a/src/components/map/Map.js +++ b/src/components/map/Map.js @@ -32,6 +32,7 @@ function Map({ onFogDrawRedo, allowMapDrawing, allowFogDrawing, + allowMapChange, disabledTokens, }) { const { tokensById } = useContext(TokenDataContext); @@ -141,6 +142,9 @@ function Map({ if (!allowFogDrawing) { disabledControls.push("fog"); } + if (!allowMapChange) { + disabledControls.push("map"); + } const disabledSettings = { fog: [], drawing: [] }; if (mapShapes.length === 0) { diff --git a/src/components/map/MapControls.js b/src/components/map/MapControls.js index 55450e9..33873ba 100644 --- a/src/components/map/MapControls.js +++ b/src/components/map/MapControls.js @@ -67,6 +67,7 @@ function MapContols({ onMapStateChange={onMapStateChange} currentMap={currentMap} currentMapState={currentMapState} + disabled={disabledControls.includes("map")} /> ), }, diff --git a/src/components/map/SelectMapButton.js b/src/components/map/SelectMapButton.js index 799a1dd..6b0d296 100644 --- a/src/components/map/SelectMapButton.js +++ b/src/components/map/SelectMapButton.js @@ -11,6 +11,7 @@ function SelectMapButton({ onMapStateChange, currentMap, currentMapState, + disabled, }) { const [isModalOpen, setIsModalOpen] = useState(false); @@ -30,6 +31,7 @@ function SelectMapButton({ aria-label="Select Map" title="Select Map" onClick={openModal} + disabled={disabled} > diff --git a/src/network/NetworkedMapAndTokens.js b/src/network/NetworkedMapAndTokens.js index 6069c1a..4a8e9ef 100644 --- a/src/network/NetworkedMapAndTokens.js +++ b/src/network/NetworkedMapAndTokens.js @@ -25,9 +25,12 @@ import Tokens from "../components/token/Tokens"; */ function NetworkedMapAndTokens({ session }) { const { userId } = useContext(AuthContext); - const { assetLoadStart, assetLoadFinish, assetProgressUpdate } = useContext( - MapLoadingContext - ); + const { + assetLoadStart, + assetLoadFinish, + assetProgressUpdate, + isLoading, + } = useContext(MapLoadingContext); const { putToken, getToken } = useContext(TokenDataContext); const { putMap, getMap, updateMap } = useContext(MapDataContext); @@ -363,6 +366,8 @@ function NetworkedMapAndTokens({ session }) { }; }); + const canChangeMap = !isLoading; + const canEditMapDrawing = currentMap !== null && currentMapState !== null && @@ -407,6 +412,7 @@ function NetworkedMapAndTokens({ session }) { onFogDrawRedo={handleFogDrawRedo} allowMapDrawing={canEditMapDrawing} allowFogDrawing={canEditFogDrawing} + allowMapChange={canChangeMap} disabledTokens={disabledMapTokens} />