diff --git a/app/assets/javascripts/work_items/components/shared/work_item_sidebar_dropdown_widget_with_edit.vue b/app/assets/javascripts/work_items/components/shared/work_item_sidebar_dropdown_widget_with_edit.vue index abb2734262e931b3425c5fdea0054d5c99859f65..7aef8757084773a84fc0989f501d309f3dfb491f 100644 --- a/app/assets/javascripts/work_items/components/shared/work_item_sidebar_dropdown_widget_with_edit.vue +++ b/app/assets/javascripts/work_items/components/shared/work_item_sidebar_dropdown_widget_with_edit.vue @@ -3,7 +3,7 @@ import { GlButton, GlForm, GlLoadingIcon, GlCollapsibleListbox } from '@gitlab/u import { isEmpty, debounce } from 'lodash'; import { DEFAULT_DEBOUNCE_AND_THROTTLE_MS } from '~/lib/utils/constants'; -import { s__, __ } from '~/locale'; +import { s__, __, sprintf } from '~/locale'; export default { i18n: { @@ -116,6 +116,11 @@ export default { resetButton() { return this.resetButtonLabel || this.$options.i18n.resetButtonText; }, + toggleText() { + return !this.toggleDropdownText && !this.hasValue + ? sprintf(__(`No %{label}`), { label: this.dropdownLabel.toLowerCase() }) + : this.toggleDropdownText; + }, }, watch: { itemValue: { @@ -212,7 +217,7 @@ export default { :infinite-scroll="infiniteScroll" :searching="loading" :header-text="headerText" - :toggle-text="toggleDropdownText" + :toggle-text="toggleText" :no-results-text="$options.i18n.noMatchingResults" :items="listItems" :selected="localSelectedItem" diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 2b75a297e1e13be12a04eab02d2f66a584f1410b..6e4b102888dad65a7ab62d3a38cd0b23555eeed0 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -33842,6 +33842,9 @@ msgstr "" msgid "No %{header} for this request." msgstr "" +msgid "No %{label}" +msgstr "" + msgid "No %{providerTitle} repositories found" msgstr "" diff --git a/spec/frontend/work_items/components/shared/work_item_sidebar_dropdown_widget_with_edit_spec.js b/spec/frontend/work_items/components/shared/work_item_sidebar_dropdown_widget_with_edit_spec.js index 3278ef657182da14ae1b6a3fc271c03ab3bacb2f..673d3cc95507df60ef37ca3a43e765a1533c77b0 100644 --- a/spec/frontend/work_items/components/shared/work_item_sidebar_dropdown_widget_with_edit_spec.js +++ b/spec/frontend/work_items/components/shared/work_item_sidebar_dropdown_widget_with_edit_spec.js @@ -220,5 +220,13 @@ describe('WorkItemSidebarDropdownWidgetWithEdit component', () => { expect(findCollapsibleListbox().props('infiniteScrollLoading')).toBe(true); }); + + it('displays default dropdown label when no value is selected', async () => { + createComponent({ isEditing: true }); + + await nextTick(); + + expect(findCollapsibleListbox().props('toggleText')).toBe('No iteration'); + }); }); });