Skip to content

Commit

Permalink
Merge pull request #213 from RENCI/issue212
Browse files Browse the repository at this point in the history
#212 updated logic to work as requested
  • Loading branch information
PhillipsOwen authored Sep 10, 2024
2 parents ce824ce + 5ecfb67 commit 0eb146e
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 3 deletions.
7 changes: 5 additions & 2 deletions src/components/control-panel/control-panel.js
Original file line number Diff line number Diff line change
Expand Up @@ -239,8 +239,11 @@ export const ControlPanel = () => {

// switch on/off the hurricane track layer, if it exists
const toggleHurricaneLayer = () => {
const layerID = obs_layer.id.substr(0, obs_layer.id.lastIndexOf("-")) + '-hurr';
toggleHurricaneLayerVisibility(layerID);
// if there is a hurricane layer
if (hurrLayers) {
// toggle the view of it
toggleHurricaneLayerVisibility(hurrLayers[0].id);
}
};

const changeSynopticCycle = (direction) => {
Expand Down
16 changes: 16 additions & 0 deletions src/components/map/storm-layers.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,17 @@ export const StormLayers = () => {
}
};

// set visibily to false for all hurricane layers
const setHurricaneLayersVisiblityOff = () => {
const allHurrLayers = hurrLayers.map((x) => x);
if (allHurrLayers && allHurrLayers.length > 0) {
allHurrLayers.forEach(layer => {
layer.state = { visible: false, opacity: 1, };
});
setHurricaneTrackLayers([...allHurrLayers]);
}
};


useEffect(() => {

Expand Down Expand Up @@ -95,6 +106,11 @@ export const StormLayers = () => {
setHurricaneTrackLayers([...trackLayer, ...currentLayers]);
}
}
else {
// this is not a hurricane layer - turn off all hurricane layers, if any
setHurricaneLayersVisiblityOff();
}
// remove any hurricane layers that do not have an assocatiated model run
removeAnyOrphanHurricaneLayers();
}

Expand Down
14 changes: 13 additions & 1 deletion src/components/trays/layers/list.js
Original file line number Diff line number Diff line change
Expand Up @@ -172,11 +172,14 @@ const newLayerDefaultState = (layer, group) => {
*/
export const LayersList = () => {
// get a handle to the layer state
const { removeObservations, defaultModelLayers, setDefaultModelLayers } = useLayers();
const { removeObservations, defaultModelLayers, setDefaultModelLayers, hurricaneTrackLayers, setHurricaneTrackLayers } = useLayers();

// get the default layers
const layers = [...defaultModelLayers];

// get hurricane layers
const hurrLayers = [...hurricaneTrackLayers];

// get the unique groups in the selected model runs
const groupList = getGroupList(layers);

Expand Down Expand Up @@ -245,6 +248,15 @@ export const LayersList = () => {
layer.state = newLayerDefaultState(layer, newLayerList[0].group);
});

// turn on/off any hurricane layers
if (hurrLayers) {
newLayerList[0].properties.met_class === "tropical" ?
hurrLayers[0].state.visible = true
:
hurrLayers[0].state.visible = false;
setHurricaneTrackLayers([...hurrLayers]);
}

// update the layer list in state
setDefaultModelLayers(newLayerList);
};
Expand Down

0 comments on commit 0eb146e

Please sign in to comment.