From 94ac33f560571a2638f42ccb6af67c4b774bc585 Mon Sep 17 00:00:00 2001
From: Chris Hines <chris.hines@monash.edu>
Date: Wed, 23 Sep 2020 14:37:52 +1000
Subject: [PATCH] complete upgrade to angular9

---
 package-lock.json                             | 40 +++++--------------
 package.json                                  |  7 ++--
 src/app/aboutus/aboutus.component.ts          |  2 +-
 src/app/app.component.ts                      |  2 +-
 src/app/app.module.ts                         | 37 +++++++++--------
 src/app/browser-window.service.ts             |  2 +-
 src/app/contactus/contactus.component.ts      |  4 +-
 src/app/file-explorer/file-explorer.module.ts |  4 +-
 src/app/launcher/launcher.component.ts        |  3 +-
 src/app/login/login.component.ts              |  2 +-
 .../logoutdialog/logoutdialog.component.ts    |  2 +-
 src/app/modaldialog/modaldialog.component.ts  |  2 +-
 src/app/ourservices/ourservices.component.ts  |  2 +-
 src/app/settings/settings.component.ts        |  2 +-
 .../strudelapplist.component.ts               |  2 +-
 src/app/submit-app.service.ts                 |  2 +-
 .../sv2-side-nav/sv2-side-nav.component.ts    |  2 +-
 src/app/warndialog/warndialog.component.ts    |  2 +-
 src/main.ts                                   |  1 -
 19 files changed, 51 insertions(+), 69 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 0c898db..b1940b0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -363,12 +363,11 @@
       "integrity": "sha512-tphpf9QHnOPoL2Jl7KpR+R5aHNW3oifLEmRUTajJYJGvo1uzdUDE82+V9OGOinxJsYseCth9gYJhN24aYTB9NA=="
     },
     "@angular/cdk": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-8.2.3.tgz",
