From 6d21f14ac9b4d1e4e86df49ec7f6a1494778939b Mon Sep 17 00:00:00 2001 From: Volha Mardvilka Date: Wed, 9 Apr 2025 09:37:40 +0000 Subject: [PATCH] 406210966: (fix) make save button enable if any setting form field changed --- .../pages/general-settings/general-settings.component.html | 3 +-- .../general-settings/general-settings.component.spec.ts | 2 +- .../general-settings/only-different-values.validator.ts | 6 +++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/ui/src/app/pages/general-settings/general-settings.component.html b/modules/ui/src/app/pages/general-settings/general-settings.component.html index 0716c617f..d31cea4a0 100644 --- a/modules/ui/src/app/pages/general-settings/general-settings.component.html +++ b/modules/ui/src/app/pages/general-settings/general-settings.component.html @@ -107,9 +107,8 @@ color="primary" (click)="saveSetting()" [disabled]=" - !isFormValues || - vm.isLessThanOneInterface || settingsDisable || + (vm.isSubmitting && isFormError) || (settingForm.pristine && analyticsForm.pristine) "> Save diff --git a/modules/ui/src/app/pages/general-settings/general-settings.component.spec.ts b/modules/ui/src/app/pages/general-settings/general-settings.component.spec.ts index 4a8a0b181..ceef25c51 100644 --- a/modules/ui/src/app/pages/general-settings/general-settings.component.spec.ts +++ b/modules/ui/src/app/pages/general-settings/general-settings.component.spec.ts @@ -170,7 +170,7 @@ describe('GeneralSettingsComponent', () => { }); it('should have form error if form has the same value', () => { - const mockSameValue = 'sameValue'; + const mockSameValue = { key: 'sameValue' }; component.deviceControl.setValue(mockSameValue); component.internetControl.setValue(mockSameValue); diff --git a/modules/ui/src/app/pages/general-settings/only-different-values.validator.ts b/modules/ui/src/app/pages/general-settings/only-different-values.validator.ts index a153fb0ef..735272742 100644 --- a/modules/ui/src/app/pages/general-settings/only-different-values.validator.ts +++ b/modules/ui/src/app/pages/general-settings/only-different-values.validator.ts @@ -40,7 +40,11 @@ export class OnlyDifferentValuesValidator { return null; } - if (deviceControlValue.key === internetControlValue.key) { + if ( + deviceControlValue.key === internetControlValue.key && + deviceControlValue.key && + internetControlValue.key + ) { return { hasSameValues: true }; } return null;