diff options
author | Jacob Schatz <jschatz@gitlab.com> | 2016-06-10 15:23:39 +0000 |
---|---|---|
committer | Jacob Schatz <jschatz@gitlab.com> | 2016-06-10 15:23:39 +0000 |
commit | 7aa67688127a4ff4553ae6f8ff66e9757275ea39 (patch) | |
tree | ff2a6e85f6fa7782c253bcada4af160e83e47d9e | |
parent | 133d5c1c64b9d9265736a8b6277fcd73730c6612 (diff) | |
parent | d301791c2aa101b68f9b5abda24f20dc24a85830 (diff) | |
download | gitlab-ce-7aa67688127a4ff4553ae6f8ff66e9757275ea39.tar.gz |
Merge branch 'label-filter-fix' into 'master'
Fixed issue where label filtering didnt work
## What does this MR do?
The filterable option was missing which meant labels in the dropdown couldn't be filtered. This fixes that.
## What are the relevant issue numbers?
Closes #18375
See merge request !4556
-rw-r--r-- | app/assets/javascripts/labels_select.js.coffee | 2 | ||||
-rw-r--r-- | app/helpers/dropdowns_helper.rb | 4 | ||||
-rw-r--r-- | app/views/shared/issuable/_label_page_default.html.haml | 2 | ||||
-rw-r--r-- | spec/features/issues/filter_by_labels_spec.rb | 15 |
4 files changed, 19 insertions, 4 deletions
diff --git a/app/assets/javascripts/labels_select.js.coffee b/app/assets/javascripts/labels_select.js.coffee index ec74dfaae1a..6b86b51589c 100644 --- a/app/assets/javascripts/labels_select.js.coffee +++ b/app/assets/javascripts/labels_select.js.coffee @@ -254,7 +254,7 @@ class @LabelsSelect search: fields: ['title'] selectable: true - + filterable: true toggleLabel: (selected, el) -> selected_labels = $('.js-label-select').siblings('.dropdown-menu-labels').find('.is-active') diff --git a/app/helpers/dropdowns_helper.rb b/app/helpers/dropdowns_helper.rb index 14697f774cc..6b617e1730a 100644 --- a/app/helpers/dropdowns_helper.rb +++ b/app/helpers/dropdowns_helper.rb @@ -67,9 +67,9 @@ module DropdownsHelper end end - def dropdown_filter(placeholder) + def dropdown_filter(placeholder, search_id: nil) content_tag :div, class: "dropdown-input" do - filter_output = search_field_tag nil, nil, class: "dropdown-input-field", placeholder: placeholder + filter_output = search_field_tag search_id, nil, class: "dropdown-input-field", placeholder: placeholder filter_output << icon('search', class: "dropdown-input-search") filter_output << icon('times', class: "dropdown-input-clear js-dropdown-input-clear", role: "button") diff --git a/app/views/shared/issuable/_label_page_default.html.haml b/app/views/shared/issuable/_label_page_default.html.haml index 4e280c371ac..0acb8253139 100644 --- a/app/views/shared/issuable/_label_page_default.html.haml +++ b/app/views/shared/issuable/_label_page_default.html.haml @@ -4,7 +4,7 @@ - filter_placeholder = local_assigns.fetch(:filter_placeholder, 'Search labels') .dropdown-page-one = dropdown_title(title) - = dropdown_filter(filter_placeholder) + = dropdown_filter(filter_placeholder, search_id: "label-name") = dropdown_content - if @project && show_footer = dropdown_footer do diff --git a/spec/features/issues/filter_by_labels_spec.rb b/spec/features/issues/filter_by_labels_spec.rb index 0ec8b6b180a..16c619c9288 100644 --- a/spec/features/issues/filter_by_labels_spec.rb +++ b/spec/features/issues/filter_by_labels_spec.rb @@ -199,4 +199,19 @@ feature 'Issue filtering by Labels', feature: true do end end end + + context 'dropdown filtering', js: true do + it 'should filter by label name' do + page.within '.labels-filter' do + click_button 'Label' + wait_for_ajax + fill_in 'label-name', with: 'bug' + + page.within '.dropdown-content' do + expect(page).not_to have_content 'enhancement' + expect(page).to have_content 'bug' + end + end + end + end end |