Skip to content

Commit

Permalink
fix: default current scenario is now first scenario in alphabetical o…
Browse files Browse the repository at this point in the history
…rder
  • Loading branch information
nborde-CSM committed Feb 1, 2022
1 parent 62b147f commit 5567aa3
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
3 changes: 2 additions & 1 deletion src/state/sagas/app/FetchInitialData/FetchInitialData.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import { POWER_BI_ACTIONS_KEY } from '../../../commons/PowerBIConstants';
import { DATASET_ACTIONS_KEY } from '../../../commons/DatasetConstants';
import { WORKSPACE_ACTIONS_KEY } from '../../../commons/WorkspaceConstants';
import { SOLUTION_ACTIONS_KEY } from '../../../commons/SolutionConstants';
import { getFirstScenarioMaster } from '../../../../utils/SortScenarioListUtils';

const selectSolutionIdFromCurrentWorkspace = (state) => state.workspace.current.data.solution.solutionId;
const selectScenarioList = (state) => state.scenario.list.data;
Expand All @@ -35,7 +36,7 @@ export function* fetchAllInitialData(action) {
yield call(fetchSolutionByIdData, workspaceId, solutionId);
const scenarioList = yield select(selectScenarioList);
if (scenarioList.length !== 0) {
yield call(fetchScenarioByIdForInitialData, workspaceId, scenarioList[0].id);
yield call(fetchScenarioByIdForInitialData, workspaceId, getFirstScenarioMaster(scenarioList).id);
// Start state polling for running scenarios
for (let i = 0; i < scenarioList.length; ++i) {
if (scenarioList[i].state === SCENARIO_RUN_STATE.RUNNING) {
Expand Down
17 changes: 16 additions & 1 deletion src/views/ScenarioManager/ScenarioManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { WORKSPACE_ID } from '../../config/AppInstance';
import { useTranslation } from 'react-i18next';
import { PERMISSIONS } from '../../services/config/Permissions';
import { PermissionsGate } from '../../components/PermissionsGate';
import { getFirstScenarioMaster } from '../../utils/SortScenarioListUtils';

const useStyles = makeStyles((theme) => ({
root: {
Expand Down Expand Up @@ -37,14 +38,28 @@ const ScenarioManager = (props) => {
const { currentScenario, datasets, deleteScenario, findScenarioById, scenarios, resetCurrentScenario, userId } =
props;

const getScenariolistAfterDelete = (idOfScenarioToDelete) => {
const scenarioListAfterDelete = scenarios
.map((scenario) => {
const newScenario = { ...scenario };
if (newScenario.parentId === idOfScenarioToDelete) {
newScenario.parentId = currentScenario.parentId;
}
return newScenario;
})
.filter((scenario) => scenario.id !== idOfScenarioToDelete);

return scenarioListAfterDelete;
};

function onScenarioDelete(scenarioId) {
const lastScenarioDelete = scenarios.length === 1;
deleteScenario(WORKSPACE_ID, scenarioId);
if (scenarioId === currentScenario.id) {
if (lastScenarioDelete) {
resetCurrentScenario();
} else {
findScenarioById(WORKSPACE_ID, scenarios[0].id);
findScenarioById(WORKSPACE_ID, getFirstScenarioMaster(getScenariolistAfterDelete(scenarioId)).id);
}
}
}
Expand Down

0 comments on commit 5567aa3

Please sign in to comment.