diff --git a/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.ts b/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.ts index 2256a1bc36..d556d7c86c 100644 --- a/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.ts +++ b/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.ts @@ -1,9 +1,16 @@ import { Component } from '@angular/core'; +import { + PublicationClaimComponent +} from '../../../notifications/suggestion-targets/publication-claim/publication-claim.component'; @Component({ selector: 'ds-admin-notifications-publication-claim-page', templateUrl: './admin-notifications-publication-claim-page.component.html', - styleUrls: ['./admin-notifications-publication-claim-page.component.scss'] + styleUrls: ['./admin-notifications-publication-claim-page.component.scss'], + imports: [ + PublicationClaimComponent + ], + standalone: true }) export class AdminNotificationsPublicationClaimPageComponent { diff --git a/src/app/browse-by/browse-by-switcher/browse-by-decorator.ts b/src/app/browse-by/browse-by-switcher/browse-by-decorator.ts index 5d9831dc78..aff4ae9946 100644 --- a/src/app/browse-by/browse-by-switcher/browse-by-decorator.ts +++ b/src/app/browse-by/browse-by-switcher/browse-by-decorator.ts @@ -1,45 +1,34 @@ import { Component } from '@angular/core'; import { hasNoValue } from '../../shared/empty.util'; -import { DEFAULT_THEME, resolveTheme } from '../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { Context } from '../../core/shared/context.model'; import { GenericConstructor } from '../../core/shared/generic-constructor'; +import { BrowseByDataType } from './browse-by-data-type'; +import { BrowseByTitleComponent } from '../browse-by-title/browse-by-title.component'; +import { BrowseByMetadataComponent } from '../browse-by-metadata/browse-by-metadata.component'; +import { BrowseByDateComponent } from '../browse-by-date/browse-by-date.component'; +import { BrowseByTaxonomyComponent } from '../browse-by-taxonomy/browse-by-taxonomy.component'; import { DEFAULT_THEME, resolveTheme } from '../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ThemedBrowseByDatePageComponent } from '../browse-by-date-page/themed-browse-by-date-page.component'; -import { - ThemedBrowseByMetadataPageComponent -} from '../browse-by-metadata-page/themed-browse-by-metadata-page.component'; -import { - ThemedBrowseByTaxonomyPageComponent -} from '../browse-by-taxonomy-page/themed-browse-by-taxonomy-page.component'; -import { ThemedBrowseByTitlePageComponent } from '../browse-by-title-page/themed-browse-by-title-page.component'; -import { BrowseByDataType } from './browse-by-data-type'; -import { BrowseByDataType } from './browse-by-data-type'; export const DEFAULT_BROWSE_BY_TYPE = BrowseByDataType.Metadata; export const DEFAULT_BROWSE_BY_CONTEXT = Context.Any; -export const BROWSE_BY_COMPONENT_FACTORY = new InjectionToken<(browseByType, theme) => GenericConstructor>('getComponentByBrowseByType', { - providedIn: 'root', - factory: () => getComponentByBrowseByType -}); - const map: Map>>> = new Map(); type BrowseByComponentType = - typeof ThemedBrowseByTitlePageComponent | - typeof ThemedBrowseByMetadataPageComponent | - typeof ThemedBrowseByDatePageComponent | - typeof ThemedBrowseByTaxonomyPageComponent; + typeof BrowseByTitleComponent | + typeof BrowseByMetadataComponent | + typeof BrowseByDateComponent | + typeof BrowseByTaxonomyComponent; export const BROWSE_BY_DECORATOR_MAP = - new Map>([ - [BrowseByDataType.Date, new Map([[DEFAULT_THEME, ThemedBrowseByDatePageComponent]])], - [BrowseByDataType.Metadata, new Map([[DEFAULT_THEME, ThemedBrowseByMetadataPageComponent]])], - [BrowseByDataType.Hierarchy, new Map([[DEFAULT_THEME, ThemedBrowseByTaxonomyPageComponent]])], - [BrowseByDataType.Title, new Map([[DEFAULT_THEME, ThemedBrowseByTitlePageComponent]])] + new Map>>([ + [BrowseByDataType.Date, new Map([[DEFAULT_BROWSE_BY_CONTEXT, new Map([[DEFAULT_THEME, BrowseByDateComponent]])]])], + [BrowseByDataType.Metadata, new Map([[DEFAULT_BROWSE_BY_CONTEXT, new Map([[DEFAULT_THEME, BrowseByMetadataComponent]])]])], + [BrowseByDataType.Hierarchy, new Map([[DEFAULT_BROWSE_BY_CONTEXT, new Map([[DEFAULT_THEME, BrowseByTaxonomyComponent]])]])], + [BrowseByDataType.Title, new Map([[DEFAULT_BROWSE_BY_CONTEXT, new Map([[DEFAULT_THEME, BrowseByTitleComponent]])]])] ]); /** @@ -74,12 +63,12 @@ export function rendersBrowseBy(browseByType: BrowseByDataType, context = DEFAUL * @param context The context to match * @param theme the theme to match */ -export function getComponentByBrowseByType(browseByType: BrowseByDataType, context: Context, theme: string): GenericConstructor { - let contextMap: Map>> = BROWSE_BY_DECORATOR_MAP.get(browseByType); +export function getComponentByBrowseByType(browseByType: BrowseByDataType, context: Context, theme: string) { + let contextMap: Map> = BROWSE_BY_DECORATOR_MAP.get(browseByType); if (hasNoValue(contextMap)) { - contextMap = map.get(DEFAULT_BROWSE_BY_TYPE); + contextMap = BROWSE_BY_DECORATOR_MAP.get(DEFAULT_BROWSE_BY_TYPE); } - let themeMap: Map> = contextMap.get(context); + let themeMap: Map = contextMap.get(context); if (hasNoValue(themeMap)) { themeMap = contextMap.get(DEFAULT_BROWSE_BY_CONTEXT); } diff --git a/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts b/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts index 39b312c1b2..d65a6bbcf9 100644 --- a/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts +++ b/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts @@ -1,17 +1,15 @@ import { BrowseBySwitcherComponent } from './browse-by-switcher.component'; import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; -import { BROWSE_BY_COMPONENT_FACTORY } from './browse-by-decorator'; -import { BehaviorSubject } from 'rxjs'; -import { SimpleChange, Component } from '@angular/core'; +import { Component, SimpleChange } from '@angular/core'; import { rendersBrowseBy } from './browse-by-decorator'; import { ThemeService } from '../../shared/theme-support/theme.service'; import { FlatBrowseDefinition } from '../../core/shared/flat-browse-definition.model'; import { ValueListBrowseDefinition } from '../../core/shared/value-list-browse-definition.model'; import { NonHierarchicalBrowseDefinition } from '../../core/shared/non-hierarchical-browse-definition'; import { getMockThemeService } from '../../shared/mocks/theme-service.mock'; -import { DynamicComponentLoaderDirective } from '../../shared/abstract-component-loader/dynamic-component-loader.directive'; +import { + DynamicComponentLoaderDirective +} from '../../shared/abstract-component-loader/dynamic-component-loader.directive'; import { BrowseByDataType } from './browse-by-data-type'; @rendersBrowseBy('BrowseBySwitcherComponent' as BrowseByDataType) diff --git a/src/app/shared/starts-with/starts-with-decorator.ts b/src/app/shared/starts-with/starts-with-decorator.ts index b9feec4951..a847e3acea 100644 --- a/src/app/shared/starts-with/starts-with-decorator.ts +++ b/src/app/shared/starts-with/starts-with-decorator.ts @@ -11,8 +11,8 @@ export enum StartsWithType { type StartsWithComponentType = typeof StartsWithDateComponent | typeof StartsWithTextComponent; export const STARTS_WITH_DECORATOR_MAP = new Map([ - [StartsWithType.text,StartsWithTextComponent], - [StartsWithType.date,StartsWithDateComponent], + [StartsWithType.text, StartsWithTextComponent], + [StartsWithType.date, StartsWithDateComponent], ]); /**