import { DataTableRequest } from '../../models/data-table/DataTableRequest'; import { UserErrorModel } from '../../models/users/UserErrorModel'; import { UserReferenceService } from '../../services/user-reference/user-reference-data.service'; import { UserListingModel } from '../../models/users/UserListingModel'; import { SnackBarNotificationComponent } from '../../shared/components/notificaiton/snack-bar-notification.component'; import { UserCriteria } from '../../models/criteria/users/UserCriteria'; import { UserCriteriaErrorModel } from '../../models/criteria/users/UserCriteriaErrorModel'; import { Observable } from 'rxjs/Rx'; import { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core'; import { UsersCriteriaComponent } from '../../shared/components/criteria/users/users-criteria.component'; import { Router, ActivatedRoute, Params } from '@angular/router'; import { Principal } from '../../models/login/Principal'; import { MatPaginator, MatSort, MatSnackBar } from '@angular/material'; import { TranslateService } from '@ngx-translate/core'; import { DataSource } from '@angular/cdk/table'; import { RecentActivityTypes } from '../../users/activity/RecentActivityTypes'; import { AuthService } from '../../services/auth/auth.service'; @Component({ selector: 'app-user-profile', templateUrl: './user-profile.component.html', styleUrls: ['./user-profile.component.scss'], providers: [ UserReferenceService ] }) export class UserProfileComponent implements OnInit { user: Observable; constructor( private userReferenceService: UserReferenceService, private route: ActivatedRoute, private authService: AuthService ) { } ngOnInit() { this.route.params.subscribe((params: Params) => { let userId = params['id'] === this.authService.current().id ? 'me' : params['id'] this.user = this.userReferenceService.getUser(userId).map(result => { result["additionalinfo"] = JSON.parse(result["additionalinfo"]); return result }) }) } }