-      "integrity": "sha512-ZwO5Sn720RA2YvBqud0JAHkZXjmjxM0yNzCO8RVtRE9i8Gl26Wk0j0nQeJkVm4zwv2QO8MwbKUKGTMt8evsokA==",
+      "version": "9.2.4",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.2.4.tgz",
+      "integrity": "sha512-iw2+qHMXHYVC6K/fttHeNHIieSKiTEodVutZoOEcBu9rmRTGbLB26V/CRsfIRmA1RBk+uFYWc6UQZnMC3RdnJQ==",
       "requires": {
-        "parse5": "^5.0.0",
-        "tslib": "^1.7.1"
+        "parse5": "^5.0.0"
       },
       "dependencies": {
         "parse5": {
@@ -660,26 +659,15 @@
       "integrity": "sha512-WVA/eh3fzjx0apOzkKot4YRRUsGkHj50zFQWrAOMgivGaj1YVrvhf+m3hpglj5fn/BkLiFDl8RT0wAE8z9X+gQ=="
     },
     "@angular/flex-layout": {
-      "version": "8.0.0-beta.27",
-      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-8.0.0-beta.27.tgz",
-      "integrity": "sha512-qmpvQPesU4ZQ56IscwgmVRpK2UnyV+gwvXUql7TMv0QV215hLcHczjGsrKkLfW2By5E7XEyDat9br72uVXcPMw==",
-      "requires": {
-        "tslib": "^1.7.1"
-      }
+      "version": "9.0.0-beta.31",
+      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.31.tgz",
+      "integrity": "sha512-g94u2mecDl87ORvFRuOBshV/S/ETE4bybClU2e1xXKWNG+rhRHchChneHSonc29ZLyROTjHhmAtKOYojL92uLA=="
     },
     "@angular/forms": {
       "version": "9.1.12",
       "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.12.tgz",
       "integrity": "sha512-LhjnZlC4WEsEsAJfOZLte+Lks3WBAFVeRv2lzoQNFVr/IMzBNDVfjEaaSqKF1cei3cjY39Df2nYDMJM7HfqbJA=="
     },
-    "@angular/http": {
-      "version": "7.2.15",
-      "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.2.15.tgz",
-      "integrity": "sha512-TR7PEdmLWNIre3Zn8lvyb4lSrvPUJhKLystLnp4hBMcWsJqq5iK8S3bnlR4viZ9HMlf7bW7+Hm4SI6aB3tdUtw==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
     "@angular/language-service": {
       "version": "9.1.12",
       "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.12.tgz",
@@ -687,12 +675,9 @@
       "dev": true
     },
     "@angular/material": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@angular/material/-/material-8.2.3.tgz",
-      "integrity": "sha512-SOczkIaqes+r+9XF/UUiokidfFKBpHkOPIaFK857sFD0FBNPvPEpOr5oHKCG3feERRwAFqHS7Wo2ohVEWypb5A==",
-      "requires": {
-        "tslib": "^1.7.1"
-      }
+      "version": "9.2.4",
+      "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.2.4.tgz",
+      "integrity": "sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA=="
     },
     "@angular/platform-browser": {
       "version": "9.1.12",
@@ -6630,11 +6615,6 @@
       "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
       "dev": true
     },
-    "hammerjs": {
-      "version": "2.0.8",
-      "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
-      "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE="
-    },
     "handle-thing": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
diff --git a/package.json b/package.json
index 8c9f34a..a782633 100644
--- a/package.json
+++ b/package.json
@@ -13,19 +13,18 @@
   "private": true,
   "dependencies": {
     "@angular/animations": "9.1.12",
-    "@angular/cdk": "^8.2.3",
+    "@angular/cdk": "^9.2.4",
     "@angular/common": "9.1.12",
     "@angular/compiler": "9.1.12",
     "@angular/core": "9.1.12",
-    "@angular/flex-layout": "^8.0.0-beta.27",
+    "@angular/flex-layout": "^9.0.0-beta.31",
     "@angular/forms": "9.1.12",
-    "@angular/material": "^8.2.3",
+    "@angular/material": "^9.2.4",
     "@angular/platform-browser": "9.1.12",
     "@angular/platform-browser-dynamic": "9.1.12",
     "@angular/router": "9.1.12",
     "buffer": "^5.5.0",
     "core-js": "^3.6.4",
-    "hammerjs": "^2.0.8",
     "jwk-to-ssh": "^1.2.0",
     "keypair": "^1.0.1",
     "node-forge": "^0.8.5",
diff --git a/src/app/aboutus/aboutus.component.ts b/src/app/aboutus/aboutus.component.ts
index 65fda1a..b7e02f6 100644
--- a/src/app/aboutus/aboutus.component.ts
+++ b/src/app/aboutus/aboutus.component.ts
@@ -5,7 +5,7 @@ import {OverlayContainer} from '@angular/cdk/overlay';
 import { AuthorisationService } from '../authorisation.service';
 import { ComputesitesService } from '../computesites.service';
 import { Location } from '@angular/common';
-import { MatButtonToggleGroup } from '@angular/material';
+import { MatButtonToggleGroup } from '@angular/material/button-toggle';
 
 @Component({
   selector: 'app-aboutus',
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 994f1fc..5dae0c5 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -3,7 +3,7 @@ import { TesService } from './tes.service';
 import { AuthorisationService} from './authorisation.service';
 import { ComputesitesService} from './computesites.service';
 import {BehaviorSubject} from 'rxjs/BehaviorSubject';
-import { MatSnackBar } from '@angular/material';
+import { MatSnackBar } from '@angular/material/snack-bar';
 import { Computesite, Health } from './computesite';
 import {SettingsService } from './settings.service';
 import {BrowserWindowService} from './browser-window.service';
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 386730c..c864c44 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -5,18 +5,19 @@ import { NgModule } from '@angular/core';
 import { AppComponent } from './app.component';
 import { LauncherComponent } from './launcher/launcher.component';
 import { JoblistComponent } from './joblist/joblist.component';
-import { MatButtonModule } from '@angular/material';
-import { MatButtonToggleModule} from '@angular/material';
-import { MatFormFieldModule } from '@angular/material';
-import { MatOptionModule } from '@angular/material';
-import { MatInputModule } from '@angular/material';
-import { MatSelectModule } from '@angular/material';
-import { MatListModule} from '@angular/material';
+import { MatButtonModule } from '@angular/material/button';
+import { MatButtonToggleModule } from '@angular/material/button-toggle';
+import { MatFormFieldModule } from '@angular/material/form-field';
+import { MatOptionModule } from '@angular/material/core';
+import { MatInputModule } from '@angular/material/input';
+import { MatSelectModule } from '@angular/material/select';
+import { MatListModule } from '@angular/material/list';
 import { MatTableModule } from '@angular/material/table';
-import { MatCardModule, MatTabsModule } from '@angular/material';
-import { MatToolbarModule } from '@angular/material';
-import { MatDialogModule, MatDialog } from '@angular/material';
-import { MatSnackBarModule } from "@angular/material";
+import { MatCardModule } from '@angular/material/card';
+import { MatTabsModule } from '@angular/material/tabs';
+import { MatToolbarModule } from '@angular/material/toolbar';
+import { MatDialogModule, MatDialog } from '@angular/material/dialog';
+import { MatSnackBarModule } from "@angular/material/snack-bar";
 import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
 import { MatProgressBarModule } from '@angular/material/progress-bar';
 import { NoopAnimationsModule } from '@angular/platform-browser/animations';
@@ -25,8 +26,8 @@ import { AuthorisationService } from './authorisation.service';
 import { JobsService } from './jobs.service';
 import { FlexLayoutModule } from '@angular/flex-layout';
 import { FileExplorerModule } from './file-explorer/file-explorer.module';
-import { MatMenuModule } from '@angular/material';
-import { MatBadgeModule } from '@angular/material';
+import { MatMenuModule } from '@angular/material/menu';
+import { MatBadgeModule } from '@angular/material/badge';
 
 
 import { TesService} from './tes.service';
@@ -43,11 +44,13 @@ import { AppRoutingModule } from './/app-routing.module';
 import { LogoutdialogComponent } from './logoutdialog/logoutdialog.component';
 // import { LaunchdialogComponent } from './launchdialog/launchdialog.component';
 
-import { MatCheckboxModule} from '@angular/material';
-import { MatSidenavModule, MatExpansionModule, MatIconModule } from '@angular/material';
+import { MatCheckboxModule } from '@angular/material/checkbox';
+import { MatExpansionModule } from '@angular/material/expansion';
+import { MatIconModule } from '@angular/material/icon';
+import { MatSidenavModule } from '@angular/material/sidenav';
 import {MatAutocompleteSelectedEvent, MatAutocomplete, MatAutocompleteModule} from '@angular/material/autocomplete';
-import {MatChipsModule} from '@angular/material';
-import {MatSlideToggleModule} from '@angular/material';
+import { MatChipsModule } from '@angular/material/chips';
+import { MatSlideToggleModule } from '@angular/material/slide-toggle';
 import { StrudelapplistComponent } from './strudelapplist/strudelapplist.component';
 import { KeygenComponent } from './keygen/keygen.component';
 import { TransferComponent } from './transfer/transfer.component';
diff --git a/src/app/browser-window.service.ts b/src/app/browser-window.service.ts
index 87f331d..89b58c9 100644
--- a/src/app/browser-window.service.ts
+++ b/src/app/browser-window.service.ts
@@ -14,7 +14,7 @@ import {repeat, take, takeUntil, filter, catchError, map, tap} from 'rxjs/operat
 import {timer, interval, Subject, BehaviorSubject, of} from 'rxjs';
 import { ModaldialogComponent } from './modaldialog/modaldialog.component';
 import { WarndialogComponent } from './warndialog/warndialog.component';
-import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material';
+import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
 import {NotificationsService } from './notifications.service';
 import { HttpClientModule, HttpClient, HttpHeaders, HttpErrorResponse } from     '@angular/common/http';
 import { SettingsService } from './settings.service';
diff --git a/src/app/contactus/contactus.component.ts b/src/app/contactus/contactus.component.ts
index 3981818..c20fdf3 100644
--- a/src/app/contactus/contactus.component.ts
+++ b/src/app/contactus/contactus.component.ts
@@ -6,7 +6,7 @@ import { AuthorisationService } from '../authorisation.service';
 import { ComputesitesService } from '../computesites.service';
 import { Computesite } from '../computesite';
 import { Location } from '@angular/common';
-import { MatButtonToggleGroup } from '@angular/material';
+import { MatButtonToggleGroup } from '@angular/material/button-toggle';
 import { Subscription, pipe, combineLatest } from 'rxjs';
 import {filter} from 'rxjs/operators';
 import {map as rxjsmap, tap} from 'rxjs/operators';
@@ -17,7 +17,7 @@ import {MatChipInputEvent} from '@angular/material/chips';
 import {COMMA, ENTER} from '@angular/cdk/keycodes';
 import {TesService} from '../tes.service';
 import {NotificationsService} from '../notifications.service';
-import {MatSelectChange} from '@angular/material';
+import { MatSelectChange } from '@angular/material/select';
 
 
 @Component({
diff --git a/src/app/file-explorer/file-explorer.module.ts b/src/app/file-explorer/file-explorer.module.ts
index c8ee87e..31bdbf7 100644
--- a/src/app/file-explorer/file-explorer.module.ts
+++ b/src/app/file-explorer/file-explorer.module.ts
@@ -4,7 +4,7 @@ import { MatToolbarModule } from '@angular/material/toolbar';
 import { FlexLayoutModule } from '@angular/flex-layout';
 import { MatIconModule } from '@angular/material/icon';
 import { MatGridListModule } from '@angular/material/grid-list';
-import { MatListModule } from '@angular/material';
+import { MatListModule } from '@angular/material/list';
 import { MatMenuModule } from '@angular/material/menu';
 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
 import { MatDialogModule } from '@angular/material/dialog';
@@ -17,7 +17,7 @@ import { FileExplorerComponent } from './file-explorer.component';
 import {MatTableModule} from '@angular/material/table';
 import {ScrollingModule} from '@angular/cdk/scrolling';
 import {MatSidenavModule} from '@angular/material/sidenav'
-import { MatSelectModule } from '@angular/material';
+import { MatSelectModule } from '@angular/material/select';
 
 
 // import {cdkScrollable} from '@angular/'
diff --git a/src/app/launcher/launcher.component.ts b/src/app/launcher/launcher.component.ts
index f8c8c25..fcb6179 100644
--- a/src/app/launcher/launcher.component.ts
+++ b/src/app/launcher/launcher.component.ts
@@ -1,5 +1,6 @@
 import { Component, OnInit, NgModule, Inject, Input } from '@angular/core';
-import { MatTableDataSource, MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule, MatDialogConfig } from '@angular/material';
+import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule, MatDialogConfig } from '@angular/material/dialog';
+import { MatTableDataSource } from '@angular/material/table';
 
 import { Location } from '@angular/common';
 // import { HttpClientModule, HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
diff --git a/src/app/login/login.component.ts b/src/app/login/login.component.ts
index 00f4bcb..3104715 100644
--- a/src/app/login/login.component.ts
+++ b/src/app/login/login.component.ts
@@ -1,5 +1,5 @@
 import { Component, OnInit } from '@angular/core';
-import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule, MatDialogConfig } from '@angular/material';
+import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule, MatDialogConfig } from '@angular/material/dialog';
 import {OverlayContainer} from '@angular/cdk/overlay';
 import { BehaviorSubject } from 'rxjs/BehaviorSubject';
 import { Subscription } from 'rxjs';
diff --git a/src/app/logoutdialog/logoutdialog.component.ts b/src/app/logoutdialog/logoutdialog.component.ts
index e01f5d5..3ff0a10 100644
--- a/src/app/logoutdialog/logoutdialog.component.ts
+++ b/src/app/logoutdialog/logoutdialog.component.ts
@@ -1,6 +1,6 @@
 import { Component, OnInit, Inject } from '@angular/core';
 import { AuthorisationService } from '../authorisation.service';
-import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material';
+import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
 
 
 @Component({
diff --git a/src/app/modaldialog/modaldialog.component.ts b/src/app/modaldialog/modaldialog.component.ts
index c3890ea..66b85e6 100644
--- a/src/app/modaldialog/modaldialog.component.ts
+++ b/src/app/modaldialog/modaldialog.component.ts
@@ -1,5 +1,5 @@
 import { Component, OnInit, Inject  } from '@angular/core';
-import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material';
+import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
 
 @Component({
   selector: 'app-modaldialog',
diff --git a/src/app/ourservices/ourservices.component.ts b/src/app/ourservices/ourservices.component.ts
index 5ff1676..ac2dce2 100644
--- a/src/app/ourservices/ourservices.component.ts
+++ b/src/app/ourservices/ourservices.component.ts
@@ -5,7 +5,7 @@ import {OverlayContainer} from '@angular/cdk/overlay';
 import { AuthorisationService } from '../authorisation.service';
 import { ComputesitesService } from '../computesites.service';
 import { Location } from '@angular/common';
-import { MatButtonToggleGroup } from '@angular/material';
+import { MatButtonToggleGroup } from '@angular/material/button-toggle';
 
 @Component({
   selector: 'app-ourservices',
diff --git a/src/app/settings/settings.component.ts b/src/app/settings/settings.component.ts
index a2d6aaa..7fce832 100644
--- a/src/app/settings/settings.component.ts
+++ b/src/app/settings/settings.component.ts
@@ -6,7 +6,7 @@ import { AuthorisationService } from '../authorisation.service';
 import { ComputesitesService } from '../computesites.service';
 import { Location } from '@angular/common';
 import { SettingsService } from '../settings.service';
-import { MatButtonToggleGroup } from '@angular/material';
+import { MatButtonToggleGroup } from '@angular/material/button-toggle';
 
 @Component({
   selector: 'app-settings',
diff --git a/src/app/strudelapplist/strudelapplist.component.ts b/src/app/strudelapplist/strudelapplist.component.ts
index 23c39ea..e27a3d9 100644
--- a/src/app/strudelapplist/strudelapplist.component.ts
+++ b/src/app/strudelapplist/strudelapplist.component.ts
@@ -7,7 +7,7 @@ import { repeat } from 'rxjs/operators';
 import { BatchInterface} from '../batchinterface';
 import { timer } from 'rxjs/observable/timer';
 import { LaunchDialogComponent } from '../launch-dialog/launch-dialog.component';
-import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material';
+import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
 import { DomSanitizer} from '@angular/platform-browser';
 import { TesService } from '../tes.service';
 
diff --git a/src/app/submit-app.service.ts b/src/app/submit-app.service.ts
index 020983c..a049404 100644
--- a/src/app/submit-app.service.ts
+++ b/src/app/submit-app.service.ts
@@ -8,7 +8,7 @@ import { TesService } from './tes.service';
 import { Identity } from './identity';
 import { BatchInterface} from './batchinterface';
 import { LaunchDialogComponent } from './launch-dialog/launch-dialog.component';
-import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material';
+import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
 import { DomSanitizer} from '@angular/platform-browser';
 import{ BehaviorSubject } from 'rxjs';
 
diff --git a/src/app/sv2-side-nav/sv2-side-nav.component.ts b/src/app/sv2-side-nav/sv2-side-nav.component.ts
index 578a0ac..212c88c 100644
--- a/src/app/sv2-side-nav/sv2-side-nav.component.ts
+++ b/src/app/sv2-side-nav/sv2-side-nav.component.ts
@@ -1,5 +1,5 @@
 import { Component, OnInit } from '@angular/core';
-import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule, MatDialogConfig } from '@angular/material';
+import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule, MatDialogConfig } from '@angular/material/dialog';
 
 import { AuthorisationService } from '../authorisation.service';
 import { LogoutdialogComponent } from '../logoutdialog/logoutdialog.component';
diff --git a/src/app/warndialog/warndialog.component.ts b/src/app/warndialog/warndialog.component.ts
index a4c01c9..9297539 100644
--- a/src/app/warndialog/warndialog.component.ts
+++ b/src/app/warndialog/warndialog.component.ts
@@ -1,6 +1,6 @@
 
 import { Component, OnInit, Inject  } from '@angular/core';
-import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material';
+import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
 
 @Component({
   selector: 'app-warndialog',
diff --git a/src/main.ts b/src/main.ts
index 9c74aef..91ec6da 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -3,7 +3,6 @@ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
 
 import { AppModule } from './app/app.module';
 import { environment } from './environments/environment';
-import 'hammerjs';
 
 if (environment.production) {
   enableProdMode();
-- 
GitLab