diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-01 15:09:17 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-01 15:09:17 +0300 |
commit | 7b2635a55d4e87431bae752bd44c6fd2d2657b03 (patch) | |
tree | 88182aabb51a167e10f6c3a6d404b2247613047f /app/assets/javascripts/boards | |
parent | a7704bf16a51a8c993215a69db17232e3f246b8e (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/boards')
5 files changed, 14 insertions, 2 deletions
diff --git a/app/assets/javascripts/boards/components/board_assignee_dropdown.vue b/app/assets/javascripts/boards/components/board_assignee_dropdown.vue index 231cde0d24f..b4a9d34e738 100644 --- a/app/assets/javascripts/boards/components/board_assignee_dropdown.vue +++ b/app/assets/javascripts/boards/components/board_assignee_dropdown.vue @@ -1,5 +1,5 @@ <script> -import { mapActions, mapGetters } from 'vuex'; +import { mapActions, mapGetters, mapState } from 'vuex'; import { cloneDeep } from 'lodash'; import { GlDropdownItem, @@ -75,6 +75,7 @@ export default { }, computed: { ...mapGetters(['activeIssue']), + ...mapState(['isSettingAssignees']), assigneeText() { return n__('Assignee', '%d Assignees', this.selected.length); }, @@ -131,7 +132,7 @@ export default { </script> <template> - <board-editable-item :title="assigneeText" @close="saveAssignees"> + <board-editable-item :loading="isSettingAssignees" :title="assigneeText" @close="saveAssignees"> <template #collapsed> <issuable-assignees :users="selected" @assign-self="assignSelf" /> </template> diff --git a/app/assets/javascripts/boards/stores/actions.js b/app/assets/javascripts/boards/stores/actions.js index 2b6d606c56e..fd5049ef9bc 100644 --- a/app/assets/javascripts/boards/stores/actions.js +++ b/app/assets/javascripts/boards/stores/actions.js @@ -320,6 +320,8 @@ export default { }, setAssignees: ({ commit, getters }, assigneeUsernames) => { + commit(types.SET_ASSIGNEE_LOADING, true); + return gqlClient .mutate({ mutation: updateAssignees, @@ -339,6 +341,9 @@ export default { }); return nodes; + }) + .finally(() => { + commit(types.SET_ASSIGNEE_LOADING, false); }); }, diff --git a/app/assets/javascripts/boards/stores/mutation_types.js b/app/assets/javascripts/boards/stores/mutation_types.js index 3a57cb9b5e1..2b2c2bee51c 100644 --- a/app/assets/javascripts/boards/stores/mutation_types.js +++ b/app/assets/javascripts/boards/stores/mutation_types.js @@ -34,4 +34,5 @@ export const SET_CURRENT_PAGE = 'SET_CURRENT_PAGE'; export const TOGGLE_EMPTY_STATE = 'TOGGLE_EMPTY_STATE'; export const SET_ACTIVE_ID = 'SET_ACTIVE_ID'; export const UPDATE_ISSUE_BY_ID = 'UPDATE_ISSUE_BY_ID'; +export const SET_ASSIGNEE_LOADING = 'SET_ASSIGNEE_LOADING'; export const RESET_ISSUES = 'RESET_ISSUES'; diff --git a/app/assets/javascripts/boards/stores/mutations.js b/app/assets/javascripts/boards/stores/mutations.js index bb083158c8f..efe6c2042af 100644 --- a/app/assets/javascripts/boards/stores/mutations.js +++ b/app/assets/javascripts/boards/stores/mutations.js @@ -143,6 +143,10 @@ export default { Vue.set(state.issues[issueId], prop, value); }, + [mutationTypes.SET_ASSIGNEE_LOADING](state, isLoading) { + state.isSettingAssignees = isLoading; + }, + [mutationTypes.REQUEST_ADD_ISSUE]: () => { notImplemented(); }, diff --git a/app/assets/javascripts/boards/stores/state.js b/app/assets/javascripts/boards/stores/state.js index b91c09f8051..6f29115aebd 100644 --- a/app/assets/javascripts/boards/stores/state.js +++ b/app/assets/javascripts/boards/stores/state.js @@ -11,6 +11,7 @@ export default () => ({ boardLists: {}, listsFlags: {}, issuesByListId: {}, + isSettingAssignees: false, pageInfoByListId: {}, issues: {}, filterParams: {}, |