Skip to content
Snippets Groups Projects
Commit cbeccbc9 authored by ddamiron's avatar ddamiron
Browse files

add logs-slugs component

parent 6a1c7145
Branches
Tags
6 merge requests!10New updated datalog,!9add all datalog components and services into angular gui,!8update Datalog research input,!4Add logs pannels to updated admin gui,!7Datalog research input,!14Version 1.3.0
Showing
with 203 additions and 23 deletions
......@@ -17,7 +17,7 @@ import { NotificationsComponent } from './notifications/notifications.component'
import { LogsDataComponent } from './logs-dashboard/logs-data/logs-data.component';
import { LogsGraphComponent } from './logs-dashboard/logs-graph/logs-graph.component';
import { LogsSessionsComponent } from './logs-dashboard/logs-sessions/logs-sessions.component';
import { LogsSlugsComponent } from './logs-dashboard/logs-slugs/logs-slugs.component';
export {
MenuComponent,
......@@ -39,6 +39,7 @@ export {
LogsDataComponent,
LogsGraphComponent,
LogsSessionsComponent,
LogsSlugsComponent,
};
// tslint:disable-next-line:variable-name
......@@ -62,4 +63,5 @@ export const AppComponents = [
LogsDataComponent,
LogsGraphComponent,
LogsSessionsComponent,
LogsSlugsComponent,
];
<div class="section">
<div class="columns is-centered is-marginless">
<div class="input-field">
<form>
<label>uuid: </label>
<label> Uuid: </label>
<input type="text" size="40" name="uuid" [(ngModel)]="uuid">
<br>
<label>sessionId: </label>
<!-- <br> -->
<label> SessionId: </label>
<input type="text" size="40" name="sessionId" [(ngModel)]="sessionId">
<label>slug: </label>
<input type="text" size="40" name="slug" [(ngModel)]="slug">
<label> Slug: </label>
<input type="text" size="20" name="slug" [(ngModel)]="slug">
</form>
<br>
<a class="button button-gl is-centered" (click)="tabsToggler(true)">
Slugs
</a>
<a class="button button-gl is-centered" (click)="tabsToggler(false)">
Sessions
</a>
<a class="button button-gl is-centered" (click)="onSubmit()">
Display Steps Duration
Report
</a>
</div>
<div class="columns is-centered is-marginless">
</div>
<!-- <div class="columns is-centered is-marginless">
<div class="column has-text-centered">
<h2>{{ nbSessionId }} sessionId trouvées</h2>
<div *ngFor="let s of allFields.session_id_list">
......@@ -32,14 +41,15 @@
</div>
</div>
</div>
</div> -->
<div class="columns is-centered is-marginless">
<div class="column has-text-centered">
<app-logs-sessions [childSessionId]="sessionId" [childNbSessions]="nbSessionId" [childSessionsList]="allFields.session_id_list"></app-logs-sessions>
</div>
<div class="column has-text-centered is-marginless">
<app-logs-sessions [hidden]="isToggled" [childSessionId]="sessionId" [childNbSessions]="nbSessionId">
</app-logs-sessions>
<app-logs-slugs [hidden]="!isToggled" [childSlugsList]="allFields.slug_list" [childNbSlugs]="nbSlug"
[childNbUuids]="nbUuid"></app-logs-slugs>
</div>
</div>
<div class="columns is-centered is-marginless">
<div class="column has-text-centered">
<div *ngFor="let a of [data]">
......@@ -58,7 +68,7 @@
</div>
</div>
<div class="column has-text-centered">
<div class="column has-text-left">
<div *ngFor="let oneStepData of allStepsData">
<div class="mini-log-card">
<span>
......
......@@ -18,6 +18,6 @@ figure {
}
.input-field{
width: 300px;
width: 200%;
margin-top: 20px;
}
\ No newline at end of file
......@@ -21,6 +21,7 @@ export class LogsDataComponent implements OnInit {
nbSessionId: number;
nbUuid: number;
nbSlug: number;
isToggled: boolean;
sessionIdList: [string];
constructor(
......@@ -29,6 +30,7 @@ export class LogsDataComponent implements OnInit {
) { }
ngOnInit() {
this.isToggled = true;
this.data = [];
this.uuid = 'c1b069ca-181d-4265-9838-8d182f207bd3';
this.sessionId = '372b59a4-72b0-4a3a-b518-843e516da0cd';
......@@ -66,4 +68,8 @@ export class LogsDataComponent implements OnInit {
},
);
}
tabsToggler(boolean) {
this.isToggled = boolean;
}
}
......@@ -2,7 +2,7 @@
<div>
<div class="section">
<div class="columns is-centered is-marginless">
<div class="column has-text-centered">
<div class="column has-text-left">
<h2>{{ childNbSessions }} Sessions trouvées</h2>
</div>
</div>
......@@ -33,9 +33,9 @@
</div>
<div class="data-list">
<div class="data columns is-multiline is-vcentered is-marginless"
*ngFor="let sessionId of childSessionsList; let i=index;">
*ngFor="let session of allSessionsIdInfo; let i=index;">
<div class="column is-4 has-text-centered">
{{ sessionId }}
{{ session._id }}
</div>
<div class="column is-1 has-text-centered">
<!-- {{ format.mapServerType}} -->
......@@ -44,7 +44,9 @@
<span class="column-title">Completion Date</span>
</div>
<div class="column is-2 has-text-centered">
<span class="column-title">Duration</span>
<span class="column-title">{{ session.totalHoursSpent }}:
{{ session.totalMinutesSpent }}:
{{ session.totalSecondsSpent }}</span>
</div>
<div class="column is-1 has-text-centered actions">
</div>
......
......@@ -11,12 +11,36 @@ import { FormsModule } from '@angular/forms';
})
export class LogsSessionsComponent implements OnInit {
@Input() childSessionId: string;
@Input() childSessionsList: any;
// @Input() childSessionsList: [];
@Input() childNbSessions: number;
allSessionsIdInfo: [];
childSessionsList: any;
constructor() { }
constructor(
private dataLogsService: DataLogsService,
) { }
ngOnInit() {
this.allSessionsIdInfo = [];
this.childSessionsList = [];
this.getAllUniqueFields();
}
getProcessTimeAggr (sessionId) {
this.dataLogsService.getProcessTimeAggr(sessionId).subscribe((result) => {
console.log(result[0]);
this.allSessionsIdInfo.push(result[0]);
},
);
}
getAllUniqueFields() {
this.dataLogsService.getAllUniqueFields().subscribe((result) => {
this.childSessionsList = result[0]['session_id_list'];
for (let i = 0; i < this.childNbSessions; i++) {
this.getProcessTimeAggr(this.childSessionsList[i]);
}
console.log('allSessionsIdInfo: ', this.allSessionsIdInfo);
},
);
}
}
<ng-container >
<div>
<div class="section">
<div class="columns is-left is-marginless">
<div class="column has-text-left">
<div class="columns is-centered is-marginless">
<div class="column has-text-left">
<h2>{{ childNbSlugs -1 }} slugs trouvées</h2>
<h2>{{ childNbUuids }} uuid trouvées</h2>
</div>
</div>
</div>
</div>
<div class="table">
<div class="header columns is-marginless">
<div class="column is-4 has-text-centered">
<span (click)="sortBy('name')" class="is-sortable">
<span class="column-title" >Slugs</span>
<p></p>
</span>
</div>
<div class="column is-1 has-text-centered">
<span class="column-title">Uuids</span>
</div>
<div class="column is-2 has-text-centered">
<span class="column-title">Completion Date</span>
</div>
<div class="column is-2 has-text-centered">
<span class="column-title">Duration</span>
</div>
<div class="column is-1 has-text-centered">
<span class="column-title">Errors?</span>
</div>
<div class="column is-offset-1 is-1 has-text-centered">
<span class="column-title"></span>
</div>
</div>
<div class="data-list">
<div class="data columns is-multiline is-vcentered is-marginless"
*ngFor="let slug of childSlugsList; let i=index;">
<div class="column is-4 has-text-centered">
{{ slug }}
</div>
<div class="column is-1 has-text-centered">
<!-- {{ format.mapServerType}} -->
</div>
<div class="column is-2 has-text-centered">
<span class="column-title">Completion Date</span>
</div>
<div class="column is-2 has-text-centered">
<span class="column-title"></span>
</div>
<div class="column is-1 has-text-centered actions">
</div>
<div class="column is-offset-1 is-1 has-text-centered actions">
<app-crud-buttons ></app-crud-buttons>
</div>
</div>
</div>
<div class="columns is-marginless">
<div class="column">
<!-- <app-paginator *ngIf="paginator.length > 0" [length]="paginator.length" [pageSize]="paginator.limit"
[pageSizeOptions]="paginator.pageSizeOptions" [pageIndex]="paginator.pageIndex" [pagesToShow]="5"
[showFirstLastButtons]="true" (page)="changePagination($event)"
(pageSizeChanged)="changePageSize($event)">
</app-paginator> -->
</div>
</div>
</div>
</div>
</div>
</ng-container>
\ No newline at end of file
import { Component, OnInit, 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 { ILogs } from 'src/app/models/logs.model';
import { FormsModule } from '@angular/forms';
@Component({
selector: 'app-logs-slugs',
templateUrl: './logs-slugs.component.html',
styleUrls: ['./logs-slugs.component.scss'],
})
export class LogsSlugsComponent implements OnInit {
// @Input() childSessionId: string;
// @Input() childSessionsList: [];
@Input() childSlugsList: any;
@Input() childNbSlugs: any;
@Input() childNbUuids: any;
allSessionsIdInfo: [];
childSessionsList: any;
constructor(
private dataLogsService: DataLogsService,
) { }
ngOnInit() {
this.childSlugsList = [];
this.allSessionsIdInfo = [];
this.childSessionsList = [];
this.getAllUniqueFields();
}
getProcessTimeAggr (sessionId) {
this.dataLogsService.getProcessTimeAggr(sessionId).subscribe((result) => {
console.log(result[0]);
this.allSessionsIdInfo.push(result[0]);
},
);
}
getAllUniqueFields() {
this.dataLogsService.getAllUniqueFields().subscribe((result) => {
this.childSessionsList = result[0]['session_id_list'];
for (let i = 0; i < this.childNbSessions; i++) {
this.getProcessTimeAggr(this.childSessionsList[i]);
}
console.log('allSessionsIdInfo: ', this.allSessionsIdInfo);
},
);
}
}
......@@ -65,4 +65,14 @@ export class DataLogsService {
}),
);
}
getProcessTimeAggr(sessionId): Observable<any[]> {
const query = { session_id: sessionId };
const stringQuery = JSON.stringify(query);
const aggregationEndPoint = 'processTimeAggr?avars=';
return this._httpClient.get<any[]>(this.resourceServiceUrl + aggregationEndPoint + stringQuery).pipe(
map((response) => {
return response;
}),
);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment