From affe5ea87dc55976fe0948a9644b31ce2c5b8144 Mon Sep 17 00:00:00 2001 From: Chahat Jain Date: Thu, 28 Jul 2022 11:01:39 +0530 Subject: [PATCH 1/3] feat(navigation): privacy policy in new tab --- .../navigation-list.component.test.ts | 14 +++++++++++++- .../navigation/navigation-list.component.ts | 19 +++++++++++++++++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/projects/components/src/navigation/navigation-list.component.test.ts b/projects/components/src/navigation/navigation-list.component.test.ts index ac60c0288..6cea7ea60 100644 --- a/projects/components/src/navigation/navigation-list.component.test.ts +++ b/projects/components/src/navigation/navigation-list.component.test.ts @@ -1,6 +1,13 @@ import { ActivatedRoute } from '@angular/router'; import { IconType } from '@hypertrace/assets-library'; -import { FeatureState, FeatureStateResolver, MemoizeModule, NavigationService } from '@hypertrace/common'; +import { + ExternalNavigationWindowHandling, + FeatureState, + FeatureStateResolver, + MemoizeModule, + NavigationParamsType, + NavigationService +} from '@hypertrace/common'; import { createHostFactory, mockProvider, SpectatorHost } from '@ngneat/spectator/jest'; import { MockComponent } from 'ng-mocks'; import { EMPTY, of } from 'rxjs'; @@ -191,5 +198,10 @@ describe('Navigation List Component', () => { ); expect(spectator.query('.nav-group-icon')).toExist(); expect(spectator.query('.nav-group-label')).toExist(); + expect(spectator.query(LinkComponent)?.paramsOrUrl).toMatchObject({ + navType: NavigationParamsType.External, + url: 'http://test', + windowHandling: ExternalNavigationWindowHandling.NewWindow + }); }); }); diff --git a/projects/components/src/navigation/navigation-list.component.ts b/projects/components/src/navigation/navigation-list.component.ts index 9ea5578f7..257b1600a 100644 --- a/projects/components/src/navigation/navigation-list.component.ts +++ b/projects/components/src/navigation/navigation-list.component.ts @@ -1,11 +1,18 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { IconType } from '@hypertrace/assets-library'; -import { NavigationService, TypedSimpleChanges } from '@hypertrace/common'; +import { + ExternalNavigationParams, + ExternalNavigationWindowHandling, + NavigationParamsType, + NavigationService, + TypedSimpleChanges +} from '@hypertrace/common'; import { Observable } from 'rxjs'; import { map, startWith } from 'rxjs/operators'; import { IconSize } from '../icon/icon-size'; import { NavigationListComponentService } from './navigation-list-component.service'; + import { FooterItemConfig, NavItemConfig, @@ -69,7 +76,7 @@ import {