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;