Index

src/app/app.config.ts

appConfig
Type : ApplicationConfig
Default value : { providers: [ provideAppConfiguration({ name: 'dashboard-ui', version: '1.0.0', url: 'https://apps.humanatlas.io/dashboard/', }), provideAnalytics(withRouterEvents(), withErrorHandler()), provideNothrowPlatformLocation(), provideRouter( appRoutes, withComponentInputBinding(), withInMemoryScrolling({ scrollPositionRestoration: 'enabled' }), ), provideRouterExt(), provideHttpClient(), provideAnimations(), provideDesignSystem(), provideDashboardComponents([ DashboardIndexComponent, DashboardLayoutComponent, GridContainerComponent, ImageContainerComponent, MetricsContainerComponent, VegaContainerComponent, IframeContainerComponent, ]), ], }

Application config

src/app/app.routes.ts

appRoutes
Type : Route[]
Default value : [ { path: '', component: DashboardComponentOutletComponent, resolve: { spec: yamlFileResolver(INDEX_SPEC_URL), }, data: { crumbs: [ { name: 'Apps', route: 'https://apps.humanatlas.io' }, { name: 'Dashboard', }, ] satisfies BreadcrumbItem[], }, }, { path: ':dashboard', component: DashboardComponentOutletComponent, canActivate: [dashboardCanActivate(INDEX_SPEC_URL)], resolve: { spec: dashboardDataResolver(INDEX_SPEC_URL), crumbs: (route: ActivatedRouteSnapshot) => { const dashboard = route.params['dashboard']; const crumb = DASHBOARD_PAGE_CRUMBS[dashboard]; if (crumb) { return [...BASE_ROUTE_CRUMB, crumb]; } return undefined; }, }, }, { path: '**', redirectTo: '/' }, ]

Application routes definition

BASE_ROUTE_CRUMB
Type : BreadcrumbItem[]
Default value : [ { name: 'Apps', route: 'https://apps.humanatlas.io', }, { name: 'Dashboard', route: '/', }, ]

Base route breadcrumb item

DASHBOARD_PAGE_CRUMBS
Type : Record<string, BreadcrumbItem>
Default value : { data: { name: 'Data' }, usage: { name: 'Usage' }, publications: { name: 'Publications' }, 'experimental-data': { name: 'Experimental Data' }, 'diversity-and-inclusion': { name: 'Diversity and Inclusion' }, }

Dashboard page specific breadcrumb items

INDEX_SPEC_URL
Type : string
Default value : 'https://cdn.humanatlas.io/hra-dashboard-data/dashboards/index.yaml'

Index spec file URL

src/app/shared/resolvers/yaml-file/yaml-file-cache.ts

YAML_FILE_CACHE
Type : unknown
Default value : new InjectionToken<Map<string, unknown>>('Yaml file cache', { providedIn: 'root', factory: () => new Map<string, unknown>(), })

Injection token for cache to store yaml file data

results matching ""

    No results matching ""