diff options
Diffstat (limited to 'app/assets/javascripts/releases/stores/modules/index/mutations.js')
-rw-r--r-- | app/assets/javascripts/releases/stores/modules/index/mutations.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/app/assets/javascripts/releases/stores/modules/index/mutations.js b/app/assets/javascripts/releases/stores/modules/index/mutations.js new file mode 100644 index 00000000000..e1aaa2e2a19 --- /dev/null +++ b/app/assets/javascripts/releases/stores/modules/index/mutations.js @@ -0,0 +1,46 @@ +import * as types from './mutation_types'; + +export default { + /** + * Sets isLoading to true while the request is being made. + * @param {Object} state + */ + [types.REQUEST_RELEASES](state) { + state.isLoading = true; + }, + + /** + * Sets isLoading to false. + * Sets hasError to false. + * Sets the received data + * Sets the received pagination information + * @param {Object} state + * @param {Object} resp + */ + [types.RECEIVE_RELEASES_SUCCESS](state, { data, restPageInfo, graphQlPageInfo }) { + state.hasError = false; + state.isLoading = false; + state.releases = data; + state.restPageInfo = restPageInfo; + state.graphQlPageInfo = graphQlPageInfo; + }, + + /** + * Sets isLoading to false. + * Sets hasError to true. + * Resets the data + * @param {Object} state + * @param {Object} data + */ + [types.RECEIVE_RELEASES_ERROR](state) { + state.isLoading = false; + state.releases = []; + state.hasError = true; + state.restPageInfo = {}; + state.graphQlPageInfo = {}; + }, + + [types.SET_SORTING](state, sorting) { + state.sorting = { ...state.sorting, ...sorting }; + }, +}; |