From 412deeea652b359a70368c2fa19baea3c8ee2450 Mon Sep 17 00:00:00 2001 From: ddamiron <ddamiron@sii.fr> Date: Mon, 29 Jul 2019 11:44:23 +0200 Subject: [PATCH] update overall css for Datalogs --- src/app/app.routing.module.ts | 1 - .../logs-home/logs-home.component.html | 8 - .../logs-sessions.component.html | 212 +++++----- .../logs-slugs/logs-slugs.component.html | 201 +++++----- .../logs-error/logs-error.component.html | 136 +++---- .../report/logs-error/logs-error.component.ts | 12 +- .../logs-graph/logs-graph.component.html | 7 +- .../report/logs-info/logs-info.component.html | 151 +++---- .../report/logs-info/logs-info.component.scss | 5 +- .../report/logs-info/logs-info.component.ts | 66 +--- .../logs-pre-report.component.html | 372 +++++++++--------- .../logs-report/logs-report.component.html | 44 +-- src/app/services/data-logs.service.ts | 26 +- 13 files changed, 560 insertions(+), 681 deletions(-) diff --git a/src/app/app.routing.module.ts b/src/app/app.routing.module.ts index dff4741..9bc10f7 100644 --- a/src/app/app.routing.module.ts +++ b/src/app/app.routing.module.ts @@ -8,7 +8,6 @@ import { ResourceFormComponent } from './components/resources/edit/resource-form import { ResourceDetailComponent } from './components/resources/detail/resource-detail.component'; import { FormatsComponent, FormatDetailComponent, FormatFormComponent } from './components'; import { AuthenticatedGuard } from './user/guards/authenticated.guard'; -import { LogsDataComponent } from './components/logs-dashboard/report/logs-data/logs-data.component'; import { LogsGraphComponent } from './components/logs-dashboard/report/logs-graph/logs-graph.component'; import { LogsPreReportComponent } from './components/logs-dashboard/report/logs-pre-report/logs-pre-report.component'; import { LogsReportComponent } from './components/logs-dashboard/report/logs-report/logs-report.component'; 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 d5d6d3e..233f249 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 @@ -43,14 +43,6 @@ </li> </ul> - - <!-- <a class="button button-gl is-centered" (click)="tabsToggler(true)"> - Slugs - </a> - <a class="button button-gl is-centered" (click)="tabsToggler(false)"> - Sessions - </a> --> - </div> </div> diff --git a/src/app/components/logs-dashboard/logs-sessions/logs-sessions.component.html b/src/app/components/logs-dashboard/logs-sessions/logs-sessions.component.html index d94f287..4aa1329 100644 --- a/src/app/components/logs-dashboard/logs-sessions/logs-sessions.component.html +++ b/src/app/components/logs-dashboard/logs-sessions/logs-sessions.component.html @@ -1,115 +1,105 @@ -<ng-container> - <div> - <div class="section"> - <div class="columns is-centered is-marginless"> - <div class="column has-text-left"> - <h2>{{ nbSessions }} session(s) trouvée(s)</h2> - </div> - </div> +<div class="columns is-centered is-marginless"> + <div class="column has-text-left"> + <P>{{ nbSessions }} session(s) trouvée(s)</P> + </div> +</div> - <div class="table entity-list-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">SessionId</span> - <p></p> - </span> - </div> - <div class="column is-1 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Nb of Slugs</span> - </span> - </div> - <div class="column is-2 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Completion Date</span> - </span> - </div> - <div class="column is-2 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Duration</span> - </span> - </div> - <div class="column is-1 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Errors?</span> - </span> - </div> - <div class="column is-1 has-text-left"> - <span class="column-title"></span> - </div> - </div> - <div class="data-list"> - <div class="data columns is-multiline is-vcentered is-marginless" - *ngFor="let session of allSessionsInfoList; let i=index; let odd=odd; let even=even;" - [ngClass]="{ odd: odd, even: even }"> - <div class="column is-4 has-text-left"> - {{ session._id.session_id }} - </div> - <div class="column is-1 has-text-left"> - {{ session.data.length }} - </div> - <div class="column is-2 has-text-left"> - {{ session.data[0].completionDate.$date }} - </div> - <div class="column is-2 has-text-left"> - <span class="column-title"> - {{ session.data[0].duration.hours }}: - {{ session.data[0].duration.minutes }}: - {{ session.data[0].duration.seconds }}</span> - </div> - <div class="column is-1 has-text-centered actions"> - {{ session.data[0].count.ERROR }} - </div> - <div class="column is-1 actions"> - <a class="button button-gl " [routerLink]="['preReport','session', session._id.session_id]"> - <i class="fas fa-eye"></i> - </a> - </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 class="table entity-list-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">SessionId</span> + <p></p> + </span> + </div> + <div class="column is-1 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Nb of Slugs</span> + </span> + </div> + <div class="column is-2 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Completion Date</span> + </span> + </div> + <div class="column is-2 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Duration</span> + </span> + </div> + <div class="column is-1 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Errors?</span> + </span> + </div> + <div class="column is-1 has-text-left"> + <span class="column-title"></span> + </div> + </div> + <div class="data-list"> + <div class="data columns is-multiline is-vcentered is-marginless" + *ngFor="let session of allSessionsInfoList; let i=index; let odd=odd; let even=even;" + [ngClass]="{ odd: odd, even: even }"> + <div class="column is-4 has-text-left"> + {{ session._id.session_id }} </div> + <div class="column is-1 has-text-left"> + {{ session.data.length }} + </div> + <div class="column is-2 has-text-left"> + {{ session.data[0].completionDate.$date }} + </div> + <div class="column is-2 has-text-left"> + <span class="column-title"> + {{ session.data[0].duration.hours }}: + {{ session.data[0].duration.minutes }}: + {{ session.data[0].duration.seconds }}</span> + </div> + <div class="column is-1 has-text-centered actions"> + {{ session.data[0].count.ERROR }} + </div> + <div class="column is-1 actions"> + <a class="button button-gl " [routerLink]="['preReport','session', session._id.session_id]"> + <i class="fas fa-eye"></i> + </a> + </div> + </div> + </div> + <div class="columns is-marginless"> + <div class="column"> + </div> </div> -</ng-container> \ No newline at end of file +</div> \ No newline at end of file diff --git a/src/app/components/logs-dashboard/logs-slugs/logs-slugs.component.html b/src/app/components/logs-dashboard/logs-slugs/logs-slugs.component.html index cd66488..2eeb092 100644 --- a/src/app/components/logs-dashboard/logs-slugs/logs-slugs.component.html +++ b/src/app/components/logs-dashboard/logs-slugs/logs-slugs.component.html @@ -1,115 +1,106 @@ -<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}} slug(s) trouvé(s)</h2> - </div> +<div class="columns is-centered is-marginless"> + <div class="column has-text-left"> + <P>{{ childNbSlugs }} slug(s) trouvé(s)</P> + </div> +</div> + +<div class="table entity-list-table"> + <div class="header columns is-marginless"> + <div class="column is-3 has-text-centered"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Slugs</span> + </span> + </div> + <div class="column is-2 has-text-left"> + <span class="column-title">Nb of Sessions</span> + </div> + <div class="column is-2 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Completion Date</span> + </span> + </div> + <div class="column is-2 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Duration (h:min:s)</span> + </span> </div> + <div class="column is-1 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Errors?</span> + </span> + </div> + <div class="column is-1 has-text-left"> + <span class="column-title"></span> + </div> + </div> + <div class="data-list"> + <div *ngFor="let slug of allSlugsInfoList; let i=index; let odd=odd; let even=even;"> + <div class="data columns is-multiline is-vcentered is-marginless" *ngIf="slug._id.slug" + [ngClass]="{ odd: odd, even: even }"> + <div class="column is-3 has-text-left"> + {{slug._id.slug}} <br> + <div class="small-text"> + <p>{{slug._id.uuid}}</p> </div> </div> - </div> - <div class="table entity-list-table"> - <div class="header columns is-marginless"> - <div class="column is-3 has-text-centered"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Slugs</span> - </span> - </div> - <div class="column is-2 has-text-left"> - <span class="column-title">Nb of Sessions</span> - </div> - <div class="column is-2 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Completion Date</span> - </span> - </div> - <div class="column is-2 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Duration (h:min:s)</span> - </span> </div> - <div class="column is-1 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Errors?</span> - </span> - </div> - <div class="column is-1 has-text-left"> - <span class="column-title"></span> - </div> + <div class="column is-2 has-text-left"> + {{slug.data.length}} </div> - <div class="data-list"> - <div *ngFor="let slug of allSlugsInfoList; let i=index; let odd=odd; let even=even;"> - <div class="data columns is-multiline is-vcentered is-marginless" *ngIf="slug._id.slug" - [ngClass]="{ odd: odd, even: even }"> - <div class="column is-3 has-text-left"> - {{slug._id.slug}} <br> - <div class="small-text"> - <p>{{slug._id.uuid}}</p> - </div> - </div> - <div class="column is-2 has-text-left"> - {{slug.data.length}} - </div> - <div class="column is-2 has-text-left"> - {{slug.data[0].completionDate.$date}} - </div> - <div class="column is-2 has-text-left"> - {{slug.data[0].duration.hours}}:{{slug.data[0].duration.minutes}}:{{slug.data[0].duration.seconds}} - </div> - <div class="column is-1 has-text-left actions"> - {{slug.data[0].count.ERROR}} - </div> - <div class="column is-1 has-text-left actions"> - <a class="button button-gl is-left" [routerLink]="['preReport', 'slug', slug._id.slug]"> - <i class="fas fa-eye"></i> - </a> - </div> - </div> - </div> - <div class="columns is-marginless"> - <div class="column"> - <!-- <app-paginator *ngIf="paginator.length > 0" [length]="paginator.length" [pageSize]="paginator.limit" + <div class="column is-2 has-text-left"> + {{slug.data[0].completionDate.$date}} + </div> + <div class="column is-2 has-text-left"> + {{slug.data[0].duration.hours}}:{{slug.data[0].duration.minutes}}:{{slug.data[0].duration.seconds}} + </div> + <div class="column is-1 has-text-left actions"> + {{slug.data[0].count.ERROR}} + </div> + <div class="column is-1 has-text-left actions"> + <a class="button button-gl is-left" [routerLink]="['preReport', 'slug', slug._id.slug]"> + <i class="fas fa-eye"></i> + </a> + </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> </div> -</ng-container> \ No newline at end of file +</div> \ No newline at end of file diff --git a/src/app/components/logs-dashboard/report/logs-error/logs-error.component.html b/src/app/components/logs-dashboard/report/logs-error/logs-error.component.html index 1137e23..9d29696 100644 --- a/src/app/components/logs-dashboard/report/logs-error/logs-error.component.html +++ b/src/app/components/logs-dashboard/report/logs-error/logs-error.component.html @@ -1,94 +1,78 @@ -<!-- <div class="columns is-centered is-marginless"> - <label class="btn btn-outline-secondary" *ngFor="let logType of logTypes"> - <input type="checkbox" class="checkbox" [(ngModel)]="logType.selected"> {{logType.name}} - </label> -</div> --> +<div class="columns is-centered is-marginless"> -<div class="columns is-centered is-marginless paginator-container"> - - <!-- this.paginator.limit: {{this.paginator.limit}}<br> - pageIndex: {{ this.paginator.pageIndex }}<br> - lenght: {{this.paginator.length}}<br> --> -</div> - -<div class="section"> - <div class="columns is-centered is-marginless"> - - <div class="column has-text-left"> + <div class="column has-text-left"> + <br> + <div *ngFor="let oneStepData of allStepsData; let i=index; let odd=odd; let even=even;"> + <div *ngIf="oneStepData" (click)='getLogsSelector(oneStepData._id.step, oneStepData.counts);'> + <div class="table entity-list-table"> + <div class="columns is-marginless"> + <div class="column is-6 has-text-left"> + <p>Step: {{oneStepData._id.step}}</p> + </div> + </div> + <div class="columns is-marginless"> + <div class="column is-6 has-text-left"> + <p>Durée: {{oneStepData.totalHoursSpent}}h : {{oneStepData.totalMinutesSpent}}m : + {{oneStepData.totalSecondsSpent}}s</p> + </div> + <div class="column is-6 has-text-right"> - <div *ngFor="let oneStepData of allStepsData; let i=index; let odd=odd; let even=even;"> - <div *ngIf="oneStepData" (click)='getLogsSelector(oneStepData._id.step, oneStepData.counts);'> - <div class="table entity-list-table"> - <div class="columns is-marginless"> - <div class="column is-6 has-text-left"> - <p>Step: {{oneStepData._id.step}}</p> - </div> - </div> - <div class="columns is-marginless"> - <div class="column is-6 has-text-left"> - <p>Durée: {{oneStepData.totalHoursSpent}}h : {{oneStepData.totalMinutesSpent}}m : - {{oneStepData.totalSecondsSpent}}s</p> - </div> - <div class="column is-6 has-text-right"> - - <div class="arrows" [ngClass]="{'is-displayed': displayedStep === oneStepData._id.step}"> - <svg xmlns="https://www.w3.org/2000/svg" id="chevron" viewBox="0 0 15 9"> - <path - d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z" - class="brandcolor" /> - <path - d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z" - class="brandcolor" /> - </svg> - </div> - - </div> - </div> - <div class="columns is-marginless"> - <div class="column is-6 has-text-left"> - <p>Erreur(s): {{oneStepData.counts.ERROR}}</p> - </div> - <div class="column is-6 has-text-left"> - <p>Info(s): {{oneStepData.counts.INFO}}</p> - </div> - </div> + <div class="arrows" [ngClass]="{'is-displayed': displayedStep === oneStepData._id.step}"> + <svg xmlns="https://www.w3.org/2000/svg" id="chevron" viewBox="0 0 15 9"> + <path + d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z" + class="brandcolor" /> + <path + d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z" + class="brandcolor" /> + </svg> </div> + + </div> + </div> + <div class="columns is-marginless"> + <div class="column is-6 has-text-left"> + <p>Erreur(s): {{oneStepData.counts.ERROR}}</p> + </div> + <div class="column is-6 has-text-left"> + <p>Info(s): {{oneStepData.counts.INFO}}</p> </div> </div> </div> - - <div class="column has-text-left"> - <div class="mini-log-card" *ngIf="allLogs?.lenght==0"> - <p>No DATA</p> </div> - <!-- <div class="mini-error-card" *ngIf="!allErrorLogs?.lenght>0"> + </div> + </div> + + <div class="column has-text-left"> + <div class="mini-log-card" *ngIf="allLogs?.lenght==0"> + <p>No DATA</p> + </div> + <!-- <div class="mini-error-card" *ngIf="!allErrorLogs?.lenght>0"> <p>No DATA</p> </div> --> - <app-paginator [length]="paginator.length" [pageSize]="paginator.limit" + <app-paginator [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 *ngFor="let oneErrorLog of allErrorLogs"> + </app-paginator> - <div class="mini-error-card" *ngIf="oneErrorLog"> - <span> - <p>slug: {{oneErrorLog.slug}} </p> - <p>uuid: {{oneErrorLog.uuid}} </p> - <p>sessionId: {{oneErrorLog.session_id}} </p> - <h3> - <p>step: {{oneErrorLog.step}}</p> - <p>status: {{oneErrorLog.status}}</p> - <p>info: {{oneErrorLog.info}}</p> - <p>progress-ratio: {{oneErrorLog.progress_ratio}}</p> - - </h3> - </span> + <div class="color-green" *ngFor="let oneErrorLog of allErrorLogs"> + <div class="table entity-list-table"> + <div class="columns is-marginless"> + <div class="column is-12 has-text-left"> + <p>step: {{oneErrorLog.step}}</p> + <br> + <p>status: {{oneErrorLog.status}}</p> + <br> + <p>info: {{oneErrorLog.info}}</p> + <br> + <p>progress-ratio: {{oneErrorLog.progress_ratio}}</p> + </div> </div> </div> - <div> + </div> + + <div> - </div> </div> </div> - </div> \ No newline at end of file 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 5ba199e..97683ad 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 @@ -16,7 +16,7 @@ export class LogsErrorComponent implements OnChanges { @Input() childUuid: string = ''; @Input() childSessionId: string = ''; @Input() childSlug: string; - searchChangeSub: Subscription; + errorLogChangeSub: Subscription; selectedStep = { step:'main', nbErrors: 0, @@ -67,7 +67,7 @@ export class LogsErrorComponent implements OnChanges { this.allStepsData = []; this.allErrorLogs = []; this.getLogsSteps(); - this.searchChangeSub = this.dataLogsService.searchChange$.subscribe( + this.errorLogChangeSub = this.dataLogsService.errorLogChange$.subscribe( () => { this.paginator.limit = this.dataLogsService.limit; this.paginator.pageIndex = this.dataLogsService.pageNumber; @@ -80,7 +80,9 @@ export class LogsErrorComponent implements OnChanges { }, ); } - + ngOnDestroy() { + this.errorLogChangeSub.unsubscribe(); + } getLogsSteps() { if ((this.childUuid != null) && (this.childSessionId != null)) { // console.log('parameters', this.childUuid, this.childSessionId); @@ -154,10 +156,10 @@ export class LogsErrorComponent implements OnChanges { // When pagination is changed by user, we update datasetList with new pagination options changePagination(pageIndex) { - this.dataLogsService.paginationChanged(this.paginator.limit, pageIndex); + this.dataLogsService.paginationChanged(this.paginator.limit, pageIndex, 'ERROR'); } changePageSize(pageSize) { - this.dataLogsService.paginationChanged(pageSize, 1); + this.dataLogsService.paginationChanged(pageSize, 1, 'ERROR'); } } 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 aab7e31..0ed76e4 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,12 +2,7 @@ <div> <div class="section"> <div class="graph-component"> - <div class="columns is-left "> - <p>slug: {{childSlug}} sessionId: {{childSessionId}} </p> - </div> - <div class="columns is-left "> - <p>uuid: {{childUuid}} </p> - </div> + <a class="button button-gl is-centered" (click)="replotGraph()"> Reload Chart </a> diff --git a/src/app/components/logs-dashboard/report/logs-info/logs-info.component.html b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.html index 83e7896..48c9263 100644 --- a/src/app/components/logs-dashboard/report/logs-info/logs-info.component.html +++ b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.html @@ -1,112 +1,73 @@ -<!-- <div class="columns is-centered is-marginless"> - <label class="btn btn-outline-secondary" *ngFor="let logType of logTypes"> - <input type="checkbox" class="checkbox" [(ngModel)]="logType.selected"> {{logType.name}} - </label> -</div> --> +<div class="columns is-centered is-marginless"> -<div class="columns is-centered is-marginless paginator-container"> - - <!-- this.paginator.limit: {{this.paginator.limit}}<br> - pageIndex: {{ this.paginator.pageIndex }}<br> - lenght: {{this.paginator.length}}<br> --> -</div> - -<div class="section"> - <div class="columns is-centered is-marginless"> - - <div class="column has-text-left"> - - <div *ngFor="let oneStepData of allStepsData; let i=index; let odd=odd; let even=even;"> - <div *ngIf="oneStepData" (click)='getLogsSelector(oneStepData._id.step, oneStepData.counts);'> - <div class="table entity-list-table"> - <div class="columns is-marginless"> - <div class="column is-6 has-text-left"> - <p>Step: {{oneStepData._id.step}}</p> - </div> + <div class="column has-text-left"> +<br> + <div *ngFor="let oneStepData of allStepsData; let i=index; let odd=odd; let even=even;"> + <div *ngIf="oneStepData" (click)='getLogsSelector(oneStepData._id.step, oneStepData.counts);'> + <div class="table entity-list-table"> + <div class="columns is-marginless"> + <div class="column is-6 has-text-left"> + <p>Step: {{oneStepData._id.step}}</p> </div> - <div class="columns is-marginless"> - <div class="column is-6 has-text-left"> - <p>Durée: {{oneStepData.totalHoursSpent}}h : {{oneStepData.totalMinutesSpent}}m : - {{oneStepData.totalSecondsSpent}}s</p> - </div> - <div class="column is-6 has-text-right"> - - <div class="arrows" [ngClass]="{'is-displayed': displayedStep === oneStepData._id.step}"> - <svg xmlns="https://www.w3.org/2000/svg" id="chevron" viewBox="0 0 15 9"> - <path - d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z" - class="brandcolor" /> - <path - d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z" - class="brandcolor" /> - </svg> - </div> + </div> + <div class="columns is-marginless"> + <div class="column is-6 has-text-left"> + <p>Durée: {{oneStepData.totalHoursSpent}}h : {{oneStepData.totalMinutesSpent}}m : + {{oneStepData.totalSecondsSpent}}s</p> + </div> + <div class="column is-6 has-text-right"> + <div class="arrows" [ngClass]="{'is-displayed': displayedStep === oneStepData._id.step}"> + <svg xmlns="https://www.w3.org/2000/svg" id="chevron" viewBox="0 0 15 9"> + <path + d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z" + class="brandcolor" /> + <path + d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z" + class="brandcolor" /> + </svg> </div> + </div> - <div class="columns is-marginless"> - <div class="column is-6 has-text-left"> - <p>Erreur(s): {{oneStepData.counts.ERROR}}</p> - </div> - <div class="column is-6 has-text-left"> - <p>Info(s): {{oneStepData.counts.INFO}}</p> - </div> + </div> + <div class="columns is-marginless"> + <div class="column is-6 has-text-left"> + <p>Erreur(s): {{oneStepData.counts.ERROR}}</p> + </div> + <div class="column is-6 has-text-left"> + <p>Info(s): {{oneStepData.counts.INFO}}</p> </div> </div> </div> </div> </div> + </div> - <div class="column has-text-left"> - <div class="mini-log-card" *ngIf="allLogs?.lenght==0"> - <p>No DATA</p> - </div> - <!-- <div class="mini-error-card" *ngIf="!allErrorLogs?.lenght>0"> - <p>No DATA</p> - </div> --> - <app-paginator [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 *ngFor="let oneLog of allLogs"> - - <div class="mini-log-card" *ngIf="oneLog"> - <span> - <!-- <p>slug: {{oneLog.slug}} </p> - <p>uuid: {{oneLog.uuid}} </p> - <p>sessionId: {{oneLog.session_id}} </p> --> - <h3> - <p>step: {{oneLog.step}}</p> - <p>status: {{oneLog.status}}</p> - <p>info: {{oneLog.info}}</p> - <p>progress-ratio: {{oneLog.progress_ratio}}</p> - - </h3> - - </span> - </div> - </div> - <div *ngFor="let oneErrorLog of allErrorLogs"> - - <div class="mini-error-card" *ngIf="oneErrorLog"> - <span> - <p>slug: {{oneErrorLog.slug}} </p> - <p>uuid: {{oneErrorLog.uuid}} </p> - <p>sessionId: {{oneErrorLog.session_id}} </p> - <h3> - <p>step: {{oneErrorLog.step}}</p> - <p>status: {{oneErrorLog.status}}</p> - <p>info: {{oneErrorLog.info}}</p> - <p>progress-ratio: {{oneErrorLog.progress_ratio}}</p> - - </h3> - </span> + <div class="column has-text-left"> + <div class="mini-log-card" *ngIf="allLogs?.lenght==0"> + <p>No DATA</p> + </div> + <app-paginator [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 class="color-green" *ngFor="let oneLog of allLogs"> + <div class="table entity-list-table"> + <div class="columns is-marginless"> + <div class="column is-12 has-text-left"> + <p>step: {{oneLog.step}}</p> + <br> + <p>status: {{oneLog.status}}</p> + <br> + <p>info: {{oneLog.info}}</p> + <br> + <p>progress-ratio: {{oneLog.progress_ratio}}</p> + </div> </div> </div> - <div> + </div> + <div> - </div> </div> </div> - </div> \ No newline at end of file diff --git a/src/app/components/logs-dashboard/report/logs-info/logs-info.component.scss b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.scss index 91621a1..b9c700c 100644 --- a/src/app/components/logs-dashboard/report/logs-info/logs-info.component.scss +++ b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.scss @@ -20,9 +20,8 @@ figure { background-color: yellow; } - .mini-log-card{ - margin-top: 20px; - padding: 20px; + .color-green{ + background-color: greenyellow; } 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 a1a3d60..a494f30 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 @@ -16,22 +16,22 @@ export class LogsInfoComponent implements OnChanges { @Input() childUuid: string = ''; @Input() childSessionId: string = ''; @Input() childSlug: string; - searchChangeSub: Subscription; - selectedStep = { - step:'main', - nbErrors: 0, + infoChangeSub: Subscription; + selectedStep = { + step: 'main', + nbErrors: 1, nbInfos: 0, }; displayedStep: string = 'none'; logTypes: any = [ { - name : 'erreurs', - selected : false, + name: 'erreurs', + selected: false, }, { - name : 'infos', - selected : true, + name: 'infos', + selected: true, }, ]; uuid: string; @@ -40,7 +40,6 @@ export class LogsInfoComponent implements OnChanges { data: any; stepData: ILogs; allStepsData: any; - allErrorLogs: any; allLogs: any; nbSessionId: number; nbUuid: number; @@ -65,21 +64,19 @@ export class LogsInfoComponent implements OnChanges { this.data = []; this.slug = this.childSlug; this.allStepsData = []; - this.allErrorLogs = []; this.getLogsSteps(); - this.searchChangeSub = this.dataLogsService.searchChange$.subscribe( + this.infoChangeSub = this.dataLogsService.infoLogChange$.subscribe( () => { this.paginator.limit = this.dataLogsService.limit; this.paginator.pageIndex = this.dataLogsService.pageNumber; - if (this.logTypes[0].selected === true) { - this.getErrorStepsLogs(this.selectedStep.step, this.selectedStep.nbErrors, this.paginator.pageIndex); - } - if (this.logTypes[1].selected === true) { - this.getSimpleStepsLogs(this.selectedStep.step, this.selectedStep.nbInfos, this.paginator.pageIndex); - } + this.paginator.length = this.dataLogsService.length; + this.getSimpleStepsLogs(this.selectedStep.step, this.selectedStep.nbInfos, this.paginator.pageIndex); }, ); } + ngOnDestroy() { + this.infoChangeSub.unsubscribe(); + } getLogsSteps() { if ((this.childUuid != null) && (this.childSessionId != null)) { @@ -97,39 +94,12 @@ export class LogsInfoComponent implements OnChanges { } getLogsSelector(step, counts) { this.selectedStep.step = step; - this.selectedStep.nbErrors = counts.ERROR; this.selectedStep.nbInfos = counts.INFO; - this.allErrorLogs = []; this.allLogs = []; this.displayedStep = step; - if (this.logTypes[0].selected === true) { - this.getErrorStepsLogs(step, this.selectedStep.nbErrors, 1); - } - if (this.logTypes[1].selected === true) { - this.getSimpleStepsLogs(step, this.selectedStep.nbInfos, 1); - } + this.getSimpleStepsLogs(step, this.selectedStep.nbInfos, 1); } - getErrorStepsLogs(step, nbErrors, pageNumber) { - if ((this.childUuid != null) && (this.childSessionId != null)) { - // console.log('parameters', this.childUuid, this.childSessionId); - this.dataLogsService.getLogsStepsLogs( - step, - this.childSessionId, - this.childUuid, - 'ERROR', - nbErrors, - pageNumber, - ).subscribe((results) => { - // console.log('results', results); - this.allErrorLogs = results; - this.paginator.limit = this.dataLogsService.limit; - this.paginator.pageIndex = this.dataLogsService.pageNumber; - this.paginator.length = this.dataLogsService.length; - }, - ); - } - } getSimpleStepsLogs(step, nbInfos, pageNumber) { if ((this.childUuid != null) && (this.childSessionId != null)) { // console.log('parameters', this.childUuid, this.childSessionId); @@ -152,12 +122,12 @@ export class LogsInfoComponent implements OnChanges { } } - // When pagination is changed by user, we update datasetList with new pagination options + // When pagination is changed by user, we update datasetList with new pagination options changePagination(pageIndex) { - this.dataLogsService.paginationChanged(this.paginator.limit, pageIndex); + this.dataLogsService.paginationChanged(this.paginator.limit, pageIndex, 'INFO'); } changePageSize(pageSize) { - this.dataLogsService.paginationChanged(pageSize, 1); + this.dataLogsService.paginationChanged(pageSize, 1, 'INFO'); } } diff --git a/src/app/components/logs-dashboard/report/logs-pre-report/logs-pre-report.component.html b/src/app/components/logs-dashboard/report/logs-pre-report/logs-pre-report.component.html index 96d213f..e999b0a 100644 --- a/src/app/components/logs-dashboard/report/logs-pre-report/logs-pre-report.component.html +++ b/src/app/components/logs-dashboard/report/logs-pre-report/logs-pre-report.component.html @@ -1,235 +1,231 @@ -<ng-container *ngIf="nbObjects!==0"> +<div class="section page-container" *ngIf="nbObjects!==0"> + <app-page-header [pageInfo]="pageHeaderInfo" [goToThisUrl]="previousUrl" [hideBackButton]="false"></app-page-header> - <div class="section page-container"> - <app-page-header [pageInfo]="pageHeaderInfo" [goToThisUrl]="previousUrl" [hideBackButton]="false"></app-page-header> + <div [ngClass]="{'hidden': isSession}"> + <div class="section"> + <div class="columns is-left is-marginless"> + <div class="column has-text-left"> + <p>{{ nbObjects }} session(s) trouvée(s)</p> + </div> + </div> - <div [ngClass]="{'hidden': isSession}"> - <div class="section"> - <div class="columns is-left is-marginless"> - <div class="column has-text-left"> - <h2>{{ nbObjects }} session(s) trouvée(s)</h2> + <div class="table entity-list-table"> + <div class="header columns is-marginless"> + <div class="column is-4 has-text-left"> + <span class="is-sortable"> + <span class="column-title">SessionId</span> + <p></p> + </span> + </div> + <div class="column is-1 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Nb of Slugs</span> + </span> + </div> + <div class="column is-2 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Completion Date</span> + </span> + </div> + <div class="column is-2 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Duration</span> + </span> + </div> + <div class="column is-1 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Errors?</span> + </span> + </div> + <div class="column is-1 has-text-left"> + <span class="column-title"></span> </div> </div> - - <div class="table entity-list-table"> - <div class="header columns is-marginless"> + <div class="data-list"> + <div class="data columns is-multiline is-vcentered is-marginless" + *ngFor="let session of allSessionsInfoList; let i=index; let odd=odd; let even=even;" + [ngClass]="{ odd: odd, even: even }"> <div class="column is-4 has-text-left"> - <span class="is-sortable"> - <span class="column-title">SessionId</span> - <p></p> - </span> + {{ session._id.session_id }} </div> <div class="column is-1 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Nb of Slugs</span> - </span> + {{ session.data.length }} </div> <div class="column is-2 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Completion Date</span> - </span> + {{ session.data[0].completionDate.$date }} </div> <div class="column is-2 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Duration</span> - </span> - </div> - <div class="column is-1 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Errors?</span> - </span> + {{session.data[0].duration.hours}}:{{session.data[0].duration.minutes}}:{{session.data[0].duration.seconds}} </div> - <div class="column is-1 has-text-left"> - <span class="column-title"></span> + <div class="column is-1 has-text-left actions"> + {{ session.data[0].count.ERROR }} </div> - </div> - <div class="data-list"> - <div class="data columns is-multiline is-vcentered is-marginless" - *ngFor="let session of allSessionsInfoList; let i=index; let odd=odd; let even=even;" [ngClass]="{ odd: odd, even: even }"> - <div class="column is-4 has-text-left"> - {{ session._id.session_id }} - </div> - <div class="column is-1 has-text-left"> - {{ session.data.length }} - </div> - <div class="column is-2 has-text-left"> - {{ session.data[0].completionDate.$date }} - </div> - <div class="column is-2 has-text-left"> - {{session.data[0].duration.hours}}:{{session.data[0].duration.minutes}}:{{session.data[0].duration.seconds}} - </div> - <div class="column is-1 has-text-left actions"> - {{ session.data[0].count.ERROR }} - </div> - <div class="column is-1 actions"> - <a class="button button-gl " [routerLink]="['/','datalogs','report', id, session._id.session_id , 'slug']"> - <i class="fas fa-eye"></i> - </a> - </div> + <div class="column is-1 actions"> + <a class="button button-gl " + [routerLink]="['/','datalogs','report', id, session._id.session_id , 'slug']"> + <i class="fas fa-eye"></i> + </a> </div> </div> - <div class="columns is-marginless"> - <div class="column"> - <!-- <app-paginator *ngIf="paginator.length > 0" [length]="paginator.length" [pageSize]="paginator.limit" + </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> + </div> - <div [ngClass]="{'hidden': !isSession}"> - <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>{{nbObjects}} slug(s) trouvé(s)</h2> - - <!-- <h2>{{ childNbUuids }} uuid trouvées</h2> --> - - </div> + <div [ngClass]="{'hidden': !isSession}"> + <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"> + <p>{{nbObjects}} slug(s) trouvé(s)</p> </div> </div> </div> + </div> - <div class="table entity-list-table"> - <div class="header columns is-marginless"> - <div class="column is-3 has-text-centered"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Slugs</span> + <div class="table entity-list-table"> + <div class="header columns is-marginless"> + <div class="column is-3 has-text-centered"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Slugs</span> + </span> + </div> + <div class="column is-2 has-text-left"> + <span class="column-title">Nb of Sessions</span> + </div> + <div class="column is-2 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Completion Date</span> + </span> + </div> + <div class="column is-2 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Duration (min)</span> + </span> </div> + <div class="column is-1 has-text-left"> + <span class="is-sortable"> + <span class="sort-icons"> + <span class="icon"> + <i class="fas fa-sort-up"></i> + </span> + <span class="icon"> + <i class="fas fa-sort-down"></i> + </span> + </span> + <span class="column-title">Errors?</span> + </span> + </div> + <div class="column is-1 has-text-left"> + <span class="column-title"></span> + </div> + </div> + <div class="data-list"> + <div *ngFor="let slug of allSlugsInfoList; let i=index; let odd=odd; let even=even;"> + <div class="data columns is-multiline is-vcentered is-marginless" *ngIf="slug._id.slug" + [ngClass]="{ odd: odd, even: even }"> + <div class="column is-3 has-text-left"> + {{slug._id.slug}} <br> + <div class="small-text"> + <p>{{slug._id.uuid}}</p> + </div> </div> <div class="column is-2 has-text-left"> - <span class="column-title">Nb of Sessions</span> + {{slug.data.length}} </div> <div class="column is-2 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Completion Date</span> - </span> + {{slug.data[0].completionDate.$date}} </div> <div class="column is-2 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Duration (min)</span> - </span> </div> - <div class="column is-1 has-text-left"> - <span class="is-sortable"> - <span class="sort-icons"> - <span class="icon"> - <i class="fas fa-sort-up"></i> - </span> - <span class="icon"> - <i class="fas fa-sort-down"></i> - </span> - </span> - <span class="column-title">Errors?</span> - </span> + {{slug.data[0].duration.hours}}:{{slug.data[0].duration.minutes}}:{{slug.data[0].duration.seconds}} </div> - <div class="column is-1 has-text-left"> - <span class="column-title"></span> + <div class="column is-1 has-text-left actions"> + {{slug.data[0].count.ERROR}} </div> - </div> - <div class="data-list"> - <div *ngFor="let slug of allSlugsInfoList; let i=index; let odd=odd; let even=even;"> - <div class="data columns is-multiline is-vcentered is-marginless" *ngIf="slug._id.slug" - [ngClass]="{ odd: odd, even: even }"> - <div class="column is-3 has-text-left"> - {{slug._id.slug}} <br> - <div class="small-text"> - <p>{{slug._id.uuid}}</p> - </div> - </div> - <div class="column is-2 has-text-left"> - {{slug.data.length}} - </div> - <div class="column is-2 has-text-left"> - {{slug.data[0].completionDate.$date}} - </div> - <div class="column is-2 has-text-left"> - {{slug.data[0].duration.hours}}:{{slug.data[0].duration.minutes}}:{{slug.data[0].duration.seconds}} - </div> - <div class="column is-1 has-text-left actions"> - {{slug.data[0].count.ERROR}} - </div> - <div class="column is-1 has-text-left actions"> - <a class="button button-gl is-left" [routerLink]="['/','datalogs','report', slug._id.slug, id, 'session']"> - <i class="fas fa-eye"></i> - </a> - </div> - </div> + <div class="column is-1 has-text-left actions"> + <a class="button button-gl is-left" + [routerLink]="['/','datalogs','report', slug._id.slug, id, 'session']"> + <i class="fas fa-eye"></i> + </a> </div> - <div class="columns is-marginless"> - <div class="column"> - <!-- <app-paginator *ngIf="paginator.length > 0" [length]="paginator.length" [pageSize]="paginator.limit" + </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> </div> </div> </div> -</ng-container> \ No newline at end of file +</div> \ No newline at end of file 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 0c24008..3bc7924 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 @@ -1,26 +1,20 @@ -<ng-container> - <div class="section page-container"> - <app-page-header [pageInfo]="pageHeaderInfo" [goToThisUrl]='previousUrl' [hideBackButton]="false"></app-page-header> +<div class="section page-container"> + <app-page-header [pageInfo]="pageHeaderInfo" [goToThisUrl]='previousUrl' [hideBackButton]="false"></app-page-header> + <p>{{slug}} </p> + <p>{{uuid}} </p> + <p> sessionId: {{sessionId}} </p> + <hr> + <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> - <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> - - - <app-logs-graph [hidden]="!isToggled" [childUuid]="uuid" [childSessionId]="sessionId" [childSlug]="slug"></app-logs-graph> - - - <div class="columns is-centered " [hidden]="isToggled"> - <hr> - <h3>Détails de la session:</h3> - <hr> - </div> - - <app-logs-info [hidden]="isToggled||isToggled==undefined" [childUuid]="uuid" [childSessionId]="sessionId" [childSlug]="slug"></app-logs-info> - <app-logs-error [hidden]="isToggled!=undefined" [childUuid]="uuid" [childSessionId]="sessionId" [childSlug]="slug"></app-logs-error> - - </div> -</ng-container> \ No newline at end of file + <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" + [childSlug]="slug"></app-logs-info> + <app-logs-error [hidden]="isToggled!=undefined" [childUuid]="uuid" [childSessionId]="sessionId" [childSlug]="slug"> + </app-logs-error> +</div> \ No newline at end of file diff --git a/src/app/services/data-logs.service.ts b/src/app/services/data-logs.service.ts index 2dbbfe6..20e6e2c 100644 --- a/src/app/services/data-logs.service.ts +++ b/src/app/services/data-logs.service.ts @@ -17,14 +17,14 @@ export class DataLogsService { order: string, }; - private _launchNewAggregationSubject: Subject<any>; - private _searchChangeSubject: Subject<any>; + private _infoLogSubject: Subject<any>; + private _errorLogSubject: Subject<any>; constructor( private _httpClient: HttpClient) { this.resourceServiceUrl = `${APP_CONFIG.restHeartAggregations.url}`; - this._launchNewAggregationSubject = new Subject<any>(); - this._searchChangeSubject = new Subject<any>(); + this._infoLogSubject = new Subject<any>(); + this._errorLogSubject = new Subject<any>(); this.limit = 5; this.pageNumber = 1; @@ -204,12 +204,15 @@ export class DataLogsService { } /* PAGINATION */ - paginationChanged(limit: number, pageNumber: number) { - console.log('inside pagination changed : ', limit, pageNumber); + paginationChanged(limit: number, pageNumber: number, logType:string) { this.limit = limit; this.pageNumber = pageNumber; - this._searchChangeSubject.next(); - + console.log('limit: ', this.limit, 'pageNumber: ', this.pageNumber, 'length', this.length); + if (logType === 'INFO') { + this._infoLogSubject.next(); + }else if (logType === 'ERROR') { + this._infoLogSubject.next(); + } } reverseSortOrder(): void { @@ -219,8 +222,11 @@ export class DataLogsService { this.sortOptions.order = 'asc'; } } - get searchChange$(): Observable<string> { - return this._searchChangeSubject.asObservable(); + get infoLogChange$(): Observable<string> { + return this._infoLogSubject.asObservable(); + } + get errorLogChange$(): Observable<string> { + return this._errorLogSubject.asObservable(); } } -- GitLab