diff options
Diffstat (limited to 'app/assets/javascripts/integrations/edit/components/override_dropdown.vue')
-rw-r--r-- | app/assets/javascripts/integrations/edit/components/override_dropdown.vue | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/app/assets/javascripts/integrations/edit/components/override_dropdown.vue b/app/assets/javascripts/integrations/edit/components/override_dropdown.vue index accfc26974c..c31dada8d2f 100644 --- a/app/assets/javascripts/integrations/edit/components/override_dropdown.vue +++ b/app/assets/javascripts/integrations/edit/components/override_dropdown.vue @@ -1,6 +1,8 @@ <script> -import { GlNewDropdown, GlNewDropdownItem } from '@gitlab/ui'; +import { mapState } from 'vuex'; +import { GlDropdown, GlDropdownItem, GlLink } from '@gitlab/ui'; import { s__ } from '~/locale'; +import { defaultIntegrationLevel, overrideDropdownDescriptions } from '../constants'; const dropdownOptions = [ { @@ -17,14 +19,20 @@ export default { dropdownOptions, name: 'OverrideDropdown', components: { - GlNewDropdown, - GlNewDropdownItem, + GlDropdown, + GlDropdownItem, + GlLink, }, props: { inheritFromId: { type: Number, required: true, }, + learnMorePath: { + type: String, + required: false, + default: null, + }, override: { type: Boolean, required: true, @@ -35,6 +43,16 @@ export default { selected: dropdownOptions.find(x => x.value === this.override), }; }, + computed: { + ...mapState(['defaultState']), + description() { + const level = this.defaultState.integrationLevel; + + return ( + overrideDropdownDescriptions[level] || overrideDropdownDescriptions[defaultIntegrationLevel] + ); + }, + }, methods: { onClick(option) { this.selected = option; @@ -48,16 +66,21 @@ export default { <div class="gl-display-flex gl-justify-content-space-between gl-align-items-baseline gl-py-4 gl-mt-5 gl-mb-6 gl-border-t-1 gl-border-t-solid gl-border-b-1 gl-border-b-solid gl-border-gray-100" > - <span>{{ s__('Integrations|Default settings are inherited from the instance level.') }}</span> + <span + >{{ description }} + <gl-link v-if="learnMorePath" :href="learnMorePath" target="_blank">{{ + __('Learn more') + }}</gl-link> + </span> <input name="service[inherit_from_id]" :value="override ? '' : inheritFromId" type="hidden" /> - <gl-new-dropdown :text="selected.text"> - <gl-new-dropdown-item + <gl-dropdown :text="selected.text"> + <gl-dropdown-item v-for="option in $options.dropdownOptions" :key="option.value" @click="onClick(option)" > {{ option.text }} - </gl-new-dropdown-item> - </gl-new-dropdown> + </gl-dropdown-item> + </gl-dropdown> </div> </template> |