(Contacts App) Fixed: Selected filter is not preserved on route changes

This commit is contained in:
Sercan Yemen 2018-01-03 10:32:15 +03:00
parent 5f2372cc08
commit 751497556a

View File

@ -1,31 +1,35 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnDestroy } from '@angular/core';
import { ContactsService } from '../../contacts.service'; import { ContactsService } from '../../contacts.service';
import { Subscription } from 'rxjs/Subscription';
@Component({ @Component({
selector : 'fuse-contacts-main-sidenav', selector : 'fuse-contacts-main-sidenav',
templateUrl: './main.component.html', templateUrl: './main.component.html',
styleUrls : ['./main.component.scss'] styleUrls : ['./main.component.scss']
}) })
export class FuseContactsMainSidenavComponent implements OnInit export class FuseContactsMainSidenavComponent implements OnDestroy
{ {
user: any; user: any;
filterBy: string; filterBy: string;
onUserDataChangedSubscription: Subscription;
constructor(private contactsService: ContactsService) constructor(private contactsService: ContactsService)
{ {
this.filterBy = 'all'; this.filterBy = this.contactsService.filterBy || 'all';
this.onUserDataChangedSubscription =
this.contactsService.onUserDataChanged.subscribe(user => { this.contactsService.onUserDataChanged.subscribe(user => {
this.user = user; this.user = user;
}); });
} }
ngOnInit()
{
}
changeFilter(filter) changeFilter(filter)
{ {
this.filterBy = filter; this.filterBy = filter;
this.contactsService.onFilterChanged.next(this.filterBy); this.contactsService.onFilterChanged.next(this.filterBy);
} }
ngOnDestroy()
{
this.onUserDataChangedSubscription.unsubscribe();
}
} }