diff --git a/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts b/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts index 3abce3d90..a306d0503 100644 --- a/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts +++ b/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts @@ -219,7 +219,10 @@ export class RiskAssessmentComponent saveProfileClicked(profile: Profile, selectedProfile: Profile | null): void { this.liveAnnouncer.clear(); if (!selectedProfile) { - this.saveProfile(profile, this.store.setFocusOnCreateButton); + this.saveProfile(profile, () => { + this.store.setFocusOnCreateButton(); + this.store.scrollToSelectedProfile(); + }); } else if ( this.compareProfiles(profile, selectedProfile) || this.isCopyProfile diff --git a/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.spec.ts b/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.spec.ts index 25c8e841c..c7fb47741 100644 --- a/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.spec.ts +++ b/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.spec.ts @@ -197,7 +197,7 @@ describe('RiskAssessmentStore', () => { })); }); - describe('setFocusOnSelectedProfile', () => { + describe('with selected profile', () => { const container = document.createElement('div') as HTMLElement; container.classList.add('entity-list'); const inner = document.createElement('div') as HTMLElement; @@ -205,13 +205,20 @@ describe('RiskAssessmentStore', () => { container.appendChild(inner); document.querySelector('body')?.appendChild(container); - it('should call focusFirstElementInContainer', () => { + it('setFocusOnSelectedProfile should call focusFirstElementInContainer', () => { riskAssessmentStore.setFocusOnSelectedProfile(); expect( mockFocusManagerService.focusFirstElementInContainer ).toHaveBeenCalledWith(inner); }); + + it('scrollToSelectedProfile should call focusFirstElementInContainer', () => { + const scrollSpy = spyOn(inner, 'scrollIntoView'); + riskAssessmentStore.scrollToSelectedProfile(); + + expect(scrollSpy).toHaveBeenCalled(); + }); }); describe('setFocusOnProfileForm', () => { diff --git a/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.ts b/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.ts index 3498e5f4b..94833ddf0 100644 --- a/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.ts +++ b/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.ts @@ -127,6 +127,16 @@ export class RiskAssessmentStore extends ComponentStore { ); }); + scrollToSelectedProfile = this.effect(trigger$ => { + return trigger$.pipe( + tap(() => { + window.document + .querySelector('.entity-list .selected') + ?.scrollIntoView(); + }) + ); + }); + setFocusOnProfileForm = this.effect(trigger$ => { return trigger$.pipe( tap(() => { diff --git a/modules/ui/src/app/services/local-storage.service.ts b/modules/ui/src/app/services/local-storage.service.ts index eb747bab3..fdb98f247 100644 --- a/modules/ui/src/app/services/local-storage.service.ts +++ b/modules/ui/src/app/services/local-storage.service.ts @@ -8,7 +8,6 @@ export class LocalStorageService { getGAConsent() { const consent = this.getItem(this.GA_CONSENT_KEY); - console.log(window.localStorage.getItem(this.GA_CONSENT_KEY)); return consent !== null ? consent === 'true' : true; }