From 535acd3fc3b0dd3528fd25df3fe7bf4dd64e8403 Mon Sep 17 00:00:00 2001 From: kurilova Date: Thu, 9 May 2024 09:51:34 +0000 Subject: [PATCH] Do not remove form control on destroy as it causes error; call system/config on settings open --- modules/ui/src/app/app.component.spec.ts | 5 ++++- modules/ui/src/app/app.component.ts | 1 + .../settings-dropdown/settings-dropdown.component.ts | 6 +----- .../ui/src/app/pages/settings/general-settings.component.ts | 4 ++++ 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/ui/src/app/app.component.spec.ts b/modules/ui/src/app/app.component.spec.ts index 859cc7d64..5f8c8b427 100644 --- a/modules/ui/src/app/app.component.spec.ts +++ b/modules/ui/src/app/app.component.spec.ts @@ -287,14 +287,16 @@ describe('AppComponent', () => { }); })); - it('should update interfaces', () => { + it('should update interfaces and config', () => { fixture.detectChanges(); spyOn(component.settings, 'getSystemInterfaces'); + spyOn(component.settings, 'getSystemConfig'); component.openGeneralSettings(false); expect(component.settings.getSystemInterfaces).toHaveBeenCalled(); + expect(component.settings.getSystemConfig).toHaveBeenCalled(); }); it('should call settingsDrawer open on openSetting', fakeAsync(() => { @@ -650,6 +652,7 @@ class FakeGeneralSettingsComponent { @Output() closeSettingEvent = new EventEmitter(); @Output() reloadInterfacesEvent = new EventEmitter(); getSystemInterfaces = () => {}; + getSystemConfig = () => {}; } @Component({ diff --git a/modules/ui/src/app/app.component.ts b/modules/ui/src/app/app.component.ts index 21605e630..307638e75 100644 --- a/modules/ui/src/app/app.component.ts +++ b/modules/ui/src/app/app.component.ts @@ -172,6 +172,7 @@ export class AppComponent implements OnInit { async openGeneralSettings(openSettingFromToggleBtn: boolean) { this.openedSettingFromToggleBtn = openSettingFromToggleBtn; this.settings.getSystemInterfaces(); + this.settings.getSystemConfig(); await this.settingsDrawer.open(); } diff --git a/modules/ui/src/app/pages/settings/components/settings-dropdown/settings-dropdown.component.ts b/modules/ui/src/app/pages/settings/components/settings-dropdown/settings-dropdown.component.ts index 8385c2ffe..1fa20d0cb 100644 --- a/modules/ui/src/app/pages/settings/components/settings-dropdown/settings-dropdown.component.ts +++ b/modules/ui/src/app/pages/settings/components/settings-dropdown/settings-dropdown.component.ts @@ -3,7 +3,6 @@ import { Component, inject, Input, - OnDestroy, OnInit, } from '@angular/core'; import { @@ -38,7 +37,7 @@ import { KeyValuePipe, NgForOf, NgIf } from '@angular/common'; ], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class SettingsDropdownComponent implements OnInit, OnDestroy { +export class SettingsDropdownComponent implements OnInit { @Input() key = ''; @Input({ required: true }) controlName = ''; @Input() groupLabel = ''; @@ -55,9 +54,6 @@ export class SettingsDropdownComponent implements OnInit, OnDestroy { this.parentFormGroup.addControl(this.controlName, new FormControl('')); this.parentFormGroup.addControl(this.controlName, new FormControl('')); } - ngOnDestroy() { - this.parentFormGroup.removeControl(this.controlName); - } get control(): FormControl { return this.parentFormGroup.get(this.controlName) as FormControl; diff --git a/modules/ui/src/app/pages/settings/general-settings.component.ts b/modules/ui/src/app/pages/settings/general-settings.component.ts index f9fe7eeeb..c4244e4c4 100644 --- a/modules/ui/src/app/pages/settings/general-settings.component.ts +++ b/modules/ui/src/app/pages/settings/general-settings.component.ts @@ -172,6 +172,10 @@ export class GeneralSettingsComponent implements OnInit, OnDestroy { this.hideLoading(); } + getSystemConfig(): void { + this.settingsStore.getSystemConfig(); + } + private showLoading() { this.loaderService.setLoading(true); }