Skip to content

Commit

Permalink
Readded info
Browse files Browse the repository at this point in the history
readded info back to missionWindow.tsx
  • Loading branch information
tnleang committed May 3, 2019
1 parent d8903c4 commit 20bdcbb
Showing 1 changed file with 15 additions and 10 deletions.
25 changes: 15 additions & 10 deletions src/renderer/missionWindow/MissionWindow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@ const layouts: { [key: string]: MissionLayout[] } = {
underwater: [ISRSearch, VTOLSearch, PayloadDrop, UUVRescue],
};

const initialInformation: {
[missionName in MissionInformation.MissionName]: MissionInformation.Information;
} = {
isrSearch: { missionName: 'isrSearch' },
vtolSearch: { missionName: 'vtolSearch' },
payloadDrop: { missionName: 'payloadDrop' },
ugvRescue: { missionName: 'ugvRescue' },
uuvRescue: { missionName: 'uuvRescue' },
};

const title: { [missionName in MissionInformation.MissionName]: string } = {
isrSearch: 'ISR Search',
vtolSearch: 'VTOL Search',
Expand Down Expand Up @@ -97,7 +107,7 @@ interface State {
/**
* Information passed to Orchestrator for Mission to start.
*/
information: { [missionName: string]: undefined | MissionInformation.Information };
information: { [missionName in MissionInformation.MissionName]: MissionInformation.Information };
}

/**
Expand Down Expand Up @@ -131,7 +141,7 @@ export default class MissionWindow extends Component<ThemeProps, State> {
noLand: false,
},
},
information: {},
information: initialInformation,
};

this.onSliderChange = this.onSliderChange.bind(this);
Expand Down Expand Up @@ -263,12 +273,7 @@ export default class MissionWindow extends Component<ThemeProps, State> {

// Gets all relevant mission information for the missions being performed for the mission type.
const missionInformation = layouts[missionType].slice(startMissionIndex, endMissionIndex + 1)
.map(({ missionName }): MissionInformation.Information => {
if (!information[missionName]) {
throw new Error(`Undefined mission information for ${missionName}`);
}
return information[missionName] as MissionInformation.Information;
});
.map(({ missionName }): MissionInformation.Information => information[missionName]);

ipc.postStartMissions(missionInformation, activeVehicleMapping, options, requireConfirmation);
this.setState({ status: 'running' });
Expand Down Expand Up @@ -334,12 +339,12 @@ export default class MissionWindow extends Component<ThemeProps, State> {
* Start button will not appear unless all mission information is filled out
* (and no mission is running).
*/
const readyToStart = information[missionName] !== undefined;
const readyToStart = information[missionName].parameters !== undefined;

return (
<div className={`missionWrapper${theme === 'dark' ? '_dark' : ''}`}>
<div className="selectorContainer">
<button className={`selectorButton${theme === 'dark' ? '_dark' : ''}`} type="button" onClick={this.toggleMissionType}>{missionTypeText}</button>
<button className="selectorButton" type="button" onClick={this.toggleMissionType}>{missionTypeText}</button>
<Range
className={`selectorSlider${theme === 'dark' ? '_dark' : ''}`}
min={0}
Expand Down

0 comments on commit 20bdcbb

Please sign in to comment.