From 5eb323a840b5a35efeddb8113df5431c129b619f Mon Sep 17 00:00:00 2001
From: ddamiron <ddamiron@sii.fr>
Date: Wed, 31 Jul 2019 15:27:07 +0200
Subject: [PATCH] add search pipe

---
 .../logs-sessions/logs-sessions.component.html  | 14 +++++++-------
 .../logs-sessions/logs-sessions.component.ts    | 17 ++++++++++-------
 .../logs-dashboard/logs-slugs/filter.pipe.ts    | 12 +++++-------
 .../logs-slugs/logs-slugs.component.html        | 17 ++++++-----------
 .../logs-slugs/logs-slugs.component.ts          | 17 ++++++++++-------
 .../logs-pre-report.component.html              | 16 ++++++++--------
 .../logs-pre-report.component.ts                |  8 ++++----
 7 files changed, 50 insertions(+), 51 deletions(-)

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 b80a22d..1545a1f 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
@@ -34,7 +34,7 @@
             <i class="fas fa-sort-down"></i>
           </span>
         </span>
-        <span class="column-title">Completion Date</span>
+        <span class="column-title">Latest Completion Date</span>
       </span>
     </div>
     <div class="column is-2 has-text-left">
@@ -75,19 +75,19 @@
         {{ session._id.session_id }}
       </div>
       <div class="column is-1 has-text-left">
-        {{ session.data.length }}
+        {{ session.all.length }}
       </div>
       <div class="column is-2 has-text-left">
-        {{ session.data[0].completionDate.$date }}
+        {{ session.latest.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>
+          {{ session.latest.duration.hours }}:
+          {{ session.latest.duration.minutes }}:
+          {{ session.latest.duration.seconds }}</span>
       </div>
       <div class="column  is-1 has-text-centered actions">
-        {{ session.data[0].count.ERROR }}
+        {{ session.latest.count.ERROR }}
       </div>
       <div class="column is-1 actions">
         <a class="button button-gl " [routerLink]="['preReport','session', session._id.session_id]">
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 41a1410..86f5e6e 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
@@ -66,13 +66,16 @@ export class LogsSessionsComponent implements OnChanges {
   }
   formatDate() {
     for (let i = 0; i < this.nbSessions; i += 1) {
-      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);
-      }
+      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);
+      // }
     }
   }
 
