diff options
| author | Phil Hughes <me@iamphill.com> | 2018-10-23 09:56:57 +0000 | 
|---|---|---|
| committer | Phil Hughes <me@iamphill.com> | 2018-10-23 09:56:57 +0000 | 
| commit | 1ad3ce921fdba0533da0d4bd826e5ff6abdc78b2 (patch) | |
| tree | efe96b6a842280670bfe3cf93e63792eda713aa1 | |
| parent | c1d821ed49f7d51a364938a4be38d3693b641fb9 (diff) | |
| parent | 5d8036a4b6bfdcb85d276a3e2b5d3c5f49117140 (diff) | |
| download | gitlab-ce-1ad3ce921fdba0533da0d4bd826e5ff6abdc78b2.tar.gz | |
Merge branch '52059-filter-milestone-by-none-any' into 'master'
Add `Any` option to milestone filter
See merge request gitlab-org/gitlab-ce!22351
6 files changed, 39 insertions, 8 deletions
diff --git a/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js b/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js index c4f0c41d3a8..b70125c80ca 100644 --- a/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js +++ b/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js @@ -68,6 +68,11 @@ export const conditions = [      value: 'none',    },    { +    url: 'milestone_title=Any+Milestone', +    tokenKey: 'milestone', +    value: 'any', +  }, +  {      url: 'milestone_title=%23upcoming',      tokenKey: 'milestone',      value: 'upcoming', diff --git a/app/views/shared/issuable/_search_bar.html.haml b/app/views/shared/issuable/_search_bar.html.haml index c4d177361e7..cb45928d9a5 100644 --- a/app/views/shared/issuable/_search_bar.html.haml +++ b/app/views/shared/issuable/_search_bar.html.haml @@ -36,7 +36,7 @@                    %button.btn.btn-link{ type: 'button' }                      = sprite_icon('search')                      %span -                      Press Enter or click to search +                      = _('Press Enter or click to search')                %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } }                  %li.filter-dropdown-item                    %button.btn.btn-link{ type: 'button' } @@ -61,7 +61,7 @@                %ul{ data: { dropdown: true } }                  %li.filter-dropdown-item{ data: { value: 'none' } }                    %button.btn.btn-link{ type: 'button' } -                    No Assignee +                    = _('No Assignee')                  %li.divider.droplab-item-ignore                  - if current_user                    = render 'shared/issuable/user_dropdown_item', @@ -74,13 +74,16 @@                %ul{ data: { dropdown: true } }                  %li.filter-dropdown-item{ data: { value: 'none' } }                    %button.btn.btn-link{ type: 'button' } -                    No Milestone +                    = _('None') +                %li.filter-dropdown-item{ data: { value: 'any' } } +                  %button.btn.btn-link{ type: 'button' } +                    = _('Any')                  %li.filter-dropdown-item{ data: { value: 'upcoming' } }                    %button.btn.btn-link{ type: 'button' } -                    Upcoming +                    = _('Upcoming')                  %li.filter-dropdown-item{ 'data-value' => 'started' }                    %button.btn.btn-link{ type: 'button' } -                    Started +                    = _('Started')                  %li.divider.droplab-item-ignore                %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } }                  %li.filter-dropdown-item @@ -90,7 +93,7 @@                %ul{ data: { dropdown: true } }                  %li.filter-dropdown-item{ data: { value: 'none' } }                    %button.btn.btn-link{ type: 'button' } -                    No Label +                    = _('No Label')                  %li.divider.droplab-item-ignore                %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } }                  %li.filter-dropdown-item diff --git a/changelogs/unreleased/52059-filter-milestone-by-none-any.yml b/changelogs/unreleased/52059-filter-milestone-by-none-any.yml new file mode 100644 index 00000000000..5511440c0b9 --- /dev/null +++ b/changelogs/unreleased/52059-filter-milestone-by-none-any.yml @@ -0,0 +1,5 @@ +--- +title: Added `Any` option to milestones filter +merge_request: 22351 +author: Heinrich Lee Yu +type: added diff --git a/doc/user/project/milestones/index.md b/doc/user/project/milestones/index.md index 632253db94c..3cf46231a9d 100644 --- a/doc/user/project/milestones/index.md +++ b/doc/user/project/milestones/index.md @@ -68,7 +68,8 @@ From [project issue boards](../issue_board.md), you can filter by both group mil  When filtering by milestone, in addition to choosing a specific project milestone or group milestone, you can choose a special milestone filter. -- **No Milestone**: Show issues or merge requests with no assigned milestone. +- **None**: Show issues or merge requests with no assigned milestone. +- **Any**: Show issues or merge requests that have an assigned milestone.  - **Upcoming**: Show issues or merge requests that have been assigned the open milestone that has the next upcoming due date (i.e. nearest due date in the future).  - **Started**: Show issues or merge requests that have an assigned milestone with a start date that is before today. diff --git a/locale/gitlab.pot b/locale/gitlab.pot index d5e8123bf6b..40d45d0dee9 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -4027,6 +4027,12 @@ msgstr ""  msgid "No"  msgstr "" +msgid "No Assignee" +msgstr "" + +msgid "No Label" +msgstr "" +  msgid "No assignee"  msgstr "" @@ -6594,6 +6600,9 @@ msgstr ""  msgid "Up to date"  msgstr "" +msgid "Upcoming" +msgstr "" +  msgid "Update"  msgstr "" diff --git a/spec/features/issues/filtered_search/dropdown_milestone_spec.rb b/spec/features/issues/filtered_search/dropdown_milestone_spec.rb index f76d30056da..ef5801e61e8 100644 --- a/spec/features/issues/filtered_search/dropdown_milestone_spec.rb +++ b/spec/features/issues/filtered_search/dropdown_milestone_spec.rb @@ -189,13 +189,21 @@ describe 'Dropdown milestone', :js do      end      it 'selects `no milestone`' do -      click_static_milestone('No Milestone') +      click_static_milestone('None')        expect(page).to have_css(js_dropdown_milestone, visible: false)        expect_tokens([milestone_token('none', false)])        expect_filtered_search_input_empty      end +    it 'selects `any milestone`' do +      click_static_milestone('Any') + +      expect(page).to have_css(js_dropdown_milestone, visible: false) +      expect_tokens([milestone_token('any', false)]) +      expect_filtered_search_input_empty +    end +      it 'selects `upcoming milestone`' do        click_static_milestone('Upcoming')  | 
