Advertisement
Guest User

Untitled

a guest
Jan 26th, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.71 KB | None | 0 0
  1. import { NgModule } from '@angular/core';
  2. import { BrowserModule } from '@angular/platform-browser';
  3. import { FormsModule, ReactiveFormsModule } from '@angular/forms';
  4. import { HttpModule } from '@angular/http';
  5.  
  6. import { VehicleComponent } from './vehicle.component';
  7.  
  8. @NgModule({
  9. imports: [BrowserModule, FormsModule, HttpModule, ReactiveFormsModule],
  10. declarations: [VehicleComponent],
  11. bootstrap: [VehicleComponent]
  12. })
  13. export class AppModule { }
  14.  
  15. export interface User {
  16. username: string;
  17. password: string;
  18. }
  19.  
  20. import { Injectable } from '@angular/core';
  21. import { Http } from '@angular/http';
  22. import { Md5 } from 'ts-md5/dist/md5';
  23.  
  24. import { User } from './user';
  25. import 'rxjs/add/operator/map';
  26.  
  27. @Injectable()
  28. export class VehicleService {
  29. private defUrl = 'foo-bar.url';
  30.  
  31. constructor(private http: Http) { }
  32. getVehicle(username?: string, password?: string) {
  33. const url = (!username || !password) ? this.defUrl : 'foo-bar.url' + username + '/' + Md5.hashStr(password);
  34. return this.http.get(url)
  35. .map(res => res.json());
  36. }
  37. }
  38.  
  39. import { Component, enableProdMode, OnInit } from '@angular/core';
  40. import { FormGroup, FormControl, Validators } from '@angular/forms';
  41.  
  42. import { VehicleService } from './vehicle.service';
  43. import { User } from './user';
  44.  
  45. enableProdMode();
  46.  
  47. @Component({
  48. selector: 'vehicle-json',
  49. templateUrl: './vehicle.html',
  50. providers: [VehicleService]
  51. })
  52. export class VehicleComponent implements OnInit {
  53. public vehicles: GeneralVehicle[];
  54. public user: FormGroup;
  55.  
  56. ngOnInit() {
  57. this.user = new FormGroup({
  58. username: new FormControl('', Validators.required),
  59. password: new FormControl('', Validators.required)
  60. });
  61. }
  62.  
  63. constructor(private vehicleService: VehicleService) {
  64. this.vehicleService.getVehicle().subscribe(vehicle => {
  65. this.vehicles = vehicle;
  66. });
  67. }
  68.  
  69. onSubmit(user) {
  70. this.vehicleService
  71. .getVehicle(user.value.username, user.value.password)
  72. .subscribe(vehicles => {
  73. this.vehicles = vehicles;
  74. this.user.reset();
  75. });
  76. }
  77. }
  78.  
  79. interface GeneralVehicle {
  80. status: number;
  81. dallases: Vehicle[];
  82. }
  83.  
  84. interface Vehicle {
  85. vehicle_id: number;
  86. dallassettings: string;
  87. dallasupdated: string;
  88. dallas_list: DallasList[];
  89. }
  90.  
  91. interface DallasList {
  92. number: number;
  93. auth: number;
  94. }
  95.  
  96. <form class="form-inline" novalidate (ngSubmit)="onSubmit(user)" [formGroup]="user" id="log1">
  97. <div class="form-group">
  98. <label>Username:</label>
  99. <input class="form-control" formControlName="username" type="text" placeholder="Your username">
  100. </div>
  101. <div class="form-group">
  102. <label>Password:</label>
  103. <input class="form-control" formControlName="password" type="password" placeholder="Your password">
  104. </div>
  105. <button class="btn btn-default" type="submit">Login</button>
  106. </form>
  107. <div *ngIf="vehicles">
  108. <b>Status: {{vehicles?.status}} Account: {{user.value.username}}</b>
  109. <div class="list-group" *ngFor="let vehicle of vehicles.dallases" id="d1">
  110. <a class="list-group-item">
  111. <h4 class="list-group-item-heading" id="l1">Vehicle ID: {{vehicle.vehicle_id}}</h4>
  112. </a>
  113. <a class="list-group-item">
  114. <h4 class="list-group-item-heading">Dallas settings: {{vehicle.dallassettings}}</h4>
  115. </a>
  116. <a class="list-group-item">
  117. <h4 class="list-group-item-heading">Dallas updated: {{vehicle.dallasupdated}}</h4>
  118. </a>
  119. <a class="list-group-item">
  120. <h4 class="list-group-item-heading">Dallas list:</h4>
  121. <p class="list-group-item-text" *ngFor="let d of vehicle.dallas_list">
  122. <b>Number:</b> {{d.number}}<br>
  123. <b>Auth:</b> {{d.auth}}</p>
  124. </a>
  125. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement