From 87fed754f36ec58e8c12dbc6121b1ddfda016f5c Mon Sep 17 00:00:00 2001 From: bendtherules Date: Sat, 20 Oct 2018 15:46:35 +0530 Subject: [PATCH] Add aggregated status --- src/app/app.tsx | 3 +++ src/core/store/model.ts | 5 +++++ src/core/store/reducers.ts | 34 ++++++++++++++++++++++++++++++---- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/app/app.tsx b/src/app/app.tsx index 96b28df..aae2e90 100644 --- a/src/app/app.tsx +++ b/src/app/app.tsx @@ -57,6 +57,9 @@ export class App extends React.Component = ( // all the cases handled. switch (action.type) { case ActionNames.InitUserName: - return { ...state, username: action.payload.userName }; + return { ...initialState, username: action.payload.userName }; case ActionNames.InitRepo: { const clonedAppState = new Map(state.repoStateMap); @@ -44,6 +64,9 @@ export const reducer: Reducer = ( noCommits: { status: FilterStatus.waiting, }, + aggregated: { + status: FilterStatus.waiting, + }, }, }); return { ...state, repoStateMap: clonedAppState }; @@ -54,14 +77,17 @@ export const reducer: Reducer = ( JSON.stringify(clonedAppState.get(action.payload.repoName)) ) as | { - filterState: RepoFilterState; - } + filterState: RepoFilterState; + } | undefined; if (clonedRepoState !== undefined) { clonedRepoState.filterState[action.payload.filterStep] = action.payload.filterState; + clonedRepoState.filterState[FilterSteps.aggregated].status = + calculateAggregateStatus(clonedRepoState.filterState); + clonedAppState.set(action.payload.repoName, clonedRepoState); return { ...state, repoStateMap: clonedAppState }; } else {