Skip to content

Commit 8529257

Browse files
committed
[DURACOM-191] Fix selected tab for the comcol-page-browse-by.component
1 parent bcf8383 commit 8529257

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

src/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ import {
2525
Subscription,
2626
} from 'rxjs';
2727
import {
28+
distinctUntilChanged,
29+
filter,
2830
map,
31+
startWith,
2932
take,
3033
} from 'rxjs/operators';
3134

@@ -36,6 +39,7 @@ import { PaginatedList } from '../../../core/data/paginated-list.model';
3639
import { RemoteData } from '../../../core/data/remote-data';
3740
import { BrowseDefinition } from '../../../core/shared/browse-definition.model';
3841
import { getFirstCompletedRemoteData } from '../../../core/shared/operators';
42+
import { isNotEmpty } from '../../empty.util';
3943

4044
export interface ComColPageNavOption {
4145
id: string;
@@ -122,13 +126,16 @@ export class ComcolPageBrowseByComponent implements OnDestroy, OnInit {
122126

123127
this.subs.push(combineLatest([
124128
this.allOptions$,
125-
this.router.events,
126-
]).subscribe(([navOptions, scrollEvent]: [ComColPageNavOption[], Scroll]) => {
127-
if (scrollEvent.type === EventType.Scroll) {
128-
for (const option of navOptions) {
129-
if (option.routerLink === scrollEvent.routerEvent.urlAfterRedirects.split('?')[0]) {
130-
this.currentOption$.next(option);
131-
}
129+
this.router.events.pipe(
130+
startWith(this.router),
131+
filter((next: Router|Scroll) => (isNotEmpty((next as Router)?.url) || (next as Scroll)?.type === EventType.Scroll)),
132+
map((next: Router|Scroll) => (next as Router)?.url || (next as Scroll).routerEvent.urlAfterRedirects),
133+
distinctUntilChanged(),
134+
),
135+
]).subscribe(([navOptions, url]: [ComColPageNavOption[], string]) => {
136+
for (const option of navOptions) {
137+
if (option.routerLink === url?.split('?')[0]) {
138+
this.currentOption$.next(option);
132139
}
133140
}
134141
}));

0 commit comments

Comments
 (0)