diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 94c65bedfd5f8c19fe6d4776af4203e1b6036083..6e69812ae2f367bd38f6aad3be4a36f4a63b8076 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -7,29 +7,25 @@ import {SensorComponent} from "./module/pages/admin/stationManagement/sensor/sen import {ClientComponent} from "./module/pages/admin/stationManagement/client/client.component"; import {HostComponent} from "./module/pages/admin/stationManagement/host/host.component"; import {ZoomComponent} from "./module/components/charts/comparing/chartBar/zoom.component"; -import {SummaryComponent} from "./module/components/charts/comparing/fourInOne/summary.component"; import {CompareComponent} from "./module/components/charts/comparing/barChart/compare.component"; import {DataHeaderComponent} from "./module/pages/admin/stationManagement/header/data-header/data-header.component"; import {ConfigHeaderComponent} from "./module/pages/admin/stationManagement/header/config-header/config-header.component"; -import {SummaryIconsComponent} from "./module/components/summaryIcons/summaryIcons.component"; import {ProViewComponent} from "./module/components/pro-view/pro-view.component"; import {HomeComponent} from "./module/pages/home/home.component"; import {LoginTailwindcssComponent} from "./module/pages/login/login.component"; -import {SummaryList} from "./module/components/summaryList/summaryList"; +import {SummaryComponent} from "./module/pages/home/summary/summary.component"; const routes: Routes = [ {path: '', redirectTo: 'login', pathMatch: 'full'}, // {path: 'dashboard', component: Lev0Ver2Component, canActivate: [AuthGuard]}, - {path: 'dashboard', component: SummaryIconsComponent}, {path: 'chart2', component: ProViewComponent}, {path: '', component: LoginTailwindcssComponent,outlet:'main'}, {path: 'login', component: LoginTailwindcssComponent,outlet:'main'}, { path: 'homeDash', component: HomeComponent,outlet:'main', children: [ - { path: '', component: SummaryIconsComponent, outlet: 'homeDash' }, + { path: '', component: SummaryComponent, outlet: 'homeDash' }, { path: 'chart', component: ProViewComponent, outlet: 'homeDash' }, - { path: 'dayData', component: SummaryIconsComponent, outlet: 'homeDash' }, - { path: 'dayDataList', component: SummaryList, outlet: 'homeDash' } + {path: 'summary',component: SummaryComponent,outlet: 'homeDash'} ] }, {path: 'signup', component: SignupComponent}, @@ -39,25 +35,20 @@ const routes: Routes = [ {path: 'station/client', component: ClientComponent,outlet: 'stationManagement'}, {path: 'station/host', component: HostComponent,outlet: 'stationManagement'}, { path: 'chartBar', component: ZoomComponent, outlet: 'stationManagement' }, - { path: 'summary', component: SummaryComponent, outlet: 'stationManagement' }, { path: 'compare', component: CompareComponent, outlet: 'stationManagement' }, { path: 'host', component: HostComponent, outlet: 'stationManagement' }, { path: 'client', component:ClientComponent, outlet: 'stationManagement' }, { path: 'sensor', component: SensorComponent, outlet: 'stationManagement' }, - { path: '', component: SummaryComponent, outlet: 'stationManagement' }, // {path:'',component:Lev0Ver2Component,outlet:'stationManagement'}, - {path:'data',component:SummaryIconsComponent,outlet:'stationManagement'}, { path: 'summary', component: DataHeaderComponent, outlet: 'header' }, { path: 'station', component: ConfigHeaderComponent, outlet: 'header' }, { path: '', component: ConfigHeaderComponent, outlet: 'header' }, { path: 'homeDataZoom', children: [ { path: '', component: DataHeaderComponent, outlet: 'child1' }, { path: '', component: ZoomComponent, outlet: 'child2' } ] }, - { path: 'homeDataSummary', children: [ { path: '', component: DataHeaderComponent, outlet: 'child1' }, { path: '', component: SummaryComponent, outlet: 'child2' } ] }, { path: 'homeDataCompare', children: [ { path: '', component: DataHeaderComponent, outlet: 'child1' }, { path: '', component: CompareComponent, outlet: 'child2' } ] }, { path: 'homeConfigStation', children: [ { path: '', component: ConfigHeaderComponent, outlet: 'child1'}, { path: '', component: StationComponent, outlet: 'child2'}]}, { path: 'homeConfigHost', children: [ { path: '', component: ConfigHeaderComponent, outlet: 'child1'}, { path: '', component: HostComponent, outlet: 'child2'}]}, { path: 'homeConfigClient', children: [ { path: '', component: ConfigHeaderComponent, outlet: 'child1'}, { path: '', component: ClientComponent, outlet: 'child2'}]}, { path: 'homeConfigSensor', children: [ { path: '', component: ConfigHeaderComponent, outlet: 'child1'}, { path: '', component: SensorComponent, outlet: 'child2'}]}, - { path: 'data', children: [ { path: '', component: DataHeaderComponent, outlet: 'child1'}, { path: '', component: SummaryIconsComponent, outlet: 'child2'}]}, ]; diff --git a/src/app/app.component.html b/src/app/app.component.html index 70e3b6e6977cab4af2d764ae220f04206ea3cc11..8f1fd9f69b7e480a47aeae689de942961ea4fb40 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,2 +1,2 @@ -<app-pro-view></app-pro-view> +<router-outlet name="main"></router-outlet> diff --git a/src/app/app.module.ts b/src/app/app.module.ts index d1dd9c7a46bcf0b5f8fc4310866cbc660e1e953b..22788c8687bf36e222de96b89bb8f92ff5778b33 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -20,13 +20,11 @@ import {MatSelectModule} from "@angular/material/select"; import {MatDatepickerModule} from '@angular/material/datepicker'; import {MatInputModule} from "@angular/material/input"; import { MatNativeDateModule} from "@angular/material/core"; -import { SummaryComponent } from './module/components/charts/comparing/fourInOne/summary.component'; import { ZoomComponent } from './module/components/charts/comparing/chartBar/zoom.component'; import { CompareComponent } from './module/components/charts/comparing/barChart/compare.component'; import { DataHeaderComponent } from './module/pages/admin/stationManagement/header/data-header/data-header.component'; import { ConfigHeaderComponent } from './module/pages/admin/stationManagement/header/config-header/config-header.component'; import { LightChartComponent } from './module/components/charts/light-chart/light-chart.component'; -import {SummaryIconsComponent} from "./module/components/summaryIcons/summaryIcons.component"; import {CjsTimline} from "./module/components/charts/Cjs-timeline/light-chart.component"; import { ProViewComponent } from './module/components/pro-view/pro-view.component'; import {MatAutocompleteModule} from "@angular/material/autocomplete"; @@ -37,40 +35,40 @@ import {MatButtonModule} from "@angular/material/button"; import { ThermometerComponent } from './module/components/customUX/thermometer/thermometer.component'; import { HomeComponent } from './module/pages/home/home.component'; import { LoginTailwindcssComponent } from './module/pages/login/login.component'; -import { SummaryList } from './module/components/summaryList/summaryList'; import {FontAwesomeModule} from "@fortawesome/angular-fontawesome"; import { SliderComponent } from './module/components/customUX/slider/slider.component'; import {MatSliderModule} from "@angular/material/slider"; import {MatCardModule} from "@angular/material/card"; import {ApiModule} from "../../projects/generated-api/src"; +import {SummaryComponent} from "./module/pages/home/summary/summary.component"; +import { ListIconComponent } from './module/pages/home/summary/list-icon/list-icon.component'; @NgModule({ - declarations: [ - AppComponent, - UserManagementComponent, - SignupComponent, - StationComponent, - HostComponent, - ClientComponent, - SensorComponent, - StationManagementComponent, - SummaryComponent, - ZoomComponent, - CompareComponent, - DataHeaderComponent, - ConfigHeaderComponent, - SummaryIconsComponent, - CjsTimline, - LightChartComponent, - ProViewComponent, - CjsTimelineMultiple, - ThermometerComponent, - HomeComponent, - LoginTailwindcssComponent, - SummaryList, - SliderComponent - - ], + declarations: [ + AppComponent, + UserManagementComponent, + SignupComponent, + StationComponent, + HostComponent, + ClientComponent, + SensorComponent, + StationManagementComponent, + SummaryComponent, + ZoomComponent, + CompareComponent, + DataHeaderComponent, + ConfigHeaderComponent, + CjsTimline, + LightChartComponent, + ProViewComponent, + CjsTimelineMultiple, + ThermometerComponent, + HomeComponent, + LoginTailwindcssComponent, + SliderComponent, + SummaryComponent, + ListIconComponent + ], imports: [ BrowserModule, AppRoutingModule, diff --git a/src/app/module/components/charts/comparing/fourInOne/summary.component.css b/src/app/module/components/charts/comparing/fourInOne/fourInOne.component.css similarity index 100% rename from src/app/module/components/charts/comparing/fourInOne/summary.component.css rename to src/app/module/components/charts/comparing/fourInOne/fourInOne.component.css diff --git a/src/app/module/components/charts/comparing/fourInOne/summary.component.html b/src/app/module/components/charts/comparing/fourInOne/fourInOne.component.html similarity index 100% rename from src/app/module/components/charts/comparing/fourInOne/summary.component.html rename to src/app/module/components/charts/comparing/fourInOne/fourInOne.component.html diff --git a/src/app/module/components/charts/comparing/fourInOne/summary.component.spec.ts b/src/app/module/components/charts/comparing/fourInOne/fourInOne.component.spec.ts similarity index 59% rename from src/app/module/components/charts/comparing/fourInOne/summary.component.spec.ts rename to src/app/module/components/charts/comparing/fourInOne/fourInOne.component.spec.ts index 0ce9d3392609baba20f1e6a199906800120b3887..58a99cb1b385ed86afe228d5a337a5737e80bd8b 100644 --- a/src/app/module/components/charts/comparing/fourInOne/summary.component.spec.ts +++ b/src/app/module/components/charts/comparing/fourInOne/fourInOne.component.spec.ts @@ -1,18 +1,18 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { SummaryComponent } from './summary.component'; +import { FourInOneComponent } from './fourInOne.component'; describe('SummaryComponent', () => { - let component: SummaryComponent; - let fixture: ComponentFixture<SummaryComponent>; + let component: FourInOneComponent; + let fixture: ComponentFixture<FourInOneComponent>; beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ SummaryComponent ] + declarations: [ FourInOneComponent ] }) .compileComponents(); - fixture = TestBed.createComponent(SummaryComponent); + fixture = TestBed.createComponent(FourInOneComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/src/app/module/components/charts/comparing/fourInOne/summary.component.ts b/src/app/module/components/charts/comparing/fourInOne/fourInOne.component.ts similarity index 97% rename from src/app/module/components/charts/comparing/fourInOne/summary.component.ts rename to src/app/module/components/charts/comparing/fourInOne/fourInOne.component.ts index 641957bb5e97ea56f552d315e9dad8de9eb1bc2e..d1f5fb5d95aea703ce12af3865bbfab80785edd9 100644 --- a/src/app/module/components/charts/comparing/fourInOne/summary.component.ts +++ b/src/app/module/components/charts/comparing/fourInOne/fourInOne.component.ts @@ -3,10 +3,10 @@ import {Chart} from "chart.js/auto"; @Component({ selector: 'app-fourInOne', - templateUrl: './summary.component.html', - styleUrls: ['./summary.component.css'] + templateUrl: './fourInOne.component.html', + styleUrls: ['./fourInOne.component.css'] }) -export class SummaryComponent { +export class FourInOneComponent { constructor() { } labels:any=["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] diff --git a/src/app/module/components/summaryIcons/summaryIcons.component.html b/src/app/module/components/summaryIcons/summaryIcons.component.html deleted file mode 100644 index 9b3df3ba929ac69d0eddbc693b5deaf1a33932f3..0000000000000000000000000000000000000000 --- a/src/app/module/components/summaryIcons/summaryIcons.component.html +++ /dev/null @@ -1,139 +0,0 @@ - -<div class="w-full bg-gray-100 flex flex-col"> - <!--Input field --> - <div class="flex min-h-min w-full "> - <div class="flex min-h-full w-1/2 justify-start pl-8 pt-3"> - <div class="flex items-center pl-2 rounded h-14 border border-indigo-600"> - Tages Sensor Werte - <button (click)="sendSignal1(1)" type="button" class="ml-8 h-full px-4 inline-flex justify-center items-center gap-2 rounded-md border-2 border-indigo-200 font-semibold text-indigo-500 - hover:text-white hover:bg-indigo-500 hover:border-indigo-500 focus:outline-none focus:ring-2 focus:ring-indigo-200 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800"> - <mat-icon >grid_view</mat-icon> - </button> - <button (click)="sendSignal1(2)" type="button" class="h-full px-4 inline-flex justify-center items-center gap-2 rounded-md border-2 border-indigo-200 font-semibold text-indigo-500 - hover:text-white hover:bg-indigo-500 hover:border-indigo-500 focus:outline-none focus:ring-2 focus:ring-indigo-200 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800"> - <mat-icon>table_rows</mat-icon> - </button> - </div> - </div> - - <div class="flex justify-center w-1/2 pt-3 items-center"> - - <mat-form-field appearance="outline" class="mx-5"> - <mat-select placeholder="Station" [formControl]="stationControl" > - <mat-option *ngFor="let topping of availableStation" [value]="topping" >{{topping}} </mat-option> - </mat-select> - </mat-form-field> - - <mat-form-field appearance="outline" class="mr-2"> - <mat-label>Wähle ein Datum</mat-label> - <input matInput [matDatepicker]="picker" [formControl]="dateControl"> - <mat-hint>MM/DD/YYYY</mat-hint> - <mat-datepicker-toggle matIconSuffix [for]="picker"></mat-datepicker-toggle> - <mat-datepicker #picker></mat-datepicker> - </mat-form-field> - </div> - </div> - - - <div class="w-full flex flex-row items-end justify-start flex-wrap"> - - <!--Data of Sum or Average --> - <div *ngFor="let sumAvg of sumOrAvg" > - <div class="card-b"> - <div class="header-left"> - <h5 class="font-bold text-4sm ">{{sumAvg.name}}</h5> - <h2 *ngIf="sumAvg.measurementType?.toString()=='SOLAR_RADIATION' "> - {{sumAvg.value?.toFixed(3)}}{{" "}}w/m<sup>2</sup> - </h2> - <h2 *ngIf="sumAvg.measurementType?.toString()!='SOLAR_RADIATION' "> - {{sumAvg.value?.toFixed(3)}}{{" "+unitMapper.get(sumAvg.measurementType+"")}} - </h2> - <div><h4>{{typeMapper.get( sumAvg.type+"")}}</h4></div> - </div> - <div class="header-right flex-col"> - <i class="material-icons" style="font-size:80px;color: black">{{iconMapper.get(sumAvg.measurementType+"")}}</i> - </div> - - </div> - </div> - - - - </div> - - <!--Data of Min Max Avg --> - <div class="w-full flex flex-row items-end justify-start flex-wrap"> - <div *ngFor="let avgMMax of avgMinMax;let iX=index;"> - <div class="card-group" [ngStyle]="{'box-shadow':avgMMax.isSensorGroup ? '15px 15px rgb(173,216,230,0.4) ,30px 30px rgb(173,216,230,0.2)':'rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px'}"> - <header class="justify-content-between flex"> - <h5 class="font-bold text-4sm">{{avgMMax.name}}</h5> - <h3 *ngIf="avgMMax.isSensorGroup" class>Sensorgruppe</h3> - </header> - <main> - <div class="min"> - <h3>Min</h3> - <h3 class="flex">{{avgMMax.min?.value?.toFixed(2)}} - <p [innerHTML]="unitHashMapper.get(avgMMax.measurementType+'')"></p> - </h3> - - - </div> - - <div class="avg"> - <h3>Avg</h3> - <h3 class="flex">{{avgMMax.avg?.toFixed(2)}} - <p [innerHTML]="unitHashMapper.get(avgMMax.measurementType+'')"></p> - </h3> - </div> - - <div class="max"> - <h3>Max</h3> - <h3 class="flex">{{avgMMax.max?.value?.toFixed(2)}} - <p [innerHTML]="unitHashMapper.get(avgMMax.measurementType+'')"></p> - </h3> - </div> - </main> - </div> - </div> - </div> - - <!--Data of Min Max Avg --> - <div class="w-full flex flex-row justify-start flex-wrap "> - <div class="flex-col p-2 m-4 bg-white justify-center items-center rounded" - *ngFor="let dent of dentrometerDailyValue" - [ngStyle]="{'box-shadow':dent.isSensorGroup ? '15px 15px rgb(173,216,230,0.4) ,30px 30px rgb(173,216,230,0.2)':'rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px'}"> - <div class="flex pt-2 justify-content-between pl-5 pr-5"> - <h1 class="flex font-bold text-4sm mb-6 justify-start">{{dent.name}}</h1> - <h3 *ngIf="dent.isSensorGroup" class="isGroup-text">Sensorgruppe</h3> - </div> - - <div class="mx-8 flex justify-between"> - - <div class="flex-col content-center items-center justify-center"> - <div class="flex mx-2 flex items-center border-b-2 border-black "> - <i class="material-icons text-blue-500 text-2xl mr-2">unfold_less</i> - <h5 class="text-gray-500 text-xs">Maximum daily shrinkage</h5> - </div> - <div class="flex items-end justify-center"> - <h1 class=" flex justify-center text-3xl font-bold">{{dent.mds?.value?.toFixed(2)}}</h1> - <h3 class="mb-1 ml-1 text-slate-400">mm </h3> - </div> - </div> - - <div class="flex-col"> - <div class="flex mx-2 flex items-center border-b-2 border-black "> - <i class="material-icons text-yellow-500 text-2xl mr-2">vertical_align_top</i> - <h5 class="text-gray-500 text-xs">Radius increment</h5> - </div> - <div class="flex items-end justify-center"> - <h1 class=" flex justify-center text-3xl font-bold">{{dent.deltaR?.value?.toFixed(2)}}</h1> - <h3 class="mb-1 ml-1 text-slate-400">mm </h3> - </div> - </div> - - </div> - </div> - </div> -</div> - - diff --git a/src/app/module/components/summaryIcons/summaryIcons.component.scss b/src/app/module/components/summaryIcons/summaryIcons.component.scss deleted file mode 100644 index 86b0d160201f1afe03b8d0fcf293b58fcf5180d0..0000000000000000000000000000000000000000 --- a/src/app/module/components/summaryIcons/summaryIcons.component.scss +++ /dev/null @@ -1,352 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700;800&display=swap'); -.display-flex{ - width: 100%; - display: flex; - flex-direction: row; - align-items: flex-end; - justify-content: center; - flex-wrap: wrap; - -} - -.display-flex-start{ - width: 100%; - display: flex; - flex-direction: row; - align-items: flex-end; - justify-content: start; - flex-wrap: wrap; - -} - -.display-flex-center{ - width: 100%; - display: flex; - flex-direction: row; - align-items: flex-end; - justify-content: center; - flex-wrap: wrap; - -} - -app-Cjs-timline { - display: flex; - flex-wrap: wrap; - width: 100%; -} - -.container-flex{ - - width: 100%; - background-color: #F5F7FC; - display: flex; - flex-direction: column; -} - -.container-flex-cover{ - margin-top: 7vh; - margin-right: 5vh; -} - -.header{ -// background-color: black; - justify-content: center; - min-height: 100px; - width: 100%; - display: flex; - flex-wrap: wrap; - margin-left: 30px; -} - -.header-left{ - // background-color: white; - flex: 50%; - h4{ - margin-top: 10vh; - margin-left: 2vh; - font-family: 'Poppins', sans-serif; - font-weight:600; - } -} - -.header-right{ - // background-color: brown; - padding-right: 30px; - flex: 50%; - display: flex; - justify-content: flex-end; - -} -@media (max-width: 800px) { - .header{ - .header-left{ - display: flex; - justify-content: center; - } - .header-right{ - display: flex; - justify-content: center; - } - } -} - -.main-lev0{ - display: flex; - height:80vh; - width: 100%; - flex-direction: column; - // background-color: #f1f1f1; - .main{ - height: 100vh; - width: 100%; - } -} - -.card-b{ - height: 150px; - width: 400px; - background-color: white; - margin: 30px; - border-radius: 6px; - display: flex; - flex: 0 0 400px; - flex-wrap: nowrap; - flex-shrink: 0; - box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px; - - - .header-left{ - display: flex; - flex-direction: column; - padding-left: 10px; - justify-content: space-around; - overflow: hidden; - h5{ - // font-family: 'Poppins', sans-serif; - // font-weight:400; - // font-size: 16px; - // color: #7E84A3; - } - - h2{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 28px; - color: black; - - } - - h4{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 16px; - color: #6ED29D; - - - } - h6{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:400; - font-size: 12px; - color: #7E84A3; - padding-bottom: 2px; - padding-left: 5px; - } - } - - .header-right{ - display: flex; - align-items: center; - justify-content: center; - - .img{ - height: 50px; - width: 50px; - background-image: url("../../../../assets/Icon-awesome-cloud-rain.png"); - background-repeat: no-repeat; - background-size: cover; - } - } - -} - -.isGroup-text{ - color:rgb(173,216,230); - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 16px; -} - -.card-group{ - - - width: 400px; - background-color:white; - margin: 30px; - border-radius: 6px; - display: flex; - flex-direction: column; - - header{ - //no margin justify-content: center; - padding-top: 20px; - display: flex; - padding-left: 20px; - padding-right: 20px; - justify-content: start; - align-content: center; - width: 100%; - h3{ - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 16px; - color:rgb(173,216,230); - } - } - - - main{ - display: flex; - flex-direction: row; - width: 100%; - justify-content: space-around; - margin-top: 20px; - } - - - - .light-chart{ - display: flex; - height: 300px; - width: 100%; - justify-content: center; - } - .min{ - height: 90px; - width: 90px; - border: 2px solid green; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - margin-bottom: 20px; - } - - .max { - @extend .min; - border: 2px solid #ff0000; - } - - .avg{ - @extend .min; - border: 2px solid black; - } - - h5{ - // font-family: 'Poppins', sans-serif; - // font-weight:400; - // font-size: 16px; - // color: #7E84A3; - } - h2{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 28px; - color: black; - - } - - h4{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 16px; - color: #6ED29D; - - - } - h6{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:400; - font-size: 12px; - color: #7E84A3; - padding-bottom: 2px; - padding-left: 5px; - } -} - -.card-dendrometer{ - height: 700px; - width: 1100px; - margin: 50px; - padding-top: 50px; - padding-left: 20px; - padding-right: 20px; - display: flex; - flex-direction: column; - background-color: white; - justify-content: center; - align-items: center; - - .headers{ - - width: 70%; - display: flex; - justify-content: space-around; - .element{ - mat-icon{ - margin-bottom: 10px; - margin-right: 5px; - } - display: flex; - justify-content: center; - align-items: center; - flex-basis: 33.33%; - border-bottom: 1px solid black; - margin-right: 10px; - margin-left: 10px; - } - } - h5{ - font-family: 'Poppins', sans-serif; - font-weight:400; - font-size: 16px; - color: #7E84A3; - } - h2{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 28px; - color: black; - - } - - h4{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 16px; - color: #6ED29D; - - - } - h6{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:400; - font-size: 12px; - color: #7E84A3; - padding-bottom: 2px; - padding-left: 5px; - } -} - - - - diff --git a/src/app/module/components/summaryIcons/summaryIcons.component.spec.ts b/src/app/module/components/summaryIcons/summaryIcons.component.spec.ts deleted file mode 100644 index 4a572b297d8977cf2a58701e61f196c5ab3ce26e..0000000000000000000000000000000000000000 --- a/src/app/module/components/summaryIcons/summaryIcons.component.spec.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import {SummaryIconsComponent} from './summaryIcons.component'; - -describe('Lev0Component', () => { - let component: SummaryIconsComponent; - let fixture: ComponentFixture<SummaryIconsComponent>; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ SummaryIconsComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(SummaryIconsComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/module/components/summaryIcons/summaryIcons.component.ts b/src/app/module/components/summaryIcons/summaryIcons.component.ts deleted file mode 100644 index 9519c8bad86ab433c88dfdc0742fb3e691c7ef78..0000000000000000000000000000000000000000 --- a/src/app/module/components/summaryIcons/summaryIcons.component.ts +++ /dev/null @@ -1,139 +0,0 @@ -import {Component} from '@angular/core'; -import {ApiService} from "../../../shared/api.service"; -import {FormControl, FormGroup} from "@angular/forms"; -import {DatePipe} from "@angular/common"; -import { - AvgMinMax, - DendrometerDailyValue, - LevelOneResponse, - ServerControllerService, - SumOrAvg, - StationControllerService, - ThreePhaseDendrometer -} from "../../../../../projects/generated-api/src"; -import {Router} from "@angular/router"; -import {SharedService} from "../../../shared/shared-service.service"; - - - - -@Component({ - selector: 'app-summaryIcons', - templateUrl: './summaryIcons.component.html', - styleUrls: ['./summaryIcons.component.scss'] -}) -export class SummaryIconsComponent { - - - - dentrometerDailyValue:DendrometerDailyValue[]=[] - - constructor(private api:ApiService, - private router: Router, - private serverControllerService:ServerControllerService, - private sharedService: SharedService, - private stationControllerService: StationControllerService - ) { - this.dateControl.valueChanges.subscribe(date => { - this.reload() - }); - } - - levelOne!:LevelOneResponse - avgMinMax:AvgMinMax[]=[] - sumOrAvg:SumOrAvg[]=[] - - threePhaseDendromete!:ThreePhaseDendrometer - chartId:String="line20" - - range = new FormGroup({ - start: new FormControl<Date | null>(null), - end: new FormControl<Date | null>(null), - }); - - date = new FormControl(new Date()); - dateControl = new FormControl(new Date()); - stationControl = new FormControl(); - availableStation: string[] = ['']; - iconMapper = new Map<String, String>([ - ["SOLAR_RADIATION", "sunny"], - ["SOIL_MOISTURE", "water"], - ["","unknown"] - ]); - - unitMapper = new Map<String, String>([ - ["SOLAR_RADIATION", "W/m2"], - ["SOIL_MOISTURE", "vwc"], - ["","unknown"] - ]); - - unitHashMapper = new Map<String, String>([ - ["SOIL_TEMPERATURE", "°"], - ["SOIL_MOISTURE", "%"], - ["","unknown"] - ]); - - typeMapper = new Map<String, String>([ - ["AVG", "Durchschnitt"], - ["SUM", "Totale Summe"], - ["","unknown"] - ]); - -St="°" - - ngOnInit(){ - this.api.get("http://localhost:8080/api/v1/server/get/lvl1/ibk_s_id?date=15-04-2022").subscribe( - res=>{ - this.levelOne=res - // @ts-ignore - this.avgMinMax=this.levelOne.avgMinMax - // @ts-ignore - this.sumOrAvg=this.levelOne.sumOrAvg - // @ts-ignore - this.dentrometerDailyValue=this.levelOne.dendrometerDailyValues - } - ) - //get all station from server - this.stationControllerService.getAll().subscribe(x => { - console.log('available station', x); - this.availableStation=x.map(x=>x.id!==undefined ?x.id:"No station avalable") - }); - //subscribe to station control - this.stationControl.valueChanges.subscribe(x=>{ - console.log(x) - this.reload() - }) - } - - - reload() { - console.log(this.dateControl.value) - let datePipe = new DatePipe('en-US'); - let dateStart = datePipe.transform(this.dateControl.value, 'dd-MM-yyyy'); - console.log(dateStart) - let stationId = this.stationControl.value; - this.api.get("http://localhost:8080/api/v1/server/get/lvl1/"+stationId+"?date="+dateStart).subscribe( - res=>{ - this.levelOne=res - // @ts-ignore - this.avgMinMax=this.levelOne.avgMinMax - // @ts-ignore - this.sumOrAvg=this.levelOne.sumOrAvg - // @ts-ignore - this.dentrometerDailyValue=this.levelOne.dendrometerDailyValues - } - ) - } - - goToAdmin() { - console.log("go to admin") - this.router.navigate(['/admin(main:homeDash/(homeDash:dayData))']); - // @ts-ignore - this.router.navigate(['/dayData']); - } - - sendSignal1(number: number) { - this.sharedService.setNumber(number); - } -} - diff --git a/src/app/module/components/summaryList/summaryList.html b/src/app/module/components/summaryList/summaryList.html deleted file mode 100644 index df5cd6a573bec5502a99b3e02d5ad58b1de5f535..0000000000000000000000000000000000000000 --- a/src/app/module/components/summaryList/summaryList.html +++ /dev/null @@ -1,175 +0,0 @@ -<div class="w-full bg-gray-100 flex flex-col"> - - <div class="flex min-h-min w-full "> - <div class="flex min-h-full w-1/2 justify-start pl-8 pt-3"> - <div class="flex items-center pl-2 rounded h-14 border border-indigo-600"> - Tages Sensor Werte - <button (click)="sendSignal1(1)" type="button" class="ml-8 h-full px-4 inline-flex justify-center items-center gap-2 rounded-md border-2 border-indigo-200 font-semibold text-indigo-500 hover:text-white hover:bg-indigo-500 hover:border-indigo-500 focus:outline-none focus:ring-2 focus:ring-indigo-200 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800"> - <mat-icon >grid_view</mat-icon> - </button> - <button (click)="sendSignal1(2)" type="button" class="h-full px-4 inline-flex justify-center items-center gap-2 rounded-md border-2 border-indigo-200 font-semibold text-indigo-500 hover:text-white hover:bg-indigo-500 hover:border-indigo-500 focus:outline-none focus:ring-2 focus:ring-indigo-200 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800"> - <mat-icon>table_rows</mat-icon> - </button> - </div> - </div> - - <div class="flex justify-center w-1/2 pt-3 items-center"> - - <mat-form-field appearance="outline" class="mx-5"> - <mat-select placeholder="Station" [formControl]="stationControl" > - <mat-option *ngFor="let topping of availableStation" [value]="topping" >{{topping}} </mat-option> - </mat-select> - </mat-form-field> - - <mat-form-field appearance="outline" class="mr-2"> - <mat-label>Wähle ein Datum</mat-label> - <input matInput [matDatepicker]="picker" [formControl]="dateControl"> - <mat-hint>MM/DD/YYYY</mat-hint> - <mat-datepicker-toggle matIconSuffix [for]="picker"></mat-datepicker-toggle> - <mat-datepicker #picker></mat-datepicker> - </mat-form-field> - </div> - </div> - - -<main class="grid mt-2 gap-y-14 gap-x-8 grid-cols-2 grid-auto-rows-min"> - - <section class="col-span-2 flex w-full min-h-min "> - - - <div class="min-h-full w-10 flex justify-end items-center"> - <button (click)="scrollLeft()"> - <mat-icon>arrow_back_ios</mat-icon> - </button> - </div> - - <div class="flex flex-col w-full bg-white/30 shadow-xl ease-in duration-300 - shadow-blue-300/50 hover:shadow-blue-400/50 rounded-xl"> - <div class="flex items-center text-sm text-slate-400 py-2 pl-8 border-gray-200 border-b-[1px] "> - Summe und Durchschnitts Werte eines Sensor/<div class="flex rounded bg-gray-200">Gruppe</div>... - </div> - <div #scrollContainer class="flex w-full overflow-x-auto scrollbar-hide items-center - [&>*]:mx-4 [&>*]:flex-shrink-0 - [&>*]:rounded "> - <div class="h-full flex items-center my-4" *ngFor="let sumAvg of sumOrAvg"> - <div [ngClass]="{'bg-gray-200 rounded-xl':sumAvg.isSensorGroup}" class="flex-col flex items-center justify-center [&>*]:m-1"> - <h3 class="text-green-400 text-xs font-bold"> - {{typeMapper.get( sumAvg.type+"")}} - </h3> - <h1 class="text-xs font-bold pb-1">{{sumAvg.name}}</h1> - <mat-icon >{{iconMapper.get(sumAvg.measurementType+"")}}</mat-icon> - <div class="display-flex pt-1"> - <h1 class="text-xm font-bold mr-0.5"> {{sumAvg.value?.toFixed(3)}}{{" "}}</h1> - <h3 class="text-xs font-bold" *ngIf="sumAvg.measurementType?.toString()=='SOLAR_RADIATION' "> w/m<sup>2</sup></h3> - <h3 class="text-xs font-bold" *ngIf="sumAvg.measurementType?.toString()!='SOLAR_RADIATION' "> - {{" "+unitMapper.get(sumAvg.measurementType+"")}} - </h3> - </div> - </div> - </div> - - </div> - </div> - - - <div class="min-h-full w-10 flex justify-start items-center"> - <button (click)="scrollRight()"> - <mat-icon>arrow_forward_ios</mat-icon> - </button> - </div> - </section> - - - <section class="col-span-1 w-full flex flex-col pl-10 "> - <div class="-m-1.5 overflow-x-auto bg-white/30 rounded-3xl - shadow-xl shadow-blue-200/50 hover:shadow-blue-400/50 ease-in duration-300"> - <div class="p-1.5 min-w-full inline-block align-middle"> - <div class="overflow-hidden"> - <table class="min-w-full divide-y divide-gray-200 dark:divide-gray-700"> - <thead> - <tr> - <td colspan="3" class="text-sm text-slate-400 p-2">Minimum, Maximum und Mittelwert eines Sensor/Gruppe...</td> - </tr> - - </thead> - <tbody class="divide-y divide-gray-200 dark:divide-gray-700" *ngFor="let avgMMax of avgMinMax"> - <tr [ngClass]="{'bg-gray-200':avgMMax.isSensorGroup}"> - <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-gray-200"> - <h1 class="text-xs font-bold">{{avgMMax.name}}</h1> - </td> - <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200"> - <i class="material-icons" style="color: black">{{iconMapper.get(avgMMax.measurementType+"")}}</i> - </td> - - <td class="px-6 py-4 w-full whitespace-nowrap text-sm text-gray-800 dark:text-gray-200"> - <app-slider [min]="avgMMax.min?.value" [mType]="avgMMax?.measurementType+''" [max]="avgMMax.max?.value" [avg]="avgMMax.avg" class="w-full -translate-y-2"></app-slider> - </td> - </tr> - - </table> - </div> - </div> - </div> - </section> - - <section class="col-span-1 w-full flex flex-col w-1/3 pr-10"> - <div class="-m-1.5 overflow-x-auto scrollbar-hide rounded-3xl bg-white/30 - shadow-xl shadow-indigo-200/50 hover:shadow-indigo-400/50 ease-in duration-300"> - <div class="p-1.5 min-w-full inline-block align-middle"> - <div class="overflow-hidden"> - <table class="min-w-full divide-y divide-gray-200 dark:divide-gray-700"> - <thead> - <tr> - <th scope="col" class="px-3 py-3 text-left text-xs font-medium text-gray-500 uppercase"> - <div class="text-xs text-slate-400"> - DendrometerSensor/Gruppe... - </div> - </th> - <th scope="col" class="px-3 py-3 text-left text-xs font-medium text-gray-500 uppercase"> - <div class="flex mx-2 flex items-center border-black "> - <i class="material-icons text-blue-500 text-2xl mr-2">unfold_less</i> - <h5 class="text-gray-500 text-xs">Maximum daily shrinkage</h5> - </div> - </th> - <th scope="col" class="px-3 py-3 text-left text-xs font-medium text-gray-500 uppercase"> - <div class="flex mx-2 flex items-center border-black "> - <i class="material-icons text-yellow-500 text-2xl mr-2">vertical_align_top</i> - <h5 class="text-gray-500 text-xs">Radius increment</h5> - </div> - </th> - </tr> - - - </thead> - <tbody class="divide-y divide-gray-200 dark:divide-gray-700" *ngFor="let dent of dentrometerDailyValue"> - - <tr [ngClass]="{'bg-gray-200':dent.isSensorGroup}"> - <td class="px-3 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-gray-200"> - <h1 class="flex font-bold text-4sm justify-center">{{dent.name}} 🌲</h1> - </td> - <td class="px-3 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200"> - <div class="flex items-end justify-center"> - <h1 class=" flex justify-center text-xl font-bold">{{dent.mds?.value?.toFixed(2)}}</h1> - <h3 class="mb-1 ml-1 text-slate-400">mm </h3> - </div> - </td> - <td class="px-3 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200"> - <div class="flex items-end justify-center"> - <h1 class=" flex justify-center text-xl font-bold">{{dent.deltaR?.value?.toFixed(2)}}</h1> - <h3 class="mb-1 ml-1 text-slate-400">mm </h3> - </div> - </td> - </tr> - - </table> - </div> - </div> - </div> - </section> - - - -</main> - -</div> - diff --git a/src/app/module/components/summaryList/summaryList.scss b/src/app/module/components/summaryList/summaryList.scss deleted file mode 100644 index 827e9a1ace5288556a8967589e21098d206097a9..0000000000000000000000000000000000000000 --- a/src/app/module/components/summaryList/summaryList.scss +++ /dev/null @@ -1,329 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700;800&display=swap'); -.display-flex{ - width: 100%; - display: flex; - flex-direction: row; - align-items: flex-end; - justify-content: center; - flex-wrap: wrap; - -} - -.display-flex-start{ - width: 100%; - display: flex; - flex-direction: row; - align-items: flex-end; - justify-content: start; - flex-wrap: wrap; - -} - -.display-flex-center{ - width: 100%; - display: flex; - flex-direction: row; - align-items: flex-end; - justify-content: center; - flex-wrap: wrap; - -} - -app-Cjs-timline { - display: flex; - flex-wrap: wrap; - width: 100%; -} - -.container-flex{ - - width: 100%; - background-color: #F5F7FC; - display: flex; - flex-direction: column; -} - -.container-flex-cover{ - margin-top: 7vh; - margin-right: 5vh; -} - -.header{ -// background-color: black; - justify-content: center; - min-height: 100px; - width: 90%; - display: flex; - flex-wrap: wrap; - margin-left: 30px; -} - -.header-left{ -// background-color: white; - flex: 50%; -h4{ - margin-top: 10vh; - margin-left: 2vh; - font-family: 'Poppins', sans-serif; - font-weight:600; -} -} - -.header-right{ -// background-color: brown; - flex: 50%; - display: flex; - justify-content: flex-end; -} -@media (max-width: 800px) { - .header{ - .header-left{ - display: flex; - justify-content: center; - } - .header-right{ - display: flex; - justify-content: center; - } -} -} - -.main-lev0{ - display: flex; - height:80vh; - width: 100%; - flex-direction: column; -// background-color: #f1f1f1; -.main{ - height: 100vh; - width: 100%; -} -} - -.card-b{ - height: 150px; - width: 400px; - background-color: white; - margin: 30px; - border-radius: 6px; - display: flex; - flex: 0 0 400px; - flex-wrap: nowrap; - flex-shrink: 0; - - -.header-left{ - display: flex; - flex-direction: column; - padding-left: 10px; - justify-content: space-around; - overflow: hidden; -h5{ - font-family: 'Poppins', sans-serif; - font-weight:400; - font-size: 16px; - color: #7E84A3; -} -h2{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 28px; - color: black; - -} - -h4{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 16px; - color: #6ED29D; - - -} -h6{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:400; - font-size: 12px; - color: #7E84A3; - padding-bottom: 2px; - padding-left: 5px; -} -} - -.header-right{ - display: flex; - align-items: center; - justify-content: center; - -.img{ - height: 50px; - width: 50px; - background-image: url("../../../../assets/Icon-awesome-cloud-rain.png"); - background-repeat: no-repeat; - background-size: cover; -} -} - -} - -.card-group{ - - - width: 400px; - background-color:white; - margin: 30px; - border-radius: 6px; - display: flex; - flex-direction: column; - - -header{ - margin-top: 20px; - display: flex; - justify-content: center; - align-content: center; - width: 100%; -} - -main{ - display: flex; - flex-direction: row; - width: 100%; - justify-content: space-around; - margin-top: 20px; -} - - - -.light-chart{ - display: flex; - height: 300px; - width: 100%; - justify-content: center; -} -.min{ - height: 90px; - width: 90px; - border: 2px solid green; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - margin-left: 20px; - margin-bottom: 20px; -} - -.max { - @extend .min; - border: 2px solid #ff0000; -} - -.avg{ - @extend .min; - border: 2px solid black; -} - -h5{ - font-family: 'Poppins', sans-serif; - font-weight:400; - font-size: 16px; - color: #7E84A3; -} -h2{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 28px; - color: black; - -} - -h4{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 16px; - color: #6ED29D; - - -} -h6{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:400; - font-size: 12px; - color: #7E84A3; - padding-bottom: 2px; - padding-left: 5px; -} -} - -.card-dendrometer{ - height: 700px; - width: 1100px; - margin: 50px; - padding-top: 50px; - padding-left: 20px; - padding-right: 20px; - display: flex; - flex-direction: column; - background-color: white; - justify-content: center; - align-items: center; - -.headers{ - - width: 70%; - display: flex; - justify-content: space-around; -.element{ -mat-icon{ - margin-bottom: 10px; - margin-right: 5px; -} -display: flex; -justify-content: center; -align-items: center; -flex-basis: 33.33%; -border-bottom: 1px solid black; -margin-right: 10px; -margin-left: 10px; -} -} -h5{ - font-family: 'Poppins', sans-serif; - font-weight:400; - font-size: 16px; - color: #7E84A3; -} -h2{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 28px; - color: black; - -} - -h4{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:600; - font-size: 16px; - color: #6ED29D; - - -} -h6{ - margin: 0px; - font-family: 'Poppins', sans-serif; - font-weight:400; - font-size: 12px; - color: #7E84A3; - padding-bottom: 2px; - padding-left: 5px; -} -} diff --git a/src/app/module/components/summaryList/summaryList.spec.ts b/src/app/module/components/summaryList/summaryList.spec.ts deleted file mode 100644 index 75c69a8a8473a8d6cda72a05fa8ed952cc917dbe..0000000000000000000000000000000000000000 --- a/src/app/module/components/summaryList/summaryList.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { SummaryList } from './summaryList'; - -describe('Lev0Ver3Component', () => { - let component: SummaryList; - let fixture: ComponentFixture<SummaryList>; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ SummaryList ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(SummaryList); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/module/components/summaryList/summaryList.ts b/src/app/module/components/summaryList/summaryList.ts deleted file mode 100644 index dc710b371bcec1d4004cb4b277c5f5ea1a58b906..0000000000000000000000000000000000000000 --- a/src/app/module/components/summaryList/summaryList.ts +++ /dev/null @@ -1,147 +0,0 @@ -import {Component, ElementRef, Input, ViewChild} from '@angular/core'; -import {ApiService} from "../../../shared/api.service"; -import { faChevronLeft, faChevronRight, faLongArrowAltUp, faLongArrowAltDown } from '@fortawesome/free-solid-svg-icons'; -import {FormControl, FormGroup} from "@angular/forms"; -import {DatePipe} from "@angular/common"; -import { - AvgMinMax, - DendrometerDailyValue, - LevelOneResponse, - ServerControllerService, - SumOrAvg, - StationControllerService, - ThreePhaseDendrometer -} from "../../../../../projects/generated-api/src"; -import {SharedService} from "../../../shared/shared-service.service"; - - - - -@Component({ - selector: 'app-summaryList', - templateUrl: './summaryList.html', - styleUrls: ['./summaryList.scss'] -}) -export class SummaryList { - dentrometerDailyValue:DendrometerDailyValue[]=[] - - constructor(private api:ApiService, - private serverControllerService:ServerControllerService, - private stationControllerService: StationControllerService, - private sharedService: SharedService, - ) { - this.dateControl.valueChanges.subscribe(date => { - this.reload() - }); - } - - num_t:number[]=[1,2,3,4,5,6,7,8,9,10] - - // @ts-ignore - @ViewChild('scrollContainer') scrollContainer: ElementRef ; - - levelOne!:LevelOneResponse - avgMinMax:AvgMinMax[]=[] - sumOrAvg:SumOrAvg[]=[] - - threePhaseDendromete!:ThreePhaseDendrometer - chartId:String="line20" - - range = new FormGroup({ - start: new FormControl<Date | null>(null), - end: new FormControl<Date | null>(null), - }); - - date = new FormControl(new Date()); - dateControl = new FormControl(new Date()); - stationControl = new FormControl(); - availableStation: string[] = ['']; - iconMapper = new Map<String, String>([ - ["SOLAR_RADIATION", "sunny"], - ["SOIL_MOISTURE", "water"], - ["SOIL_TEMPERATURE", "device_thermostat"], - ["","unknown"] - ]); - - unitMapper = new Map<String, String>([ - ["SOLAR_RADIATION", "W/m2"], - ["SOIL_MOISTURE", "vwc"], - ["","unknown"] - ]); - - typeMapper = new Map<String, String>([ - ["AVG", "Durchschnitt"], - ["SUM", "Totale Summe"], - ["","unknown"] - ]); - - - - - ngOnInit(){ - this.api.get("http://localhost:8080/api/v1/server/get/lvl1/ibk_s_id?date=15-04-2022").subscribe( - res=>{ - this.levelOne=res - // @ts-ignore - this.avgMinMax=this.levelOne.avgMinMax - // @ts-ignore - this.sumOrAvg=this.levelOne.sumOrAvg - // @ts-ignore - this.dentrometerDailyValue=this.levelOne.dendrometerDailyValues - } - ) - //get all station from server - this.stationControllerService.getAll().subscribe(x => { - console.log('available station', x); - this.availableStation=x.map(x=>x.id!==undefined ?x.id:"No station avalable") - }); - //subscribe to station control - this.stationControl.valueChanges.subscribe(x=>{ - console.log(x) - this.reload() - }) - } - - - reload() { - console.log(this.dateControl.value) - let datePipe = new DatePipe('en-US'); - let dateStart = datePipe.transform(this.dateControl.value, 'dd-MM-yyyy'); - console.log(dateStart) - let stationId = this.stationControl.value; - this.api.get("http://localhost:8080/api/v1/server/get/lvl1/"+stationId+"?date="+dateStart).subscribe( - res=>{ - this.levelOne=res - // @ts-ignore - this.avgMinMax=this.levelOne.avgMinMax - // @ts-ignore - this.sumOrAvg=this.levelOne.sumOrAvg - // @ts-ignore - this.dentrometerDailyValue=this.levelOne.dendrometerDailyValues - } - ) - } - - scrollLeft() { - this.scrollContainer.nativeElement.scrollLeft -= 100; // Adjust the scrolling speed as needed - } - - scrollRight() { - this.scrollContainer.nativeElement.scrollLeft += 100; // Adjust the scrolling speed as needed - } - - - @Input() currentTemp: number = 20; - @Input() maxTemp: number = 2; - @Input() minTemp: number = 30; - - faChevronLeft = faChevronLeft; - faChevronRight = faChevronRight; - faLongArrowAltUp = faLongArrowAltUp; - faLongArrowAltDown = faLongArrowAltDown; - - sendSignal1(number: number) { - this.sharedService.setNumber(number); - } -} - diff --git a/src/app/module/pages/home/home.component.html b/src/app/module/pages/home/home.component.html index e21b1080f01218ac39058f66a0b628c3695feffe..31cf8af81bd817a47aee7d3f61885a5da3e72d08 100644 --- a/src/app/module/pages/home/home.component.html +++ b/src/app/module/pages/home/home.component.html @@ -6,7 +6,7 @@ <mat-icon class="bg-green-300 rounded-full">forest</mat-icon> </a> <a class="w-5 h-5 "> - <button #buttonRef [routerLink]='[{ outlets: { homeDash: ["dayData"] } }]'> + <button #buttonRef [routerLink]='[{ outlets: { homeDash: ["summary"] } }]'> <mat-icon>insert_chart</mat-icon> </button> </a> @@ -16,18 +16,12 @@ <mat-icon>query_stats</mat-icon> </button> </a> - - <a class="hidden"> - <button #buttonRef2 [routerLink]='[{ outlets: { homeDash: ["dayDataList"] } }]'> - <mat-icon>insert_chart</mat-icon> - </button> - </a> </nav> </div> <!--Content of the Website --> <div class="sm:col-start-2 sm:col-end-3 sm:row-start-1 sm:row-end-3 col-start-1 col-end-3 row-start-1 row-end-2 overflow-y-auto h-full scrollbar-hide rounded-l "> - <router-outlet name="homeDash"></router-outlet> + <router-outlet name="homeDash" ></router-outlet> </div> </div> diff --git a/src/app/module/pages/home/home.component.ts b/src/app/module/pages/home/home.component.ts index 4e1e813c4f97cb1f34c2a9649e37703c4b03a664..ccff20ac3ec28d27d2cdfea5c792ac54ec51ad85 100644 --- a/src/app/module/pages/home/home.component.ts +++ b/src/app/module/pages/home/home.component.ts @@ -1,36 +1,8 @@ -import {Component, ElementRef, ViewChild} from '@angular/core'; -import {SharedService} from "../../../shared/shared-service.service"; -import {Router} from "@angular/router"; - +import {Component} from '@angular/core'; @Component({ selector: 'app-home', templateUrl: './home.component.html', styleUrls: ['./home.component.css'] }) export class HomeComponent { - - // @ts-ignore - @ViewChild('buttonRef') buttonRef: ElementRef; - // @ts-ignore - @ViewChild('buttonRef2') buttonRef2: ElementRef; - - number = 0; - - constructor(private sharedService: SharedService) {} - - ngOnInit() { - this.sharedService.number$.subscribe(number => { - this.number = number; - this.onNumberChange(); - }); - } - - onNumberChange() { - // Do something with the updated number - console.log(`Number changed to ${this.number}`); - if (this.number == 1) - this.buttonRef.nativeElement.click(); - if (this.number == 2) - this.buttonRef2.nativeElement.click(); - } } diff --git a/src/app/shared/shared-service.service.spec.ts b/src/app/shared/shared-service.service.spec.ts deleted file mode 100644 index ed4634e57e5232657479a091638948e112d4e03a..0000000000000000000000000000000000000000 --- a/src/app/shared/shared-service.service.spec.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { TestBed } from '@angular/core/testing'; - -import { SharedServiceService } from './shared-service.service'; - -describe('SharedServiceService', () => { - let service: SharedServiceService; - - beforeEach(() => { - TestBed.configureTestingModule({}); - service = TestBed.inject(SharedServiceService); - }); - - it('should be created', () => { - expect(service).toBeTruthy(); - }); -}); diff --git a/src/app/shared/shared-service.service.ts b/src/app/shared/shared-service.service.ts deleted file mode 100644 index aeaf2cbf456cba7b1d3a0a754e1ff5c9279e0203..0000000000000000000000000000000000000000 --- a/src/app/shared/shared-service.service.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Injectable } from '@angular/core'; -import { Subject } from 'rxjs'; - -@Injectable({ - providedIn: 'root' -}) -export class SharedService { - private numberSource = new Subject<number>(); - number$ = this.numberSource.asObservable(); - - setNumber(number: number) { - this.numberSource.next(number); - } -}