diff --git a/app/assets/javascripts/boards/boards_bundle.js.es6 b/app/assets/javascripts/boards/boards_bundle.js.es6 index 4ac91786762cf57b6fe790648ffe52655f75614e..529ea9aec5bc7e8d994f6fd6343f3aa666e2f66b 100644 --- a/app/assets/javascripts/boards/boards_bundle.js.es6 +++ b/app/assets/javascripts/boards/boards_bundle.js.es6 @@ -71,10 +71,6 @@ $(() => { Store.addBlankState(); this.loading = false; - - if (this.state.lists.length > 0) { - ModalStore.store.selectedList = this.state.lists[0]; - } }); } }); diff --git a/app/assets/javascripts/boards/components/modal/lists_dropdown.js.es6 b/app/assets/javascripts/boards/components/modal/lists_dropdown.js.es6 index 96f12da37530e7f6233f500b8d1c17df3d3a86a3..3c05120a2da64faa276f4dd37f65569187929fa5 100644 --- a/app/assets/javascripts/boards/components/modal/lists_dropdown.js.es6 +++ b/app/assets/javascripts/boards/components/modal/lists_dropdown.js.es6 @@ -11,9 +11,12 @@ }, computed: { selected() { - return this.modal.selectedList; + return this.modal.selectedList || this.state.lists[0]; }, }, + destroyed() { + this.modal.selectedList = null; + }, template: ` <div class="dropdown inline"> <button diff --git a/app/assets/javascripts/boards/stores/modal_store.js.es6 b/app/assets/javascripts/boards/stores/modal_store.js.es6 index fa46b6135e04f43fad1fdd2f8cb1187bf51caac8..73518b42b8445af678019b5456f777a6173a4d08 100644 --- a/app/assets/javascripts/boards/stores/modal_store.js.es6 +++ b/app/assets/javascripts/boards/stores/modal_store.js.es6 @@ -11,7 +11,7 @@ selectedIssues: [], showAddIssuesModal: false, activeTab: 'all', - selectedList: {}, + selectedList: null, searchTerm: '', loading: false, loadingNewPage: false, diff --git a/spec/features/boards/add_issues_modal_spec.rb b/spec/features/boards/add_issues_modal_spec.rb index b953480cec2b13eec5dd3de9d453b60405b6acda..2875fc1e533dad988f9ae08e83cea81d6d7c9108 100644 --- a/spec/features/boards/add_issues_modal_spec.rb +++ b/spec/features/boards/add_issues_modal_spec.rb @@ -76,6 +76,27 @@ describe 'Issue Boards add issue modal', :feature, :js do end end + context 'list dropdown' do + it 'resets after deleting list' do + page.within('.add-issues-modal') do + expect(find('.add-issues-footer')).to have_button(planning.title) + + click_button 'Cancel' + end + + first('.board-delete').click + + click_button('Add issues') + + wait_for_vue_resource + + page.within('.add-issues-modal') do + expect(find('.add-issues-footer')).not_to have_button(planning.title) + expect(find('.add-issues-footer')).to have_button(label.title) + end + end + end + context 'search' do it 'returns issues' do page.within('.add-issues-modal') do