[ACA-2081] Search - toolbar not visible after viewer is closed ()

* router event filter search

* test

* added comment
This commit is contained in:
Cilibiu Bogdan 2018-12-11 19:05:54 +02:00 committed by Denys Vuika
parent 8843c9ec46
commit 5a1257c9ff
2 changed files with 22 additions and 3 deletions
src/app/components/layout/app-layout

@ -41,7 +41,7 @@ class MockRouter {
events = this.subject.asObservable();
routerState = { snapshot: { url: this.url } };
navigate(url: string) {
navigateByUrl(url: string) {
const navigationStart = new NavigationStart(0, url);
this.subject.next(navigationStart);
}
@ -143,11 +143,24 @@ describe('AppLayoutComponent', () => {
const selection = [{ entry: { id: 'nodeId', name: 'name' } }];
store.dispatch(new SetSelectedNodesAction(selection));
router.navigate(['somewhere/over/the/rainbow']);
router.navigateByUrl('somewhere/over/the/rainbow');
fixture.detectChanges();
store.select(appSelection).subscribe(state => {
expect(state.isEmpty).toBe(true);
done();
});
});
it('should not reset selection if route is `/search`', done => {
fixture.detectChanges();
const selection = [{ entry: { id: 'nodeId', name: 'name' } }];
store.dispatch(new SetSelectedNodesAction(selection));
router.navigateByUrl('/search;q=');
fixture.detectChanges();
store.select(appSelection).subscribe(state => {
expect(state.isEmpty).toBe(false);
done();
});
});
});

@ -135,7 +135,13 @@ export class AppLayoutComponent implements OnInit, OnDestroy {
this.router.events
.pipe(
filter(event => event instanceof NavigationStart),
filter(event => {
return (
event instanceof NavigationStart &&
// search employs reuse route strategy
!event.url.startsWith('/search;')
);
}),
takeUntil(this.onDestroy$)
)
.subscribe(() => this.store.dispatch(new SetSelectedNodesAction([])));