Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | 2x | <script> import { GlCollapsibleListbox, GlLink } from '@gitlab/ui'; // eslint-disable-next-line no-restricted-imports import { mapState } from 'vuex'; import { s__ } from '~/locale'; import { defaultIntegrationLevel, overrideDropdownDescriptions } from '~/integrations/constants'; const dropdownOptions = [ { value: 'default', text: s__('Integrations|Use default settings'), }, { value: 'custom', text: s__('Integrations|Use custom settings'), }, ]; export default { dropdownOptions, name: 'OverrideDropdown', components: { GlCollapsibleListbox, GlLink, }, props: { inheritFromId: { type: Number, required: true, }, learnMorePath: { type: String, required: false, default: null, }, override: { type: Boolean, required: true, }, }, data() { const selectedValue = this.override ? 'custom' : 'default'; return { selectedValue, selectedOption: dropdownOptions.find((x) => x.value === selectedValue), }; }, computed: { ...mapState(['defaultState']), description() { const level = this.defaultState.integrationLevel; return ( overrideDropdownDescriptions[level] || overrideDropdownDescriptions[defaultIntegrationLevel] ); }, }, methods: { onSelect(value) { this.selectedValue = value; this.selectedOption = dropdownOptions.find((item) => item.value === value); this.$emit('change', value === 'custom'); }, }, }; </script> <template> <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 >{{ 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-collapsible-listbox v-model="selectedValue" :toggle-text="selectedOption.text" :items="$options.dropdownOptions" @select="onSelect" /> </div> </template> |