Advertisement
Guest User

Untitled

a guest
Jan 7th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.78 KB | None | 0 0
  1. @Component({
  2. selector: 'my-app',
  3. template: `
  4. <navbar [visible]="isLoggedIn"></navbar>
  5. <div class="container">
  6. <router-outlet></router-outlet>
  7. </div>`,
  8. directives: [NavbarComponent,ROUTER_DIRECTIVES]
  9. })
  10.  
  11. isLoggedIn=false;
  12.  
  13. import { Component } from '@angular/core';
  14. import { Router, ROUTER_DIRECTIVES } from '@angular/router';
  15. import { CORE_DIRECTIVES, FORM_DIRECTIVES } from '@angular/common';
  16. import { Http, Headers } from '@angular/http';
  17. import { contentHeaders } from '../common/headers';
  18. import {NavbarComponent} from '../navbar/navbar.component';
  19.  
  20. @Component({
  21. selector: 'login',
  22. directives: [ NavbarComponent,ROUTER_DIRECTIVES, CORE_DIRECTIVES, FORM_DIRECTIVES ],
  23. templateUrl: 'app/login/login.component.html',
  24. styles: [ 'app/login/login.component.css' ]
  25. })
  26. export class LoginComponent {
  27. constructor(public router: Router, public http: Http) {
  28. }
  29.  
  30.  
  31. //visibility: hidden;
  32.  
  33. public isLoggedIn: boolean = false;
  34.  
  35.  
  36. login(event: any, username: string, password: string) {
  37. event.preventDefault();
  38. let body = JSON.stringify({ username, password });
  39. this.http.post('http://127.0.0.1:8050/auth', body, { headers: contentHeaders })
  40. .subscribe(
  41. response => {
  42. localStorage.setItem('id_token', response.json().access_token);
  43. console.log(response.json().access_token);
  44. console.log(this.isLoggedIn);
  45. this.isLoggedIn = true;
  46. console.log(this.isLoggedIn);
  47. this.router.navigate(['/home']);
  48. },
  49. error => {
  50. alert(error.text());
  51. console.log(error.text());
  52. }
  53. );
  54. }
  55.  
  56. signup(event: any) {
  57. event.preventDefault();
  58. this.router.navigate(['/signup']);
  59. }
  60. }
  61.  
  62. import {Component, Input} from '@angular/core';
  63. import { Http, Headers } from '@angular/http';
  64. import { AuthHttp } from 'angular2-jwt';
  65. import { CORE_DIRECTIVES,Location } from '@angular/common';
  66. import {ROUTER_DIRECTIVES, Router,ActivatedRoute} from '@angular/router';
  67.  
  68. @Component({
  69. selector: 'navbar',
  70. templateUrl: 'app/navbar/navbar.component.html',
  71. directives: [ROUTER_DIRECTIVES]
  72.  
  73. })
  74. export class NavbarComponent {
  75.  
  76.  
  77. @Input() visible = true;
  78.  
  79. //constructor(private _router: Router){}
  80.  
  81. jwt: string;
  82. decodedJwt: string;
  83. response: string;
  84. api: string;
  85. //jwt_decode:any;
  86. constructor(private _loc:Location,private route: ActivatedRoute,
  87. public router: Router, public http: Http, public authHttp: AuthHttp) {
  88. this.jwt = localStorage.getItem('id_token');
  89. //this.decodedJwt = this.jwt && window.jwt_decode (this.jwt);
  90. }
  91.  
  92.  
  93. logout() {
  94. localStorage.removeItem('id_token');
  95. this.router.navigate(['/login']);
  96. }
  97.  
  98.  
  99.  
  100.  
  101. }
  102.  
  103. <navbar [hidden]="!isLoggedIn"></navbar>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement