Merge branch 'dan' into 'master'

RED-3800 fix infinite spinner on info route

See merge request redactmanager/red-ui!111
This commit is contained in:
Adina Teudan 2023-09-25 17:39:13 +02:00
commit d853c781a7
4 changed files with 31 additions and 25 deletions

View File

@ -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 { 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 { 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 { 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 { DossierFilesGuard } from '@guards/dossier-files-guard';
import { webViewerLoadedGuard } from './modules/pdf-viewer/services/webviewer-loaded.guard'; import { templateExistsWhenEnteringDossierList } from '@guards/dossier-template-exists.guard';
import { Roles } from '@users/roles'; import { DossierTemplatesGuard } from '@guards/dossier-templates.guard';
import { mainGuard } from '@utils/main.resolver'; import { loadActiveDossiersGuard, loadAllDossiersGuard, loadArchivedDossiersGuard } from '@guards/dossiers.guard';
import { hasAnyRoleGuard, IqserAuthGuard } from '@iqser/common-ui/lib/users'; import { editAttributeGuard } from '@guards/edit-attribute.guard';
import { CustomRouteReuseStrategy } from '@iqser/common-ui/lib/utils'; import { FeaturesGuard } from '@guards/features-guard.service';
import { ifLoggedIn } from '@guards/if-logged-in.guard'; import { ifLoggedIn } from '@guards/if-logged-in.guard';
import { ifNotLoggedIn } from '@guards/if-not-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 { 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 = [ const dossierTemplateIdRoutes: IqserRoutes = [
{ {

View File

@ -141,7 +141,7 @@ export const appModuleFactory = (config: AppConfig) => {
enabled: false, enabled: false,
}, },
ROUTES: { ROUTES: {
enabled: false, enabled: true,
}, },
PDF: { PDF: {
enabled: true, enabled: true,

View File

@ -1,9 +1,10 @@
import { Component } from '@angular/core'; import { Component, inject, OnInit } from '@angular/core';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; 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 { 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 { DossierTemplateStatsService } from '@services/entity-services/dossier-template-stats.service';
import { dossierTemplateStatusTranslations } from '@translations/dossier-template-status-translations'; import { dossierTemplateStatusTranslations } from '@translations/dossier-template-status-translations';
import { ContextComponent, getParam } from '@iqser/common-ui/lib/utils';
interface Context { interface Context {
readonly dossierTemplate: DossierTemplate; readonly dossierTemplate: DossierTemplate;
@ -14,7 +15,8 @@ interface Context {
templateUrl: './dossier-template-info-screen.component.html', templateUrl: './dossier-template-info-screen.component.html',
styleUrls: ['./dossier-template-info-screen.component.scss'], styleUrls: ['./dossier-template-info-screen.component.scss'],
}) })
export class DossierTemplateInfoScreenComponent extends ContextComponent<Context> { export class DossierTemplateInfoScreenComponent extends ContextComponent<Context> implements OnInit {
readonly #loadingService = inject(LoadingService);
readonly translations = dossierTemplateStatusTranslations; readonly translations = dossierTemplateStatusTranslations;
constructor(dossierTemplatesService: DossierTemplatesService, dossierTemplateStatsService: DossierTemplateStatsService) { constructor(dossierTemplatesService: DossierTemplatesService, dossierTemplateStatsService: DossierTemplateStatsService) {
@ -25,4 +27,8 @@ export class DossierTemplateInfoScreenComponent extends ContextComponent<Context
stats: dossierTemplateStatsService.watch$(dossierTemplateId), stats: dossierTemplateStatsService.watch$(dossierTemplateId),
}); });
} }
ngOnInit() {
this.#loadingService.stop();
}
} }

View File

@ -1,4 +1,5 @@
import { inject } from '@angular/core'; import { inject } from '@angular/core';
import { Router, RouterStateSnapshot } from '@angular/router';
import { AsyncGuard, IqserPermissionsService, LoadingService } from '@iqser/common-ui'; import { AsyncGuard, IqserPermissionsService, LoadingService } from '@iqser/common-ui';
import { TenantsService } from '@iqser/common-ui/lib/tenants'; import { TenantsService } from '@iqser/common-ui/lib/tenants';
import { BASE_HREF } from '@iqser/common-ui/lib/utils'; import { BASE_HREF } from '@iqser/common-ui/lib/utils';
@ -12,7 +13,6 @@ import { UserPreferenceService } from '@users/user-preference.service';
import { NGXLogger } from 'ngx-logger'; import { NGXLogger } from 'ngx-logger';
import { firstValueFrom } from 'rxjs'; import { firstValueFrom } from 'rxjs';
import { tap } from 'rxjs/operators'; import { tap } from 'rxjs/operators';
import { Router, RouterStateSnapshot } from '@angular/router';
async function redirectToLastDossierTemplate( async function redirectToLastDossierTemplate(
router: Router, router: Router,
@ -65,7 +65,7 @@ export function mainGuard(): AsyncGuard {
loadingService.stop(); loadingService.stop();
tenantsService.storeTenant(); tenantsService.storeTenant();
logger.info('[ROUTES] Main resolver finished!'); logger.info('[ROUTES] Main guard finished!');
return true; return true;
}; };