Advertisement
Guest User

Untitled

a guest
Feb 14th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. @Component({
  2. selector: 'my-app',
  3. providers: [FORM_PROVIDERS, RoleService, UserService, Login, LoginService],
  4. inputs: ['loggedIn'],
  5. directives: [ROUTER_DIRECTIVES, CORE_DIRECTIVES, LoggedInRouterOutlet],
  6. template: `<body>
  7. <div *ngIf="loggedIn === true">
  8. <nav class="navbar navbar-inverse navbar-top" role="navigation">
  9. <div class="container">
  10. <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
  11. <ul class="nav navbar-nav navbar-right">
  12. <li>
  13. <a (click)="logout()">Logout</a>
  14. </li>
  15. </ul>
  16. </div>
  17. </div>
  18. </nav>
  19. </div>
  20. <div class="container">
  21. <router-outlet></router-outlet>
  22. </div>
  23. </body>`
  24. })
  25.  
  26. export class AppComponent{
  27.  
  28. loggedIn: boolean;
  29.  
  30. constructor(public Login: Login){
  31. Login.loggedIn.subscribe((data) => this.onUserChanged(data));
  32. }
  33.  
  34. onUserChanged(user){
  35. this.loggedIn = true;
  36. console.log(this.loggedIn);
  37. }
  38.  
  39. public roles = {};
  40. public title = 'First Angular App';
  41.  
  42.  
  43.  
  44. logout(){
  45. localStorage.removeItem('jwt');
  46. }
  47.  
  48. }
  49.  
  50. export class Login{
  51.  
  52. jwt: any;
  53. username: string;
  54. password: string;
  55. loggedIn: EventEmitter<boolean>;
  56.  
  57. constructor(public _loginService: LoginService, public router: Router){
  58. this.loggedIn = new EventEmitter();
  59. }
  60.  
  61. submitLogin(username, password){
  62. console.log(username);
  63. console.log(password);
  64. let body = {username, password};
  65. this._loginService.authenticate(body).subscribe(
  66. response => {
  67. console.log(response);
  68. localStorage.setItem('jwt', response.json_token);
  69. this.router.navigate(['UserList']);
  70. this.loggedIn.emit(<boolean>true);
  71. console.log(this.loggedIn);
  72. }
  73. );
  74.  
  75. }
  76. }
  77.  
  78. @Injectable()
  79. export class LoginService {
  80.  
  81. constructor(public http: Http) {
  82.  
  83. }
  84.  
  85. authenticate(form_body){
  86. return this.http.post('/login', JSON.stringify(form_body), {headers: headers})
  87. .map((response => response.json()));
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement