Skip to content
This repository has been archived by the owner on Dec 1, 2022. It is now read-only.

Commit

Permalink
Fix scenario form bug (#1019)
Browse files Browse the repository at this point in the history
* improve the scenario form and edit components

* Remove DefaultScenarioHelpText from scenario form to fix scenario page crashing on click

* Fix explanationText as JSX element
  • Loading branch information
hoanphungt authored Dec 10, 2021
1 parent 9ac5997 commit 0a05028
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 22 deletions.
2 changes: 1 addition & 1 deletion src/data_management/rasters/RasterSourceTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ export const RasterSourceTable = (props: any) => {
imgUrl={rasterSourcesIcon}
imgAltDescription={"Raster-Source icon"}
headerText={"Raster Sources"}
explanationText={DefaultRasterSourceExplanationTextTable()}
explanationText={<DefaultRasterSourceExplanationTextTable />}
backUrl={"/management/data_management/rasters"}
>
<TableStateContainer
Expand Down
16 changes: 6 additions & 10 deletions src/data_management/scenarios/EditScenario.tsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import React, { useEffect, useState } from "react";
import { RouteComponentProps, withRouter } from "react-router-dom";
import { ScenarioForm } from "./ScenarioForm";
import { RouteComponentProps } from "react-router-dom";
import ScenarioForm from "./ScenarioForm";
import SpinnerIfNotLoaded from '../../components/SpinnerIfNotLoaded';
import {createFetchRecordFunctionFromUrl} from '../../utils/createFetchRecordFunctionFromUrl';
import { createFetchRecordFunctionFromUrl } from '../../utils/createFetchRecordFunctionFromUrl';

interface RouteProps {
uuid: string
}

const EditScenarioModel: React.FC<RouteComponentProps<RouteProps>> = (props) => {
export const EditScenario = (props: RouteComponentProps<RouteProps>) => {
const [currentRecord, setCurrentRecord] = useState(null);
const { uuid } = props.match.params;
useEffect (() => {
(async () => {
const currentRecord = await createFetchRecordFunctionFromUrl(`/api/v4/scenarios/${uuid}`)();
const currentRecord = await createFetchRecordFunctionFromUrl(`/api/v4/scenarios/${uuid}/`)();

setCurrentRecord(currentRecord);
})();
Expand All @@ -28,8 +28,4 @@ const EditScenarioModel: React.FC<RouteComponentProps<RouteProps>> = (props) =>
/>;
</SpinnerIfNotLoaded>
);
}

const EditScenario = withRouter(EditScenarioModel);

export { EditScenario };
}
10 changes: 4 additions & 6 deletions src/data_management/scenarios/ScenarioForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import { CancelButton } from '../../form/CancelButton';
import { useForm, Values } from '../../form/useForm';
import { minLength } from '../../form/validators';
import { addNotification } from '../../actions';
import { scenarioFormHelpText } from '../../utils/help_texts/helpTextForScenarios';
import threediIcon from "../../images/[email protected]";
import formStyles from './../../styles/Forms.module.css';
import { scenarioFormHelpText, DefaultScenarioExplanationText } from '../../utils/help_texts/helpTextForScenarios';

interface Props {
currentRecord: any
Expand All @@ -25,7 +25,7 @@ interface RouteParams {
uuid: string;
};

const ScenarioFormModel: React.FC<Props & PropsFromDispatch & RouteComponentProps<RouteParams>> = (props) => {
const ScenarioForm: React.FC<Props & PropsFromDispatch & RouteComponentProps<RouteParams>> = (props) => {
const { currentRecord } = props;
const organisations = useSelector(getOrganisations).available;
const scenarioOrganisation = organisations.find((org: any) => org.uuid === currentRecord.organisation.uuid);
Expand Down Expand Up @@ -87,7 +87,7 @@ const ScenarioFormModel: React.FC<Props & PropsFromDispatch & RouteComponentProp
headerText={"3Di Scenarios"}
explanationText={
scenarioFormHelpText[fieldOnFocus] ||
DefaultScenarioExplanationText()
scenarioFormHelpText['default']
}
backUrl={"/management/data_management/scenarios/"}
fieldName={fieldOnFocus}
Expand Down Expand Up @@ -199,6 +199,4 @@ const mapPropsToDispatch = (dispatch: any) => ({
addNotification: (message: string | number, timeout: number) => dispatch(addNotification(message, timeout))
});

const ScenarioForm = connect(null, mapPropsToDispatch)(withRouter(ScenarioFormModel));

export { ScenarioForm };
export default connect(null, mapPropsToDispatch)(withRouter(ScenarioForm));
2 changes: 1 addition & 1 deletion src/data_management/scenarios/ScenarioTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ export const ScenarioTable = () => {
imgUrl={threediIcon}
imgAltDescription={"3Di icon"}
headerText={"3Di Scenarios"}
explanationText={DefaultScenarioExplanationText()}
explanationText={<DefaultScenarioExplanationText />}
backUrl={"/management/data_management"}
>
<TableStateContainer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ export const TimeseriesTable = (props: RouteComponentProps) => {
imgUrl={timeseriesIcon}
imgAltDescription={"Timeseries icon"}
headerText={"Time Series"}
explanationText={TimeseriesTableHelptext()}
explanationText={<TimeseriesTableHelptext />}
backUrl={"/management/data_management/timeseries"}
>
<TableStateContainer
Expand Down
4 changes: 1 addition & 3 deletions src/utils/help_texts/helpTextForScenarios.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,12 @@ export const DefaultScenarioExplanationText = () => {
available={scenarioAvailableSizeDefinedByContract}
/>
</div>

</div>

);
};


export const scenarioFormHelpText: HelpText = {
default: 'View and manage a 3Di scenario.',
name: 'The scenario name comes from 3Di. This name can be changed for your convenience.',
uuid: uuidHelpText,
modelName: 'The model that was used to create this scenario.',
Expand Down

0 comments on commit 0a05028

Please sign in to comment.