Skip to content

Commit 0579dcb

Browse files
committed
WIP: Test force-closing vex instances
1 parent 71493a9 commit 0579dcb

File tree

2 files changed

+33
-43
lines changed

2 files changed

+33
-43
lines changed

src/renderer/components/App.jsx

+3
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,11 @@ const App = ({helmetUIVersion, versions, searchEMMEPython}) => {
110110
if (found) {
111111
if (confirm(`Python ${versions.emme_python} löytyi sijainnista:\n\n${pythonPath}\n\nHaluatko käyttää tätä sijaintia?`)) {
112112
globalSettingsStore.current.set('emme_python_path', pythonPath);
113+
vex.closeAll()
113114
}
114115
} else {
115116
alert(`Emme ${versions.emme_system} ja Python ${versions.emme_python} eivät löytyneet oletetusta sijainnista.\n\nMääritä Pythonin sijainti Asetukset-dialogissa.`);
117+
vex.closeAll()
116118
}
117119
}
118120
// Copy existing global store values to state. Remember: state updates async so refer to existing.
@@ -136,6 +138,7 @@ const App = ({helmetUIVersion, versions, searchEMMEPython}) => {
136138
if (!fs.existsSync(existingProjectPath)) {
137139
alert(`Projektikansiota ei löydy polusta '${existingProjectPath}'.\nProjektikansioksi asetetaan kotikansio '${homedir}'.`)
138140
_setProjectPath(homedir);
141+
vex.closeAll();
139142
}
140143

141144
// If HELMET Scripts is the initial (un-set), download latest version and use that. Remember: state updates async so refer to existing.

src/renderer/components/HelmetProject/HelmetProject.jsx

+30-43
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { v4 as uuidv4 } from 'uuid';
33
import Store from "electron-store";
44
import fs from "fs";
55
import path from "path";
6-
import { Tab, Tabs, TabList, TabPanel } from 'react-tabs';
76

87
const {ipcRenderer} = require('electron');
98

@@ -37,9 +36,6 @@ const HelmetProject = ({
3736
const [statusRunFinishTime, setStatusRunFinishTime] = useState(null); //Updated when receiving "finished" message
3837
const [demandConvergenceArray, setDemandConvergenceArray] = useState([]); // Add convergence values to array every iteration
3938

40-
// User-set scenario list height in the Scenarios tab
41-
const [scenarioListHeight, setScenarioListHeight] = useState(null);
42-
4339
// Cost-Benefit Analysis (CBA) controls
4440
const [cbaOptions, setCbaOptions] = useState({});
4541

@@ -216,7 +212,8 @@ const HelmetProject = ({
216212
setOpenScenarioID(null);
217213
setScenarios(scenarios.filter((s) => s.id !== scenario.id));
218214
fs.unlinkSync(path.join(projectPath, `${scenario.name}.json`));
219-
// window.location.reload(); // Testing if the new version works without this hack...
215+
vex.closeAll();
216+
// window.location.reload(); // Vex-js dialog input gets stuck otherwise
220217
}
221218
};
222219

@@ -236,22 +233,27 @@ const HelmetProject = ({
236233
// Check required global parameters are set
237234
if (!emmePythonPath) {
238235
alert("Python -sijaintia ei ole asetettu!");
236+
vex.closeAll();
239237
return;
240238
}
241239
if (!helmetScriptsPath) {
242240
alert("Helmet Scripts -kansiota ei ole asetettu, tarkista Asetukset.");
241+
vex.closeAll();
243242
return;
244243
}
245244
if (!projectPath) {
246245
alert("Projektin kotikansiota ei ole asetettu, tarkista Asetukset.");
246+
vex.closeAll();
247247
return;
248248
}
249249
if (!basedataPath) {
250250
alert("L\u00E4ht\u00F6datan kansiota ei ole asetettu, tarkista Asetukset.");
251+
vex.closeAll();
251252
return;
252253
}
253254
if (!resultsPath) {
254255
alert("Tulosdatan kansiota ei ole asetettu, tarkista Asetukset.");
256+
vex.closeAll();
255257
return;
256258
}
257259

@@ -273,6 +275,8 @@ const HelmetProject = ({
273275
}
274276
}
275277

278+
vex.closeAll();
279+
276280
// Perform UI changes to indicate "initializing run of active scenarios"
277281
setOpenScenarioID(null); // Close any open scenario configuration
278282
setLogContents([
@@ -387,44 +391,27 @@ const HelmetProject = ({
387391

388392
{/* Panel for primary view and controls */}
389393
<div className="Project__runtime">
390-
<Tabs className="tab-container">
391-
<TabList className="tab-list">
392-
<Tab selectedClassName="selected-tab" className="tab-list-item tab-item-name">
393-
Skenaariot
394-
</Tab>
395-
<Tab selectedClassName="selected-tab" className="tab-list-item tab-item-name">
396-
CBA
397-
</Tab>
398-
</TabList>
399-
400-
<TabPanel className="runtime-tab">
401-
<Runtime
402-
projectPath={projectPath}
403-
reloadScenarios={() => _loadProjectScenarios(projectPath)}
404-
scenarios={scenarios}
405-
scenarioIDsToRun={scenarioIDsToRun}
406-
runningScenarioID={runningScenarioID}
407-
openScenarioID={openScenarioID}
408-
setOpenScenarioID={setOpenScenarioID}
409-
deleteScenario={(scenario) => {_deleteScenario(scenario)}}
410-
handleClickScenarioToActive={_handleClickScenarioToActive}
411-
handleClickNewScenario={_handleClickNewScenario}
412-
handleClickStartStop={_handleClickStartStop}
413-
logArgs={logArgs}
414-
duplicateScenario={duplicateScenario}
415-
scenarioListHeight={scenarioListHeight}
416-
setScenarioListHeight={setScenarioListHeight}
417-
/>
418-
</TabPanel>
419-
<TabPanel>
420-
<CostBenefitAnalysis
421-
resultsPath={resultsPath}
422-
cbaOptions={cbaOptions}
423-
setCbaOptions={setCbaOptions}
424-
runCbaScript={_runCbaScript}
425-
/>
426-
</TabPanel>
427-
</Tabs>
394+
<Runtime
395+
projectPath={projectPath}
396+
reloadScenarios={() => _loadProjectScenarios(projectPath)}
397+
scenarios={scenarios}
398+
scenarioIDsToRun={scenarioIDsToRun}
399+
runningScenarioID={runningScenarioID}
400+
openScenarioID={openScenarioID}
401+
setOpenScenarioID={setOpenScenarioID}
402+
deleteScenario={(scenario) => {_deleteScenario(scenario)}}
403+
handleClickScenarioToActive={_handleClickScenarioToActive}
404+
handleClickNewScenario={_handleClickNewScenario}
405+
handleClickStartStop={_handleClickStartStop}
406+
logArgs={logArgs}
407+
duplicateScenario={duplicateScenario}
408+
/>
409+
<CostBenefitAnalysis
410+
resultsPath={resultsPath}
411+
cbaOptions={cbaOptions}
412+
setCbaOptions={setCbaOptions}
413+
runCbaScript={_runCbaScript}
414+
/>
428415
</div>
429416

430417
{/* Panel for secondary view(s) and controls */}

0 commit comments

Comments
 (0)