diff options
author | Phil Hughes <me@iamphill.com> | 2018-05-30 13:31:15 +0100 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2018-05-30 13:31:15 +0100 |
commit | 3270e140772319f74ede743c61a94af84a850b97 (patch) | |
tree | 0aa6ba5c01c233a34b152a9ca8ac8841a1b7af7b /app/assets/javascripts/ide/stores/modules | |
parent | c9d676c1069e6e88b4eeeea2246cc5706b56f2ab (diff) | |
download | gitlab-ce-3270e140772319f74ede743c61a94af84a850b97.tar.gz |
changed mutation to return new array
this makes the component completly unaware of the store, instead it emits
events to the parent which knows about the store
Diffstat (limited to 'app/assets/javascripts/ide/stores/modules')
-rw-r--r-- | app/assets/javascripts/ide/stores/modules/pipelines/mutations.js | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/app/assets/javascripts/ide/stores/modules/pipelines/mutations.js b/app/assets/javascripts/ide/stores/modules/pipelines/mutations.js index 38459dfbe77..3c50279642b 100644 --- a/app/assets/javascripts/ide/stores/modules/pipelines/mutations.js +++ b/app/assets/javascripts/ide/stores/modules/pipelines/mutations.js @@ -39,20 +39,28 @@ export default { } }, [types.REQUEST_JOBS](state, id) { - const stage = state.stages.find(s => s.id === id); - stage.isLoading = true; + state.stages = state.stages.map(stage => ({ + ...stage, + isLoading: stage.id === id ? true : stage.isLoading, + })); }, [types.RECEIVE_JOBS_ERROR](state, id) { - const stage = state.stages.find(s => s.id === id); - stage.isLoading = false; + state.stages = state.stages.map(stage => ({ + ...stage, + isLoading: stage.id === id ? false : stage.isLoading, + })); }, [types.RECEIVE_JOBS_SUCCESS](state, { id, data }) { - const stage = state.stages.find(s => s.id === id); - stage.isLoading = false; - stage.jobs = data.latest_statuses.map(normalizeJob); + state.stages = state.stages.map(stage => ({ + ...stage, + isLoading: stage.id === id ? false : stage.isLoading, + jobs: data.latest_statuses.map(normalizeJob), + })); }, [types.TOGGLE_STAGE_COLLAPSE](state, id) { - const stage = state.stages.find(s => s.id === id); - stage.isCollapsed = !stage.isCollapsed; + state.stages = state.stages.map(stage => ({ + ...stage, + isCollapsed: stage.id === id ? !stage.isCollapsed : stage.isCollapsed, + })); }, }; |