33 // animation imports
44 trigger , state , style , transition , animate , Inject
55} from '@angular/core' ;
6- import { APP_BASE_HREF } from '@angular/common' ;
7-
8- import { Http , URLSearchParams } from '@angular/http' ;
9- import { ORIGIN_URL } from '../../shared/constants/baseurl.constants' ;
10- import { TransferHttp } from '../../../modules/transfer-http/transfer-http' ;
6+ import { IUser } from '../../models/User' ;
7+ import { UserService } from '../../shared/user.service' ;
118
129@Component ( {
1310 selector : 'fetchdata' ,
@@ -33,32 +30,21 @@ export class UsersComponent implements OnInit {
3330 public users : IUser [ ] ;
3431
3532 // Use "constructor"s only for dependency injection
36- constructor (
37- private transferHttp : TransferHttp , // Use only for GETS that you want re-used between Server render -> Client render
38- private http : Http , // Use for everything else
39- @Inject ( ORIGIN_URL ) private baseUrl : string
40- ) { }
33+ constructor ( private userService : UserService ) { }
4134
4235 // Here you want to handle anything with @Input ()'s @Output()'s
4336 // Data retrieval / etc - this is when the Component is "ready" and wired up
4437 ngOnInit ( ) {
45-
4638 this . newUserName = '' ;
47-
48- // ** TransferHttp example / concept **
49- // - Here we make an Http call on the server, save the result on the window object and pass it down with the SSR,
50- // The Client then re-uses this Http result instead of hitting the server again!
51-
52- // NOTE : transferHttp also automatically does .map(res => res.json()) for you, so no need for these calls
53- this . transferHttp . get ( `${ this . baseUrl } /api/users` ) . subscribe ( result => {
39+ this . userService . getUsers ( ) . subscribe ( result => {
5440 console . log ( 'Get user result: ' , result ) ;
5541 console . log ( 'TransferHttp [GET] /api/users/allresult' , result ) ;
5642 this . users = result as IUser [ ] ;
5743 } ) ;
5844 }
5945
6046 deleteUser ( user ) {
61- this . http . delete ( ` ${ this . baseUrl } /api/users/` + user . id ) . subscribe ( result => {
47+ this . userService . deleteUser ( user ) . subscribe ( result => {
6248 console . log ( 'Delete user result: ' , result ) ;
6349 if ( result . ok ) {
6450 let position = this . users . indexOf ( user ) ;
@@ -69,19 +55,19 @@ export class UsersComponent implements OnInit {
6955 } ) ;
7056 }
7157
72- editUser ( user ) {
73- this . http . put ( ` ${ this . baseUrl } /api/users/` + user . id , user ) . subscribe ( result => {
74- console . log ( 'Put user result: ' , result ) ;
75- if ( ! result ) {
58+ updateUser ( user ) {
59+ this . userService . updateUser ( user ) . subscribe ( result => {
60+ console . log ( 'Put user result: ' , result ) ;
61+ if ( ! result . ok ) {
7662 alert ( 'There was an issue, Could not edit user' ) ;
7763 }
7864 } ) ;
7965 }
8066
8167 addUser ( newUserName ) {
82- this . http . post ( ` ${ this . baseUrl } /api/users` , { name : newUserName } ) . subscribe ( result => {
68+ this . userService . addUser ( newUserName ) . subscribe ( result => {
8369 console . log ( 'Post user result: ' , result ) ;
84- if ( result ) {
70+ if ( result . ok ) {
8571 this . users . push ( result . json ( ) ) ;
8672 this . newUserName = '' ;
8773 } else {
@@ -90,8 +76,3 @@ export class UsersComponent implements OnInit {
9076 } ) ;
9177 }
9278}
93-
94- interface IUser {
95- id : number ;
96- name : string ;
97- }
0 commit comments