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

add forkJoin in pre-report component

parent 1c840d33
No related branches found
No related tags found
5 merge requests!10New updated datalog,!9add all datalog components and services into angular gui,!8update Datalog research input,!7Datalog research input,!14Version 1.3.0
......@@ -2,7 +2,11 @@
<div class="column has-text-left">
<P>{{ childNbSessions }} session(s) trouvée(s)</P>
</div>
<div class="column has-text-centered">
<p>Values below are for the latest Slug</p>
</div>
</div>
<div class="table entity-list-table">
<div class="header columns is-marginless">
<div class="column is-4 has-text-centered">
......
......@@ -9,8 +9,6 @@ import { Subscription } from 'rxjs';
styleUrls: ['./logs-sessions.component.scss'],
})
export class LogsSessionsComponent implements OnChanges {
// @Input() childSessionId: string;
// @Input() childSessionsList: [];
@Input() childNbSessions: number;
sessionChangeSub: Subscription;
nbSessions: number = 0;
......@@ -67,15 +65,6 @@ export class LogsSessionsComponent implements OnChanges {
formatDate() {
for (let i = 0; i < this.nbSessions; i += 1) {
this.allSessionsInfoList[i].latest.completionDate.$date = new Date(this.allSessionsInfoList[i].latest.completionDate.$date);
// for (let j = 0; j < this.allSessionsInfoList[i].data.length; j += 1) {
// // const date1 = new Date(this.allSlugsInfoList[i].data[j].completionDate.$date);
// // const date2 = new Date(this.allSlugsInfoList[i].data[j].startDate.$date);
// // this.allSlugsInfoList[i].data[j].duration =
// // Math.round((this.allSlugsInfoList[i].data[j].completionDate.$date -
// // this.allSlugsInfoList[i].data[j].startDate.$date) / 60000);
// this.allSessionsInfoList[i].data[j].completionDate.$date = new Date(this.allSessionsInfoList[i].data[j].completionDate.$date);
// }
}
}
......
......@@ -13,6 +13,9 @@
<div class="column has-text-left">
<P>{{ childNbSlugs }} slug(s) trouvé(s)</P>
</div>
<div class="column has-text-centered">
<p>Values below are for the latest Session</p>
</div>
</div>
<div class="table entity-list-table">
<div class="header columns is-marginless">
......
......@@ -16,14 +16,6 @@ export class LogsSlugsComponent implements OnChanges {
searchSlug: string = '';
slugInOnePage:number = 1;
allSessionsIdInfo:any = [];
characters = [
'Finn the human',
'Jake the dog',
'Princess bubblegum',
'Lumpy Space Princess',
'Beemo1',
'Beemo2',
];
childSessionsList: any;
paginator: PaginatorOptions;
constructor(
......@@ -68,15 +60,6 @@ export class LogsSlugsComponent implements OnChanges {
formatDate() {
for (let i = 0; i < this.slugInOnePage; i += 1) {
this.allSlugsInfoList[i].latest.completionDate.$date = new Date(this.allSlugsInfoList[i].latest.completionDate.$date);
// for (let j = 0; j < this.allSlugsInfoList[i].data.length; j += 1) {
// // const date1 = new Date(this.allSlugsInfoList[i].data[j].completionDate.$date);
// // const date2 = new Date(this.allSlugsInfoList[i].data[j].startDate.$date);
// // this.allSlugsInfoList[i].data[j].duration =
// // Math.round((this.allSlugsInfoList[i].data[j].completionDate.$date -
// // this.allSlugsInfoList[i].data[j].startDate.$date) / 60000);
// this.allSlugsInfoList[i].data[j].completionDate.$date = new Date(this.allSlugsInfoList[i].data[j].completionDate.$date);
// }
}
}
// When pagination is changed by user, we update datasetList with new pagination options
......
......@@ -5,7 +5,8 @@
<div class="section">
<div class="columns is-left is-marginless">
<div class="column has-text-left">
<p>{{ nbObjects }} session(s) trouvée(s)</p>
<span>{{nbObjects}} sessions(s) found for the slug : </span>
<span class="bold-text">{{id}}</span>
</div>
</div>
......@@ -74,43 +75,44 @@
</div>
</div>
<div class="data-list">
<div class="data columns is-multiline is-vcentered is-marginless"
*ngFor="let session of allSlugSessionInfoList; let i=index; let odd=odd; let even=even;"
<div *ngFor="let session of allSlugSessionInfoList; let i=index; let odd=odd; let even=even;">
<div class="data columns is-multiline is-vcentered is-marginless"
*ngIf="session._id.slug_list"
[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.all.length }} -->
</div>
<div class="column is-2 has-text-left">
{{ session._id.completionDate.$date }}
</div>
<div class="column is-2 has-text-left">
{{session._id.duration.hours}}:{{session._id.duration.minutes}}:{{session._id.duration.seconds}}
</div>
<div class="column is-1 has-text-left actions">
{{ session._id.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 class="column is-4 has-text-left">
{{ session._id.session_id }}
</div>
<div class="column is-1 has-text-left">
{{session._id.slug_list.length}}
</div>
<div class="column is-2 has-text-left">
{{ session._id.completionDate.$date }}
</div>
<div class="column is-2 has-text-left">
{{session._id.duration.hours}}:{{session._id.duration.minutes}}:{{session._id.duration.seconds}}
</div>
<div class="column is-1 has-text-left actions">
{{ session._id.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>
</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 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>
......@@ -121,7 +123,8 @@
<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>
<span>{{nbObjects}} slug(s) found for the session : </span>
<span class="bold-text">{{id}}</span>
</div>
</div>
</div>
......@@ -189,7 +192,8 @@
</div>
<div class="data-list">
<div *ngFor="let slug of allSlugSessionInfoList; let i=index; let odd=odd; let even=even;">
<div class="data columns is-multiline is-vcentered is-marginless" *ngIf="slug._id.slug"
<div class="data columns is-multiline is-vcentered is-marginless"
*ngIf="slug._id.session_list"
[ngClass]="{ odd: odd, even: even }">
<div class="column is-3 has-text-left">
{{slug._id.slug}} <br>
......@@ -198,7 +202,7 @@
</div>
</div>
<div class="column is-2 has-text-left">
<!-- {{slug.all.length}} -->
{{slug._id.session_list.length}}
</div>
<div class="column is-2 has-text-left">
{{slug._id.completionDate.$date}}
......
......@@ -23,6 +23,12 @@ h1 {
}
}
}
.hidden {
display: none;
}
.bold-text {
font-weight:bold;
display:inline;
}
\ No newline at end of file
......@@ -5,7 +5,7 @@ import { filter, switchMap } from 'rxjs/operators';
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';
import { Subscription } from 'rxjs';
import { Subscription, forkJoin } from 'rxjs';
@Component({
selector: 'app-logs-pre-report',
......@@ -63,24 +63,46 @@ export class LogsPreReportComponent implements OnInit {
console.log('slugList', slugList, 'sessionId', sessionId);
this.allSlugSessionInfoList = [];
for (let i = 0; i < slugList.length; i += 1) {
this.getAllInfoForOneSlugSession(slugList[i], sessionId);
this.getAllInfoForOneSlugSession(slugList[i], sessionId, 'slug');
}
}
completeSessionsInfos(slug, sessionList) {
console.log('slug', slug, 'sessionList', sessionList);
this.allSlugSessionInfoList = [];
for (let i = 0; i < sessionList.length; i += 1) {
this.getAllInfoForOneSlugSession(slug, sessionList[i]);
this.getAllInfoForOneSlugSession(slug, sessionList[i], 'session');
}
}
getAllInfoForOneSlugSession(slug, sessionId) {
this._dataLogsService.getAllInfoForSlugSession(slug, sessionId).subscribe((result) => {
result[0]._id.completionDate.$date = new Date(result[0]._id.completionDate.$date);
this.allSlugSessionInfoList.push(result[0]);
},
);
getAllInfoForOneSlugSession(slug, sessionId, type) {
if (type === 'session') {
forkJoin(
this._dataLogsService.getAllInfoForSlugSession(slug, sessionId),
this._dataLogsService.getAllInfoForOneSession(sessionId),
)
.subscribe(([res1, res2]) => {
let sessionData = {};
res1[0]._id.completionDate.$date = new Date(res1[0]._id.completionDate.$date);
sessionData = res1[0];
sessionData['_id']['slug_list'] = res2[0]['all'];
this.allSlugSessionInfoList.push(sessionData);
console.log('allSlugSessionInfoList', this.allSlugSessionInfoList);
});
} else {
forkJoin(
this._dataLogsService.getAllInfoForSlugSession(slug, sessionId),
this._dataLogsService.getAllInfoForOneSlug(slug),
)
.subscribe(([res1, res2]) => {
let sessionData = {};
res1[0]._id.completionDate.$date = new Date(res1[0]._id.completionDate.$date);
sessionData = res1[0];
sessionData['_id']['session_list'] = res2[0]['all'];
this.allSlugSessionInfoList.push(sessionData);
console.log('allSlugSessionInfoList', this.allSlugSessionInfoList);
});
}
}
getComplementaryInformation() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment