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 14276cac23a4714ce9fa351fbf2c8fdcfa7af64d..fe1d73e9b94dbd672ac6f1926f8b4f3bcdebfa70 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 3896d4b92ce754c761e19633e38ba87653fc6a30..e66b6071511ac057ef5c6983bf9522d41b2b5a52 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -33827,6 +33827,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'); + }); }); });