From 645ba1ab684737d78a5aac147f576d0c9ba00b5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Wed, 5 May 2021 15:04:50 +0300 Subject: [PATCH] Back navigates to last projects screen --- apps/red-ui/src/app/app.component.ts | 3 +- .../base-screen/base-screen.component.html | 10 +---- .../base-screen/base-screen.component.ts | 4 -- .../downloads-list-screen.component.html | 17 +++++--- .../screens/audit/audit-screen.component.html | 32 +++++++-------- .../digital-signature-screen.component.html | 40 +++++++++---------- .../license-information-screen.component.html | 30 +++++++------- .../rule-sets-listing-screen.component.html | 38 +++++++++--------- .../smtp-config-screen.component.html | 30 +++++++------- .../user-listing-screen.component.html | 28 ++++++------- ...navigate-last-projects-screen.directive.ts | 13 ++++++ .../src/app/modules/shared/shared.module.ts | 3 +- .../app/services/router-history.service.ts | 22 ++++++++++ apps/red-ui/src/assets/i18n/de.json | 2 +- apps/red-ui/src/assets/i18n/en.json | 2 +- .../src/assets/styles/red-breadcrumbs.scss | 2 +- .../src/assets/styles/red-text-styles.scss | 1 + 17 files changed, 155 insertions(+), 122 deletions(-) create mode 100644 apps/red-ui/src/app/modules/shared/directives/navigate-last-projects-screen.directive.ts create mode 100644 apps/red-ui/src/app/services/router-history.service.ts diff --git a/apps/red-ui/src/app/app.component.ts b/apps/red-ui/src/app/app.component.ts index cc95d05e4..d8a314e3b 100644 --- a/apps/red-ui/src/app/app.component.ts +++ b/apps/red-ui/src/app/app.component.ts @@ -1,5 +1,6 @@ import { Component } from '@angular/core'; import { AppLoadStateService } from './services/app-load-state.service'; +import { RouterHistoryService } from './services/router-history.service'; @Component({ selector: 'redaction-root', @@ -7,5 +8,5 @@ import { AppLoadStateService } from './services/app-load-state.service'; styleUrls: ['./app.component.scss'] }) export class AppComponent { - constructor(public appLoadStateService: AppLoadStateService) {} + constructor(public appLoadStateService: AppLoadStateService, private readonly _routerHistoryService: RouterHistoryService) {} } diff --git a/apps/red-ui/src/app/components/base-screen/base-screen.component.html b/apps/red-ui/src/app/components/base-screen/base-screen.component.html index f6dc56ebe..8ba2f7f19 100644 --- a/apps/red-ui/src/app/components/base-screen/base-screen.component.html +++ b/apps/red-ui/src/app/components/base-screen/base-screen.component.html @@ -28,15 +28,9 @@ *ngIf="projectsView" [routerLinkActiveOptions]="{ exact: true }" > - + - {{ 'top-bar.navigation-items.back-to-projects' | translate }} + {{ 'top-bar.navigation-items.back' | translate }} diff --git a/apps/red-ui/src/app/components/base-screen/base-screen.component.ts b/apps/red-ui/src/app/components/base-screen/base-screen.component.ts index 687ef98e0..02cb60d9d 100644 --- a/apps/red-ui/src/app/components/base-screen/base-screen.component.ts +++ b/apps/red-ui/src/app/components/base-screen/base-screen.component.ts @@ -45,10 +45,6 @@ export class BaseScreenComponent { return this._projectsView; } - get settingsView() { - return !this._projectsView; - } - get showPendingDownloadsDot() { return this.fileDownloadService.hasPendingDownloads; } diff --git a/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.html b/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.html index 050fab273..03fc8d9f8 100644 --- a/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.html +++ b/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.html @@ -1,7 +1,12 @@
@@ -28,7 +33,7 @@
-
{{ download.filename }}
+
{{ download.filename }}
@@ -46,17 +51,17 @@
-
+
- + diff --git a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html index 05d133535..dc51ab6e1 100644 --- a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html @@ -9,12 +9,12 @@
@@ -26,8 +26,8 @@
·
@@ -46,18 +46,18 @@
@@ -66,8 +66,8 @@
·
- - + + @@ -76,8 +76,8 @@
- - + + @@ -87,17 +87,17 @@
- - - - + + + +
-
+
{{ log.message }}
@@ -105,7 +105,7 @@ {{ log.recordDate | date: 'd MMM. yyyy, hh:mm a' }}
- +
{{ log.category }} diff --git a/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.html index cf3e4b47a..1802aeb11 100644 --- a/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.html @@ -10,9 +10,9 @@
@@ -22,71 +22,71 @@
- - + + -
+
-
+
- +
-
+
- +
-
+
- +
-
+
-
+
diff --git a/apps/red-ui/src/app/modules/admin/screens/license-information/license-information-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/license-information/license-information-screen.component.html index f8c7f3582..d4a664759 100644 --- a/apps/red-ui/src/app/modules/admin/screens/license-information/license-information-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/license-information/license-information-screen.component.html @@ -11,9 +11,9 @@ @@ -88,7 +88,7 @@
{{ currentInfo.numberOfAnalyzedPages }} ({{ analysisPercentageOfLicense | number: '1.0-2' }}%)
-
+
{{ unlicensedInfo.numberOfAnalyzedPages }}
@@ -101,21 +101,21 @@
diff --git a/apps/red-ui/src/app/modules/admin/screens/rule-sets-listing/rule-sets-listing-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/rule-sets-listing/rule-sets-listing-screen.component.html index a20c7e523..ab8bf5626 100644 --- a/apps/red-ui/src/app/modules/admin/screens/rule-sets-listing/rule-sets-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/rule-sets-listing/rule-sets-listing-screen.component.html @@ -9,10 +9,10 @@
@@ -35,39 +35,39 @@
-
+
+ + - -
@@ -82,11 +82,11 @@
-
+
@@ -103,7 +103,7 @@
- +
{{ ruleSet.dateAdded | date: 'd MMM. yyyy' }} @@ -114,9 +114,9 @@
diff --git a/apps/red-ui/src/app/modules/admin/screens/smtp-config/smtp-config-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/smtp-config/smtp-config-screen.component.html index ff2e2a5eb..cc725dfe2 100644 --- a/apps/red-ui/src/app/modules/admin/screens/smtp-config/smtp-config-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/smtp-config/smtp-config-screen.component.html @@ -10,9 +10,9 @@
@@ -26,7 +26,7 @@
-
+
@@ -34,8 +34,8 @@
@@ -44,8 +44,8 @@
@@ -54,8 +54,8 @@
@@ -64,8 +64,8 @@
@@ -75,8 +75,8 @@
@@ -85,8 +85,8 @@
@@ -95,8 +95,8 @@
@@ -104,20 +104,20 @@
- +
- +
- +
@@ -128,9 +128,9 @@
diff --git a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html index 7342933b8..c5e2b5fd9 100644 --- a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html @@ -17,18 +17,18 @@ type="primary" >
-
+
@@ -63,7 +63,7 @@ - + @@ -75,34 +75,34 @@ -
-
+
+
- +
{{ user.email || '-' }}
- +
{{ getDisplayRoles(user) }}
@@ -112,7 +112,7 @@
-
+
diff --git a/apps/red-ui/src/app/modules/shared/directives/navigate-last-projects-screen.directive.ts b/apps/red-ui/src/app/modules/shared/directives/navigate-last-projects-screen.directive.ts new file mode 100644 index 000000000..a950afc44 --- /dev/null +++ b/apps/red-ui/src/app/modules/shared/directives/navigate-last-projects-screen.directive.ts @@ -0,0 +1,13 @@ +import { Directive, HostListener } from '@angular/core'; +import { RouterHistoryService } from '../../../services/router-history.service'; + +@Directive({ + selector: '[redactionNavigateLastProjectsScreen]' +}) +export class NavigateLastProjectsScreenDirective { + constructor(private readonly _routerHistoryService: RouterHistoryService) {} + + @HostListener('click') onClick() { + this._routerHistoryService.navigateToLastProjectsScreen(); + } +} diff --git a/apps/red-ui/src/app/modules/shared/shared.module.ts b/apps/red-ui/src/app/modules/shared/shared.module.ts index 270a82db8..02df28aba 100644 --- a/apps/red-ui/src/app/modules/shared/shared.module.ts +++ b/apps/red-ui/src/app/modules/shared/shared.module.ts @@ -32,6 +32,7 @@ import { RoundCheckboxComponent } from './components/checkbox/round-checkbox.com import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core'; import { MomentDateAdapter } from '@angular/material-moment-adapter'; import { SelectComponent } from './components/select/select.component'; +import { NavigateLastProjectsScreenDirective } from './directives/navigate-last-projects-screen.directive'; const buttons = [ChevronButtonComponent, CircleButtonComponent, FileDownloadBtnComponent, IconButtonComponent, UserButtonComponent]; @@ -57,7 +58,7 @@ const components = [ ...buttons ]; -const utils = [HumanizePipe, SyncWidthDirective, HasScrollbarDirective]; +const utils = [HumanizePipe, SyncWidthDirective, HasScrollbarDirective, NavigateLastProjectsScreenDirective]; const modules = [MatConfigModule, TranslateModule, ScrollingModule, IconsModule, FormsModule, ReactiveFormsModule]; diff --git a/apps/red-ui/src/app/services/router-history.service.ts b/apps/red-ui/src/app/services/router-history.service.ts new file mode 100644 index 000000000..0c3a47c4e --- /dev/null +++ b/apps/red-ui/src/app/services/router-history.service.ts @@ -0,0 +1,22 @@ +import { Injectable } from '@angular/core'; +import { NavigationEnd, Router } from '@angular/router'; +import { filter } from 'rxjs/operators'; + +@Injectable({ + providedIn: 'root' +}) +export class RouterHistoryService { + private _lastProjectsScreen = '/main/projects'; + + constructor(private readonly _router: Router) { + this._router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event: NavigationEnd) => { + if (event.url.startsWith('/main/projects')) { + this._lastProjectsScreen = event.url; + } + }); + } + + public navigateToLastProjectsScreen() { + this._router.navigate([this._lastProjectsScreen]); + } +} diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index d86aa13b0..8cbd7726a 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -58,7 +58,7 @@ "top-bar": { "navigation-items": { "projects": "Aktives Dossier", - "back-to-projects": "Zurück zu den Dossiers", + "back": "Zurück", "my-account": { "children": { "admin": "die Einstellungen", diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 86ad4dccf..309d67fab 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -58,7 +58,7 @@ "top-bar": { "navigation-items": { "projects": "Active Dossier", - "back-to-projects": "Back to Dossiers", + "back": "Back", "my-account": { "children": { "admin": "Settings", diff --git a/apps/red-ui/src/assets/styles/red-breadcrumbs.scss b/apps/red-ui/src/assets/styles/red-breadcrumbs.scss index dd9567bb3..bf602c541 100644 --- a/apps/red-ui/src/assets/styles/red-breadcrumbs.scss +++ b/apps/red-ui/src/assets/styles/red-breadcrumbs.scss @@ -22,7 +22,7 @@ width: fit-content; white-space: nowrap; - &.back-to-projects { + &.back { display: flex !important; justify-content: center; align-items: center; diff --git a/apps/red-ui/src/assets/styles/red-text-styles.scss b/apps/red-ui/src/assets/styles/red-text-styles.scss index e44456a24..638892fbb 100644 --- a/apps/red-ui/src/assets/styles/red-text-styles.scss +++ b/apps/red-ui/src/assets/styles/red-text-styles.scss @@ -3,6 +3,7 @@ a { color: $primary; + transition: color 0.1s; &:hover { color: lighten($primary, 10%);