From 124469209a1bbeedd46d8f12c3ca852728bbe40c Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Wed, 4 Jan 2023 17:51:34 +0100 Subject: [PATCH] 97742: Post merge test & build fixes --- .../dso-edit-metadata-value.component.spec.ts | 6 ++-- .../dso-edit-metadata-value.component.ts | 4 +-- .../dso-edit-metadata.component.spec.ts | 24 +++++++------ .../dso-edit-metadata.component.ts | 11 +++--- .../themed-item-metadata.component.ts | 34 ------------------- .../item-metadata.component.html | 0 .../item-metadata.component.scss | 0 .../item-metadata/item-metadata.component.ts | 17 ---------- src/themes/custom/lazy-theme.module.ts | 2 -- 9 files changed, 26 insertions(+), 72 deletions(-) delete mode 100644 src/app/item-page/edit-item-page/item-metadata/themed-item-metadata.component.ts delete mode 100644 src/themes/custom/app/item-page/edit-item-page/item-metadata/item-metadata.component.html delete mode 100644 src/themes/custom/app/item-page/edit-item-page/item-metadata/item-metadata.component.scss delete mode 100644 src/themes/custom/app/item-page/edit-item-page/item-metadata/item-metadata.component.ts diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts index 08f041c4cd..10b3016a52 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts @@ -4,7 +4,7 @@ import { VarDirective } from '../../../shared/utils/var.directive'; import { TranslateModule } from '@ngx-translate/core'; import { RouterTestingModule } from '@angular/router/testing'; import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { RelationshipService } from '../../../core/data/relationship.service'; +import { RelationshipDataService } from '../../../core/data/relationship-data.service'; import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { of } from 'rxjs/internal/observable/of'; import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model'; @@ -22,7 +22,7 @@ describe('DsoEditMetadataValueComponent', () => { let component: DsoEditMetadataValueComponent; let fixture: ComponentFixture; - let relationshipService: RelationshipService; + let relationshipService: RelationshipDataService; let dsoNameService: DSONameService; let editMetadataValue: DsoEditMetadataValue; @@ -52,7 +52,7 @@ describe('DsoEditMetadataValueComponent', () => { declarations: [DsoEditMetadataValueComponent, VarDirective], imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])], providers: [ - { provide: RelationshipService, useValue: relationshipService }, + { provide: RelationshipDataService, useValue: relationshipService }, { provide: DSONameService, useValue: dsoNameService }, ], schemas: [NO_ERRORS_SCHEMA] diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.ts index dce0ec68b0..3fdcd381ab 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.ts @@ -5,7 +5,7 @@ import { MetadataRepresentation, MetadataRepresentationType } from '../../../core/shared/metadata-representation/metadata-representation.model'; -import { RelationshipService } from '../../../core/data/relationship.service'; +import { RelationshipDataService } from '../../../core/data/relationship-data.service'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model'; import { map } from 'rxjs/operators'; @@ -97,7 +97,7 @@ export class DsoEditMetadataValueComponent implements OnInit { */ mdRepresentationName$: Observable; - constructor(protected relationshipService: RelationshipService, + constructor(protected relationshipService: RelationshipDataService, protected dsoNameService: DSONameService) { } diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts index b3650114c9..7067c44fbb 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts @@ -3,22 +3,32 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { VarDirective } from '../../shared/utils/var.directive'; import { TranslateModule } from '@ngx-translate/core'; import { RouterTestingModule } from '@angular/router/testing'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { DebugElement, Injectable, NO_ERRORS_SCHEMA } from '@angular/core'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { Item } from '../../core/shared/item.model'; -import { ItemDataService } from '../../core/data/item-data.service'; import { MetadataValue } from '../../core/shared/metadata.models'; import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { By } from '@angular/platform-browser'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { ArrayMoveChangeAnalyzer } from '../../core/data/array-move-change-analyzer.service'; import { ITEM } from '../../core/shared/item.resource-type'; +import { DATA_SERVICE_FACTORY } from '../../core/data/base/data-service.decorator'; +import { Operation } from 'fast-json-patch'; +import { RemoteData } from '../../core/data/remote-data'; +import { Observable } from 'rxjs/internal/Observable'; const ADD_BTN = 'add'; const REINSTATE_BTN = 'reinstate'; const SAVE_BTN = 'save'; const DISCARD_BTN = 'discard'; +@Injectable() +class TestDataService { + patch(object: Item, operations: Operation[]): Observable> { + return createSuccessfulRemoteDataObject$(object); + } +} + describe('DsoEditMetadataComponent', () => { let component: DsoEditMetadataComponent; let fixture: ComponentFixture; @@ -26,8 +36,6 @@ describe('DsoEditMetadataComponent', () => { let notificationsService: NotificationsService; let dso: DSpaceObject; - let updatedDso: DSpaceObject; - let dataService: ItemDataService; beforeEach(waitForAsync(() => { dso = Object.assign(new Item(), { @@ -59,11 +67,6 @@ describe('DsoEditMetadataComponent', () => { ], }, }); - updatedDso = Object.assign(new Item(), dso); - updatedDso.metadata['dc.title'][0].value = 'Updated Title'; - dataService = jasmine.createSpyObj('itemDataService', { - patch: createSuccessfulRemoteDataObject$(updatedDso), - }); notificationsService = jasmine.createSpyObj('notificationsService', ['error', 'success']); @@ -71,7 +74,8 @@ describe('DsoEditMetadataComponent', () => { declarations: [DsoEditMetadataComponent, VarDirective], imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])], providers: [ - { provide: ItemDataService, useValue: dataService }, + TestDataService, + { provide: DATA_SERVICE_FACTORY, useValue: jasmine.createSpy('getDataServiceFor').and.returnValue(TestDataService) }, { provide: NotificationsService, useValue: notificationsService }, ArrayMoveChangeAnalyzer, ], diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts index a2ceaa21d6..d67a7ea738 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts @@ -1,4 +1,4 @@ -import { Component, Injector, Input, OnDestroy, OnInit, ViewChild } from '@angular/core'; +import { Component, Inject, Injector, Input, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { AlertType } from '../../shared/alert/aletr-type'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { DsoEditMetadataForm } from './dso-edit-metadata-form'; @@ -13,13 +13,15 @@ import { getFirstCompletedRemoteData, } from '../../core/shared/operators'; import { UpdateDataService } from '../../core/data/update-data.service'; -import { getDataServiceFor } from '../../core/cache/builders/build-decorators'; import { ResourceType } from '../../core/shared/resource-type'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { TranslateService } from '@ngx-translate/core'; import { MetadataFieldSelectorComponent } from './metadata-field-selector/metadata-field-selector.component'; import { Observable } from 'rxjs/internal/Observable'; import { ArrayMoveChangeAnalyzer } from '../../core/data/array-move-change-analyzer.service'; +import { DATA_SERVICE_FACTORY } from '../../core/data/base/data-service.decorator'; +import { GenericConstructor } from '../../core/shared/generic-constructor'; +import { HALDataService } from '../../core/data/base/hal-data-service.interface'; @Component({ selector: 'ds-dso-edit-metadata', @@ -107,7 +109,8 @@ export class DsoEditMetadataComponent implements OnInit, OnDestroy { protected notificationsService: NotificationsService, protected translateService: TranslateService, protected parentInjector: Injector, - protected arrayMoveChangeAnalyser: ArrayMoveChangeAnalyzer) { + protected arrayMoveChangeAnalyser: ArrayMoveChangeAnalyzer, + @Inject(DATA_SERVICE_FACTORY) protected getDataServiceFor: (resourceType: ResourceType) => GenericConstructor>) { } /** @@ -144,7 +147,7 @@ export class DsoEditMetadataComponent implements OnInit, OnDestroy { type = this.dso.type; } if (hasNoValue(this.updateDataService)) { - const provider = getDataServiceFor(type); + const provider = this.getDataServiceFor(type); this.updateDataService = Injector.create({ providers: [], parent: this.parentInjector diff --git a/src/app/item-page/edit-item-page/item-metadata/themed-item-metadata.component.ts b/src/app/item-page/edit-item-page/item-metadata/themed-item-metadata.component.ts deleted file mode 100644 index 53f0120015..0000000000 --- a/src/app/item-page/edit-item-page/item-metadata/themed-item-metadata.component.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Component, Input } from '@angular/core'; -import { Item } from '../../../core/shared/item.model'; -import { UpdateDataService } from '../../../core/data/update-data.service'; -import { ItemMetadataComponent } from './item-metadata.component'; -import { ThemedComponent } from '../../../shared/theme-support/themed.component'; - -@Component({ - selector: 'ds-themed-item-metadata', - styleUrls: [], - templateUrl: './../../../shared/theme-support/themed.component.html', -}) -/** - * Component for displaying an item's metadata edit page - */ -export class ThemedItemMetadataComponent extends ThemedComponent { - - @Input() item: Item; - - @Input() updateService: UpdateDataService; - - protected inAndOutputNames: (keyof ItemMetadataComponent & keyof this)[] = ['item', 'updateService']; - - protected getComponentName(): string { - return 'ItemMetadataComponent'; - } - - protected importThemedComponent(themeName: string): Promise { - return import(`../../../../themes/${themeName}/app/item-page/edit-item-page/item-metadata/item-metadata.component`); - } - - protected importUnthemedComponent(): Promise { - return import(`./item-metadata.component`); - } -} diff --git a/src/themes/custom/app/item-page/edit-item-page/item-metadata/item-metadata.component.html b/src/themes/custom/app/item-page/edit-item-page/item-metadata/item-metadata.component.html deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/themes/custom/app/item-page/edit-item-page/item-metadata/item-metadata.component.scss b/src/themes/custom/app/item-page/edit-item-page/item-metadata/item-metadata.component.scss deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/themes/custom/app/item-page/edit-item-page/item-metadata/item-metadata.component.ts b/src/themes/custom/app/item-page/edit-item-page/item-metadata/item-metadata.component.ts deleted file mode 100644 index d6d7c4b8fb..0000000000 --- a/src/themes/custom/app/item-page/edit-item-page/item-metadata/item-metadata.component.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Component } from '@angular/core'; -import { - ItemMetadataComponent as BaseComponent -} from '../../../../../../app/item-page/edit-item-page/item-metadata/item-metadata.component'; - -@Component({ - selector: 'ds-item-metadata', - // styleUrls: ['./item-metadata.component.scss'], - styleUrls: ['../../../../../../app/item-page/edit-item-page/item-metadata/item-metadata.component.scss'], - // templateUrl: './item-metadata.component.html', - templateUrl: '../../../../../../app/item-page/edit-item-page/item-metadata/item-metadata.component.html', -}) -/** - * Component for displaying an item's metadata edit page - */ -export class ItemMetadataComponent extends BaseComponent { -} diff --git a/src/themes/custom/lazy-theme.module.ts b/src/themes/custom/lazy-theme.module.ts index d2ac0ae787..a57c4178a7 100644 --- a/src/themes/custom/lazy-theme.module.ts +++ b/src/themes/custom/lazy-theme.module.ts @@ -94,7 +94,6 @@ import { AuthNavMenuComponent } from './app/shared/auth-nav-menu/auth-nav-menu.c import { ExpandableNavbarSectionComponent } from './app/navbar/expandable-navbar-section/expandable-navbar-section.component'; -import { ItemMetadataComponent } from './app/item-page/edit-item-page/item-metadata/item-metadata.component'; import { EditItemTemplatePageComponent } from './app/collection-page/edit-item-template-page/edit-item-template-page.component'; @@ -157,7 +156,6 @@ const DECLARATIONS = [ ComcolPageHandleComponent, AuthNavMenuComponent, ExpandableNavbarSectionComponent, - ItemMetadataComponent, EditItemTemplatePageComponent, LoadingComponent, SearchResultsComponent,