[DURACOM-191] run migration script

This commit is contained in:
Andrea Barbasso
2024-03-04 16:40:12 +01:00
parent 5a57035b61
commit 8503b4a476
173 changed files with 1073 additions and 633 deletions

View File

@@ -88,23 +88,23 @@ describe('LdnServiceFormEditComponent', () => {
activatedRoute = new MockActivatedRoute(routeParams, routeUrlSegments); activatedRoute = new MockActivatedRoute(routeParams, routeUrlSegments);
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [ReactiveFormsModule, TranslateModule.forRoot(), NgbDropdownModule], imports: [ReactiveFormsModule, TranslateModule.forRoot(), NgbDropdownModule],
declarations: [LdnServiceFormComponent], declarations: [LdnServiceFormComponent],
providers: [ providers: [
{provide: LdnServicesService, useValue: ldnServicesService}, { provide: LdnServicesService, useValue: ldnServicesService },
{provide: LdnItemfiltersService, useValue: ldnItemfiltersService}, { provide: LdnItemfiltersService, useValue: ldnItemfiltersService },
{provide: Router, useValue: new RouterStub()}, { provide: Router, useValue: new RouterStub() },
{provide: ActivatedRoute, useValue: activatedRoute}, { provide: ActivatedRoute, useValue: activatedRoute },
{provide: ChangeDetectorRef, useValue: cdRefStub}, { provide: ChangeDetectorRef, useValue: cdRefStub },
{provide: NgbModal, useValue: modalService}, { provide: NgbModal, useValue: modalService },
{provide: NotificationsService, useValue: new NotificationsServiceStub()}, { provide: NotificationsService, useValue: new NotificationsServiceStub() },
{provide: TranslateService, useValue: translateServiceStub}, { provide: TranslateService, useValue: translateServiceStub },
{provide: PaginationService, useValue: {}}, { provide: PaginationService, useValue: {} },
FormBuilder, FormBuilder,
RouteService, RouteService,
provideMockStore({}), provideMockStore({}),
] ]
}) })
.compileComponents(); .compileComponents();
fixture = TestBed.createComponent(LdnServiceFormComponent); fixture = TestBed.createComponent(LdnServiceFormComponent);

View File

@@ -35,25 +35,25 @@ describe('LdnServicesOverviewComponent', () => {
paginationService = new PaginationServiceStub(); paginationService = new PaginationServiceStub();
ldnServicesService = jasmine.createSpyObj('LdnServicesService', ['findAll', 'delete', 'patch']); ldnServicesService = jasmine.createSpyObj('LdnServicesService', ['findAll', 'delete', 'patch']);
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [TranslateModule.forRoot()], imports: [TranslateModule.forRoot()],
declarations: [LdnServicesOverviewComponent], declarations: [LdnServicesOverviewComponent],
providers: [ providers: [
{ {
provide: LdnServicesService, provide: LdnServicesService,
useValue: ldnServicesService useValue: ldnServicesService
}, },
{provide: PaginationService, useValue: paginationService}, { provide: PaginationService, useValue: paginationService },
{ {
provide: NgbModal, useValue: { provide: NgbModal, useValue: {
open: () => { /*comment*/ open: () => {
}
} }
}
}, },
{provide: ChangeDetectorRef, useValue: {}}, { provide: ChangeDetectorRef, useValue: {} },
{provide: NotificationsService, useValue: NotificationsServiceStub}, { provide: NotificationsService, useValue: NotificationsServiceStub },
{provide: TranslateService, useValue: translateServiceStub}, { provide: TranslateService, useValue: translateServiceStub },
] ]
}).compileComponents(); }).compileComponents();
}); });
beforeEach(() => { beforeEach(() => {

View File

@@ -13,18 +13,16 @@ describe('NotificationsSuggestionTargetsPageComponent', () => {
beforeEach(async(() => { beforeEach(async(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ imports: [
CommonModule, CommonModule,
TranslateModule.forRoot() TranslateModule.forRoot()
], ],
declarations: [ declarations: [NotificationsSuggestionTargetsPageComponent],
providers: [
NotificationsSuggestionTargetsPageComponent NotificationsSuggestionTargetsPageComponent
], ],
providers: [ schemas: [NO_ERRORS_SCHEMA]
NotificationsSuggestionTargetsPageComponent })
],
schemas: [NO_ERRORS_SCHEMA]
})
.compileComponents(); .compileComponents();
})); }));

View File

@@ -28,23 +28,23 @@ describe('FiltersComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
declarations: [FilteredCollectionsComponent], declarations: [FilteredCollectionsComponent],
imports: [ imports: [
NgbAccordionModule, NgbAccordionModule,
TranslateModule.forRoot({ TranslateModule.forRoot({
loader: { loader: {
provide: TranslateLoader, provide: TranslateLoader,
useClass: TranslateLoaderMock useClass: TranslateLoaderMock
} }
}), }),
HttpClientTestingModule HttpClientTestingModule
], ],
providers: [ providers: [
FormBuilder, FormBuilder,
DspaceRestService DspaceRestService
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}); });
})); }));
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {

View File

@@ -12,20 +12,20 @@ describe('FiltersComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
declarations: [FiltersComponent], declarations: [FiltersComponent],
imports: [ imports: [
TranslateModule.forRoot({ TranslateModule.forRoot({
loader: { loader: {
provide: TranslateLoader, provide: TranslateLoader,
useClass: TranslateLoaderMock useClass: TranslateLoaderMock
} }
}) })
], ],
providers: [ providers: [
FormBuilder FormBuilder
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}); });
})); }));
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {

View File

@@ -42,13 +42,13 @@ describe('CollectionAdminSearchResultGridElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
init(); init();
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ imports: [
NoopAnimationsModule, NoopAnimationsModule,
TranslateModule.forRoot(), TranslateModule.forRoot(),
RouterTestingModule.withRoutes([]), RouterTestingModule.withRoutes([]),
], CollectionAdminSearchResultGridElementComponent
declarations: [CollectionAdminSearchResultGridElementComponent], ],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: BitstreamDataService, useValue: {} }, { provide: BitstreamDataService, useValue: {} },
{ provide: LinkService, useValue: linkService }, { provide: LinkService, useValue: linkService },
@@ -56,8 +56,8 @@ describe('CollectionAdminSearchResultGridElementComponent', () => {
{ provide: FileService, useClass: FileServiceStub }, { provide: FileService, useClass: FileServiceStub },
{ provide: AuthorizationDataService, useClass: AuthorizationDataServiceStub }, { provide: AuthorizationDataService, useClass: AuthorizationDataServiceStub },
{ provide: ThemeService, useValue: getMockThemeService() }, { provide: ThemeService, useValue: getMockThemeService() },
] ]
}) })
.compileComponents(); .compileComponents();
})); }));

View File

