From 157cb12b51693d70d952b064aa29f6ebe746bfb6 Mon Sep 17 00:00:00 2001 From: Agnes Slota Date: Thu, 14 Aug 2025 10:23:58 +1000 Subject: [PATCH] Add STATUS_ASC and STATUS_DESC to WorkItemSort enum These sorting options will later be used to sort work items by status in ascending or descending order. Changelog: added EE: true --- doc/api/graphql/reference/_index.md | 2 ++ ee/app/models/work_items/widgets/status.rb | 25 +++++++++++++++---- .../ee/types/work_items/sort_enum_spec.rb | 5 ++-- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/doc/api/graphql/reference/_index.md b/doc/api/graphql/reference/_index.md index bfc5d29be92a79..4c79f5f79d8c30 100644 --- a/doc/api/graphql/reference/_index.md +++ b/doc/api/graphql/reference/_index.md @@ -49499,6 +49499,8 @@ Values for sorting work items. | `SEVERITY_DESC` {{< icon name="warning-solid" >}} | **Introduced** in GitLab 17.10. **Status**: Experiment. Severity from more critical to less critical. | | `START_DATE_ASC` {{< icon name="warning-solid" >}} | **Introduced** in GitLab 17.9. **Status**: Experiment. Start date by ascending order. | | `START_DATE_DESC` {{< icon name="warning-solid" >}} | **Introduced** in GitLab 17.9. **Status**: Experiment. Start date by descending order. | +| `STATUS_ASC` {{< icon name="warning-solid" >}} | **Introduced** in GitLab 18.3. **Status**: Experiment. Status by ascending order. | +| `STATUS_DESC` {{< icon name="warning-solid" >}} | **Introduced** in GitLab 18.3. **Status**: Experiment. Status by descending order. | | `TITLE_ASC` | Title by ascending order. | | `TITLE_DESC` | Title by descending order. | | `UPDATED_ASC` | Updated at ascending order. | diff --git a/ee/app/models/work_items/widgets/status.rb b/ee/app/models/work_items/widgets/status.rb index be22edae9101f6..bf152b0d993d2f 100644 --- a/ee/app/models/work_items/widgets/status.rb +++ b/ee/app/models/work_items/widgets/status.rb @@ -3,12 +3,27 @@ module WorkItems module Widgets class Status < Base - def self.quick_action_commands - [:status] - end + class << self + def quick_action_commands + [:status] + end + + def quick_action_params + [:status] + end - def self.quick_action_params - [:status] + def sorting_keys + { + status_asc: { + description: 'Status by ascending order.', + experiment: { milestone: '18.3' } + }, + status_desc: { + description: 'Status by descending order.', + experiment: { milestone: '18.3' } + } + } + end end end end diff --git a/ee/spec/graphql/ee/types/work_items/sort_enum_spec.rb b/ee/spec/graphql/ee/types/work_items/sort_enum_spec.rb index 5e044855c4a722..a70803c629c0c0 100644 --- a/ee/spec/graphql/ee/types/work_items/sort_enum_spec.rb +++ b/ee/spec/graphql/ee/types/work_items/sort_enum_spec.rb @@ -12,9 +12,8 @@ ESCALATION_STATUS_DESC LABEL_PRIORITY_ASC LABEL_PRIORITY_DESC MILESTONE_DUE_ASC MILESTONE_DUE_DESC POPULARITY_ASC POPULARITY_DESC PRIORITY_ASC PRIORITY_DESC RELATIVE_POSITION_ASC SEVERITY_ASC SEVERITY_DESC START_DATE_ASC START_DATE_DESC TITLE_ASC TITLE_DESC UPDATED_ASC UPDATED_DESC - created_asc created_desc updated_asc updated_desc - - BLOCKING_ISSUES_ASC BLOCKING_ISSUES_DESC HEALTH_STATUS_ASC HEALTH_STATUS_DESC WEIGHT_ASC WEIGHT_DESC + created_asc created_desc updated_asc updated_desc BLOCKING_ISSUES_ASC BLOCKING_ISSUES_DESC + HEALTH_STATUS_ASC HEALTH_STATUS_DESC WEIGHT_ASC WEIGHT_DESC STATUS_ASC STATUS_DESC ] ) end -- GitLab