From 9ca1a641911bf34e3f3342e9bb11a42126fcc6be Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Tue, 27 Feb 2018 17:13:04 +0530 Subject: [PATCH 1/3] Clear "Labels" dropdown search filter after selection --- app/assets/javascripts/labels_select.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/assets/javascripts/labels_select.js b/app/assets/javascripts/labels_select.js index 7151ac05a09..89a246f56cf 100644 --- a/app/assets/javascripts/labels_select.js +++ b/app/assets/javascripts/labels_select.js @@ -242,10 +242,16 @@ export default class LabelsSelect { filterable: true, selected: $dropdown.data('selected') || [], toggleLabel: function(selected, el) { + var $dropdownParent = $dropdown.parent(); + var $dropdownInputField = $dropdownParent.find('.dropdown-input-field'); var isSelected = el !== null ? el.hasClass('is-active') : false; var title = selected.title; var selectedLabels = this.selected; + if ($dropdownInputField.length && $dropdownInputField.val().length) { + $dropdownParent.find('.dropdown-input-clear').trigger('click'); + } + if (selected.id === 0) { this.selected = []; return 'No Label'; From 6952a9b3846542c3be833e77e67e1ae51cfd9e73 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Tue, 27 Feb 2018 17:20:56 +0530 Subject: [PATCH 2/3] Add changelog entry --- .../24774-clear-the-Labels-dropdown-search-filter.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/unreleased/24774-clear-the-Labels-dropdown-search-filter.yml diff --git a/changelogs/unreleased/24774-clear-the-Labels-dropdown-search-filter.yml b/changelogs/unreleased/24774-clear-the-Labels-dropdown-search-filter.yml new file mode 100644 index 00000000000..b909bb2d021 --- /dev/null +++ b/changelogs/unreleased/24774-clear-the-Labels-dropdown-search-filter.yml @@ -0,0 +1,5 @@ +--- +title: Clear the Labels dropdown search filter after a selection is made +merge_request: 17393 +author: Andrew Torres +type: changed From 13a7fde703ea820ce5649bb549aac4f8a3d8b560 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Tue, 27 Feb 2018 20:37:41 +0530 Subject: [PATCH 3/3] Add test for label search behaviour --- spec/features/issues/form_spec.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/spec/features/issues/form_spec.rb b/spec/features/issues/form_spec.rb index c2c4b479a8a..ef6b8edd0ad 100644 --- a/spec/features/issues/form_spec.rb +++ b/spec/features/issues/form_spec.rb @@ -189,6 +189,18 @@ describe 'New/edit issue', :js do expect(find('.js-label-select')).to have_content('Labels') end + it 'clears label search input field when a label is selected' do + click_button 'Labels' + + page.within '.dropdown-menu-labels' do + search_field = find('input[type="search"]') + + search_field.set(label2.title) + click_link label2.title + expect(search_field.value).to eq '' + end + end + it 'correctly updates the selected user when changing assignee' do click_button 'Unassigned'