From 603f0c2b60953e073b3810259e88506a20620d84 Mon Sep 17 00:00:00 2001 From: Mathieu Suen Date: Fri, 15 Sep 2023 09:30:57 +0200 Subject: [PATCH] SONAR-20392 Do not show save when setting is set to initial state in GitHub Authentication page --- .../components/authentication/hook/useConfiguration.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/sonar-web/src/main/js/apps/settings/components/authentication/hook/useConfiguration.ts b/server/sonar-web/src/main/js/apps/settings/components/authentication/hook/useConfiguration.ts index 6070c0401fe..8cb7f0d31f5 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/authentication/hook/useConfiguration.ts +++ b/server/sonar-web/src/main/js/apps/settings/components/authentication/hook/useConfiguration.ts @@ -21,7 +21,7 @@ import { UseMutationResult } from '@tanstack/react-query'; import { every, isEmpty, keyBy, update } from 'lodash'; import { useCallback, useEffect, useState } from 'react'; import { useGetValuesQuery, useResetSettingsMutation } from '../../../../../queries/settings'; -import { ExtendedSettingDefinition } from '../../../../../types/settings'; +import { ExtendedSettingDefinition, SettingType } from '../../../../../types/settings'; import { Dict } from '../../../../../types/types'; export type SettingValue = @@ -119,7 +119,13 @@ export default function useConfiguration( const isValueChange = useCallback( (setting: string) => { const value = values[setting]; - return value && value.newValue !== undefined && (value.value ?? '') !== value.newValue; + if (!value) { + return false; + } + if (value.definition.type === SettingType.BOOLEAN) { + return value.newValue !== undefined && (value.value === 'true') !== value.newValue; + } + return value.newValue !== undefined && (value.value ?? '') !== value.newValue; }, [values], ); -- 2.39.5