sensor.component.html 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <app-nav-bar></app-nav-bar>
  2. <div class="container graph">
  3. <div class="button-row">
  4. <button pButton type="button" label="Back to Dashboard" class="p-button-primary top-button" icon="pi pi-backward" [routerLink]="['/dashboard']" style="margin-bottom: 15px;"></button>
  5. <button pButton type="button" label="Back to Map" class="p-button-primary top-button" icon="pi pi-backward" [routerLink]="['/dashboard']" [queryParams]="{ tab: 'map' }" style="margin-bottom: 15px;"></button>
  6. </div>
  7. <div class="graph-information">
  8. <div class="graph-desc">
  9. <div>
  10. <span class="graph-attr-heading">Unit name: </span>
  11. <a [routerLink]="['/dashboard/unit', unitId]">{{unitDescription}}</a>
  12. </div>
  13. <div>
  14. <span class="graph-attr-heading">Sensor id: </span>
  15. {{sensor?.sensorId}}
  16. </div>
  17. <div>
  18. <span class="graph-attr-heading">Sensor name: </span>
  19. {{sensor?.sensorName}}
  20. </div>
  21. <div>
  22. <span class="graph-attr-heading">Sensor type: </span>
  23. {{sensor?.sensorType}}
  24. </div>
  25. <div>
  26. <span class="graph-attr-heading">Phenomenon: </span>
  27. {{sensor?.phenomenon?.phenomenonName}} ({{sensor?.phenomenon?.unit}})
  28. </div>
  29. </div>
  30. <div class="graph-range-dates">
  31. <div class="input-group column-group">
  32. <label for="from">From:</label>
  33. <p-calendar
  34. id="from"
  35. [style]="{'width':'100%'}"
  36. [inputStyle]="{'width':'100%'}"
  37. [(ngModel)]="from"
  38. [showIcon]=true
  39. [showTime]=true
  40. (onSelect)="onDateChanged()"
  41. [maxDate]="today"
  42. showButtonBar=true>
  43. </p-calendar>
  44. </div>
  45. <div class="input-group column-group">
  46. <label for="to">To:</label>
  47. <p-calendar
  48. id="to"
  49. [style]="{'width':'100%'}"
  50. [inputStyle]="{'width':'100%'}"
  51. [(ngModel)]="to"
  52. [showIcon]=true
  53. [showTime]=true
  54. (onSelect)="onDateChanged()"
  55. [maxDate]="today"
  56. showButtonBar=true>
  57. </p-calendar>
  58. </div>
  59. <div>
  60. <button pButton type="button" *ngIf="dateChanged" label="Load data" class="p-button-primary" icon="pi pi-chart-line" (click)="showGraph()"></button>
  61. </div>
  62. </div>
  63. <div class="y-range">
  64. <div>
  65. <form class="column-group">
  66. <label for="yTo">Max y:</label><br>
  67. <input type="number" class="simple-number-input" id="yTo" name="yTo" [(ngModel)]="yTo" placeholder="Max y"/>
  68. </form>
  69. <form class="column-group">
  70. <label for="yFrom">Min y:</label><br>
  71. <input type="number" class="simple-number-input" id="yFrom" name="yFrom" [(ngModel)]="yFrom" placeholder="Min y"/>
  72. </form>
  73. </div>
  74. <button pButton type="button" label="Change y" class="p-button-primary" icon="pi pi-chart-line" (click)="changeGraphY()"></button>
  75. </div>
  76. <div *ngIf="showIntervalError" class="alert alert-danger interval-alert" role="alert">
  77. Select a valid interval - interval should be smaller than <b>6 months</b> and the "from" date has to <b>precede</b> the "to" date!
  78. </div>
  79. </div>
  80. <div class="graph-view-wrapper">
  81. <div #viewPanel id="view" style="width:100%; height:auto;"></div>
  82. </div>
  83. </div>