@@ -10,12 +10,16 @@ import {
SearchResultGridElementComponent SearchResultGridElementComponent
} from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component';
import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths'; import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths';
import { RouterLink } from '@angular/router';
import { CollectionSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component';
@listableObjectComponent(CollectionSearchResult, ViewMode.GridElement, Context.AdminSearch) @listableObjectComponent(CollectionSearchResult, ViewMode.GridElement, Context.AdminSearch)
@Component({ @Component({
selector: 'ds-collection-admin-search-result-list-element', selector: 'ds-collection-admin-search-result-list-element',
styleUrls: ['./collection-admin-search-result-grid-element.component.scss'], styleUrls: ['./collection-admin-search-result-grid-element.component.scss'],
templateUrl: './collection-admin-search-result-grid-element.component.html', templateUrl: './collection-admin-search-result-grid-element.component.html',
standalone: true,
imports: [CollectionSearchResultGridElementComponent, RouterLink]
}) })
/** /**
* The component for displaying a list element for a collection search result on the admin search page * The component for displaying a list element for a collection search result on the admin search page

View File

@@ -48,8 +48,8 @@ describe('CommunityAdminSearchResultGridElementComponent', () => {
NoopAnimationsModule, NoopAnimationsModule,
TranslateModule.forRoot(), TranslateModule.forRoot(),
RouterTestingModule.withRoutes([]), RouterTestingModule.withRoutes([]),
CommunityAdminSearchResultGridElementComponent
], ],
declarations: [CommunityAdminSearchResultGridElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: BitstreamDataService, useValue: {} }, { provide: BitstreamDataService, useValue: {} },

View File

@@ -10,12 +10,16 @@ import {
SearchResultGridElementComponent SearchResultGridElementComponent
} from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component';
import { getCommunityEditRoute } from '../../../../../community-page/community-page-routing-paths'; import { getCommunityEditRoute } from '../../../../../community-page/community-page-routing-paths';
import { RouterLink } from '@angular/router';
import { CommunitySearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component';
@listableObjectComponent(CommunitySearchResult, ViewMode.GridElement, Context.AdminSearch) @listableObjectComponent(CommunitySearchResult, ViewMode.GridElement, Context.AdminSearch)
@Component({ @Component({
selector: 'ds-community-admin-search-result-grid-element', selector: 'ds-community-admin-search-result-grid-element',
styleUrls: ['./community-admin-search-result-grid-element.component.scss'], styleUrls: ['./community-admin-search-result-grid-element.component.scss'],
templateUrl: './community-admin-search-result-grid-element.component.html', templateUrl: './community-admin-search-result-grid-element.component.html',
standalone: true,
imports: [CommunitySearchResultGridElementComponent, RouterLink]
}) })
/** /**
* The component for displaying a list element for a community search result on the admin search page * The component for displaying a list element for a community search result on the admin search page

View File

@@ -60,24 +60,24 @@ describe('ItemAdminSearchResultGridElementComponent', () => {
init(); init();
TestBed.configureTestingModule( TestBed.configureTestingModule(
{ {
imports: [ imports: [
NoopAnimationsModule, NoopAnimationsModule,
TranslateModule.forRoot(), TranslateModule.forRoot(),
RouterTestingModule.withRoutes([]), RouterTestingModule.withRoutes([]),
ListableModule ListableModule,
], ItemAdminSearchResultGridElementComponent
declarations: [ItemAdminSearchResultGridElementComponent], ],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: BitstreamDataService, useValue: mockBitstreamDataService }, { provide: BitstreamDataService, useValue: mockBitstreamDataService },
{ provide: ThemeService, useValue: mockThemeService }, { provide: ThemeService, useValue: mockThemeService },
{ provide: AccessStatusDataService, useValue: mockAccessStatusDataService }, { provide: AccessStatusDataService, useValue: mockAccessStatusDataService },
{ provide: AuthService, useClass: AuthServiceStub }, { provide: AuthService, useClass: AuthServiceStub },
{ provide: FileService, useClass: FileServiceStub }, { provide: FileService, useClass: FileServiceStub },
{ provide: AuthorizationDataService, useClass: AuthorizationDataServiceStub }, { provide: AuthorizationDataService, useClass: AuthorizationDataServiceStub },
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}) })
.compileComponents(); .compileComponents();
})); }));

View File

@@ -19,12 +19,15 @@ import {
import { ThemeService } from '../../../../../shared/theme-support/theme.service'; import { ThemeService } from '../../../../../shared/theme-support/theme.service';
import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service';
import { hasValue } from '../../../../../shared/empty.util'; import { hasValue } from '../../../../../shared/empty.util';
import { ItemAdminSearchResultActionsComponent } from '../../item-admin-search-result-actions.component';
@listableObjectComponent(ItemSearchResult, ViewMode.GridElement, Context.AdminSearch) @listableObjectComponent(ItemSearchResult, ViewMode.GridElement, Context.AdminSearch)
@Component({ @Component({
selector: 'ds-item-admin-search-result-grid-element', selector: 'ds-item-admin-search-result-grid-element',
styleUrls: ['./item-admin-search-result-grid-element.component.scss'], styleUrls: ['./item-admin-search-result-grid-element.component.scss'],
templateUrl: './item-admin-search-result-grid-element.component.html', templateUrl: './item-admin-search-result-grid-element.component.html',
standalone: true,
imports: [ItemAdminSearchResultActionsComponent]
}) })
/** /**
* The component for displaying a list element for an item search result on the admin search page * The component for displaying a list element for an item search result on the admin search page

View File

@@ -40,8 +40,8 @@ describe('CollectionAdminSearchResultListElementComponent', () => {
imports: [ imports: [
TranslateModule.forRoot(), TranslateModule.forRoot(),
RouterTestingModule.withRoutes([]), RouterTestingModule.withRoutes([]),
CollectionAdminSearchResultListElementComponent
], ],
declarations: [CollectionAdminSearchResultListElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: DSONameService, useClass: DSONameServiceMock }, { provide: DSONameService, useClass: DSONameServiceMock },

View File

@@ -10,12 +10,17 @@ import {
import { CollectionSearchResult } from '../../../../../shared/object-collection/shared/collection-search-result.model'; import { CollectionSearchResult } from '../../../../../shared/object-collection/shared/collection-search-result.model';
import { Collection } from '../../../../../core/shared/collection.model'; import { Collection } from '../../../../../core/shared/collection.model';
import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths'; import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths';
import { TranslateModule } from '@ngx-translate/core';
import { RouterLink } from '@angular/router';
import { CollectionSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component';
@listableObjectComponent(CollectionSearchResult, ViewMode.ListElement, Context.AdminSearch) @listableObjectComponent(CollectionSearchResult, ViewMode.ListElement, Context.AdminSearch)
@Component({ @Component({
selector: 'ds-collection-admin-search-result-list-element', selector: 'ds-collection-admin-search-result-list-element',
styleUrls: ['./collection-admin-search-result-list-element.component.scss'], styleUrls: ['./collection-admin-search-result-list-element.component.scss'],
templateUrl: './collection-admin-search-result-list-element.component.html' templateUrl: './collection-admin-search-result-list-element.component.html',
standalone: true,
imports: [CollectionSearchResultListElementComponent, RouterLink, TranslateModule]
}) })
/** /**
* The component for displaying a list element for a collection search result on the admin search page * The component for displaying a list element for a collection search result on the admin search page

View File

@@ -33,17 +33,18 @@ describe('CommunityAdminSearchResultListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
init(); init();
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ imports: [
TranslateModule.forRoot(), TranslateModule.forRoot(),
RouterTestingModule.withRoutes([]), RouterTestingModule.withRoutes([]),
], CommunityAdminSearchResultListElementComponent
declarations: [CommunityAdminSearchResultListElementComponent], ],
providers: [ providers: [
{provide: TruncatableService, useValue: mockTruncatableService}, { provide: TruncatableService, useValue: mockTruncatableService },
{provide: DSONameService, useClass: DSONameServiceMock}, { provide: DSONameService, useClass: DSONameServiceMock },
{provide: APP_CONFIG, useValue: environment}], { provide: APP_CONFIG, useValue: environment }
schemas: [NO_ERRORS_SCHEMA] ],
}) schemas: [NO_ERRORS_SCHEMA]
})
.compileComponents(); .compileComponents();
})); }));

View File

@@ -10,12 +10,17 @@ import {
import { CommunitySearchResult } from '../../../../../shared/object-collection/shared/community-search-result.model'; import { CommunitySearchResult } from '../../../../../shared/object-collection/shared/community-search-result.model';
import { Community } from '../../../../../core/shared/community.model'; import { Community } from '../../../../../core/shared/community.model';
import { getCommunityEditRoute } from '../../../../../community-page/community-page-routing-paths'; import { getCommunityEditRoute } from '../../../../../community-page/community-page-routing-paths';
import { TranslateModule } from '@ngx-translate/core';
import { RouterLink } from '@angular/router';
import { CommunitySearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component';
@listableObjectComponent(CommunitySearchResult, ViewMode.ListElement, Context.AdminSearch) @listableObjectComponent(CommunitySearchResult, ViewMode.ListElement, Context.AdminSearch)
@Component({ @Component({
selector: 'ds-community-admin-search-result-list-element', selector: 'ds-community-admin-search-result-list-element',
styleUrls: ['./community-admin-search-result-list-element.component.scss'], styleUrls: ['./community-admin-search-result-list-element.component.scss'],
templateUrl: './community-admin-search-result-list-element.component.html', templateUrl: './community-admin-search-result-list-element.component.html',
standalone: true,
imports: [CommunitySearchResultListElementComponent, RouterLink, TranslateModule]
}) })
/** /**
* The component for displaying a list element for a community search result on the admin search page * The component for displaying a list element for a community search result on the admin search page

View File

@@ -37,12 +37,13 @@ describe('ItemAdminSearchResultListElementComponent', () => {
imports: [ imports: [
TranslateModule.forRoot(), TranslateModule.forRoot(),
RouterTestingModule.withRoutes([]), RouterTestingModule.withRoutes([]),
ItemAdminSearchResultListElementComponent
], ],
declarations: [ItemAdminSearchResultListElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: DSONameService, useClass: DSONameServiceMock }, { provide: DSONameService, useClass: DSONameServiceMock },
{ provide: APP_CONFIG, useValue: environment }], { provide: APP_CONFIG, useValue: environment }
],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}) })
.overrideComponent(ItemAdminSearchResultListElementComponent, { .overrideComponent(ItemAdminSearchResultListElementComponent, {

View File

@@ -9,12 +9,16 @@ import { ItemSearchResult } from '../../../../../shared/object-collection/shared
import { import {
SearchResultListElementComponent SearchResultListElementComponent
} from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component';
import { ItemAdminSearchResultActionsComponent } from '../../item-admin-search-result-actions.component';
import { ListableObjectComponentLoaderComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object-component-loader.component';
@listableObjectComponent(ItemSearchResult, ViewMode.ListElement, Context.AdminSearch) @listableObjectComponent(ItemSearchResult, ViewMode.ListElement, Context.AdminSearch)
@Component({ @Component({
selector: 'ds-item-admin-search-result-list-element', selector: 'ds-item-admin-search-result-list-element',
styleUrls: ['./item-admin-search-result-list-element.component.scss'], styleUrls: ['./item-admin-search-result-list-element.component.scss'],
templateUrl: './item-admin-search-result-list-element.component.html', templateUrl: './item-admin-search-result-list-element.component.html',
standalone: true,
imports: [ListableObjectComponentLoaderComponent, ItemAdminSearchResultActionsComponent]
}) })
/** /**
* The component for displaying a list element for an item search result on the admin search page * The component for displaying a list element for an item search result on the admin search page

View File

@@ -72,9 +72,9 @@ describe('WorkflowItemSearchResultAdminWorkflowGridElementComponent', () => {
TranslateModule.forRoot(), TranslateModule.forRoot(),
RouterTestingModule.withRoutes([]), RouterTestingModule.withRoutes([]),
ListableObjectDirective, ListableObjectDirective,
ListableModule ListableModule,
WorkflowItemSearchResultAdminWorkflowGridElementComponent
], ],
declarations: [WorkflowItemSearchResultAdminWorkflowGridElementComponent],
providers: [ providers: [
{ provide: LinkService, useValue: linkService }, { provide: LinkService, useValue: linkService },
{ provide: ThemeService, useValue: themeService }, { provide: ThemeService, useValue: themeService },

View File

@@ -28,12 +28,17 @@ import {
import { ThemeService } from '../../../../../shared/theme-support/theme.service'; import { ThemeService } from '../../../../../shared/theme-support/theme.service';
import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service';
import { hasValue } from '../../../../../shared/empty.util'; import { hasValue } from '../../../../../shared/empty.util';
import { TranslateModule } from '@ngx-translate/core';
import { WorkflowItemAdminWorkflowActionsComponent } from '../../actions/workflow-item/workflow-item-admin-workflow-actions.component';
import { NgIf } from '@angular/common';
@listableObjectComponent(WorkflowItemSearchResult, ViewMode.GridElement, Context.AdminWorkflowSearch) @listableObjectComponent(WorkflowItemSearchResult, ViewMode.GridElement, Context.AdminWorkflowSearch)
@Component({ @Component({
selector: 'ds-workflow-item-search-result-admin-workflow-grid-element', selector: 'ds-workflow-item-search-result-admin-workflow-grid-element',
styleUrls: ['./workflow-item-search-result-admin-workflow-grid-element.component.scss'], styleUrls: ['./workflow-item-search-result-admin-workflow-grid-element.component.scss'],
templateUrl: './workflow-item-search-result-admin-workflow-grid-element.component.html', templateUrl: './workflow-item-search-result-admin-workflow-grid-element.component.html',
standalone: true,
imports: [NgIf, WorkflowItemAdminWorkflowActionsComponent, TranslateModule]
}) })
/** /**
* The component for displaying a grid element for an workflow item on the admin workflow search page * The component for displaying a grid element for an workflow item on the admin workflow search page

View File

@@ -76,33 +76,33 @@ describe('WorkspaceItemSearchResultAdminWorkflowGridElementComponent', () => {
init(); init();
TestBed.configureTestingModule( TestBed.configureTestingModule(
{ {
imports: [ imports: [
WorkspaceItemSearchResultAdminWorkflowGridElementComponent, WorkspaceItemSearchResultAdminWorkflowGridElementComponent,
ItemGridElementComponent, ItemGridElementComponent,
DynamicComponentLoaderDirective, DynamicComponentLoaderDirective,
NoopAnimationsModule, NoopAnimationsModule,
TranslateModule.forRoot(), TranslateModule.forRoot(),
RouterTestingModule.withRoutes([]), RouterTestingModule.withRoutes([]),
ListableModule, ListableModule,
ListableObjectDirective ListableObjectDirective,
], WorkspaceItemSearchResultAdminWorkflowGridElementComponent
declarations: [WorkspaceItemSearchResultAdminWorkflowGridElementComponent], ],
providers: [ providers: [
{ provide: LinkService, useValue: linkService }, { provide: LinkService, useValue: linkService },
{ provide: ThemeService, useValue: themeService }, { provide: ThemeService, useValue: themeService },
{ {
provide: TruncatableService, useValue: { provide: TruncatableService, useValue: {
isCollapsed: () => observableOf(true), isCollapsed: () => observableOf(true),
} }
}, },
{ provide: BitstreamDataService, useValue: {} }, { provide: BitstreamDataService, useValue: {} },
{ provide: SupervisionOrderDataService, useValue: supervisionOrderDataService }, { provide: SupervisionOrderDataService, useValue: supervisionOrderDataService },
{ provide: NotificationsService, useValue: new NotificationsServiceStub() }, { provide: NotificationsService, useValue: new NotificationsServiceStub() },
{ provide: AuthService, useValue: new AuthServiceMock() }, { provide: AuthService, useValue: new AuthServiceMock() },
{ provide: AuthorizationDataService, useValue: {} }, { provide: AuthorizationDataService, useValue: {} },
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}) })
.compileComponents(); .compileComponents();
})); }));

View File

@@ -36,12 +36,17 @@ import { PaginatedList } from '../../../../../core/data/paginated-list.model';
import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service'; import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service';
import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service';
import { hasValue } from '../../../../../shared/empty.util'; import { hasValue } from '../../../../../shared/empty.util';
import { TranslateModule } from '@ngx-translate/core';
import { AsyncPipe } from '@angular/common';
import { WorkspaceItemAdminWorkflowActionsComponent } from '../../actions/workspace-item/workspace-item-admin-workflow-actions.component';
@listableObjectComponent(WorkspaceItemSearchResult, ViewMode.GridElement, Context.AdminWorkflowSearch) @listableObjectComponent(WorkspaceItemSearchResult, ViewMode.GridElement, Context.AdminWorkflowSearch)
@Component({ @Component({
selector: 'ds-workflow-item-search-result-admin-workflow-grid-element', selector: 'ds-workflow-item-search-result-admin-workflow-grid-element',
styleUrls: ['./workspace-item-search-result-admin-workflow-grid-element.component.scss'], styleUrls: ['./workspace-item-search-result-admin-workflow-grid-element.component.scss'],
templateUrl: './workspace-item-search-result-admin-workflow-grid-element.component.html', templateUrl: './workspace-item-search-result-admin-workflow-grid-element.component.html',
standalone: true,
imports: [WorkspaceItemAdminWorkflowActionsComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying a grid element for an workflow item on the admin workflow search page * The component for displaying a grid element for an workflow item on the admin workflow search page

View File

@@ -57,8 +57,8 @@ describe('WorkflowItemSearchResultAdminWorkflowListElementComponent', () => {
NoopAnimationsModule, NoopAnimationsModule,
TranslateModule.forRoot(), TranslateModule.forRoot(),
RouterTestingModule.withRoutes([]), RouterTestingModule.withRoutes([]),
WorkflowItemSearchResultAdminWorkflowListElementComponent
], ],
declarations: [WorkflowItemSearchResultAdminWorkflowListElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: LinkService, useValue: linkService }, { provide: LinkService, useValue: linkService },

View File

@@ -20,12 +20,18 @@ import {
} from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; } from '../../../../../shared/object-collection/shared/workflow-item-search-result.model';
import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service';
import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface';
import { TranslateModule } from '@ngx-translate/core';
import { WorkflowItemAdminWorkflowActionsComponent } from '../../actions/workflow-item/workflow-item-admin-workflow-actions.component';
import { ListableObjectComponentLoaderComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object-component-loader.component';
import { NgIf, AsyncPipe } from '@angular/common';
@listableObjectComponent(WorkflowItemSearchResult, ViewMode.ListElement, Context.AdminWorkflowSearch) @listableObjectComponent(WorkflowItemSearchResult, ViewMode.ListElement, Context.AdminWorkflowSearch)
@Component({ @Component({
selector: 'ds-workflow-item-search-result-admin-workflow-list-element', selector: 'ds-workflow-item-search-result-admin-workflow-list-element',
styleUrls: ['./workflow-item-search-result-admin-workflow-list-element.component.scss'], styleUrls: ['./workflow-item-search-result-admin-workflow-list-element.component.scss'],
templateUrl: './workflow-item-search-result-admin-workflow-list-element.component.html', templateUrl: './workflow-item-search-result-admin-workflow-list-element.component.html',
standalone: true,
imports: [NgIf, ListableObjectComponentLoaderComponent, WorkflowItemAdminWorkflowActionsComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying a list element for a workflow item on the admin workflow search page * The component for displaying a list element for a workflow item on the admin workflow search page

View File

@@ -71,8 +71,8 @@ describe('WorkspaceItemSearchResultAdminWorkflowListElementComponent', () => {
NoopAnimationsModule, NoopAnimationsModule,
TranslateModule.forRoot(), TranslateModule.forRoot(),
RouterTestingModule.withRoutes([]), RouterTestingModule.withRoutes([]),
WorkspaceItemSearchResultAdminWorkflowListElementComponent
], ],
declarations: [WorkspaceItemSearchResultAdminWorkflowListElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: NotificationsService, useValue: new NotificationsServiceStub() }, { provide: NotificationsService, useValue: new NotificationsServiceStub() },

View File

@@ -31,12 +31,18 @@ import { SupervisionOrder } from '../../../../../core/supervision-order/models/s
import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service'; import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service';
import { PaginatedList } from '../../../../../core/data/paginated-list.model'; import { PaginatedList } from '../../../../../core/data/paginated-list.model';
import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; import { DSpaceObject } from '../../../../../core/shared/dspace-object.model';
import { TranslateModule } from '@ngx-translate/core';
import { WorkspaceItemAdminWorkflowActionsComponent } from '../../actions/workspace-item/workspace-item-admin-workflow-actions.component';
import { ListableObjectComponentLoaderComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object-component-loader.component';
import { NgIf, AsyncPipe } from '@angular/common';
@listableObjectComponent(WorkspaceItemSearchResult, ViewMode.ListElement, Context.AdminWorkflowSearch) @listableObjectComponent(WorkspaceItemSearchResult, ViewMode.ListElement, Context.AdminWorkflowSearch)
@Component({ @Component({
selector: 'ds-workflow-item-search-result-admin-workflow-list-element', selector: 'ds-workflow-item-search-result-admin-workflow-list-element',
styleUrls: ['./workspace-item-search-result-admin-workflow-list-element.component.scss'], styleUrls: ['./workspace-item-search-result-admin-workflow-list-element.component.scss'],
templateUrl: './workspace-item-search-result-admin-workflow-list-element.component.html', templateUrl: './workspace-item-search-result-admin-workflow-list-element.component.html',
standalone: true,
imports: [NgIf, ListableObjectComponentLoaderComponent, WorkspaceItemAdminWorkflowActionsComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying a list element for a workflow item on the admin workflow search page * The component for displaying a list element for a workflow item on the admin workflow search page

View File

@@ -40,17 +40,15 @@ describe('BrowseByPageComponent', () => {
themeService = getMockThemeService(); themeService = getMockThemeService();
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
declarations: [ imports: [BrowseBySwitcherComponent],
BrowseByPageComponent, declarations: [BrowseByPageComponent,
BrowseBySwitcherComponent, DynamicComponentLoaderDirective],
DynamicComponentLoaderDirective, providers: [
],
providers: [
BrowseByTestComponent, BrowseByTestComponent,
{ provide: ActivatedRoute, useValue: activatedRoute }, { provide: ActivatedRoute, useValue: activatedRoute },
{ provide: ThemeService, useValue: themeService }, { provide: ThemeService, useValue: themeService },
], ]
}).compileComponents(); }).compileComponents();
fixture = TestBed.createComponent(BrowseByPageComponent); fixture = TestBed.createComponent(BrowseByPageComponent);
component = fixture.componentInstance; component = fixture.componentInstance;

View File

@@ -14,13 +14,11 @@ describe('SubComColSectionComponent', () => {
activatedRoute.parent = new ActivatedRouteStub(); activatedRoute.parent = new ActivatedRouteStub();
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
declarations: [ declarations: [SubComColSectionComponent],
SubComColSectionComponent, providers: [
],
providers: [
{ provide: ActivatedRoute, useValue: activatedRoute }, { provide: ActivatedRoute, useValue: activatedRoute },
], ]
}).compileComponents(); }).compileComponents();
fixture = TestBed.createComponent(SubComColSectionComponent); fixture = TestBed.createComponent(SubComColSectionComponent);
component = fixture.componentInstance; component = fixture.componentInstance;

View File

@@ -14,12 +14,12 @@ describe('NotifyInfoComponent', () => {
notifyInfoServiceSpy = jasmine.createSpyObj('NotifyInfoService', ['getCoarLdnLocalInboxUrls']); notifyInfoServiceSpy = jasmine.createSpyObj('NotifyInfoService', ['getCoarLdnLocalInboxUrls']);
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [TranslateModule.forRoot()], imports: [TranslateModule.forRoot()],
declarations: [ NotifyInfoComponent ], declarations: [NotifyInfoComponent],
providers: [ providers: [
{ provide: NotifyInfoService, useValue: notifyInfoServiceSpy } { provide: NotifyInfoService, useValue: notifyInfoServiceSpy }
] ]
}) })
.compileComponents(); .compileComponents();
}); });

View File

@@ -397,49 +397,49 @@ const ENTRY_COMPONENTS = [
]; ];
@NgModule({ @NgModule({
declarations: [...ENTRY_COMPONENTS], exports: [...ENTRY_COMPONENTS],
exports: [...ENTRY_COMPONENTS], imports: [
imports: [ CommonModule,
CommonModule, RouterModule,
RouterModule, TranslateModule,
TranslateModule, ThemedLoadingComponent,
ThemedLoadingComponent, TruncatableComponent,
TruncatableComponent, TruncatablePartComponent,
TruncatablePartComponent, ThumbnailComponent,
ThumbnailComponent, BadgesComponent,
BadgesComponent, ThemedBadgesComponent,
ThemedBadgesComponent, ItemDetailPreviewComponent,
ItemDetailPreviewComponent, GenericItemPageFieldComponent,
GenericItemPageFieldComponent, RelatedItemsComponent,
RelatedItemsComponent, WorkspaceitemActionsComponent,
WorkspaceitemActionsComponent, ListableObjectComponentLoaderComponent,
ListableObjectComponentLoaderComponent, PoolTaskActionsComponent,
PoolTaskActionsComponent, ThemedItemListPreviewComponent,
ThemedItemListPreviewComponent, OrgUnitInputSuggestionsComponent,
OrgUnitInputSuggestionsComponent, ThemedMetadataRepresentationListComponent,
ThemedMetadataRepresentationListComponent, ClaimedTaskActionsComponent,
ClaimedTaskActionsComponent, WorkflowitemActionsComponent,
WorkflowitemActionsComponent, ItemAdminSearchResultActionsComponent,
ItemAdminSearchResultActionsComponent, MetadataFieldWrapperComponent,
MetadataFieldWrapperComponent, ThemedThumbnailComponent,
ThemedThumbnailComponent, ThemedItemPageTitleFieldComponent,
ThemedItemPageTitleFieldComponent, ThemedResultsBackButtonComponent,
ThemedResultsBackButtonComponent, DsoEditMenuComponent,
DsoEditMenuComponent, ItemActionsComponent,
ItemActionsComponent, PersonInputSuggestionsComponent,
PersonInputSuggestionsComponent, TabbedRelatedEntitiesSearchComponent,
TabbedRelatedEntitiesSearchComponent, WorkspaceItemAdminWorkflowActionsComponent,
WorkspaceItemAdminWorkflowActionsComponent, WorkflowItemAdminWorkflowActionsComponent,
WorkflowItemAdminWorkflowActionsComponent, FormsModule,
FormsModule, MiradorViewerComponent,
MiradorViewerComponent, ThemedMediaViewerComponent,
ThemedMediaViewerComponent, ThemedFileSectionComponent,
ThemedFileSectionComponent, ItemPageDateFieldComponent,
ItemPageDateFieldComponent, ItemPageAbstractFieldComponent,
ItemPageAbstractFieldComponent, ItemPageUriFieldComponent,
ItemPageUriFieldComponent, CollectionsComponent,
CollectionsComponent, ...ENTRY_COMPONENTS
] ]
}) })
export class ListableModule { export class ListableModule {
/** /**

View File

@@ -49,8 +49,7 @@ describe('JournalIssueGridElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [NoopAnimationsModule, TruncatePipe], imports: [NoopAnimationsModule, TruncatePipe, JournalIssueGridElementComponent],
declarations: [JournalIssueGridElementComponent],
providers: [ providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: truncatableServiceStub }, { provide: TruncatableService, useValue: truncatableServiceStub },

View File

@@ -7,12 +7,15 @@ import {
AbstractListableElementComponent AbstractListableElementComponent
} from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { JournalIssueSearchResultGridElementComponent } from '../search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component';
@listableObjectComponent('JournalIssue', ViewMode.GridElement) @listableObjectComponent('JournalIssue', ViewMode.GridElement)
@Component({ @Component({
selector: 'ds-journal-issue-grid-element', selector: 'ds-journal-issue-grid-element',
styleUrls: ['./journal-issue-grid-element.component.scss'], styleUrls: ['./journal-issue-grid-element.component.scss'],
templateUrl: './journal-issue-grid-element.component.html', templateUrl: './journal-issue-grid-element.component.html',
standalone: true,
imports: [JournalIssueSearchResultGridElementComponent]
}) })
/** /**
* The component for displaying a grid element for an item of the type Journal Issue * The component for displaying a grid element for an item of the type Journal Issue

View File

@@ -58,9 +58,8 @@ describe('JournalVolumeGridElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [NoopAnimationsModule, TruncatePipe, TranslateModule.forRoot()], imports: [NoopAnimationsModule, TruncatePipe, TranslateModule.forRoot(), JournalVolumeGridElementComponent],
declarations: [JournalVolumeGridElementComponent], providers: [
providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: truncatableServiceStub }, { provide: TruncatableService, useValue: truncatableServiceStub },
{ provide: BitstreamDataService, useValue: {} }, { provide: BitstreamDataService, useValue: {} },
@@ -68,9 +67,9 @@ describe('JournalVolumeGridElementComponent', () => {
{ provide: ThemeService, useValue: getMockThemeService() }, { provide: ThemeService, useValue: getMockThemeService() },
{ provide: AuthService, useValue: new AuthServiceMock() }, { provide: AuthService, useValue: new AuthServiceMock() },
{ provide: AuthorizationDataService, useValue: {} } { provide: AuthorizationDataService, useValue: {} }
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(JournalVolumeGridElementComponent, { }).overrideComponent(JournalVolumeGridElementComponent, {
set: { changeDetection: ChangeDetectionStrategy.Default } set: { changeDetection: ChangeDetectionStrategy.Default }
}).compileComponents(); }).compileComponents();
})); }));

View File

@@ -7,12 +7,15 @@ import {
AbstractListableElementComponent AbstractListableElementComponent
} from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { JournalVolumeSearchResultGridElementComponent } from '../search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component';
@listableObjectComponent('JournalVolume', ViewMode.GridElement) @listableObjectComponent('JournalVolume', ViewMode.GridElement)
@Component({ @Component({
selector: 'ds-journal-volume-grid-element', selector: 'ds-journal-volume-grid-element',
styleUrls: ['./journal-volume-grid-element.component.scss'], styleUrls: ['./journal-volume-grid-element.component.scss'],
templateUrl: './journal-volume-grid-element.component.html', templateUrl: './journal-volume-grid-element.component.html',
standalone: true,
imports: [JournalVolumeSearchResultGridElementComponent]
}) })
/** /**
* The component for displaying a grid element for an item of the type Journal Volume * The component for displaying a grid element for an item of the type Journal Volume

View File

@@ -54,14 +54,13 @@ describe('JournalGridElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [NoopAnimationsModule, TruncatePipe], imports: [NoopAnimationsModule, TruncatePipe, JournalGridElementComponent],
declarations: [JournalGridElementComponent], providers: [
providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: truncatableServiceStub }, { provide: TruncatableService, useValue: truncatableServiceStub },
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(JournalGridElementComponent, { }).overrideComponent(JournalGridElementComponent, {
remove: { remove: {
imports: [JournalSearchResultGridElementComponent] imports: [JournalSearchResultGridElementComponent]
}, },

View File

@@ -7,12 +7,15 @@ import {
AbstractListableElementComponent AbstractListableElementComponent
} from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { JournalSearchResultGridElementComponent } from '../search-result-grid-elements/journal/journal-search-result-grid-element.component';
@listableObjectComponent('Journal', ViewMode.GridElement) @listableObjectComponent('Journal', ViewMode.GridElement)
@Component({ @Component({
selector: 'ds-journal-grid-element', selector: 'ds-journal-grid-element',
styleUrls: ['./journal-grid-element.component.scss'], styleUrls: ['./journal-grid-element.component.scss'],
templateUrl: './journal-grid-element.component.html', templateUrl: './journal-grid-element.component.html',
standalone: true,
imports: [JournalSearchResultGridElementComponent]
}) })
/** /**
* The component for displaying a grid element for an item of the type Journal * The component for displaying a grid element for an item of the type Journal

View File

@@ -7,6 +7,13 @@ import { focusShadow } from '../../../../../shared/animations/focus';
import { import {
ItemSearchResultGridElementComponent ItemSearchResultGridElementComponent
} from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component';
import { TranslateModule } from '@ngx-translate/core';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { ThemedThumbnailComponent } from '../../../../../thumbnail/themed-thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, AsyncPipe } from '@angular/common';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
@listableObjectComponent('JournalIssueSearchResult', ViewMode.GridElement) @listableObjectComponent('JournalIssueSearchResult', ViewMode.GridElement)
@Component({ @Component({
@@ -14,6 +21,8 @@ import {
styleUrls: ['./journal-issue-search-result-grid-element.component.scss'], styleUrls: ['./journal-issue-search-result-grid-element.component.scss'],
templateUrl: './journal-issue-search-result-grid-element.component.html', templateUrl: './journal-issue-search-result-grid-element.component.html',
animations: [focusShadow], animations: [focusShadow],
standalone: true,
imports: [TruncatableComponent, NgIf, RouterLink, ThemedThumbnailComponent, ThemedBadgesComponent, TruncatablePartComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying a grid element for an item search result of the type Journal Issue * The component for displaying a grid element for an item search result of the type Journal Issue

View File

@@ -7,6 +7,13 @@ import { focusShadow } from '../../../../../shared/animations/focus';
import { import {
ItemSearchResultGridElementComponent ItemSearchResultGridElementComponent
} from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component';
import { TranslateModule } from '@ngx-translate/core';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { ThemedThumbnailComponent } from '../../../../../thumbnail/themed-thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, AsyncPipe } from '@angular/common';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
@listableObjectComponent('JournalVolumeSearchResult', ViewMode.GridElement) @listableObjectComponent('JournalVolumeSearchResult', ViewMode.GridElement)
@Component({ @Component({
@@ -14,6 +21,8 @@ import {
styleUrls: ['./journal-volume-search-result-grid-element.component.scss'], styleUrls: ['./journal-volume-search-result-grid-element.component.scss'],
templateUrl: './journal-volume-search-result-grid-element.component.html', templateUrl: './journal-volume-search-result-grid-element.component.html',
animations: [focusShadow], animations: [focusShadow],
standalone: true,
imports: [TruncatableComponent, NgIf, RouterLink, ThemedThumbnailComponent, ThemedBadgesComponent, TruncatablePartComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying a grid element for an item search result of the type Journal Volume * The component for displaying a grid element for an item search result of the type Journal Volume

View File

@@ -7,6 +7,13 @@ import { ViewMode } from '../../../../../core/shared/view-mode.model';
import { import {
ItemSearchResultGridElementComponent ItemSearchResultGridElementComponent
} from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component';
import { TranslateModule } from '@ngx-translate/core';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { ThemedThumbnailComponent } from '../../../../../thumbnail/themed-thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, AsyncPipe } from '@angular/common';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
@listableObjectComponent('JournalSearchResult', ViewMode.GridElement) @listableObjectComponent('JournalSearchResult', ViewMode.GridElement)
@Component({ @Component({
@@ -14,6 +21,8 @@ import {
styleUrls: ['./journal-search-result-grid-element.component.scss'], styleUrls: ['./journal-search-result-grid-element.component.scss'],
templateUrl: './journal-search-result-grid-element.component.html', templateUrl: './journal-search-result-grid-element.component.html',
animations: [focusShadow], animations: [focusShadow],
standalone: true,
imports: [TruncatableComponent, NgIf, RouterLink, ThemedThumbnailComponent, ThemedBadgesComponent, TruncatablePartComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying a grid element for an item search result of the type Journal * The component for displaying a grid element for an item search result of the type Journal

View File

@@ -50,9 +50,8 @@ describe('JournalIssueListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe, TranslateModule.forRoot()], imports: [TruncatePipe, TranslateModule.forRoot(), JournalIssueListElementComponent],
declarations: [JournalIssueListElementComponent], providers: [
providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: APP_CONFIG, useValue: environment }, { provide: APP_CONFIG, useValue: environment },
@@ -60,9 +59,9 @@ describe('JournalIssueListElementComponent', () => {
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() }, { provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
{ provide: AuthService, useValue: new AuthServiceMock() }, { provide: AuthService, useValue: new AuthServiceMock() },
{ provide: AuthorizationDataService, useValue: {} }, { provide: AuthorizationDataService, useValue: {} },
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(JournalIssueListElementComponent, { }).overrideComponent(JournalIssueListElementComponent, {
set: { changeDetection: ChangeDetectionStrategy.Default } set: { changeDetection: ChangeDetectionStrategy.Default }
}).compileComponents(); }).compileComponents();
})); }));

View File

@@ -7,12 +7,15 @@ import {
AbstractListableElementComponent AbstractListableElementComponent
} from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { JournalIssueSearchResultListElementComponent } from '../search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component';
@listableObjectComponent('JournalIssue', ViewMode.ListElement) @listableObjectComponent('JournalIssue', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-journal-issue-list-element', selector: 'ds-journal-issue-list-element',
styleUrls: ['./journal-issue-list-element.component.scss'], styleUrls: ['./journal-issue-list-element.component.scss'],
templateUrl: './journal-issue-list-element.component.html', templateUrl: './journal-issue-list-element.component.html',
standalone: true,
imports: [JournalIssueSearchResultListElementComponent]
}) })
/** /**
* The component for displaying a list element for an item of the type Journal Issue * The component for displaying a list element for an item of the type Journal Issue

View File

@@ -46,8 +46,7 @@ describe('JournalVolumeListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe], imports: [TruncatePipe, JournalVolumeListElementComponent],
declarations: [JournalVolumeListElementComponent],
providers: [ providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: truncatableServiceStub }, { provide: TruncatableService, useValue: truncatableServiceStub },

View File

@@ -7,12 +7,15 @@ import {
listableObjectComponent listableObjectComponent
} from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
import { ViewMode } from '../../../../core/shared/view-mode.model'; import { ViewMode } from '../../../../core/shared/view-mode.model';
import { JournalVolumeSearchResultListElementComponent } from '../search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component';
@listableObjectComponent('JournalVolume', ViewMode.ListElement) @listableObjectComponent('JournalVolume', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-journal-volume-list-element', selector: 'ds-journal-volume-list-element',
styleUrls: ['./journal-volume-list-element.component.scss'], styleUrls: ['./journal-volume-list-element.component.scss'],
templateUrl: './journal-volume-list-element.component.html', templateUrl: './journal-volume-list-element.component.html',
standalone: true,
imports: [JournalVolumeSearchResultListElementComponent]
}) })
/** /**
* The component for displaying a list element for an item of the type Journal Volume * The component for displaying a list element for an item of the type Journal Volume

View File

@@ -49,8 +49,7 @@ describe('JournalListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
return TestBed.configureTestingModule({ return TestBed.configureTestingModule({
imports: [TruncatePipe, TranslateModule.forRoot()], imports: [TruncatePipe, TranslateModule.forRoot(), JournalListElementComponent],
declarations: [JournalListElementComponent],
providers: [ providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: truncatableServiceStub }, { provide: TruncatableService, useValue: truncatableServiceStub },

View File

@@ -7,12 +7,15 @@ import {
AbstractListableElementComponent AbstractListableElementComponent
} from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { JournalSearchResultListElementComponent } from '../search-result-list-elements/journal/journal-search-result-list-element.component';
@listableObjectComponent('Journal', ViewMode.ListElement) @listableObjectComponent('Journal', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-journal-list-element', selector: 'ds-journal-list-element',
styleUrls: ['./journal-list-element.component.scss'], styleUrls: ['./journal-list-element.component.scss'],
templateUrl: './journal-list-element.component.html', templateUrl: './journal-list-element.component.html',
standalone: true,
imports: [JournalSearchResultListElementComponent]
}) })
/** /**
* The component for displaying a list element for an item of the type Journal * The component for displaying a list element for an item of the type Journal

View File

@@ -80,10 +80,10 @@ describe('JournalIssueSearchResultListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ imports: [
TranslateModule.forRoot(), TranslateModule.forRoot(),
TruncatePipe TruncatePipe,
JournalIssueSearchResultListElementComponent
], ],
declarations: [JournalIssueSearchResultListElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: DSONameService, useClass: DSONameServiceMock }, { provide: DSONameService, useClass: DSONameServiceMock },
@@ -172,8 +172,7 @@ describe('JournalIssueSearchResultListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe, TranslateModule.forRoot(),], imports: [TruncatePipe, TranslateModule.forRoot(), JournalIssueSearchResultListElementComponent],
declarations: [JournalIssueSearchResultListElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: DSONameService, useClass: DSONameServiceMock }, { provide: DSONameService, useClass: DSONameServiceMock },

View File

@@ -6,12 +6,20 @@ import { ViewMode } from '../../../../../core/shared/view-mode.model';
import { import {
ItemSearchResultListElementComponent ItemSearchResultListElementComponent
} from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { ThumbnailComponent } from '../../../../../thumbnail/thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, NgClass, NgFor, AsyncPipe } from '@angular/common';
@listableObjectComponent('JournalIssueSearchResult', ViewMode.ListElement) @listableObjectComponent('JournalIssueSearchResult', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-journal-issue-search-result-list-element', selector: 'ds-journal-issue-search-result-list-element',
styleUrls: ['./journal-issue-search-result-list-element.component.scss'], styleUrls: ['./journal-issue-search-result-list-element.component.scss'],
templateUrl: './journal-issue-search-result-list-element.component.html', templateUrl: './journal-issue-search-result-list-element.component.html',
standalone: true,
imports: [NgIf, RouterLink, ThumbnailComponent, NgClass, ThemedBadgesComponent, TruncatableComponent, TruncatablePartComponent, NgFor, AsyncPipe]
}) })
/** /**
* The component for displaying a list element for an item search result of the type Journal Issue * The component for displaying a list element for an item search result of the type Journal Issue

View File

@@ -83,15 +83,14 @@ const enviromentNoThumbs = {
describe('JournalVolumeSearchResultListElementComponent', () => { describe('JournalVolumeSearchResultListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe], imports: [TruncatePipe, JournalVolumeSearchResultListElementComponent],
declarations: [JournalVolumeSearchResultListElementComponent], providers: [
providers: [ { provide: TruncatableService, useValue: mockTruncatableService },
{provide: TruncatableService, useValue: mockTruncatableService}, { provide: DSONameService, useClass: DSONameServiceMock },
{provide: DSONameService, useClass: DSONameServiceMock}, { provide: APP_CONFIG, useValue: environmentUseThumbs },
{provide: APP_CONFIG, useValue: environmentUseThumbs}, { provide: ThemeService, useValue: getMockThemeService() },
{provide: ThemeService, useValue: getMockThemeService()}, { provide: ActivatedRoute, useValue: new ActivatedRouteStub() }
{provide: ActivatedRoute, useValue: new ActivatedRouteStub()} ],
],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(JournalVolumeSearchResultListElementComponent, { }).overrideComponent(JournalVolumeSearchResultListElementComponent, {
add: { changeDetection: ChangeDetectionStrategy.Default } add: { changeDetection: ChangeDetectionStrategy.Default }
@@ -172,17 +171,16 @@ describe('JournalVolumeSearchResultListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe], imports: [TruncatePipe, JournalVolumeSearchResultListElementComponent],
declarations: [JournalVolumeSearchResultListElementComponent], providers: [
providers: [ { provide: TruncatableService, useValue: mockTruncatableService },
{provide: TruncatableService, useValue: mockTruncatableService}, { provide: DSONameService, useClass: DSONameServiceMock },
{provide: DSONameService, useClass: DSONameServiceMock}, { provide: APP_CONFIG, useValue: enviromentNoThumbs },
{provide: APP_CONFIG, useValue: enviromentNoThumbs}, { provide: ThemeService, useValue: getMockThemeService() },
{provide: ThemeService, useValue: getMockThemeService()},
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() } { provide: ActivatedRoute, useValue: new ActivatedRouteStub() }
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(JournalVolumeSearchResultListElementComponent, { }).overrideComponent(JournalVolumeSearchResultListElementComponent, {
add: {changeDetection: ChangeDetectionStrategy.Default}, add: {changeDetection: ChangeDetectionStrategy.Default},
remove: { remove: {
imports: [ imports: [

View File

@@ -6,12 +6,20 @@ import { ViewMode } from '../../../../../core/shared/view-mode.model';
import { import {
ItemSearchResultListElementComponent ItemSearchResultListElementComponent
} from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { ThumbnailComponent } from '../../../../../thumbnail/thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, NgClass, NgFor, AsyncPipe } from '@angular/common';
@listableObjectComponent('JournalVolumeSearchResult', ViewMode.ListElement) @listableObjectComponent('JournalVolumeSearchResult', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-journal-volume-search-result-list-element', selector: 'ds-journal-volume-search-result-list-element',
styleUrls: ['./journal-volume-search-result-list-element.component.scss'], styleUrls: ['./journal-volume-search-result-list-element.component.scss'],
templateUrl: './journal-volume-search-result-list-element.component.html', templateUrl: './journal-volume-search-result-list-element.component.html',
standalone: true,
imports: [NgIf, RouterLink, ThumbnailComponent, NgClass, ThemedBadgesComponent, TruncatableComponent, TruncatablePartComponent, NgFor, AsyncPipe]
}) })
/** /**
* The component for displaying a list element for an item search result of the type Journal Volume * The component for displaying a list element for an item search result of the type Journal Volume

View File

@@ -76,8 +76,7 @@ const enviromentNoThumbs = {
describe('JournalSearchResultListElementComponent', () => { describe('JournalSearchResultListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe, TranslateModule.forRoot()], imports: [TruncatePipe, TranslateModule.forRoot(), JournalSearchResultListElementComponent],
declarations: [JournalSearchResultListElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: DSONameService, useClass: DSONameServiceMock }, { provide: DSONameService, useClass: DSONameServiceMock },
@@ -141,8 +140,7 @@ describe('JournalSearchResultListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe, TranslateModule.forRoot()], imports: [TruncatePipe, TranslateModule.forRoot(), JournalSearchResultListElementComponent],
declarations: [JournalSearchResultListElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: DSONameService, useClass: DSONameServiceMock }, { provide: DSONameService, useClass: DSONameServiceMock },

View File

@@ -6,12 +6,20 @@ import { ViewMode } from '../../../../../core/shared/view-mode.model';
import { import {
ItemSearchResultListElementComponent ItemSearchResultListElementComponent
} from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { ThumbnailComponent } from '../../../../../thumbnail/thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, NgClass, NgFor, AsyncPipe } from '@angular/common';
@listableObjectComponent('JournalSearchResult', ViewMode.ListElement) @listableObjectComponent('JournalSearchResult', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-journal-search-result-list-element', selector: 'ds-journal-search-result-list-element',
styleUrls: ['./journal-search-result-list-element.component.scss'], styleUrls: ['./journal-search-result-list-element.component.scss'],
templateUrl: './journal-search-result-list-element.component.html', templateUrl: './journal-search-result-list-element.component.html',
standalone: true,
imports: [NgIf, RouterLink, ThumbnailComponent, NgClass, ThemedBadgesComponent, TruncatableComponent, TruncatablePartComponent, NgFor, AsyncPipe]
}) })
/** /**
* The component for displaying a list element for an item search result of the type Journal * The component for displaying a list element for an item search result of the type Journal

View File

@@ -10,12 +10,17 @@ import {
} from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component';
import { Item } from '../../../../../core/shared/item.model'; import { Item } from '../../../../../core/shared/item.model';
import { isNotEmpty } from '../../../../../shared/empty.util'; import { isNotEmpty } from '../../../../../shared/empty.util';
import { TranslateModule } from '@ngx-translate/core';
import { NgClass, NgIf, AsyncPipe } from '@angular/common';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
@listableObjectComponent('JournalIssueSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('JournalIssueSearchResult', ViewMode.ListElement, Context.SideBarSearchModal)
@listableObjectComponent('JournalIssueSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) @listableObjectComponent('JournalIssueSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent)
@Component({ @Component({
selector: 'ds-journal-issue-sidebar-search-list-element', selector: 'ds-journal-issue-sidebar-search-list-element',
templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html', templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html',
standalone: true,
imports: [TruncatablePartComponent, NgClass, NgIf, AsyncPipe, TranslateModule]
}) })
/** /**
* Component displaying a list element for a {@link ItemSearchResult} of type "JournalIssue" within the context of * Component displaying a list element for a {@link ItemSearchResult} of type "JournalIssue" within the context of

View File

@@ -10,12 +10,17 @@ import {
} from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component';
import { Item } from '../../../../../core/shared/item.model'; import { Item } from '../../../../../core/shared/item.model';
import { isNotEmpty } from '../../../../../shared/empty.util'; import { isNotEmpty } from '../../../../../shared/empty.util';
import { TranslateModule } from '@ngx-translate/core';
import { NgClass, NgIf, AsyncPipe } from '@angular/common';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
@listableObjectComponent('JournalVolumeSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('JournalVolumeSearchResult', ViewMode.ListElement, Context.SideBarSearchModal)
@listableObjectComponent('JournalVolumeSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) @listableObjectComponent('JournalVolumeSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent)
@Component({ @Component({
selector: 'ds-journal-volume-sidebar-search-list-element', selector: 'ds-journal-volume-sidebar-search-list-element',
templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html', templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html',
standalone: true,
imports: [TruncatablePartComponent, NgClass, NgIf, AsyncPipe, TranslateModule]
}) })
/** /**
* Component displaying a list element for a {@link ItemSearchResult} of type "JournalVolume" within the context of * Component displaying a list element for a {@link ItemSearchResult} of type "JournalVolume" within the context of

View File

@@ -10,12 +10,17 @@ import {
} from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component';
import { Item } from '../../../../../core/shared/item.model'; import { Item } from '../../../../../core/shared/item.model';
import { isNotEmpty } from '../../../../../shared/empty.util'; import { isNotEmpty } from '../../../../../shared/empty.util';
import { TranslateModule } from '@ngx-translate/core';
import { NgClass, NgIf, AsyncPipe } from '@angular/common';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
@listableObjectComponent('JournalSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('JournalSearchResult', ViewMode.ListElement, Context.SideBarSearchModal)
@listableObjectComponent('JournalSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) @listableObjectComponent('JournalSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent)
@Component({ @Component({
selector: 'ds-journal-sidebar-search-list-element', selector: 'ds-journal-sidebar-search-list-element',
templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html', templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html',
standalone: true,
imports: [TruncatablePartComponent, NgClass, NgIf, AsyncPipe, TranslateModule]
}) })
/** /**
* Component displaying a list element for a {@link ItemSearchResult} of type "Journal" within the context of * Component displaying a list element for a {@link ItemSearchResult} of type "Journal" within the context of

View File

@@ -4,12 +4,24 @@ import {
listableObjectComponent listableObjectComponent
} from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component';
import { TranslateModule } from '@ngx-translate/core';
import { RouterLink } from '@angular/router';
import { RelatedItemsComponent } from '../../../../item-page/simple/related-items/related-items-component';
import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component';
import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component';
import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
import { DsoEditMenuComponent } from '../../../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component';
import { ThemedResultsBackButtonComponent } from '../../../../shared/results-back-button/themed-results-back-button.component';
import { NgIf, AsyncPipe } from '@angular/common';
@listableObjectComponent('JournalIssue', ViewMode.StandalonePage) @listableObjectComponent('JournalIssue', ViewMode.StandalonePage)
@Component({ @Component({
selector: 'ds-journal-issue', selector: 'ds-journal-issue',
styleUrls: ['./journal-issue.component.scss'], styleUrls: ['./journal-issue.component.scss'],
templateUrl: './journal-issue.component.html', templateUrl: './journal-issue.component.html',
standalone: true,
imports: [NgIf, ThemedResultsBackButtonComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, GenericItemPageFieldComponent, RelatedItemsComponent, RouterLink, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying metadata and relations of an item of the type Journal Issue * The component for displaying metadata and relations of an item of the type Journal Issue

View File

@@ -4,12 +4,24 @@ import {
listableObjectComponent listableObjectComponent
} from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component';
import { TranslateModule } from '@ngx-translate/core';
import { RouterLink } from '@angular/router';
import { RelatedItemsComponent } from '../../../../item-page/simple/related-items/related-items-component';
import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component';
import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component';
import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
import { DsoEditMenuComponent } from '../../../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component';
import { ThemedResultsBackButtonComponent } from '../../../../shared/results-back-button/themed-results-back-button.component';
import { NgIf, AsyncPipe } from '@angular/common';
@listableObjectComponent('JournalVolume', ViewMode.StandalonePage) @listableObjectComponent('JournalVolume', ViewMode.StandalonePage)
@Component({ @Component({
selector: 'ds-journal-volume', selector: 'ds-journal-volume',
styleUrls: ['./journal-volume.component.scss'], styleUrls: ['./journal-volume.component.scss'],
templateUrl: './journal-volume.component.html', templateUrl: './journal-volume.component.html',
standalone: true,
imports: [NgIf, ThemedResultsBackButtonComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, GenericItemPageFieldComponent, RelatedItemsComponent, RouterLink, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying metadata and relations of an item of the type Journal Volume * The component for displaying metadata and relations of an item of the type Journal Volume

View File

@@ -88,44 +88,42 @@ describe('JournalComponent', () => {
}; };
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ imports: [
TranslateModule.forRoot({ TranslateModule.forRoot({
loader: { loader: {
provide: TranslateLoader, provide: TranslateLoader,
useClass: TranslateLoaderMock useClass: TranslateLoaderMock
} }
}), }),
RouterTestingModule, RouterTestingModule,
GenericItemPageFieldComponent, TruncatePipe GenericItemPageFieldComponent, TruncatePipe,
],
declarations: [
JournalComponent JournalComponent
],
providers: [
{provide: ItemDataService, useValue: {}},
{provide: TruncatableService, useValue: mockTruncatableService},
{provide: RelationshipDataService, useValue: {}},
{provide: ObjectCacheService, useValue: {}},
{provide: UUIDService, useValue: {}},
{provide: Store, useValue: {}},
{provide: RemoteDataBuildService, useValue: {}},
{provide: CommunityDataService, useValue: {}},
{provide: HALEndpointService, useValue: {}},
{provide: HttpClient, useValue: {}},
{provide: DSOChangeAnalyzer, useValue: {}},
{provide: NotificationsService, useValue: {}},
{provide: DefaultChangeAnalyzer, useValue: {}},
{provide: VersionHistoryDataService, useValue: {}},
{provide: VersionDataService, useValue: {}},
{provide: BitstreamDataService, useValue: mockBitstreamDataService},
{provide: WorkspaceitemDataService, useValue: {}},
{provide: SearchService, useValue: {}},
{provide: RouteService, useValue: mockRouteService},
{provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub},
{provide: APP_CONFIG, useValue: {}},
], ],
schemas: [NO_ERRORS_SCHEMA] providers: [
}).overrideComponent(JournalComponent, { { provide: ItemDataService, useValue: {} },
{ provide: TruncatableService, useValue: mockTruncatableService },
{ provide: RelationshipDataService, useValue: {} },
{ provide: ObjectCacheService, useValue: {} },
{ provide: UUIDService, useValue: {} },
{ provide: Store, useValue: {} },
{ provide: RemoteDataBuildService, useValue: {} },
{ provide: CommunityDataService, useValue: {} },
{ provide: HALEndpointService, useValue: {} },
{ provide: HttpClient, useValue: {} },
{ provide: DSOChangeAnalyzer, useValue: {} },
{ provide: NotificationsService, useValue: {} },
{ provide: DefaultChangeAnalyzer, useValue: {} },
{ provide: VersionHistoryDataService, useValue: {} },
{ provide: VersionDataService, useValue: {} },
{ provide: BitstreamDataService, useValue: mockBitstreamDataService },
{ provide: WorkspaceitemDataService, useValue: {} },
{ provide: SearchService, useValue: {} },
{ provide: RouteService, useValue: mockRouteService },
{ provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub },
{ provide: APP_CONFIG, useValue: {} },
],
schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(JournalComponent, {
add: {changeDetection: ChangeDetectionStrategy.Default}, add: {changeDetection: ChangeDetectionStrategy.Default},
}) })
.overrideComponent(GenericItemPageFieldComponent, { .overrideComponent(GenericItemPageFieldComponent, {

View File

@@ -4,12 +4,25 @@ import {
listableObjectComponent listableObjectComponent
} from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component';
import { TranslateModule } from '@ngx-translate/core';
import { TabbedRelatedEntitiesSearchComponent } from '../../../../item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component';
import { RouterLink } from '@angular/router';
import { RelatedItemsComponent } from '../../../../item-page/simple/related-items/related-items-component';
import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component';
import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component';
import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
import { DsoEditMenuComponent } from '../../../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component';
import { ThemedResultsBackButtonComponent } from '../../../../shared/results-back-button/themed-results-back-button.component';
import { NgIf, AsyncPipe } from '@angular/common';
@listableObjectComponent('Journal', ViewMode.StandalonePage) @listableObjectComponent('Journal', ViewMode.StandalonePage)
@Component({ @Component({
selector: 'ds-journal', selector: 'ds-journal',
styleUrls: ['./journal.component.scss'], styleUrls: ['./journal.component.scss'],
templateUrl: './journal.component.html', templateUrl: './journal.component.html',
standalone: true,
imports: [NgIf, ThemedResultsBackButtonComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, GenericItemPageFieldComponent, RelatedItemsComponent, RouterLink, TabbedRelatedEntitiesSearchComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying metadata and relations of an item of the type Journal * The component for displaying metadata and relations of an item of the type Journal

View File

@@ -58,13 +58,13 @@ describe('OrgUnitGridElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ imports: [
NoopAnimationsModule, NoopAnimationsModule,
TruncatePipe, TruncatePipe,
TranslateModule.forRoot() TranslateModule.forRoot(),
], OrgUnitGridElementComponent
declarations: [OrgUnitGridElementComponent], ],
providers: [ providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: BitstreamDataService, useValue: {} }, { provide: BitstreamDataService, useValue: {} },
@@ -72,9 +72,9 @@ describe('OrgUnitGridElementComponent', () => {
{ provide: ThemeService, useValue: getMockThemeService() }, { provide: ThemeService, useValue: getMockThemeService() },
{ provide: AuthService, useValue: new AuthServiceMock() }, { provide: AuthService, useValue: new AuthServiceMock() },
{ provide: AuthorizationDataService, useValue: {} }, { provide: AuthorizationDataService, useValue: {} },
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(OrgUnitGridElementComponent, { }).overrideComponent(OrgUnitGridElementComponent, {
set: { changeDetection: ChangeDetectionStrategy.Default } set: { changeDetection: ChangeDetectionStrategy.Default }
}).compileComponents(); }).compileComponents();
})); }));

View File

@@ -7,12 +7,15 @@ import {
AbstractListableElementComponent AbstractListableElementComponent
} from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { OrgUnitSearchResultGridElementComponent } from '../search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component';
@listableObjectComponent('OrgUnit', ViewMode.GridElement) @listableObjectComponent('OrgUnit', ViewMode.GridElement)
@Component({ @Component({
selector: 'ds-org-unit-grid-element', selector: 'ds-org-unit-grid-element',
styleUrls: ['./org-unit-grid-element.component.scss'], styleUrls: ['./org-unit-grid-element.component.scss'],
templateUrl: './org-unit-grid-element.component.html', templateUrl: './org-unit-grid-element.component.html',
standalone: true,
imports: [OrgUnitSearchResultGridElementComponent]
}) })
/** /**
* The component for displaying a grid element for an item of the type Organisation Unit * The component for displaying a grid element for an item of the type Organisation Unit

View File

@@ -47,14 +47,13 @@ describe('PersonGridElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [NoopAnimationsModule, TruncatePipe], imports: [NoopAnimationsModule, TruncatePipe, PersonGridElementComponent],
declarations: [PersonGridElementComponent], providers: [
providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: truncatableServiceStub }, { provide: TruncatableService, useValue: truncatableServiceStub },
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(PersonGridElementComponent, { }).overrideComponent(PersonGridElementComponent, {
add: { changeDetection: ChangeDetectionStrategy.Default } add: { changeDetection: ChangeDetectionStrategy.Default }
}).compileComponents(); }).compileComponents();
})); }));

View File

@@ -7,12 +7,15 @@ import {
AbstractListableElementComponent AbstractListableElementComponent
} from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { PersonSearchResultGridElementComponent } from '../search-result-grid-elements/person/person-search-result-grid-element.component';
@listableObjectComponent('Person', ViewMode.GridElement) @listableObjectComponent('Person', ViewMode.GridElement)
@Component({ @Component({
selector: 'ds-person-grid-element', selector: 'ds-person-grid-element',
styleUrls: ['./person-grid-element.component.scss'], styleUrls: ['./person-grid-element.component.scss'],
templateUrl: './person-grid-element.component.html', templateUrl: './person-grid-element.component.html',
standalone: true,
imports: [PersonSearchResultGridElementComponent]
}) })
/** /**
* The component for displaying a grid element for an item of the type Person * The component for displaying a grid element for an item of the type Person

View File

@@ -46,8 +46,7 @@ describe('ProjectGridElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [NoopAnimationsModule, TruncatePipe, TranslateModule.forRoot()], imports: [NoopAnimationsModule, TruncatePipe, TranslateModule.forRoot(), ProjectGridElementComponent],
declarations: [ProjectGridElementComponent],
providers: [ providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },

View File

@@ -7,12 +7,15 @@ import {
AbstractListableElementComponent AbstractListableElementComponent
} from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { ProjectSearchResultGridElementComponent } from '../search-result-grid-elements/project/project-search-result-grid-element.component';
@listableObjectComponent('Project', ViewMode.GridElement) @listableObjectComponent('Project', ViewMode.GridElement)
@Component({ @Component({
selector: 'ds-project-grid-element', selector: 'ds-project-grid-element',
styleUrls: ['./project-grid-element.component.scss'], styleUrls: ['./project-grid-element.component.scss'],
templateUrl: './project-grid-element.component.html', templateUrl: './project-grid-element.component.html',
standalone: true,
imports: [ProjectSearchResultGridElementComponent]
}) })
/** /**
* The component for displaying a grid element for an item of the type Project * The component for displaying a grid element for an item of the type Project

View File

@@ -7,6 +7,13 @@ import { focusShadow } from '../../../../../shared/animations/focus';
import { import {
ItemSearchResultGridElementComponent ItemSearchResultGridElementComponent
} from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component';
import { TranslateModule } from '@ngx-translate/core';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { ThemedThumbnailComponent } from '../../../../../thumbnail/themed-thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, AsyncPipe } from '@angular/common';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
@listableObjectComponent('OrgUnitSearchResult', ViewMode.GridElement) @listableObjectComponent('OrgUnitSearchResult', ViewMode.GridElement)
@Component({ @Component({
@@ -14,6 +21,8 @@ import {
styleUrls: ['./org-unit-search-result-grid-element.component.scss'], styleUrls: ['./org-unit-search-result-grid-element.component.scss'],
templateUrl: './org-unit-search-result-grid-element.component.html', templateUrl: './org-unit-search-result-grid-element.component.html',
animations: [focusShadow], animations: [focusShadow],
standalone: true,
imports: [TruncatableComponent, NgIf, RouterLink, ThemedThumbnailComponent, ThemedBadgesComponent, TruncatablePartComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying a grid element for an item search result of the type Organisation Unit * The component for displaying a grid element for an item search result of the type Organisation Unit

View File

@@ -7,6 +7,13 @@ import { focusShadow } from '../../../../../shared/animations/focus';
import { import {
ItemSearchResultGridElementComponent ItemSearchResultGridElementComponent
} from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component';
import { TranslateModule } from '@ngx-translate/core';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { ThemedThumbnailComponent } from '../../../../../thumbnail/themed-thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, AsyncPipe } from '@angular/common';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
@listableObjectComponent('PersonSearchResult', ViewMode.GridElement) @listableObjectComponent('PersonSearchResult', ViewMode.GridElement)
@Component({ @Component({
@@ -14,6 +21,8 @@ import {
styleUrls: ['./person-search-result-grid-element.component.scss'], styleUrls: ['./person-search-result-grid-element.component.scss'],
templateUrl: './person-search-result-grid-element.component.html', templateUrl: './person-search-result-grid-element.component.html',
animations: [focusShadow], animations: [focusShadow],
standalone: true,
imports: [TruncatableComponent, NgIf, RouterLink, ThemedThumbnailComponent, ThemedBadgesComponent, TruncatablePartComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying a grid element for an item search result of the type Person * The component for displaying a grid element for an item search result of the type Person

View File

@@ -7,6 +7,13 @@ import { focusShadow } from '../../../../../shared/animations/focus';
import { import {
ItemSearchResultGridElementComponent ItemSearchResultGridElementComponent
} from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component';
import { TranslateModule } from '@ngx-translate/core';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { ThemedThumbnailComponent } from '../../../../../thumbnail/themed-thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, AsyncPipe } from '@angular/common';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
@listableObjectComponent('ProjectSearchResult', ViewMode.GridElement) @listableObjectComponent('ProjectSearchResult', ViewMode.GridElement)
@Component({ @Component({
@@ -14,6 +21,8 @@ import {
styleUrls: ['./project-search-result-grid-element.component.scss'], styleUrls: ['./project-search-result-grid-element.component.scss'],
templateUrl: './project-search-result-grid-element.component.html', templateUrl: './project-search-result-grid-element.component.html',
animations: [focusShadow], animations: [focusShadow],
standalone: true,
imports: [TruncatableComponent, NgIf, RouterLink, ThemedThumbnailComponent, ThemedBadgesComponent, TruncatablePartComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying a grid element for an item search result of the type Project * The component for displaying a grid element for an item search result of the type Project

View File

@@ -45,8 +45,7 @@ describe('OrgUnitListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe, TranslateModule.forRoot()], imports: [TruncatePipe, TranslateModule.forRoot(), OrgUnitListElementComponent],
declarations: [OrgUnitListElementComponent],
providers: [ providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },

View File

@@ -7,12 +7,15 @@ import {
AbstractListableElementComponent AbstractListableElementComponent
} from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { OrgUnitSearchResultListElementComponent } from '../search-result-list-elements/org-unit/org-unit-search-result-list-element.component';
@listableObjectComponent('OrgUnit', ViewMode.ListElement) @listableObjectComponent('OrgUnit', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-org-unit-list-element', selector: 'ds-org-unit-list-element',
styleUrls: ['./org-unit-list-element.component.scss'], styleUrls: ['./org-unit-list-element.component.scss'],
templateUrl: './org-unit-list-element.component.html', templateUrl: './org-unit-list-element.component.html',
standalone: true,
imports: [OrgUnitSearchResultListElementComponent]
}) })
/** /**
* The component for displaying a list element for an item of the type Organisation Unit * The component for displaying a list element for an item of the type Organisation Unit

View File

@@ -44,8 +44,7 @@ describe('PersonListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe, TranslateModule.forRoot()], imports: [TruncatePipe, TranslateModule.forRoot(), PersonListElementComponent],
declarations: [PersonListElementComponent],
providers: [ providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },

View File

@@ -7,12 +7,15 @@ import {
AbstractListableElementComponent AbstractListableElementComponent
} from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { PersonSearchResultListElementComponent } from '../search-result-list-elements/person/person-search-result-list-element.component';
@listableObjectComponent('Person', ViewMode.ListElement) @listableObjectComponent('Person', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-person-list-element', selector: 'ds-person-list-element',
styleUrls: ['./person-list-element.component.scss'], styleUrls: ['./person-list-element.component.scss'],
templateUrl: './person-list-element.component.html', templateUrl: './person-list-element.component.html',
standalone: true,
imports: [PersonSearchResultListElementComponent]
}) })
/** /**
* The component for displaying a list element for an item of the type Person * The component for displaying a list element for an item of the type Person

View File

@@ -38,9 +38,8 @@ describe('ProjectListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe, TranslateModule.forRoot()], imports: [TruncatePipe, TranslateModule.forRoot(), ProjectListElementComponent],
declarations: [ProjectListElementComponent], providers: [
providers: [
{ provide: DSONameService, useValue: new DSONameServiceMock() }, { provide: DSONameService, useValue: new DSONameServiceMock() },
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: APP_CONFIG, useValue: environment }, { provide: APP_CONFIG, useValue: environment },
@@ -48,9 +47,9 @@ describe('ProjectListElementComponent', () => {
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() }, { provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
{ provide: AuthService, useValue: new AuthServiceMock() }, { provide: AuthService, useValue: new AuthServiceMock() },
{ provide: AuthorizationDataService, useValue: {} }, { provide: AuthorizationDataService, useValue: {} },
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(ProjectListElementComponent, { }).overrideComponent(ProjectListElementComponent, {
set: { changeDetection: ChangeDetectionStrategy.Default } set: { changeDetection: ChangeDetectionStrategy.Default }
}).compileComponents(); }).compileComponents();
})); }));

View File

@@ -7,12 +7,15 @@ import {
listableObjectComponent listableObjectComponent
} from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
import { ViewMode } from '../../../../core/shared/view-mode.model'; import { ViewMode } from '../../../../core/shared/view-mode.model';
import { ProjectSearchResultListElementComponent } from '../search-result-list-elements/project/project-search-result-list-element.component';
@listableObjectComponent('Project', ViewMode.ListElement) @listableObjectComponent('Project', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-project-list-element', selector: 'ds-project-list-element',
styleUrls: ['./project-list-element.component.scss'], styleUrls: ['./project-list-element.component.scss'],
templateUrl: './project-list-element.component.html', templateUrl: './project-list-element.component.html',
standalone: true,
imports: [ProjectSearchResultListElementComponent]
}) })
/** /**
* The component for displaying a list element for an item of the type Project * The component for displaying a list element for an item of the type Project

View File

@@ -81,8 +81,7 @@ describe('OrgUnitSearchResultListElementComponent', () => {
provide: TranslateLoader, provide: TranslateLoader,
useClass: TranslateLoaderMock useClass: TranslateLoaderMock
} }
}), TruncatePipe], }), TruncatePipe, OrgUnitSearchResultListElementComponent],
declarations: [OrgUnitSearchResultListElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() }, { provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
@@ -153,14 +152,13 @@ describe('OrgUnitSearchResultListElementComponent', () => {
provide: TranslateLoader, provide: TranslateLoader,
useClass: TranslateLoaderMock useClass: TranslateLoaderMock
} }
}), TruncatePipe], }), TruncatePipe, OrgUnitSearchResultListElementComponent],
declarations: [OrgUnitSearchResultListElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: DSONameService, useClass: DSONameServiceMock }, { provide: DSONameService, useClass: DSONameServiceMock },
{ provide: APP_CONFIG, useValue: enviromentNoThumbs }, { provide: APP_CONFIG, useValue: enviromentNoThumbs },
{ provide: ThemeService, useValue: getMockThemeService() }, { provide: ThemeService, useValue: getMockThemeService() },
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub()} { provide: ActivatedRoute, useValue: new ActivatedRouteStub() }
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(OrgUnitSearchResultListElementComponent, { }).overrideComponent(OrgUnitSearchResultListElementComponent, {

View File

@@ -6,12 +6,21 @@ import {
import { import {
ItemSearchResultListElementComponent ItemSearchResultListElementComponent
} from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component';
import { TranslateModule } from '@ngx-translate/core';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { ThumbnailComponent } from '../../../../../thumbnail/thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, NgClass, AsyncPipe } from '@angular/common';
@listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement) @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-org-unit-search-result-list-element', selector: 'ds-org-unit-search-result-list-element',
styleUrls: ['./org-unit-search-result-list-element.component.scss'], styleUrls: ['./org-unit-search-result-list-element.component.scss'],
templateUrl: './org-unit-search-result-list-element.component.html', templateUrl: './org-unit-search-result-list-element.component.html',
standalone: true,
imports: [NgIf, RouterLink, ThumbnailComponent, NgClass, ThemedBadgesComponent, TruncatableComponent, TruncatablePartComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying a list element for an item search result of the type Organisation Unit * The component for displaying a list element for an item search result of the type Organisation Unit

View File

@@ -76,14 +76,13 @@ const enviromentNoThumbs = {
describe('PersonSearchResultListElementComponent', () => { describe('PersonSearchResultListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TranslateModule.forRoot({ imports: [TranslateModule.forRoot({
loader: { loader: {
provide: TranslateLoader, provide: TranslateLoader,
useClass: TranslateLoaderMock useClass: TranslateLoaderMock
} }
}), TruncatePipe], }), TruncatePipe, PersonSearchResultListElementComponent],
declarations: [PersonSearchResultListElementComponent], providers: [
providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: DSONameService, useClass: DSONameServiceMock }, { provide: DSONameService, useClass: DSONameServiceMock },
{ provide: APP_CONFIG, useValue: environmentUseThumbs }, { provide: APP_CONFIG, useValue: environmentUseThumbs },
@@ -91,9 +90,9 @@ describe('PersonSearchResultListElementComponent', () => {
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() }, { provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
{ provide: AuthService, useValue: new AuthServiceMock() }, { provide: AuthService, useValue: new AuthServiceMock() },
{ provide: AuthorizationDataService, useValue: {} }, { provide: AuthorizationDataService, useValue: {} },
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(PersonSearchResultListElementComponent, { }).overrideComponent(PersonSearchResultListElementComponent, {
set: { changeDetection: ChangeDetectionStrategy.Default } set: { changeDetection: ChangeDetectionStrategy.Default }
}).compileComponents(); }).compileComponents();
})); }));

View File

@@ -9,12 +9,21 @@ import {
import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service';
import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service';
import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface';
import { TranslateModule } from '@ngx-translate/core';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { ThumbnailComponent } from '../../../../../thumbnail/thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, NgClass, NgFor, AsyncPipe } from '@angular/common';
@listableObjectComponent('PersonSearchResult', ViewMode.ListElement) @listableObjectComponent('PersonSearchResult', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-person-search-result-list-element', selector: 'ds-person-search-result-list-element',
styleUrls: ['./person-search-result-list-element.component.scss'], styleUrls: ['./person-search-result-list-element.component.scss'],
templateUrl: './person-search-result-list-element.component.html', templateUrl: './person-search-result-list-element.component.html',
standalone: true,
imports: [NgIf, RouterLink, ThumbnailComponent, NgClass, ThemedBadgesComponent, TruncatableComponent, TruncatablePartComponent, NgFor, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying a list element for an item search result of the type Person * The component for displaying a list element for an item search result of the type Person

View File

@@ -72,8 +72,7 @@ const enviromentNoThumbs = {
describe('ProjectSearchResultListElementComponent', () => { describe('ProjectSearchResultListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe], imports: [TruncatePipe, ProjectSearchResultListElementComponent],
declarations: [ProjectSearchResultListElementComponent],
providers: [ providers: [
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() }, { provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
@@ -137,8 +136,7 @@ describe('ProjectSearchResultListElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe], imports: [TruncatePipe, ProjectSearchResultListElementComponent],
declarations: [ProjectSearchResultListElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: DSONameService, useClass: DSONameServiceMock }, { provide: DSONameService, useClass: DSONameServiceMock },

View File

@@ -6,12 +6,19 @@ import { ViewMode } from '../../../../../core/shared/view-mode.model';
import { import {
ItemSearchResultListElementComponent ItemSearchResultListElementComponent
} from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component';
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
import { ThumbnailComponent } from '../../../../../thumbnail/thumbnail.component';
import { RouterLink } from '@angular/router';
import { NgIf, NgClass, AsyncPipe } from '@angular/common';
@listableObjectComponent('ProjectSearchResult', ViewMode.ListElement) @listableObjectComponent('ProjectSearchResult', ViewMode.ListElement)
@Component({ @Component({
selector: 'ds-project-search-result-list-element', selector: 'ds-project-search-result-list-element',
styleUrls: ['./project-search-result-list-element.component.scss'], styleUrls: ['./project-search-result-list-element.component.scss'],
templateUrl: './project-search-result-list-element.component.html', templateUrl: './project-search-result-list-element.component.html',
standalone: true,
imports: [NgIf, RouterLink, ThumbnailComponent, NgClass, TruncatableComponent, ThemedBadgesComponent, AsyncPipe]
}) })
/** /**
* The component for displaying a list element for an item search result of the type Project * The component for displaying a list element for an item search result of the type Project

View File

@@ -9,12 +9,17 @@ import {
SidebarSearchListElementComponent SidebarSearchListElementComponent
} from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component';
import { Item } from '../../../../../core/shared/item.model'; import { Item } from '../../../../../core/shared/item.model';
import { TranslateModule } from '@ngx-translate/core';
import { NgClass, NgIf, AsyncPipe } from '@angular/common';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
@listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.SideBarSearchModal)
@listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent)
@Component({ @Component({
selector: 'ds-org-unit-sidebar-search-list-element', selector: 'ds-org-unit-sidebar-search-list-element',
templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html', templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html',
standalone: true,
imports: [TruncatablePartComponent, NgClass, NgIf, AsyncPipe, TranslateModule]
}) })
/** /**
* Component displaying a list element for a {@link ItemSearchResult} of type "OrgUnit" within the context of * Component displaying a list element for a {@link ItemSearchResult} of type "OrgUnit" within the context of

View File

@@ -12,14 +12,18 @@ import { Item } from '../../../../../core/shared/item.model';
import { isNotEmpty } from '../../../../../shared/empty.util'; import { isNotEmpty } from '../../../../../shared/empty.util';
import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service';
import { LinkService } from '../../../../../core/cache/builders/link.service'; import { LinkService } from '../../../../../core/cache/builders/link.service';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService, TranslateModule } from '@ngx-translate/core';
import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service';
import { NgClass, NgIf, AsyncPipe } from '@angular/common';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
@listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.SideBarSearchModal)
@listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) @listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent)
@Component({ @Component({
selector: 'ds-person-sidebar-search-list-element', selector: 'ds-person-sidebar-search-list-element',
templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html', templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html',
standalone: true,
imports: [TruncatablePartComponent, NgClass, NgIf, AsyncPipe, TranslateModule]
}) })
/** /**
* Component displaying a list element for a {@link ItemSearchResult} of type "Person" within the context of * Component displaying a list element for a {@link ItemSearchResult} of type "Person" within the context of

View File

@@ -9,12 +9,17 @@ import {
SidebarSearchListElementComponent SidebarSearchListElementComponent
} from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component';
import { Item } from '../../../../../core/shared/item.model'; import { Item } from '../../../../../core/shared/item.model';
import { TranslateModule } from '@ngx-translate/core';
import { NgClass, NgIf, AsyncPipe } from '@angular/common';
import { TruncatablePartComponent } from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
@listableObjectComponent('ProjectSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('ProjectSearchResult', ViewMode.ListElement, Context.SideBarSearchModal)
@listableObjectComponent('ProjectSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) @listableObjectComponent('ProjectSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent)
@Component({ @Component({
selector: 'ds-project-sidebar-search-list-element', selector: 'ds-project-sidebar-search-list-element',
templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html', templateUrl: '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html',
standalone: true,
imports: [TruncatablePartComponent, NgClass, NgIf, AsyncPipe, TranslateModule]
}) })
/** /**
* Component displaying a list element for a {@link ItemSearchResult} of type "Project" within the context of * Component displaying a list element for a {@link ItemSearchResult} of type "Project" within the context of

View File

@@ -4,12 +4,25 @@ import {
listableObjectComponent listableObjectComponent
} from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component';
import { TranslateModule } from '@ngx-translate/core';
import { TabbedRelatedEntitiesSearchComponent } from '../../../../item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component';
import { RouterLink } from '@angular/router';
import { RelatedItemsComponent } from '../../../../item-page/simple/related-items/related-items-component';
import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component';
import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component';
import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
import { DsoEditMenuComponent } from '../../../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component';
import { ThemedResultsBackButtonComponent } from '../../../../shared/results-back-button/themed-results-back-button.component';
import { NgIf, AsyncPipe } from '@angular/common';
@listableObjectComponent('OrgUnit', ViewMode.StandalonePage) @listableObjectComponent('OrgUnit', ViewMode.StandalonePage)
@Component({ @Component({
selector: 'ds-org-unit', selector: 'ds-org-unit',
styleUrls: ['./org-unit.component.scss'], styleUrls: ['./org-unit.component.scss'],
templateUrl: './org-unit.component.html', templateUrl: './org-unit.component.html',
standalone: true,
imports: [NgIf, ThemedResultsBackButtonComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, GenericItemPageFieldComponent, RelatedItemsComponent, RouterLink, TabbedRelatedEntitiesSearchComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying metadata and relations of an item of the type Organisation Unit * The component for displaying metadata and relations of an item of the type Organisation Unit

View File

@@ -4,12 +4,25 @@ import {
listableObjectComponent listableObjectComponent
} from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component';
import { TranslateModule } from '@ngx-translate/core';
import { TabbedRelatedEntitiesSearchComponent } from '../../../../item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component';
import { RouterLink } from '@angular/router';
import { RelatedItemsComponent } from '../../../../item-page/simple/related-items/related-items-component';
import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component';
import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component';
import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
import { DsoEditMenuComponent } from '../../../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component';
import { ThemedResultsBackButtonComponent } from '../../../../shared/results-back-button/themed-results-back-button.component';
import { NgIf, AsyncPipe } from '@angular/common';
@listableObjectComponent('Person', ViewMode.StandalonePage) @listableObjectComponent('Person', ViewMode.StandalonePage)
@Component({ @Component({
selector: 'ds-person', selector: 'ds-person',
styleUrls: ['./person.component.scss'], styleUrls: ['./person.component.scss'],
templateUrl: './person.component.html', templateUrl: './person.component.html',
standalone: true,
imports: [NgIf, ThemedResultsBackButtonComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, GenericItemPageFieldComponent, RelatedItemsComponent, RouterLink, TabbedRelatedEntitiesSearchComponent, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying metadata and relations of an item of the type Person * The component for displaying metadata and relations of an item of the type Person

View File

@@ -4,12 +4,25 @@ import {
listableObjectComponent listableObjectComponent
} from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component';
import { TranslateModule } from '@ngx-translate/core';
import { RouterLink } from '@angular/router';
import { RelatedItemsComponent } from '../../../../item-page/simple/related-items/related-items-component';
import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component';
import { ThemedMetadataRepresentationListComponent } from '../../../../item-page/simple/metadata-representation-list/themed-metadata-representation-list.component';
import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component';
import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
import { DsoEditMenuComponent } from '../../../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component';
import { ThemedResultsBackButtonComponent } from '../../../../shared/results-back-button/themed-results-back-button.component';
import { NgIf, AsyncPipe } from '@angular/common';
@listableObjectComponent('Project', ViewMode.StandalonePage) @listableObjectComponent('Project', ViewMode.StandalonePage)
@Component({ @Component({
selector: 'ds-project', selector: 'ds-project',
styleUrls: ['./project.component.scss'], styleUrls: ['./project.component.scss'],
templateUrl: './project.component.html', templateUrl: './project.component.html',
standalone: true,
imports: [NgIf, ThemedResultsBackButtonComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, ThemedMetadataRepresentationListComponent, GenericItemPageFieldComponent, RelatedItemsComponent, RouterLink, AsyncPipe, TranslateModule]
}) })
/** /**
* The component for displaying metadata and relations of an item of the type Project * The component for displaying metadata and relations of an item of the type Project

View File

@@ -24,8 +24,7 @@ describe('ExternalSourceEntryListSubmissionElementComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TranslateModule.forRoot()], imports: [TranslateModule.forRoot(), ExternalSourceEntryListSubmissionElementComponent],
declarations: [ExternalSourceEntryListSubmissionElementComponent],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).compileComponents(); }).compileComponents();
})); }));

View File

@@ -10,6 +10,7 @@ import { Context } from '../../../../../core/shared/context.model';
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Metadata } from '../../../../../core/shared/metadata.utils'; import { Metadata } from '../../../../../core/shared/metadata.utils';
import { MetadataValue } from '../../../../../core/shared/metadata.models'; import { MetadataValue } from '../../../../../core/shared/metadata.models';
import { NgIf } from '@angular/common';
@listableObjectComponent(ExternalSourceEntry, ViewMode.ListElement, Context.EntitySearchModal) @listableObjectComponent(ExternalSourceEntry, ViewMode.ListElement, Context.EntitySearchModal)
@listableObjectComponent(ExternalSourceEntry, ViewMode.ListElement, Context.EntitySearchModalWithNameVariants) @listableObjectComponent(ExternalSourceEntry, ViewMode.ListElement, Context.EntitySearchModalWithNameVariants)
@@ -17,6 +18,8 @@ import { MetadataValue } from '../../../../../core/shared/metadata.models';
selector: 'ds-external-source-entry-list-submission-element', selector: 'ds-external-source-entry-list-submission-element',
styleUrls: ['./external-source-entry-list-submission-element.component.scss'], styleUrls: ['./external-source-entry-list-submission-element.component.scss'],
templateUrl: './external-source-entry-list-submission-element.component.html', templateUrl: './external-source-entry-list-submission-element.component.html',
standalone: true,
imports: [NgIf]
}) })
/** /**
* The component for displaying a list element of an external source entry * The component for displaying a list element of an external source entry

View File

@@ -101,8 +101,7 @@ describe('OrgUnitSearchResultListSubmissionElementComponent', () => {
} }
}; };
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe], imports: [TruncatePipe, OrgUnitSearchResultListSubmissionElementComponent],
declarations: [OrgUnitSearchResultListSubmissionElementComponent],
providers: [ providers: [
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: RelationshipDataService, useValue: mockRelationshipService }, { provide: RelationshipDataService, useValue: mockRelationshipService },

View File

@@ -22,6 +22,9 @@ import { SelectableListService } from '../../../../../shared/object-list/selecta
import { NameVariantModalComponent } from '../../name-variant-modal/name-variant-modal.component'; import { NameVariantModalComponent } from '../../name-variant-modal/name-variant-modal.component';
import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service';
import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface';
import { FormsModule } from '@angular/forms';
import { OrgUnitInputSuggestionsComponent } from './org-unit-suggestions/org-unit-input-suggestions.component';
import { NgIf } from '@angular/common';
@listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.EntitySearchModal) @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.EntitySearchModal)
@listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.EntitySearchModalWithNameVariants) @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.EntitySearchModalWithNameVariants)
@@ -29,6 +32,8 @@ import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.inter
selector: 'ds-person-search-result-list-submission-element', selector: 'ds-person-search-result-list-submission-element',
styleUrls: ['./org-unit-search-result-list-submission-element.component.scss'], styleUrls: ['./org-unit-search-result-list-submission-element.component.scss'],
templateUrl: './org-unit-search-result-list-submission-element.component.html', templateUrl: './org-unit-search-result-list-submission-element.component.html',
standalone: true,
imports: [NgIf, OrgUnitInputSuggestionsComponent, FormsModule]
}) })
/** /**

View File

@@ -109,9 +109,8 @@ describe('PersonSearchResultListElementSubmissionComponent', () => {
beforeEach(waitForAsync(async () => { beforeEach(waitForAsync(async () => {
init(); init();
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [TruncatePipe], imports: [TruncatePipe, PersonSearchResultListSubmissionElementComponent],
declarations: [PersonSearchResultListSubmissionElementComponent], providers: [
providers: [
{ provide: TruncatableService, useValue: {} }, { provide: TruncatableService, useValue: {} },
{ provide: RelationshipDataService, useValue: mockRelationshipService }, { provide: RelationshipDataService, useValue: mockRelationshipService },
{ provide: TranslateService, useValue: translateServiceStub }, { provide: TranslateService, useValue: translateServiceStub },
@@ -131,9 +130,9 @@ describe('PersonSearchResultListElementSubmissionComponent', () => {
{ provide: AuthService, useValue: {} }, { provide: AuthService, useValue: {} },
{ provide: REQUEST, useValue: {} }, { provide: REQUEST, useValue: {} },
{ provide: ThemeService, useValue: getMockThemeService() }, { provide: ThemeService, useValue: getMockThemeService() },
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}) })
.compileComponents(); .compileComponents();
})); }));
@@ -209,9 +208,8 @@ describe('PersonSearchResultListElementSubmissionComponent', () => {
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
init(); init();
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TruncatePipe], imports: [TruncatePipe, PersonSearchResultListSubmissionElementComponent],
declarations: [PersonSearchResultListSubmissionElementComponent], providers: [
providers: [
{ provide: TruncatableService, useValue: {} }, { provide: TruncatableService, useValue: {} },
{ provide: RelationshipDataService, useValue: mockRelationshipService }, { provide: RelationshipDataService, useValue: mockRelationshipService },
{ provide: TranslateService, useValue: translateServiceStub }, { provide: TranslateService, useValue: translateServiceStub },
@@ -228,9 +226,9 @@ describe('PersonSearchResultListElementSubmissionComponent', () => {
{ provide: DSOChangeAnalyzer, useValue: {} }, { provide: DSOChangeAnalyzer, useValue: {} },
{ provide: DefaultChangeAnalyzer, useValue: {} }, { provide: DefaultChangeAnalyzer, useValue: {} },
{ provide: APP_CONFIG, useValue: enviromentNoThumbs } { provide: APP_CONFIG, useValue: enviromentNoThumbs }
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(PersonSearchResultListSubmissionElementComponent, { }).overrideComponent(PersonSearchResultListSubmissionElementComponent, {
add: { changeDetection: ChangeDetectionStrategy.Default } add: { changeDetection: ChangeDetectionStrategy.Default }
}).compileComponents(); }).compileComponents();
})); }));

View File

@@ -19,12 +19,18 @@ import { ItemDataService } from '../../../../../core/data/item-data.service';
import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service'; import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service';
import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service';
import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface';
import { FormsModule } from '@angular/forms';
import { PersonInputSuggestionsComponent } from './person-suggestions/person-input-suggestions.component';
import { ThumbnailComponent } from '../../../../../thumbnail/thumbnail.component';
import { NgIf, NgClass, NgFor, AsyncPipe } from '@angular/common';
@listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.EntitySearchModalWithNameVariants) @listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.EntitySearchModalWithNameVariants)
@Component({ @Component({
selector: 'ds-person-search-result-list-submission-element', selector: 'ds-person-search-result-list-submission-element',
styleUrls: ['./person-search-result-list-submission-element.component.scss'], styleUrls: ['./person-search-result-list-submission-element.component.scss'],
templateUrl: './person-search-result-list-submission-element.component.html', templateUrl: './person-search-result-list-submission-element.component.html',
standalone: true,
imports: [NgIf, ThumbnailComponent, NgClass, PersonInputSuggestionsComponent, FormsModule, NgFor, AsyncPipe]
}) })
/** /**

View File

@@ -31,19 +31,19 @@ describe('ItemPageImgFieldComponent', () => {
beforeEach(async () => { beforeEach(async () => {
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [TranslateModule.forRoot({ imports: [TranslateModule.forRoot({
loader: { loader: {
provide: TranslateLoader, provide: TranslateLoader,
useClass: TranslateLoaderMock useClass: TranslateLoaderMock
} }
})], }), GenericItemPageFieldComponent, MetadataValuesComponent],
providers: [ providers: [
{ provide: APP_CONFIG, useValue: environment }, { provide: APP_CONFIG, useValue: environment },
{ provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub } { provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub }
], ],
declarations: [ItemPageImgFieldComponent, GenericItemPageFieldComponent, MetadataValuesComponent], declarations: [ItemPageImgFieldComponent],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}) })
.overrideComponent(GenericItemPageFieldComponent, { .overrideComponent(GenericItemPageFieldComponent, {
set: { changeDetection: ChangeDetectionStrategy.Default } set: { changeDetection: ChangeDetectionStrategy.Default }
}) })

View File

@@ -76,9 +76,9 @@ describe('PublicationComponent', () => {
} }
}), }),
RouterTestingModule, RouterTestingModule,
GenericItemPageFieldComponent, TruncatePipe GenericItemPageFieldComponent, TruncatePipe,
PublicationComponent
], ],
declarations: [PublicationComponent],
providers: [ providers: [
{ provide: ItemDataService, useValue: {} }, { provide: ItemDataService, useValue: {} },
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },

View File

@@ -4,6 +4,24 @@ import {
listableObjectComponent listableObjectComponent
} from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
import { ItemComponent } from '../shared/item.component'; import { ItemComponent } from '../shared/item.component';
import { TranslateModule } from '@ngx-translate/core';
import { RouterLink } from '@angular/router';
import { CollectionsComponent } from '../../../field-components/collections/collections.component';
import { ItemPageUriFieldComponent } from '../../field-components/specific-field/uri/item-page-uri-field.component';
import { ItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/item-page-abstract-field.component';
import { RelatedItemsComponent } from '../../related-items/related-items-component';
import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component';
import { ThemedMetadataRepresentationListComponent } from '../../metadata-representation-list/themed-metadata-representation-list.component';
import { ItemPageDateFieldComponent } from '../../field-components/specific-field/date/item-page-date-field.component';
import { ThemedFileSectionComponent } from '../../field-components/file-section/themed-file-section.component';
import { ThemedMediaViewerComponent } from '../../../media-viewer/themed-media-viewer.component';
import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component';
import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
import { DsoEditMenuComponent } from '../../../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
import { ThemedItemPageTitleFieldComponent } from '../../field-components/specific-field/title/themed-item-page-field.component';
import { MiradorViewerComponent } from '../../../mirador-viewer/mirador-viewer.component';
import { ThemedResultsBackButtonComponent } from '../../../../shared/results-back-button/themed-results-back-button.component';
import { NgIf, AsyncPipe } from '@angular/common';
/** /**
* Component that represents a publication Item page * Component that represents a publication Item page
@@ -11,10 +29,12 @@ import { ItemComponent } from '../shared/item.component';
@listableObjectComponent('Publication', ViewMode.StandalonePage) @listableObjectComponent('Publication', ViewMode.StandalonePage)
@Component({ @Component({
selector: 'ds-publication', selector: 'ds-publication',
styleUrls: ['./publication.component.scss'], styleUrls: ['./publication.component.scss'],
templateUrl: './publication.component.html', templateUrl: './publication.component.html',
changeDetection: ChangeDetectionStrategy.OnPush changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [NgIf, ThemedResultsBackButtonComponent, MiradorViewerComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, ThemedMediaViewerComponent, ThemedFileSectionComponent, ItemPageDateFieldComponent, ThemedMetadataRepresentationListComponent, GenericItemPageFieldComponent, RelatedItemsComponent, ItemPageAbstractFieldComponent, ItemPageUriFieldComponent, CollectionsComponent, RouterLink, AsyncPipe, TranslateModule]
}) })
export class PublicationComponent extends ItemComponent { export class PublicationComponent extends ItemComponent {

View File

@@ -124,56 +124,56 @@ export function getItemPageFieldsTest(mockItem: Item, component) {
}); });
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [ imports: [
TranslateModule.forRoot({ TranslateModule.forRoot({
loader: { loader: {
provide: TranslateLoader, provide: TranslateLoader,
useClass: TranslateLoaderMock, useClass: TranslateLoaderMock,
}, },
}), }),
RouterTestingModule, RouterTestingModule,
GenericItemPageFieldComponent, GenericItemPageFieldComponent,
TruncatePipe, TruncatePipe,
AsyncPipe, AsyncPipe,
], component
declarations: [component], ],
providers: [ providers: [
{ {
provide: APP_CONFIG, provide: APP_CONFIG,
useValue: { useValue: {
browseBy: { showThumbnails: true }, browseBy: { showThumbnails: true },
markdown: { enabled: true }, markdown: { enabled: true },
}, },
}, },
provideMockStore(), provideMockStore(),
{ provide: ItemDataService, useValue: {} }, { provide: ItemDataService, useValue: {} },
{ provide: TruncatableService, useValue: mockTruncatableService }, { provide: TruncatableService, useValue: mockTruncatableService },
{ provide: RelationshipDataService, useValue: relationshipService }, { provide: RelationshipDataService, useValue: relationshipService },
{ provide: ObjectCacheService, useValue: {} }, { provide: ObjectCacheService, useValue: {} },
{ provide: UUIDService, useValue: {} }, { provide: UUIDService, useValue: {} },
{ provide: RemoteDataBuildService, useValue: {} }, { provide: RemoteDataBuildService, useValue: {} },
{ provide: CommunityDataService, useValue: {} }, { provide: CommunityDataService, useValue: {} },
{ provide: HALEndpointService, useValue: {} }, { provide: HALEndpointService, useValue: {} },
{ provide: HttpClient, useValue: {} }, { provide: HttpClient, useValue: {} },
{ provide: DSOChangeAnalyzer, useValue: {} }, { provide: DSOChangeAnalyzer, useValue: {} },
{ provide: VersionHistoryDataService, useValue: {} }, { provide: VersionHistoryDataService, useValue: {} },
{ provide: VersionDataService, useValue: {} }, { provide: VersionDataService, useValue: {} },
{ provide: NotificationsService, useValue: {} }, { provide: NotificationsService, useValue: {} },
{ provide: DefaultChangeAnalyzer, useValue: {} }, { provide: DefaultChangeAnalyzer, useValue: {} },
{ provide: BitstreamDataService, useValue: mockBitstreamDataService }, { provide: BitstreamDataService, useValue: mockBitstreamDataService },
{ provide: WorkspaceitemDataService, useValue: {} }, { provide: WorkspaceitemDataService, useValue: {} },
{ provide: SearchService, useValue: {} }, { provide: SearchService, useValue: {} },
{ provide: RouteService, useValue: routeServiceStub }, { provide: RouteService, useValue: routeServiceStub },
{ provide: AuthService, useValue: new AuthServiceStub() }, { provide: AuthService, useValue: new AuthServiceStub() },
{ provide: AuthorizationDataService, useValue: authorizationService }, { provide: AuthorizationDataService, useValue: authorizationService },
{ provide: ResearcherProfileDataService, useValue: {} }, { provide: ResearcherProfileDataService, useValue: {} },
{ {
provide: BrowseDefinitionDataService, provide: BrowseDefinitionDataService,
useValue: BrowseDefinitionDataServiceStub, useValue: BrowseDefinitionDataServiceStub,
}, },
], ],
schemas: [NO_ERRORS_SCHEMA], schemas: [NO_ERRORS_SCHEMA]
}) })
.overrideComponent(component, { .overrideComponent(component, {
remove: { remove: {
imports: [ imports: [

View File

@@ -77,33 +77,33 @@ describe('UntypedItemComponent', () => {
} }
}), }),
RouterTestingModule, RouterTestingModule,
GenericItemPageFieldComponent, TruncatePipe GenericItemPageFieldComponent, TruncatePipe,
UntypedItemComponent
], ],
declarations: [UntypedItemComponent],
providers: [ providers: [
{provide: ItemDataService, useValue: {}}, { provide: ItemDataService, useValue: {} },
{provide: TruncatableService, useValue: mockTruncatableService}, { provide: TruncatableService, useValue: mockTruncatableService },
{provide: RelationshipDataService, useValue: {}}, { provide: RelationshipDataService, useValue: {} },
{provide: ObjectCacheService, useValue: {}}, { provide: ObjectCacheService, useValue: {} },
{provide: UUIDService, useValue: {}}, { provide: UUIDService, useValue: {} },
{provide: Store, useValue: {}}, { provide: Store, useValue: {} },
{provide: RemoteDataBuildService, useValue: {}}, { provide: RemoteDataBuildService, useValue: {} },
{provide: CommunityDataService, useValue: {}}, { provide: CommunityDataService, useValue: {} },
{provide: HALEndpointService, useValue: {}}, { provide: HALEndpointService, useValue: {} },
{provide: NotificationsService, useValue: {}}, { provide: NotificationsService, useValue: {} },
{provide: HttpClient, useValue: {}}, { provide: HttpClient, useValue: {} },
{provide: DSOChangeAnalyzer, useValue: {}}, { provide: DSOChangeAnalyzer, useValue: {} },
{ provide: DefaultChangeAnalyzer, useValue: {} }, { provide: DefaultChangeAnalyzer, useValue: {} },
{ provide: VersionHistoryDataService, useValue: {} }, { provide: VersionHistoryDataService, useValue: {} },
{ provide: VersionDataService, useValue: {} }, { provide: VersionDataService, useValue: {} },
{ provide: BitstreamDataService, useValue: mockBitstreamDataService }, { provide: BitstreamDataService, useValue: mockBitstreamDataService },
{ provide: WorkspaceitemDataService, useValue: {} }, { provide: WorkspaceitemDataService, useValue: {} },
{ provide: SearchService, useValue: {} }, { provide: SearchService, useValue: {} },
{ provide: ItemDataService, useValue: {} }, { provide: ItemDataService, useValue: {} },
{ provide: ItemVersionsSharedService, useValue: {} }, { provide: ItemVersionsSharedService, useValue: {} },
{ provide: RouteService, useValue: mockRouteService }, { provide: RouteService, useValue: mockRouteService },
{ provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub }, { provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub },
{ provide: APP_CONFIG, useValue: environment }, { provide: APP_CONFIG, useValue: environment },
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(UntypedItemComponent, { }).overrideComponent(UntypedItemComponent, {

View File

@@ -5,6 +5,23 @@ import {
listableObjectComponent listableObjectComponent
} from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
import { ItemComponent } from '../shared/item.component'; import { ItemComponent } from '../shared/item.component';
import { TranslateModule } from '@ngx-translate/core';
import { RouterLink } from '@angular/router';
import { CollectionsComponent } from '../../../field-components/collections/collections.component';
import { ItemPageUriFieldComponent } from '../../field-components/specific-field/uri/item-page-uri-field.component';
import { ItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/item-page-abstract-field.component';
import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component';
import { ThemedMetadataRepresentationListComponent } from '../../metadata-representation-list/themed-metadata-representation-list.component';
import { ItemPageDateFieldComponent } from '../../field-components/specific-field/date/item-page-date-field.component';
import { ThemedFileSectionComponent } from '../../field-components/file-section/themed-file-section.component';
import { ThemedMediaViewerComponent } from '../../../media-viewer/themed-media-viewer.component';
import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component';
import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
import { DsoEditMenuComponent } from '../../../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
import { ThemedItemPageTitleFieldComponent } from '../../field-components/specific-field/title/themed-item-page-field.component';
import { MiradorViewerComponent } from '../../../mirador-viewer/mirador-viewer.component';
import { ThemedResultsBackButtonComponent } from '../../../../shared/results-back-button/themed-results-back-button.component';
import { NgIf, AsyncPipe } from '@angular/common';
/** /**
* Component that represents a publication Item page * Component that represents a publication Item page
@@ -12,10 +29,12 @@ import { ItemComponent } from '../shared/item.component';
@listableObjectComponent(Item, ViewMode.StandalonePage) @listableObjectComponent(Item, ViewMode.StandalonePage)
@Component({ @Component({
selector: 'ds-untyped-item', selector: 'ds-untyped-item',
styleUrls: ['./untyped-item.component.scss'], styleUrls: ['./untyped-item.component.scss'],
templateUrl: './untyped-item.component.html', templateUrl: './untyped-item.component.html',
changeDetection: ChangeDetectionStrategy.OnPush changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [NgIf, ThemedResultsBackButtonComponent, MiradorViewerComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, ThemedMediaViewerComponent, ThemedFileSectionComponent, ItemPageDateFieldComponent, ThemedMetadataRepresentationListComponent, GenericItemPageFieldComponent, ItemPageAbstractFieldComponent, ItemPageUriFieldComponent, CollectionsComponent, RouterLink, AsyncPipe, TranslateModule]
}) })
export class UntypedItemComponent extends ItemComponent { export class UntypedItemComponent extends ItemComponent {

View File

@@ -21,12 +21,12 @@ describe('NotifyRequestsStatusComponent', () => {
getNotifyRequestsStatus:() => createSuccessfulRemoteDataObject$(mock) getNotifyRequestsStatus:() => createSuccessfulRemoteDataObject$(mock)
}; };
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TranslateModule.forRoot()], imports: [TranslateModule.forRoot()],
declarations: [NotifyRequestsStatusComponent], declarations: [NotifyRequestsStatusComponent],
providers: [ providers: [
{ provide: NotifyRequestsStatusDataService, useValue: notifyInfoServiceSpy } { provide: NotifyRequestsStatusDataService, useValue: notifyInfoServiceSpy }
] ]
}); });
}); });
beforeEach(() => { beforeEach(() => {

View File

@@ -25,9 +25,9 @@ describe('RequestStatusAlertBoxComponent', () => {
beforeEach(async () => { beforeEach(async () => {
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [TranslateModule.forRoot()], imports: [TranslateModule.forRoot()],
declarations: [RequestStatusAlertBoxComponent], declarations: [RequestStatusAlertBoxComponent]
}).compileComponents(); }).compileComponents();
}); });
beforeEach(() => { beforeEach(() => {

View File

@@ -37,9 +37,9 @@ describe('QaEventNotificationComponent', () => {
getSourcesByTarget: () => objPL getSourcesByTarget: () => objPL
}; };
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [CommonModule, TranslateModule.forRoot()], imports: [CommonModule, TranslateModule.forRoot()],
declarations: [QaEventNotificationComponent, SplitPipe], declarations: [QaEventNotificationComponent, SplitPipe],
providers: [ providers: [
{ provide: QualityAssuranceSourceDataService, useValue: qualityAssuranceSourceDataServiceStub }, { provide: QualityAssuranceSourceDataService, useValue: qualityAssuranceSourceDataServiceStub },
{ provide: RequestService, useValue: {} }, { provide: RequestService, useValue: {} },
{ provide: NotificationsService, useValue: {} }, { provide: NotificationsService, useValue: {} },
@@ -47,8 +47,8 @@ describe('QaEventNotificationComponent', () => {
ObjectCacheService, ObjectCacheService,
RemoteDataBuildService, RemoteDataBuildService,
provideMockStore({}) provideMockStore({})
], ]
}) })
.compileComponents(); .compileComponents();
fixture = TestBed.createComponent(QaEventNotificationComponent); fixture = TestBed.createComponent(QaEventNotificationComponent);
component = fixture.componentInstance; component = fixture.componentInstance;

View File

@@ -18,11 +18,11 @@ describe('MyDspaceQaEventsNotificationsComponent', () => {
getSources: () => obj getSources: () => obj
}; };
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
declarations: [ MyDspaceQaEventsNotificationsComponent ], declarations: [MyDspaceQaEventsNotificationsComponent],
providers: [ providers: [
{ provide: QualityAssuranceSourceDataService, useValue: qualityAssuranceSourceDataServiceStub } { provide: QualityAssuranceSourceDataService, useValue: qualityAssuranceSourceDataServiceStub }
] ]
}) })
.compileComponents(); .compileComponents();
fixture = TestBed.createComponent(MyDspaceQaEventsNotificationsComponent); fixture = TestBed.createComponent(MyDspaceQaEventsNotificationsComponent);

Some files were not shown because too many files have changed in this diff Show More