From f825d487d1d0937a7066fe10b1eac7903140b7a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Thu, 14 Oct 2021 01:16:26 +0300 Subject: [PATCH] RED-2420: Admin navigation patches --- .../src/app/modules/admin/admin-routing.module.ts | 2 +- .../admin/admin-side-nav/admin-side-nav.component.html | 4 ++-- .../admin/admin-side-nav/admin-side-nav.component.ts | 10 +++++++--- .../dictionary-overview-screen.component.ts | 10 +++++++--- apps/red-ui/src/app/state/app-state.service.ts | 4 ++-- libs/common-ui | 2 +- 6 files changed, 20 insertions(+), 12 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/admin-routing.module.ts b/apps/red-ui/src/app/modules/admin/admin-routing.module.ts index 5bed7ed49..127bf919b 100644 --- a/apps/red-ui/src/app/modules/admin/admin-routing.module.ts +++ b/apps/red-ui/src/app/modules/admin/admin-routing.module.ts @@ -50,7 +50,7 @@ const routes = [ }, }, { - path: ':type', + path: ':dictionary', component: DictionaryOverviewScreenComponent, canActivate: [CompositeRouteGuard], canDeactivate: [PendingChangesGuard], diff --git a/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.html b/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.html index 8d5b7be9b..4338e7eea 100644 --- a/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.html +++ b/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.html @@ -1,6 +1,6 @@ -
{{ item.label | translate }} -
+
diff --git a/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts b/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts index 3fc91804e..6f641c671 100644 --- a/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts +++ b/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts @@ -1,4 +1,4 @@ -import { Component, HostBinding, Input } from '@angular/core'; +import { Component, HostBinding, Input, OnInit } from '@angular/core'; import { UserPreferenceService } from '@services/user-preference.service'; import { AppStateService } from '@state/app-state.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; @@ -18,11 +18,11 @@ interface NavItem { templateUrl: './admin-side-nav.component.html', styleUrls: ['./admin-side-nav.component.scss'], }) -export class AdminSideNavComponent { +export class AdminSideNavComponent implements OnInit { @Input() type: Type; readonly translations = adminSideNavTranslations; readonly currentUser = this._userService.currentUser; - readonly prefix = this._appStateService.activeDictionaryType ? '../../' : '../'; + prefix: string; readonly items: { readonly [key in Type]: NavItem[] } = { settings: [ @@ -74,4 +74,8 @@ export class AdminSideNavComponent { @HostBinding('class.dossier-templates') get isDossierTemplates(): boolean { return this.type === 'dossierTemplates'; } + + ngOnInit(): void { + this.prefix = this._appStateService.activeDictionaryType ? '../../' : '../'; + } } diff --git a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts index d04bd756a..ed2638230 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts @@ -1,4 +1,4 @@ -import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'; +import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { AppStateService } from '@state/app-state.service'; import { ActivatedRoute, Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; @@ -16,7 +16,7 @@ import { DossierTemplatesService } from '@services/entity-services/dossier-templ templateUrl: './dictionary-overview-screen.component.html', styleUrls: ['./dictionary-overview-screen.component.scss'], }) -export class DictionaryOverviewScreenComponent extends ComponentHasChanges implements OnInit { +export class DictionaryOverviewScreenComponent extends ComponentHasChanges implements OnInit, OnDestroy { readonly circleButtonTypes = CircleButtonTypes; readonly currentUser = this._userService.currentUser; @@ -46,7 +46,7 @@ export class DictionaryOverviewScreenComponent extends ComponentHasChanges imple } async ngOnInit() { - await this._appStateService.activateDictionary(this._activatedRoute.snapshot.params.type); + this._appStateService.activateDictionary(this._activatedRoute.snapshot.params.dictionary); this.dictionary = this._appStateService.activeDictionary; await this._loadEntries(); } @@ -117,6 +117,10 @@ export class DictionaryOverviewScreenComponent extends ComponentHasChanges imple ); } + ngOnDestroy(): void { + this._appStateService.reset(); + } + private async _loadEntries() { this._loadingService.start(); await this._dictionaryService diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts index 6337884df..6dea2d22e 100644 --- a/apps/red-ui/src/app/state/app-state.service.ts +++ b/apps/red-ui/src/app/state/app-state.service.ts @@ -193,12 +193,12 @@ export class AppStateService { await this._updateLastActiveFileForDossier(dossierId, fileId); } - async activateDictionary(dictionaryType: string) { + activateDictionary(dictionaryType: string) { if (this._dossierTemplatesService.activeDossierTemplate) { this._appState.activeDictionaryType = dictionaryType; if (!this.activeDictionary) { this._appState.activeDictionaryType = null; - await this._router.navigate([this._dossierTemplatesService.activeDossierTemplate.routerLink]); + this._router.navigate([this._dossierTemplatesService.activeDossierTemplate.routerLink]).then(); } } } diff --git a/libs/common-ui b/libs/common-ui index 260d7e44f..f466cf23e 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 260d7e44ff91967bea89b51c360e470ebc9b7300 +Subproject commit f466cf23eac3e4954eeab43cca0f3cc2c7746dee