diff --git a/src/app/components/logs-dashboard/logs-slugs/filter.pipe.ts b/src/app/components/logs-dashboard/logs-slugs/filter.pipe.ts
index 2a1fa73..ac204fd 100644
--- a/src/app/components/logs-dashboard/logs-slugs/filter.pipe.ts
+++ b/src/app/components/logs-dashboard/logs-slugs/filter.pipe.ts
@@ -3,12 +3,10 @@ import { Pipe, PipeTransform } from '@angular/core';
   name: 'filter',
 })
 export class FilterPipe implements PipeTransform {
-  transform(items: any[], searchText: string): any[] {
+  transform(items: any[], value: string, label:string): any[] {
     if (!items) return [];
-    if (!searchText) return items;
-    const lowerSearchText = searchText.toLowerCase();
-    return items.filter(it => {
-      return it.toLowerCase().includes(lowerSearchText);
-    });
+    if (!value) return  items;
+    if (value === '' || value === null) return [];
+    return items.filter(e => e['_id'][label].toLowerCase().indexOf(value) > -1);
   }
-}
\ 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 cea57ef..762252d 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
@@ -5,11 +5,6 @@
           <label class="label"> Search by slug: </label>
           <input class="input" type="text" name="searchSlug" [(ngModel)]="searchSlug">
         </div>
-        <ul >
-            <li *ngFor="let slug of allSlugsInfoList | filter : searchSlug;">
-              <p>{{slug._id.slug}}</p>
-            </li>
-        </ul>
       </div>
     </form>
   </div>
@@ -47,7 +42,7 @@
             <i class="fas fa-sort-down"></i>
           </span>
         </span>
-        <span class="column-title">Completion Date</span>
+        <span class="column-title">Latest Completion Date</span>
       </span>
     </div>
     <div class="column is-2 has-text-left">
@@ -80,7 +75,7 @@
     </div>
   </div>
   <div class="data-list">
-    <div *ngFor="let slug of allSlugsInfoList; let i=index; let odd=odd; let even=even;">
+    <div *ngFor="let slug of allSlugsInfoList | filter : searchSlug: 'slug'; 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">
@@ -90,16 +85,16 @@
           </div>
         </div>
         <div class="column is-2 has-text-left">
-          {{slug.data.length}}
+          {{slug.all.length}}
         </div>
         <div class="column is-2 has-text-left">
-          {{slug.data[0].completionDate.$date}}
+          {{slug.latest.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}}
+          {{slug.latest.duration.hours}}:{{slug.latest.duration.minutes}}:{{slug.latest.duration.seconds}}
         </div>
         <div class="column  is-1 has-text-left actions">
-          {{slug.data[0].count.ERROR}}
+          {{slug.latest.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]">
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 f7e1d86..6be6b3a 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
@@ -67,13 +67,16 @@ export class LogsSlugsComponent implements OnChanges {
   }
   formatDate() {
     for (let i = 0; i < this.slugInOnePage; i += 1) {
-      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);
-      }
+      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
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 abe58df..b3ae850 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
@@ -81,16 +81,16 @@
               {{ session._id.session_id }}
             </div>
             <div class="column is-1 has-text-left">
-              {{ session.data.length }}
+              {{ session.all.length }}
             </div>
             <div class="column is-2 has-text-left">
-              {{ session.data[0].completionDate.$date }}
+              {{ session.latest.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}}
+              {{session.latest.duration.hours}}:{{session.latest.duration.minutes}}:{{session.latest.duration.seconds}}
             </div>
             <div class="column  is-1 has-text-left actions">
-              {{ session.data[0].count.ERROR }}
+              {{ session.latest.count.ERROR }}
             </div>
             <div class="column is-1 actions">
               <a class="button button-gl "
@@ -198,16 +198,16 @@
                 </div>
               </div>
               <div class="column is-2 has-text-left">
-                {{slug.data.length}}
+                {{slug.all.length}}
               </div>
               <div class="column is-2 has-text-left">
-                {{slug.data[0].completionDate.$date}}
+                {{slug.latest.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}}
+                {{slug.latest.duration.hours}}:{{slug.latest.duration.minutes}}:{{slug.latest.duration.seconds}}
               </div>
               <div class="column  is-1 has-text-left actions">
-                {{slug.data[0].count.ERROR}}
+                {{slug.latest.count.ERROR}}
               </div>
               <div class="column  is-1 has-text-left actions">
                 <a class="button button-gl is-left"
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 b43ec9b..c5bc6df 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
@@ -68,8 +68,8 @@ export class LogsPreReportComponent implements OnInit {
   }
   getAllInfoForOneSlug(slug) {
     this._dataLogsService.getAllInfoForOneSlug(slug).subscribe((result) => {
-      for (let j = 0; j < result[0].data.length; j += 1) {
-        result[0].data[j].completionDate.$date = new Date(result[0].data[j].completionDate.$date);
+      for (let j = 0; j < result[0].all.length; j += 1) {
+        result[0].all[j].completionDate.$date = new Date(result[0].all[j].completionDate.$date);
       }
       this.allSlugsInfoList.push(result[0]);
     },
@@ -84,8 +84,8 @@ export class LogsPreReportComponent implements OnInit {
   }
   getAllInfoForOneSession(sessionId) {
     this._dataLogsService.getAllInfoForOneSession(sessionId).subscribe((result) => {
-      for (let j = 0; j < result[0].data.length; j += 1) {
-        result[0].data[j].completionDate.$date = new Date(result[0].data[j].completionDate.$date);
+      for (let j = 0; j < result[0].all.length; j += 1) {
+        result[0].all[j].completionDate.$date = new Date(result[0].all[j].completionDate.$date);
       }
       this.allSessionsInfoList.push(result[0]);
     },
-- 
GitLab