diff options
Diffstat (limited to 'app/assets/javascripts/members/store/mutations.js')
-rw-r--r-- | app/assets/javascripts/members/store/mutations.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/app/assets/javascripts/members/store/mutations.js b/app/assets/javascripts/members/store/mutations.js new file mode 100644 index 00000000000..2415e744290 --- /dev/null +++ b/app/assets/javascripts/members/store/mutations.js @@ -0,0 +1,48 @@ +import Vue from 'vue'; +import { s__ } from '~/locale'; +import * as types from './mutation_types'; +import { findMember } from './utils'; + +export default { + [types.RECEIVE_MEMBER_ROLE_SUCCESS](state, { memberId, accessLevel }) { + const member = findMember(state, memberId); + + if (!member) { + return; + } + + Vue.set(member, 'accessLevel', accessLevel); + }, + [types.RECEIVE_MEMBER_ROLE_ERROR](state) { + state.errorMessage = s__( + "Members|An error occurred while updating the member's role, please try again.", + ); + state.showError = true; + }, + [types.RECEIVE_MEMBER_EXPIRATION_SUCCESS](state, { memberId, expiresAt }) { + const member = findMember(state, memberId); + + if (!member) { + return; + } + + Vue.set(member, 'expiresAt', expiresAt); + }, + [types.RECEIVE_MEMBER_EXPIRATION_ERROR](state) { + state.errorMessage = s__( + "Members|An error occurred while updating the member's expiration date, please try again.", + ); + state.showError = true; + }, + [types.HIDE_ERROR](state) { + state.showError = false; + state.errorMessage = ''; + }, + [types.SHOW_REMOVE_GROUP_LINK_MODAL](state, groupLink) { + state.removeGroupLinkModalVisible = true; + state.groupLinkToRemove = groupLink; + }, + [types.HIDE_REMOVE_GROUP_LINK_MODAL](state) { + state.removeGroupLinkModalVisible = false; + }, +}; |