From b4b42eea0fe339be2b858ad3decf193a47228473 Mon Sep 17 00:00:00 2001 From: Sascha Eggenberger Date: Thu, 16 Jan 2025 11:54:00 +0100 Subject: [PATCH] Integration settings: Migrate section to SettingsSection --- .../edit/components/integration_form.vue | 5 ++-- .../components/integration_forms/section.vue | 22 ++++++++++------ .../components/settings/settings_section.vue | 26 ++++++++++++++++--- .../settings/integrations/_form.html.haml | 3 ++- .../integration_forms/section_spec.js | 2 ++ 5 files changed, 42 insertions(+), 16 deletions(-) diff --git a/app/assets/javascripts/integrations/edit/components/integration_form.vue b/app/assets/javascripts/integrations/edit/components/integration_form.vue index a296c279a524a4..1405f61ba68499 100644 --- a/app/assets/javascripts/integrations/edit/components/integration_form.vue +++ b/app/assets/javascripts/integrations/edit/components/integration_form.vue @@ -196,7 +196,7 @@ export default { diff --git a/app/assets/javascripts/integrations/edit/components/integration_forms/section.vue b/app/assets/javascripts/integrations/edit/components/integration_forms/section.vue index 7f0f167919a7cf..79bd7e93cf9275 100644 --- a/app/assets/javascripts/integrations/edit/components/integration_forms/section.vue +++ b/app/assets/javascripts/integrations/edit/components/integration_forms/section.vue @@ -4,11 +4,13 @@ import { GlBadge } from '@gitlab/ui'; import { mapGetters } from 'vuex'; import SafeHtml from '~/vue_shared/directives/safe_html'; import { integrationFormSectionComponents, billingPlanNames } from '~/integrations/constants'; +import SettingsSection from '~/vue_shared/components/settings/settings_section.vue'; export default { name: 'IntegrationFormSection', components: { GlBadge, + SettingsSection, IntegrationSectionConfiguration: () => import( /* webpackChunkName: 'integrationSectionConfiguration' */ '~/integrations/edit/components/sections/configuration.vue' @@ -76,22 +78,26 @@ export default { }; diff --git a/app/assets/javascripts/vue_shared/components/settings/settings_section.vue b/app/assets/javascripts/vue_shared/components/settings/settings_section.vue index 65412fafc792b6..fed97885e1804f 100644 --- a/app/assets/javascripts/vue_shared/components/settings/settings_section.vue +++ b/app/assets/javascripts/vue_shared/components/settings/settings_section.vue @@ -6,25 +6,43 @@ export default { required: false, default: '', }, - description: { + headingClasses: { type: String, required: false, default: null, }, + description: { + type: String, + required: false, + default: '', + }, + }, + computed: { + hasHeading() { + return this.$scopedSlots.heading || this.heading; + }, + hasDescription() { + return this.$scopedSlots.description || this.description; + }, }, };