From cd1db1bc1dafe76a3437419564832509d3ca367e Mon Sep 17 00:00:00 2001
From: ievavold <ievavold@wisc.edu>
Date: Wed, 28 Aug 2019 10:44:26 -0500
Subject: [PATCH] ROENROLL-2006 sort audits on mobile from newest to oldest

---
 src/app/dars/dars.module.ts                     |  2 ++
 .../metadata-mobile-view.component.html         |  2 +-
 src/app/dars/pipes/sort-metadata.pipe.ts        | 17 +++++++++++++++++
 3 files changed, 20 insertions(+), 1 deletion(-)
 create mode 100644 src/app/dars/pipes/sort-metadata.pipe.ts

diff --git a/src/app/dars/dars.module.ts b/src/app/dars/dars.module.ts
index 10796a7..d45add4 100644
--- a/src/app/dars/dars.module.ts
+++ b/src/app/dars/dars.module.ts
@@ -24,6 +24,7 @@ import { NewWhatIfAuditDialogComponent } from './new-what-if-audit-dialog/new-wh
 import { AuditViewComponent } from './dars-audit-view/dars-audit-view.component';
 import { RouterModule } from '@angular/router';
 import { AuditSymbolComponent } from './audit-symbol/audit-symbol.component';
+import { SortMetadataPipe } from './pipes/sort-metadata.pipe';
 
 @NgModule({
   imports: [
@@ -35,6 +36,7 @@ import { AuditSymbolComponent } from './audit-symbol/audit-symbol.component';
   ],
   exports: [MatStepperModule],
   declarations: [
+    SortMetadataPipe,
     RequirementTitlePipe,
     RequirementBodyPipe,
     RequirementLinePipe,
diff --git a/src/app/dars/metadata-mobile-view/metadata-mobile-view.component.html b/src/app/dars/metadata-mobile-view/metadata-mobile-view.component.html
index 6ba663e..606118b 100644
--- a/src/app/dars/metadata-mobile-view/metadata-mobile-view.component.html
+++ b/src/app/dars/metadata-mobile-view/metadata-mobile-view.component.html
@@ -1,6 +1,6 @@
 <div id="audits-mobile">
   <div>
-    <mat-card class="audit-card" *ngFor="let audit of metadata" role="group">
+    <mat-card class="audit-card" *ngFor="let audit of (metadata | sortMetadata)" role="group">
       <div fxLayout="row" fxLayoutAlign="space-between start">
         <div fxLayout="column" fxLayoutAlign="space-between start" fxFlex="80">
           <div fxLayout="column" fxLayoutAlign="start start">
diff --git a/src/app/dars/pipes/sort-metadata.pipe.ts b/src/app/dars/pipes/sort-metadata.pipe.ts
new file mode 100644
index 0000000..a99e0c5
--- /dev/null
+++ b/src/app/dars/pipes/sort-metadata.pipe.ts
@@ -0,0 +1,17 @@
+import { Pipe, PipeTransform } from '@angular/core';
+import { AuditMetadata } from '../models/audit-metadata';
+
+@Pipe({ name: 'sortMetadata', pure: true })
+export class SortMetadataPipe implements PipeTransform {
+  transform(metadata: AuditMetadata[]) {
+    return [...metadata].sort((a, b) => {
+      if (a.darsAuditRunDate > b.darsAuditRunDate) {
+        return -1;
+      } else if (a.darsAuditRunDate < b.darsAuditRunDate) {
+        return 1;
+      } else {
+        return 0;
+      }
+    });
+  }
+}
-- 
GitLab