From fb377926d4c431dcfba4e2aed867170a4f0edb1f Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Mon, 25 Sep 2023 18:09:11 +0300 Subject: [PATCH] RED-3800 fix infinite spinner on info route --- apps/red-ui/src/app/app-routing.module.ts | 36 +++++++++---------- apps/red-ui/src/app/app.module.ts | 2 +- .../dossier-template-info-screen.component.ts | 14 +++++--- .../utils/{main.resolver.ts => main.guard.ts} | 4 +-- 4 files changed, 31 insertions(+), 25 deletions(-) rename apps/red-ui/src/app/utils/{main.resolver.ts => main.guard.ts} (98%) diff --git a/apps/red-ui/src/app/app-routing.module.ts b/apps/red-ui/src/app/app-routing.module.ts index 9fd534493..1b32fde0e 100644 --- a/apps/red-ui/src/app/app-routing.module.ts +++ b/apps/red-ui/src/app/app-routing.module.ts @@ -1,28 +1,28 @@ -import { AuthErrorComponent } from '@components/auth-error/auth-error.component'; -import { CompositeRouteGuard, DEFAULT_REDIRECT_KEY, IqserPermissionsGuard, IqserRoutes, orderedAsyncGuards } from '@iqser/common-ui'; -import { RedRoleGuard } from '@users/red-role.guard'; -import { BaseScreenComponent } from '@components/base-screen/base-screen.component'; -import { RouteReuseStrategy, RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; +import { RouteReuseStrategy, RouterModule } from '@angular/router'; +import { AuthErrorComponent } from '@components/auth-error/auth-error.component'; +import { BaseScreenComponent } from '@components/base-screen/base-screen.component'; import { DownloadsListScreenComponent } from '@components/downloads-list-screen/downloads-list-screen.component'; -import { loadActiveDossiersGuard, loadAllDossiersGuard, loadArchivedDossiersGuard } from '@guards/dossiers.guard'; -import { ACTIVE_DOSSIERS_SERVICE } from './tokens'; -import { FeaturesGuard } from '@guards/features-guard.service'; -import { DossierTemplatesGuard } from '@guards/dossier-templates.guard'; -import { templateExistsWhenEnteringDossierList } from '@guards/dossier-template-exists.guard'; import { DashboardGuard } from '@guards/dashboard-guard.service'; -import { TrashGuard } from '@guards/trash.guard'; -import { ARCHIVE_ROUTE, BreadcrumbTypes, DOSSIER_ID, DOSSIER_TEMPLATE_ID, DOSSIERS_ARCHIVE, DOSSIERS_ROUTE, FILE_ID } from '@red/domain'; import { DossierFilesGuard } from '@guards/dossier-files-guard'; -import { webViewerLoadedGuard } from './modules/pdf-viewer/services/webviewer-loaded.guard'; -import { Roles } from '@users/roles'; -import { mainGuard } from '@utils/main.resolver'; -import { hasAnyRoleGuard, IqserAuthGuard } from '@iqser/common-ui/lib/users'; -import { CustomRouteReuseStrategy } from '@iqser/common-ui/lib/utils'; +import { templateExistsWhenEnteringDossierList } from '@guards/dossier-template-exists.guard'; +import { DossierTemplatesGuard } from '@guards/dossier-templates.guard'; +import { loadActiveDossiersGuard, loadAllDossiersGuard, loadArchivedDossiersGuard } from '@guards/dossiers.guard'; +import { editAttributeGuard } from '@guards/edit-attribute.guard'; +import { FeaturesGuard } from '@guards/features-guard.service'; import { ifLoggedIn } from '@guards/if-logged-in.guard'; import { ifNotLoggedIn } from '@guards/if-not-logged-in.guard'; +import { TrashGuard } from '@guards/trash.guard'; +import { CompositeRouteGuard, DEFAULT_REDIRECT_KEY, IqserPermissionsGuard, IqserRoutes, orderedAsyncGuards } from '@iqser/common-ui'; import { TenantSelectComponent } from '@iqser/common-ui/lib/tenants'; -import { editAttributeGuard } from '@guards/edit-attribute.guard'; +import { hasAnyRoleGuard, IqserAuthGuard } from '@iqser/common-ui/lib/users'; +import { CustomRouteReuseStrategy } from '@iqser/common-ui/lib/utils'; +import { ARCHIVE_ROUTE, BreadcrumbTypes, DOSSIER_ID, DOSSIER_TEMPLATE_ID, DOSSIERS_ARCHIVE, DOSSIERS_ROUTE, FILE_ID } from '@red/domain'; +import { RedRoleGuard } from '@users/red-role.guard'; +import { Roles } from '@users/roles'; +import { mainGuard } from '@utils/main.guard'; +import { webViewerLoadedGuard } from './modules/pdf-viewer/services/webviewer-loaded.guard'; +import { ACTIVE_DOSSIERS_SERVICE } from './tokens'; const dossierTemplateIdRoutes: IqserRoutes = [ { diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index c255390da..d6d506950 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -141,7 +141,7 @@ export const appModuleFactory = (config: AppConfig) => { enabled: false, }, ROUTES: { - enabled: false, + enabled: true, }, PDF: { enabled: true, diff --git a/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.ts index e50143cbe..bf9ccf1cd 100644 --- a/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.ts @@ -1,9 +1,10 @@ -import { Component } from '@angular/core'; -import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; +import { Component, inject, OnInit } from '@angular/core'; +import { LoadingService } from '@iqser/common-ui'; +import { ContextComponent, getParam } from '@iqser/common-ui/lib/utils'; import { DOSSIER_TEMPLATE_ID, type DossierTemplate, type DossierTemplateStats } from '@red/domain'; +import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; import { DossierTemplateStatsService } from '@services/entity-services/dossier-template-stats.service'; import { dossierTemplateStatusTranslations } from '@translations/dossier-template-status-translations'; -import { ContextComponent, getParam } from '@iqser/common-ui/lib/utils'; interface Context { readonly dossierTemplate: DossierTemplate; @@ -14,7 +15,8 @@ interface Context { templateUrl: './dossier-template-info-screen.component.html', styleUrls: ['./dossier-template-info-screen.component.scss'], }) -export class DossierTemplateInfoScreenComponent extends ContextComponent { +export class DossierTemplateInfoScreenComponent extends ContextComponent implements OnInit { + readonly #loadingService = inject(LoadingService); readonly translations = dossierTemplateStatusTranslations; constructor(dossierTemplatesService: DossierTemplatesService, dossierTemplateStatsService: DossierTemplateStatsService) { @@ -25,4 +27,8 @@ export class DossierTemplateInfoScreenComponent extends ContextComponent