mirror of
https://dev.azure.com/hugendubel/ISA/_git/ISA-Frontend
synced 2025-12-28 22:42:11 +01:00
Merged PR 1991: ✨ feat(navigation): implement title management and enhance tab system
✨ feat(navigation): implement title management and enhance tab system This commit introduces a comprehensive title management system and extends the tab functionality with subtitle support, improving navigation clarity and user experience across the application. Key changes: Title Management System: - Add @isa/common/title-management library with dual approach: - IsaTitleStrategy for route-based static titles - usePageTitle() for component-based dynamic titles - Implement TitleRegistryService for nested component hierarchies - Automatic ISA prefix addition and TabService integration - Comprehensive test coverage (1,158 lines of tests) Tab System Enhancement: - Add subtitle field to tab schema for additional context - Update TabService API (addTab, patchTab) to support subtitles - Extend Zod schemas with subtitle validation - Update documentation with usage examples Routing Modernization: - Consolidate route guards using ActivateProcessIdWithConfigKeyGuard - Replace 4+ specific guards with generic config-key-based approach - Add title attributes to 100+ routes across all modules - Remove deprecated ProcessIdGuard in favor of ActivateProcessIdGuard Code Cleanup: - Remove deprecated preview component and related routes - Clean up unused imports and exports - Update TypeScript path aliases Dependencies: - Update package.json and package-lock.json - Add @isa/common/title-management to tsconfig path mappings Refs: #5351, #5418, #5419, #5420
This commit is contained in:
committed by
Nino Righi
parent
0670dbfdb1
commit
68f50b911d
@@ -1,31 +1,34 @@
|
||||
import { Routes } from '@angular/router';
|
||||
import { ReturnSearchMainComponent } from './return-search-main/return-search-main.component';
|
||||
import { ReturnSearchComponent } from './return-search.component';
|
||||
import { querySettingsResolverFn } from './resolvers/query-settings.resolver-fn';
|
||||
import { ReturnSearchResultComponent } from './return-search-result/return-search-result.component';
|
||||
|
||||
export const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: ReturnSearchComponent,
|
||||
resolve: { querySettings: querySettingsResolverFn },
|
||||
children: [
|
||||
{ path: '', component: ReturnSearchMainComponent },
|
||||
{
|
||||
path: 'receipts',
|
||||
component: ReturnSearchResultComponent,
|
||||
data: { scrollPositionRestoration: true },
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
path: 'receipt',
|
||||
loadChildren: () =>
|
||||
import('@isa/oms/feature/return-details').then((feat) => feat.routes),
|
||||
},
|
||||
{
|
||||
path: 'process',
|
||||
loadChildren: () =>
|
||||
import('@isa/oms/feature/return-process').then((feat) => feat.routes),
|
||||
},
|
||||
];
|
||||
import { Routes } from '@angular/router';
|
||||
import { ReturnSearchMainComponent } from './return-search-main/return-search-main.component';
|
||||
import { ReturnSearchComponent } from './return-search.component';
|
||||
import { querySettingsResolverFn } from './resolvers/query-settings.resolver-fn';
|
||||
import { ReturnSearchResultComponent } from './return-search-result/return-search-result.component';
|
||||
|
||||
export const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: ReturnSearchComponent,
|
||||
resolve: { querySettings: querySettingsResolverFn },
|
||||
title: 'Retoure',
|
||||
children: [
|
||||
{ path: '', component: ReturnSearchMainComponent },
|
||||
{
|
||||
path: 'receipts',
|
||||
component: ReturnSearchResultComponent,
|
||||
data: { scrollPositionRestoration: true },
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
path: 'receipt',
|
||||
title: 'Retoure - Beleg',
|
||||
loadChildren: () =>
|
||||
import('@isa/oms/feature/return-details').then((feat) => feat.routes),
|
||||
},
|
||||
{
|
||||
path: 'process',
|
||||
title: 'Retoure - Prozess',
|
||||
loadChildren: () =>
|
||||
import('@isa/oms/feature/return-process').then((feat) => feat.routes),
|
||||
},
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user