From bcff3ebce7736f6deaed3f5193e623ac60ded4eb Mon Sep 17 00:00:00 2001 From: "fabio.formosa" Date: Wed, 24 Apr 2019 17:02:04 +0200 Subject: [PATCH] upgraded frontend to angular ver 7 --- quartz-manager-frontend/.angular-cli.json | 57 -------- quartz-manager-frontend/angular.json | 128 ++++++++++++++++++ quartz-manager-frontend/karma.conf.js | 14 +- quartz-manager-frontend/package.json | 39 +++--- .../change-password.component.html | 8 +- .../change-password.component.scss | 2 +- .../change-password.component.ts | 7 +- .../logs-panel/logs-panel.component.ts | 2 +- .../progress-panel.component.ts | 2 +- .../src/app/guard/admin.guard.ts | 2 +- .../src/app/guard/guest.guard.ts | 2 +- .../src/app/guard/login.guard.ts | 2 +- .../src/app/login/login.component.html | 8 +- .../src/app/login/login.component.scss | 2 +- .../src/app/login/login.component.ts | 12 +- .../src/app/service/api.service.ts | 15 +- .../src/app/service/auth.service.ts | 15 +- .../src/app/service/user.service.ts | 4 +- .../src/app/service/websocket.service.ts | 2 +- .../src/app/signup/signup.component.html | 16 +-- .../src/app/signup/signup.component.scss | 2 +- .../src/app/signup/signup.component.ts | 14 +- quartz-manager-frontend/src/polyfills.ts | 3 +- .../src/tsconfig.spec.json | 3 +- quartz-manager-frontend/tsconfig.json | 6 +- quartz-manager-frontend/tslint.json | 2 +- 26 files changed, 226 insertions(+), 143 deletions(-) delete mode 100644 quartz-manager-frontend/.angular-cli.json create mode 100644 quartz-manager-frontend/angular.json diff --git a/quartz-manager-frontend/.angular-cli.json b/quartz-manager-frontend/.angular-cli.json deleted file mode 100644 index a6851d6..0000000 --- a/quartz-manager-frontend/.angular-cli.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "project": { - "name": "angular-spring-starter" - }, - "apps": [ - { - "root": "src", - "outDir": "../server/src/main/resources/static", - "assets": [ - "assets", - "favicon.ico" - ], - "index": "index.html", - "main": "main.ts", - "polyfills": "polyfills.ts", - "test": "test.ts", - "tsconfig": "tsconfig.app.json", - "testTsconfig": "tsconfig.spec.json", - "prefix": "app", - "styles": [ - "styles.css" - ], - "scripts": [], - "environmentSource": "environments/environment.ts", - "environments": { - "dev": "environments/environment.ts", - "prod": "environments/environment.prod.ts" - } - } - ], - "e2e": { - "protractor": { - "config": "./protractor.conf.js" - } - }, - "lint": [ - { - "project": "src/tsconfig.app.json" - }, - { - "project": "src/tsconfig.spec.json" - }, - { - "project": "e2e/tsconfig.e2e.json" - } - ], - "test": { - "karma": { - "config": "./karma.conf.js" - } - }, - "defaults": { - "styleExt": "css", - "component": {} - } -} diff --git a/quartz-manager-frontend/angular.json b/quartz-manager-frontend/angular.json new file mode 100644 index 0000000..7cd6f33 --- /dev/null +++ b/quartz-manager-frontend/angular.json @@ -0,0 +1,128 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "angular-spring-starter": { + "root": "", + "sourceRoot": "src", + "projectType": "application", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "../server/src/main/resources/static", + "index": "src/index.html", + "main": "src/main.ts", + "tsConfig": "src/tsconfig.app.json", + "polyfills": "src/polyfills.ts", + "assets": [ + "src/assets", + "src/favicon.ico" + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + }, + "configurations": { + "production": { + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ] + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "angular-spring-starter:build" + }, + "configurations": { + "production": { + "browserTarget": "angular-spring-starter:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "angular-spring-starter:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "karmaConfig": "./karma.conf.js", + "polyfills": "src/polyfills.ts", + "tsConfig": "src/tsconfig.spec.json", + "scripts": [], + "styles": [ + "src/styles.css" + ], + "assets": [ + "src/assets", + "src/favicon.ico" + ] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "src/tsconfig.app.json", + "src/tsconfig.spec.json" + ], + "exclude": [] + } + } + } + }, + "angular-spring-starter-e2e": { + "root": "e2e", + "sourceRoot": "e2e", + "projectType": "application", + "architect": { + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "./protractor.conf.js", + "devServerTarget": "angular-spring-starter:serve" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "e2e/tsconfig.e2e.json" + ], + "exclude": [] + } + } + } + } + }, + "defaultProject": "angular-spring-starter", + "schematics": { + "@schematics/angular:component": { + "prefix": "app", + "styleext": "css" + }, + "@schematics/angular:directive": { + "prefix": "app" + } + } +} \ No newline at end of file diff --git a/quartz-manager-frontend/karma.conf.js b/quartz-manager-frontend/karma.conf.js index 84b4cd5..c3b7640 100644 --- a/quartz-manager-frontend/karma.conf.js +++ b/quartz-manager-frontend/karma.conf.js @@ -4,33 +4,31 @@ module.exports = function (config) { config.set({ basePath: '', - frameworks: ['jasmine', '@angular/cli'], + frameworks: ['jasmine', '@angular-devkit/build-angular'], plugins: [ require('karma-jasmine'), require('karma-chrome-launcher'), require('karma-jasmine-html-reporter'), require('karma-coverage-istanbul-reporter'), - require('@angular/cli/plugins/karma') + require('@angular-devkit/build-angular/plugins/karma') ], client:{ clearContext: false // leave Jasmine Spec Runner output visible in browser }, files: [ - { pattern: './src/test.ts', watched: false } + ], preprocessors: { - './src/test.ts': ['@angular/cli'] + }, mime: { 'text/x-typescript': ['ts','tsx'] }, coverageIstanbulReporter: { - reports: [ 'html', 'lcovonly' ], + dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ], fixWebpackSourcePaths: true }, - angularCli: { - environment: 'dev' - }, + reporters: config.angularCli && config.angularCli.codeCoverage ? ['progress', 'coverage-istanbul'] : ['progress', 'kjhtml'], diff --git a/quartz-manager-frontend/package.json b/quartz-manager-frontend/package.json index eb5d517..47d93ab 100644 --- a/quartz-manager-frontend/package.json +++ b/quartz-manager-frontend/package.json @@ -12,34 +12,37 @@ }, "private": true, "dependencies": { - "@angular/animations": "5.2.8", - "@angular/cdk": "5.2.4", - "@angular/common": "5.2.8", - "@angular/compiler": "5.2.8", - "@angular/core": "5.2.8", - "@angular/flex-layout": "5.0.0-beta.13", - "@angular/forms": "5.2.8", - "@angular/http": "5.2.8", - "@angular/material": "5.2.4", - "@angular/platform-browser": "5.2.8", - "@angular/platform-browser-dynamic": "5.2.8", - "@angular/platform-server": "5.2.8", - "@angular/router": "5.2.8", + "@angular/animations": "7.2.13", + "@angular/cdk": "7.3.7", + "@angular/common": "7.2.13", + "@angular/compiler": "7.2.13", + "@angular/core": "7.2.13", + "@angular/flex-layout": "7.0.0-beta.24", + "@angular/forms": "7.2.13", + "@angular/http": "7.2.13", + "@angular/material": "7.3.7", + "@angular/platform-browser": "7.2.13", + "@angular/platform-browser-dynamic": "7.2.13", + "@angular/platform-server": "7.2.13", + "@angular/router": "7.2.13", "@fortawesome/fontawesome": "^1.1.4", "@fortawesome/fontawesome-free-regular": "^5.0.8", "@fortawesome/fontawesome-free-solid": "^5.0.8", "@stomp/ng2-stompjs": "^0.6.3", "core-js": "2.5.1", "hammerjs": "2.0.8", - "rxjs": "5.5.2", + "net": "^1.0.2", + "rxjs": "6.4.0", "stompjs": "^2.3.3", + "tslib": "^1.9.0", "zone.js": "0.8.18" }, "devDependencies": { + "@angular-devkit/build-angular": "~0.13.0", "@angular-devkit/core": "^0.2.0", - "@angular/cli": "1.5.3", - "@angular/compiler-cli": "5.2.8", - "@angular/language-service": "5.2.8", + "@angular/cli": "7.3.7", + "@angular/compiler-cli": "7.2.13", + "@angular/language-service": "7.2.13", "@types/hammerjs": "2.0.34", "@types/jasmine": "2.5.54", "@types/jasminewd2": "2.0.3", @@ -56,6 +59,6 @@ "protractor": "5.1.2", "ts-node": "3.0.6", "tslint": "5.7.0", - "typescript": "2.4.2" + "typescript": "3.2.4" } } diff --git a/quartz-manager-frontend/src/app/change-password/change-password.component.html b/quartz-manager-frontend/src/app/change-password/change-password.component.html index b080f4a..3ddd8c3 100644 --- a/quartz-manager-frontend/src/app/change-password/change-password.component.html +++ b/quartz-manager-frontend/src/app/change-password/change-password.component.html @@ -4,12 +4,12 @@

{{notification.msgBody}}

- + - - + + - +
diff --git a/quartz-manager-frontend/src/app/change-password/change-password.component.scss b/quartz-manager-frontend/src/app/change-password/change-password.component.scss index d60c8de..35b9ca9 100644 --- a/quartz-manager-frontend/src/app/change-password/change-password.component.scss +++ b/quartz-manager-frontend/src/app/change-password/change-password.component.scss @@ -11,7 +11,7 @@ mat-card { -webkit-animation: fadein 1s; /* Safari and Chrome */ } -mat-input-container { +mat-form-field { width: 100%; } diff --git a/quartz-manager-frontend/src/app/change-password/change-password.component.ts b/quartz-manager-frontend/src/app/change-password/change-password.component.ts index b08085c..10472ba 100644 --- a/quartz-manager-frontend/src/app/change-password/change-password.component.ts +++ b/quartz-manager-frontend/src/app/change-password/change-password.component.ts @@ -3,7 +3,8 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { AuthService } from 'app/service'; import { Router } from '@angular/router'; import { DisplayMessage } from '../shared/models/display-message'; - +import { delay, mergeMap } from 'rxjs/operators'; + @Component({ selector: 'app-change-password', templateUrl: './change-password.component.html', @@ -50,9 +51,7 @@ export class ChangePasswordComponent implements OnInit { this.submitted = true; this.authService.changePassowrd(this.form.value) - // show me the animation - .delay(1000) - .mergeMap(() => this.authService.logout()) + .pipe(delay(1000), mergeMap(() => this.authService.logout())) .subscribe(() => { this.router.navigate(['/login', { msgType: 'success', msgBody: 'Success! Please sign in with your new password.'}]); }, error => { diff --git a/quartz-manager-frontend/src/app/component/logs-panel/logs-panel.component.ts b/quartz-manager-frontend/src/app/component/logs-panel/logs-panel.component.ts index 68bbfb8..93ab00b 100644 --- a/quartz-manager-frontend/src/app/component/logs-panel/logs-panel.component.ts +++ b/quartz-manager-frontend/src/app/component/logs-panel/logs-panel.component.ts @@ -1,7 +1,7 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; import { LogsWebsocketService, ApiService } from '../../service'; -import { Observable } from 'rxjs/Observable'; +import { Observable } from 'rxjs'; @Component({ selector: 'logs-panel', diff --git a/quartz-manager-frontend/src/app/component/progress-panel/progress-panel.component.ts b/quartz-manager-frontend/src/app/component/progress-panel/progress-panel.component.ts index 21fe45d..cdc1ad9 100644 --- a/quartz-manager-frontend/src/app/component/progress-panel/progress-panel.component.ts +++ b/quartz-manager-frontend/src/app/component/progress-panel/progress-panel.component.ts @@ -1,7 +1,7 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core' import { ProgressWebsocketService } from '../../service'; -import { Observable } from 'rxjs/Observable'; +import { Observable } from 'rxjs'; // import {Message} from '@stomp/stompjs'; // import { Subscription } from 'rxjs/Subscription'; diff --git a/quartz-manager-frontend/src/app/guard/admin.guard.ts b/quartz-manager-frontend/src/app/guard/admin.guard.ts index a3ec91e..f2bcc02 100644 --- a/quartz-manager-frontend/src/app/guard/admin.guard.ts +++ b/quartz-manager-frontend/src/app/guard/admin.guard.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import { UserService } from '../service'; -import { Observable } from 'rxjs/Observable'; +import { Observable } from 'rxjs'; @Injectable() export class AdminGuard implements CanActivate { diff --git a/quartz-manager-frontend/src/app/guard/guest.guard.ts b/quartz-manager-frontend/src/app/guard/guest.guard.ts index f2c8037..b157e00 100644 --- a/quartz-manager-frontend/src/app/guard/guest.guard.ts +++ b/quartz-manager-frontend/src/app/guard/guest.guard.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { Router, CanActivate } from '@angular/router'; import { UserService } from '../service'; -import { Observable } from 'rxjs/Observable'; +import { Observable } from 'rxjs'; @Injectable() export class GuestGuard implements CanActivate { diff --git a/quartz-manager-frontend/src/app/guard/login.guard.ts b/quartz-manager-frontend/src/app/guard/login.guard.ts index b120c4f..70ef5fc 100644 --- a/quartz-manager-frontend/src/app/guard/login.guard.ts +++ b/quartz-manager-frontend/src/app/guard/login.guard.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { Router, CanActivate } from '@angular/router'; import { UserService } from '../service'; -import { Observable } from 'rxjs/Observable'; +import { Observable } from 'rxjs'; @Injectable() export class LoginGuard implements CanActivate { diff --git a/quartz-manager-frontend/src/app/login/login.component.html b/quartz-manager-frontend/src/app/login/login.component.html index fe84bde..4c549c1 100644 --- a/quartz-manager-frontend/src/app/login/login.component.html +++ b/quartz-manager-frontend/src/app/login/login.component.html @@ -15,12 +15,12 @@

{{notification.msgBody}}

- + - - + + - +