Skip to content

Commit

Permalink
Merge pull request #417 from inowas/feature/2080-fix-issues-for-workshop
Browse files Browse the repository at this point in the history
Feature/2080 - Fix issues for workshop
  • Loading branch information
Roschl authored Aug 20, 2021
2 parents 6bf53d0 + 0666eb2 commit 05bdfa2
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 53 deletions.
104 changes: 55 additions & 49 deletions src/scenes/dashboard/commands/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,64 +2,70 @@ import ModflowModelCommand from '../../../scenes/t03/commands/modflowModelComman
import ScenarioAnalysisCommand from '../../t07/commands/scenarioAnalysisCommand';
import SimpleToolCommand from '../../../scenes/shared/simpleTools/commands/SimpleToolsCommand';

interface IPayload {
id: string;
name: string;
description: string;
isPublic: boolean;
}

export const createToolInstance = (tool: string, payload: any) => {
switch (tool) {
case 'T03':
return (ModflowModelCommand.createModflowModel(payload));
case 'T07':
return (ScenarioAnalysisCommand.createScenarioAnalysis(payload.scenarioanalysisId, payload.modelToCloneId,
payload.name, payload.description, payload.isPublic));
default:
return (SimpleToolCommand.createToolInstance(payload));
}
switch (tool) {
case 'T03':
return (ModflowModelCommand.createModflowModel(payload));
case 'T07':
return (ScenarioAnalysisCommand.createScenarioAnalysis(payload.scenarioanalysisId, payload.modelToCloneId,
payload.name, payload.description, payload.isPublic));
default:
return (SimpleToolCommand.createToolInstance(payload));
}
};

export const cloneToolInstance = (tool: string, id: string, newId: string) => {
switch (tool) {
case 'T03':
return (ModflowModelCommand.cloneModflowModel({id, newId, isTool: true}));
case 'T07':
return ScenarioAnalysisCommand.cloneScenarioAnalysis({id, newId});
default:
return (SimpleToolCommand.cloneToolInstance({id, newId}));
}
switch (tool) {
case 'T03':
return (ModflowModelCommand.cloneModflowModel({id, newId, isTool: true}));
case 'T07':
return ScenarioAnalysisCommand.cloneScenarioAnalysis({id, newId});
default:
return (SimpleToolCommand.cloneToolInstance({id, newId}));
}
};

export const deleteToolInstance = (tool: string, id: string) => {
switch (tool) {
case 'T03':
return (ModflowModelCommand.deleteModflowModel({id}));
case 'T07':
return (ScenarioAnalysisCommand.deleteScenarioAnalysis(id));
default:
return (SimpleToolCommand.deleteToolInstance({id}));
}
switch (tool) {
case 'T03':
return (ModflowModelCommand.deleteModflowModel({id}));
case 'T07':
return (ScenarioAnalysisCommand.deleteScenarioAnalysis(id));
default:
return (SimpleToolCommand.deleteToolInstance({id}));
}
};

export const updateToolInstance = (tool: string, payload: any) => {
switch (tool) {
case 'T03':
return (ModflowModelCommand.updateModflowModelMetadata(
payload.id, payload.name, payload.description, payload.isPublic
));
case 'T07':
return (ScenarioAnalysisCommand.updateScenarioAnalysis(payload.scenarioanalysisId, payload.name,
payload.description, payload.isPublic));
default:
return (SimpleToolCommand.updateToolInstance(payload));
}
export const updateToolInstance = (tool: string, payload: IPayload) => {
switch (tool) {
case 'T03':
return (ModflowModelCommand.updateModflowModelMetadata(
payload.id, payload.name, payload.description, payload.isPublic
));
case 'T07':
return (ScenarioAnalysisCommand.updateScenarioAnalysis(payload.id, payload.name,
payload.description, payload.isPublic));
default:
return (SimpleToolCommand.updateToolInstance(payload));
}
};

export const updateToolInstanceMetadata = (tool: string, payload: any) => {
switch (tool) {
case 'T03':
return (ModflowModelCommand.updateModflowModelMetadata(
payload.id, payload.name, payload.description, payload.isPublic
));
case 'T07':
return (ScenarioAnalysisCommand.updateScenarioAnalysis(payload.scenarioanalysisId, payload.name,
payload.description, payload.isPublic));
default:
return (SimpleToolCommand.updateToolInstanceMetadata(payload.id, payload.name, payload.description, payload.isPublic));
}
export const updateToolInstanceMetadata = (tool: string, payload: IPayload) => {
switch (tool) {
case 'T03':
return (ModflowModelCommand.updateModflowModelMetadata(
payload.id, payload.name, payload.description, payload.isPublic
));
case 'T07':
return (ScenarioAnalysisCommand.updateScenarioAnalysis(payload.id, payload.name, payload.description, payload.isPublic));
default:
return (SimpleToolCommand.updateToolInstanceMetadata(payload.id, payload.name, payload.description, payload.isPublic));
}
};
22 changes: 18 additions & 4 deletions src/scenes/shared/complexTools/ResultsChart.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -160,14 +160,28 @@ const resultsChart = ({data, selectedModels, row, col, show, yLabel = ''}: IProp
referenceTo = row;
}

const localMin = Math.floor(min(processedData.map((d) => d.value)) || 0);
const localMax = Math.ceil(max(processedData.map((d) => d.value)) || 0);
const values: number[] = [];
processedData.forEach((r) => {
Object.keys(r).filter((p) => p !== 'name').forEach((p) => {
values.push(r[p]);
});
});

const localMin = Math.floor(min(values) || 0);
const localMax = Math.ceil(max(values) || 0);

return (
<ResponsiveContainer aspect={1.5}>
<LineChart data={processedData}>
<XAxis dataKey="name" domain={['dataMin', 'dataMax']}/>
<YAxis domain={[localMin, localMax]}/>
<XAxis
dataKey="name"
domain={['dataMin', 'dataMax']}
label={getXAxisLabel(show)}
/>
<YAxis
domain={[localMin, localMax]}
label={getYAxisLabel(yLabel)}
/>
<CartesianGrid strokeDasharray="3 3"/>
<Tooltip/>
<ReferenceLine x={referenceTo} stroke="#000" strokeDasharray="3 3"/>
Expand Down
5 changes: 5 additions & 0 deletions src/scenes/shared/complexTools/ResultsMap.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,11 @@ const ResultsMap = (props: IProps) => {
}, [props.activeCell]);

const handleClickOnMap = ({ latlng }: LeafletMouseEvent) => {
if (latlng.lat > props.model.boundingBox.yMax || latlng.lat < props.model.boundingBox.yMin ||
latlng.lng > props.model.boundingBox.xMax || latlng.lng < props.model.boundingBox.xMin) {
return null;
}

const activeCell = getCellFromClick(
props.model.boundingBox,
props.model.gridSize,
Expand Down
2 changes: 2 additions & 0 deletions src/scenes/t07/components/CrossSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ const CrossSection = (props: IProps) => {
col={selectedCol}
row={selectedRow}
show={'row'}
yLabel={selectedType}
/>
</Segment>
</Grid.Column>
Expand All @@ -261,6 +262,7 @@ const CrossSection = (props: IProps) => {
col={selectedCol}
row={selectedRow}
show={'col'}
yLabel={selectedType}
/>
</Segment>
</Grid.Column>
Expand Down

0 comments on commit 05bdfa2

Please sign in to comment.