From 31cd742c93a1a04cb5dbed852413659bdca0f941 Mon Sep 17 00:00:00 2001 From: ddamiron <ddamiron@sii.fr> Date: Tue, 30 Jul 2019 15:56:53 +0200 Subject: [PATCH] remove useless libraries add slug/uuid auto detection in home input form --- .../logs-home/logs-home.component.html | 6 +-- .../logs-home/logs-home.component.ts | 48 +++++++++---------- .../logs-sessions/logs-sessions.component.ts | 4 -- .../logs-slugs/logs-slugs.component.ts | 4 -- .../report/logs-error/logs-error.component.ts | 4 +- .../logs-graph/logs-graph.component.html | 6 +-- .../report/logs-graph/logs-graph.component.ts | 12 +++-- .../report/logs-info/logs-info.component.ts | 4 +- .../logs-pre-report.component.ts | 1 - .../logs-report/logs-report.component.html | 3 ++ .../logs-report/logs-report.component.ts | 21 ++++---- src/app/services/data-logs.service.ts | 10 ++++ 12 files changed, 62 insertions(+), 61 deletions(-) diff --git a/src/app/components/logs-dashboard/logs-home/logs-home.component.html b/src/app/components/logs-dashboard/logs-home/logs-home.component.html index 08f25bd..16a0e18 100644 --- a/src/app/components/logs-dashboard/logs-home/logs-home.component.html +++ b/src/app/components/logs-dashboard/logs-home/logs-home.component.html @@ -7,7 +7,7 @@ <div class="table"> <div class="header columns is-marginless"> <div class="column is-5 has-text-left"> - <label> Slug/Uuid </label> + <label> Slug/Uuid {{test}} </label> </div> <div class="column is-5 has-text-left"> <label> Session Id </label> @@ -15,7 +15,6 @@ <div class="column is-2 has-text-left"> </div> </div> - <div class="data-list"> <div class="data columns is-multiline is-vcentered is-marginless"> <div class="column is-5 has-text-left"> @@ -25,7 +24,7 @@ <input class="input" type="text" size="45" name="sessionId" [(ngModel)]="sessionId"> </div> <div class="column is-2 has-text-left"> - <a class="button button-gl " [routerLink]="['report', slug, sessionId, 'home']"> + <a class="button button-gl " (click)="uuidDetector(slug)"> <i class="fas fa-search"></i> </a> </div> @@ -38,7 +37,6 @@ <!-- Tabs --> <ul class="tabs-container"> <li *ngFor="let tab of tabs" (click)="tabsToggler(tab.name)" [ngClass]="{'is-active':tab.isActive}"> - <!-- [routerLink]="tab.fullRouterLinkPath" routerLinkActive="is-active" --> <span class="tab-label">{{ tab.name }}</span> </li> </ul> diff --git a/src/app/components/logs-dashboard/logs-home/logs-home.component.ts b/src/app/components/logs-dashboard/logs-home/logs-home.component.ts index c31966a..fee711b 100644 --- a/src/app/components/logs-dashboard/logs-home/logs-home.component.ts +++ b/src/app/components/logs-dashboard/logs-home/logs-home.component.ts @@ -1,6 +1,6 @@ import { Component, OnInit } from '@angular/core'; import { DataLogsService } from 'src/app/services/data-logs.service'; -import { ActivatedRoute, ParamMap } from '@angular/router'; +import { ActivatedRoute, Router, ParamMap } from '@angular/router'; import { ILogs } from 'src/app/models/logs.model'; import { ISimpleTab } from 'src/app/models/basic-tabs.model'; import { IPageHeaderInfo } from 'src/app/models/page.model'; @@ -16,9 +16,10 @@ export class LogsHomeComponent implements OnInit { }; isDashboardDisplayed: boolean = false; uuid: string; + isUuid: boolean = false; allFields: any; sessionId: string; - slug: string; + slug: any; data: any; stepData: ILogs; allStepsData: any; @@ -35,8 +36,9 @@ export class LogsHomeComponent implements OnInit { ]; sessionIdList: [string]; constructor( - private dataLogsService: DataLogsService, - private route: ActivatedRoute, + private _dataLogsService: DataLogsService, + private _route: ActivatedRoute, + private _router: Router, ) { } ngOnInit() { @@ -51,27 +53,8 @@ export class LogsHomeComponent implements OnInit { } - onSubmit() { - this.isDashboardDisplayed = true; - this.isToggled = false; - this.dataLogsService.uuidToSessionId(this.uuid) - .subscribe((result) => { - this.data.uuid = result[0]._id.uuid; - this.data.sessionIdList = result[0].session_id_list; - }, - ); - this.dataLogsService.getAllStepsDuration( - this.uuid, - this.sessionId, - ).subscribe((results) => { - // console.log('results', results); - this.allStepsData = results; - }, - ); - } - getAllUniqueFields() { - this.dataLogsService.getAllUniqueFields().subscribe((result) => { + this._dataLogsService.getAllUniqueFields().subscribe((result) => { this.allFields = result[0]; this.nbSessionId = result[0]['session_id_list'].length; this.nbUuid = result[0]['uuid_list'].length; @@ -93,4 +76,21 @@ export class LogsHomeComponent implements OnInit { } } + uuidDetector(testInput) { + const trimmedTestInput = testInput.trim(); + const regexp = new RegExp('^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'); + this.isUuid = regexp.test(trimmedTestInput); + if (this.isUuid) { + this.convertUuidToSlugAndNavigate(trimmedTestInput); + } else { + this._router.navigate([this._route, 'report', trimmedTestInput, this.sessionId, 'home']); + } + } + + convertUuidToSlugAndNavigate(uuidInput) { + this._dataLogsService.getSlugFromUuid(uuidInput).subscribe((result) => { + this._router.navigate([this._route, 'report', result, this.sessionId, 'home']); + }, + ); + } } diff --git a/src/app/components/logs-dashboard/logs-sessions/logs-sessions.component.ts b/src/app/components/logs-dashboard/logs-sessions/logs-sessions.component.ts index 6b6a0b3..41a1410 100644 --- a/src/app/components/logs-dashboard/logs-sessions/logs-sessions.component.ts +++ b/src/app/components/logs-dashboard/logs-sessions/logs-sessions.component.ts @@ -1,10 +1,6 @@ import { Component, OnChanges, SimpleChanges, Input } from '@angular/core'; import { DataLogsService } from 'src/app/services/data-logs.service'; import { PaginatorOptions } from 'src/app/models/paginator-options.model'; -import { ActivatedRoute, ParamMap } from '@angular/router'; -import { switchMap } from 'rxjs/operators'; -import { ILogs } from 'src/app/models/logs.model'; -import { FormsModule } from '@angular/forms'; import { Subscription } from 'rxjs'; @Component({ diff --git a/src/app/components/logs-dashboard/logs-slugs/logs-slugs.component.ts b/src/app/components/logs-dashboard/logs-slugs/logs-slugs.component.ts index d6068ca..e47fb2e 100644 --- a/src/app/components/logs-dashboard/logs-slugs/logs-slugs.component.ts +++ b/src/app/components/logs-dashboard/logs-slugs/logs-slugs.component.ts @@ -1,10 +1,6 @@ import { Component, OnChanges, SimpleChanges, Input } from '@angular/core'; import { DataLogsService } from 'src/app/services/data-logs.service'; import { PaginatorOptions } from 'src/app/models/paginator-options.model'; -import { ActivatedRoute, ParamMap } from '@angular/router'; -import { switchMap } from 'rxjs/operators'; -import { ILogs } from 'src/app/models/logs.model'; -import { FormsModule } from '@angular/forms'; import { Subscription } from 'rxjs'; @Component({ diff --git a/src/app/components/logs-dashboard/report/logs-error/logs-error.component.ts b/src/app/components/logs-dashboard/report/logs-error/logs-error.component.ts index 0928ae0..6cbd7ce 100644 --- a/src/app/components/logs-dashboard/report/logs-error/logs-error.component.ts +++ b/src/app/components/logs-dashboard/report/logs-error/logs-error.component.ts @@ -1,9 +1,7 @@ import { Component, OnChanges, SimpleChanges, Input } from '@angular/core'; import { DataLogsService } from 'src/app/services/data-logs.service'; -import { ActivatedRoute, ParamMap } from '@angular/router'; -import { switchMap } from 'rxjs/operators'; +import { ActivatedRoute } from '@angular/router'; import { ILogs } from 'src/app/models/logs.model'; -import { FormsModule } from '@angular/forms'; import { PaginatorOptions } from 'src/app/models/paginator-options.model'; import { Subscription } from 'rxjs'; diff --git a/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.html b/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.html index 0ed76e4..a5eb9c1 100644 --- a/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.html +++ b/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.html @@ -2,18 +2,16 @@ <div> <div class="section"> <div class="graph-component"> - + <h3>{{errorMessage}}</h3> <a class="button button-gl is-centered" (click)="replotGraph()"> Reload Chart </a> <div class="columns is-centered"> <div class="graph-div-canvas"> - <canvas id="graphCanvas">{{ chart }}</canvas> - </div> </div> </div> </div> </div> -</ng-container> +</ng-container> \ No newline at end of file diff --git a/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.ts b/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.ts index c03790b..20df233 100644 --- a/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.ts +++ b/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.ts @@ -1,10 +1,6 @@ import { Component, OnChanges, SimpleChanges, Input } from '@angular/core'; import { Chart } from 'chart.js'; import { DataLogsService } from 'src/app/services/data-logs.service'; -import { ActivatedRoute, ParamMap } from '@angular/router'; -import { switchMap } from 'rxjs/operators'; -import { ILogs } from 'src/app/models/logs.model'; -import { FormsModule } from '@angular/forms'; @Component({ selector: 'app-logs-graph', @@ -23,6 +19,7 @@ export class LogsGraphComponent implements OnChanges { dataset: any; xValues: any; yValues: any; + errorMessage: string = ''; constructor( private dataLogsService: DataLogsService, @@ -120,7 +117,12 @@ export class LogsGraphComponent implements OnChanges { } getData() { this.dataLogsService.getData(this.childUuid, this.childSessionId).subscribe((results) => { - console.log(results); + try { + const dataLenght = results[0].lenght; + } catch (e) { + this.errorMessage = 'No values for this slug and sessionId'; + console.log(this.errorMessage, e); + } this.graphData = results; this.getXYValuesFromData(); this.plotGraph(); diff --git a/src/app/components/logs-dashboard/report/logs-info/logs-info.component.ts b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.ts index e31dae6..b9caf07 100644 --- a/src/app/components/logs-dashboard/report/logs-info/logs-info.component.ts +++ b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.ts @@ -1,9 +1,7 @@ import { Component, OnChanges, SimpleChanges, Input } from '@angular/core'; import { DataLogsService } from 'src/app/services/data-logs.service'; -import { ActivatedRoute, ParamMap } from '@angular/router'; -import { switchMap } from 'rxjs/operators'; +import { ActivatedRoute } from '@angular/router'; import { ILogs } from 'src/app/models/logs.model'; -import { FormsModule } from '@angular/forms'; import { PaginatorOptions } from 'src/app/models/paginator-options.model'; import { Subscription } from 'rxjs'; diff --git a/src/app/components/logs-dashboard/report/logs-pre-report/logs-pre-report.component.ts b/src/app/components/logs-dashboard/report/logs-pre-report/logs-pre-report.component.ts index 74f35f8..b43ec9b 100644 --- a/src/app/components/logs-dashboard/report/logs-pre-report/logs-pre-report.component.ts +++ b/src/app/components/logs-dashboard/report/logs-pre-report/logs-pre-report.component.ts @@ -2,7 +2,6 @@ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute, ParamMap, Router } from '@angular/router'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { filter, switchMap } from 'rxjs/operators'; -import { Format } from 'src/app/models/format.model'; import { DataLogsService } from 'src/app/services/data-logs.service'; import { IPageHeaderInfo } from 'src/app/models/page.model'; import { PaginatorOptions } from 'src/app/models/paginator-options.model'; diff --git a/src/app/components/logs-dashboard/report/logs-report/logs-report.component.html b/src/app/components/logs-dashboard/report/logs-report/logs-report.component.html index 3bc7924..49dd0ca 100644 --- a/src/app/components/logs-dashboard/report/logs-report/logs-report.component.html +++ b/src/app/components/logs-dashboard/report/logs-report/logs-report.component.html @@ -10,7 +10,10 @@ <span class="tab-label">{{ tab.name }}</span> </li> </ul> + <div> + <h2>{{errorMessage}}</h2> + </div> <app-logs-graph [hidden]="!isToggled" [childUuid]="uuid" [childSessionId]="sessionId" [childSlug]="slug"> </app-logs-graph> <app-logs-info [hidden]="isToggled||isToggled==undefined" [childUuid]="uuid" [childSessionId]="sessionId" diff --git a/src/app/components/logs-dashboard/report/logs-report/logs-report.component.ts b/src/app/components/logs-dashboard/report/logs-report/logs-report.component.ts index 7a87faf..684e2d2 100644 --- a/src/app/components/logs-dashboard/report/logs-report/logs-report.component.ts +++ b/src/app/components/logs-dashboard/report/logs-report/logs-report.component.ts @@ -1,8 +1,6 @@ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute, ParamMap, Router } from '@angular/router'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; -import { filter, switchMap } from 'rxjs/operators'; -import { Format } from 'src/app/models/format.model'; import { DataLogsService } from 'src/app/services/data-logs.service'; import { IPageHeaderInfo } from 'src/app/models/page.model'; import { ISimpleTab } from 'src/app/models/basic-tabs.model'; @@ -17,18 +15,19 @@ export class LogsReportComponent implements OnInit { title: 'Data-Logs Report', }; responseArray: any = []; + errorMessage: string = ''; isToggled: boolean = true; form: FormGroup; title: string; - slug: string ; - uuid:string; + slug: string; + uuid: string; sessionId: string; - serviceName:string; + serviceName: string; nbObjects: number = 0; urlCode: string = ''; - isSession:boolean = false; + isSession: boolean = false; previousUrl: string; - tabs: ISimpleTab[] = [ + tabs: ISimpleTab[] = [ { name: 'Graph', isActive: true, @@ -68,8 +67,12 @@ export class LogsReportComponent implements OnInit { getUuidFromSlug(slug) { this._dataLogsService.getUuidFromSlug(slug).subscribe((result) => { - // console.log(result[0]); - this.uuid = result[0].uuid_list[0]; + try { + this.uuid = result[0].uuid_list[0]; + } catch (e) { + this.errorMessage = 'No uuid for this slug'; + console.log(this.errorMessage, e); + } }, ); } diff --git a/src/app/services/data-logs.service.ts b/src/app/services/data-logs.service.ts index 81550be..7c38156 100644 --- a/src/app/services/data-logs.service.ts +++ b/src/app/services/data-logs.service.ts @@ -153,6 +153,16 @@ export class DataLogsService { ); } + getSlugFromUuid(uuid): Observable<any[]> { + const query = { uuid }; + const stringQuery = JSON.stringify(query); + const aggregationEndPoint = '/_aggrs/uuidToSlug?avars='; + return this._httpClient.get<any[]>(this.resourceServiceUrl + aggregationEndPoint + stringQuery).pipe( + map((response) => { + return response[0]['slug_list'][0]; + }), + ); + } getSessionIdFromSlug(slug): Observable<any[]> { const query = { slug }; const stringQuery = JSON.stringify(query); -- GitLab