diff --git a/src/app/entity-groups/research-entities/item-pages/project/project.component.html b/src/app/entity-groups/research-entities/item-pages/project/project.component.html
index ea5b710085..5a072f64b8 100644
--- a/src/app/entity-groups/research-entities/item-pages/project/project.component.html
+++ b/src/app/entity-groups/research-entities/item-pages/project/project.component.html
@@ -18,12 +18,12 @@
-
-
+
diff --git a/src/app/item-page/item-shared.module.ts b/src/app/item-page/item-shared.module.ts
index 0249e3cf22..9c2bbba619 100644
--- a/src/app/item-page/item-shared.module.ts
+++ b/src/app/item-page/item-shared.module.ts
@@ -13,6 +13,9 @@ import { MetadataValuesComponent } from './field-components/metadata-values/meta
import { GenericItemPageFieldComponent } from './simple/field-components/specific-field/generic/generic-item-page-field.component';
import { MetadataRepresentationListComponent } from './simple/metadata-representation-list/metadata-representation-list.component';
import { RelatedItemsComponent } from './simple/related-items/related-items-component';
+import {
+ ThemedMetadataRepresentationListComponent
+} from './simple/metadata-representation-list/themed-metadata-representation-list.component';
const ENTRY_COMPONENTS = [
ItemVersionsDeleteModalComponent,
@@ -27,6 +30,7 @@ const COMPONENTS = [
MetadataValuesComponent,
GenericItemPageFieldComponent,
MetadataRepresentationListComponent,
+ ThemedMetadataRepresentationListComponent,
RelatedItemsComponent,
];
diff --git a/src/app/item-page/simple/item-types/publication/publication.component.html b/src/app/item-page/simple/item-types/publication/publication.component.html
index 214ce23045..9dedb32548 100644
--- a/src/app/item-page/simple/item-types/publication/publication.component.html
+++ b/src/app/item-page/simple/item-types/publication/publication.component.html
@@ -25,12 +25,12 @@
-
-
+
diff --git a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html
index 70bbf39bac..38c80d9ba0 100644
--- a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html
+++ b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html
@@ -26,12 +26,12 @@
-
-
+
diff --git a/src/app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component.ts b/src/app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component.ts
new file mode 100644
index 0000000000..e7a526bb05
--- /dev/null
+++ b/src/app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component.ts
@@ -0,0 +1,35 @@
+import { ThemedComponent } from '../../../shared/theme-support/themed.component';
+import { MetadataRepresentationListComponent } from './metadata-representation-list.component';
+import { Component, Input } from '@angular/core';
+import { Item } from '../../../core/shared/item.model';
+
+@Component({
+ selector: 'ds-themed-metadata-representation-list',
+ styleUrls: [],
+ templateUrl: '../../../shared/theme-support/themed.component.html',
+})
+export class ThemedMetadataRepresentationListComponent extends ThemedComponent {
+ protected inAndOutputNames: (keyof MetadataRepresentationListComponent & keyof this)[] = ['parentItem', 'itemType', 'metadataFields', 'label', 'incrementBy'];
+
+ @Input() parentItem: Item;
+
+ @Input() itemType: string;
+
+ @Input() metadataFields: string[];
+
+ @Input() label: string;
+
+ @Input() incrementBy = 10;
+
+ protected getComponentName(): string {
+ return 'MetadataRepresentationListComponent';
+ }
+
+ protected importThemedComponent(themeName: string): Promise {
+ return import(`../../../../themes/${themeName}/app/item-page/simple/metadata-representation-list/metadata-representation-list.component`);
+ }
+
+ protected importUnthemedComponent(): Promise {
+ return import(`./metadata-representation-list.component`);
+ }
+}
diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html
index c82c1bd928..b72a8722ae 100644
--- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html
+++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html
@@ -12,7 +12,7 @@
{{'submission.sections.describe.relationship-lookup.search-tab.tab-title.' + relationshipOptions.relationshipType | translate : { count: (totalInternal$ | async)} }}
-
-
+
{{'submission.sections.describe.relationship-lookup.search-tab.tab-title.' + source.id | translate : { count: (totalExternal$ | async)[idx] } }}
-
-
+
diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/themed-dynamic-lookup-relation-external-source-tab.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/themed-dynamic-lookup-relation-external-source-tab.component.ts
new file mode 100644
index 0000000000..f3d8421365
--- /dev/null
+++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/themed-dynamic-lookup-relation-external-source-tab.component.ts
@@ -0,0 +1,62 @@
+import { ThemedComponent } from '../../../../../theme-support/themed.component';
+import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { RelationshipOptions } from '../../../models/relationship-options.model';
+import { ListableObject } from '../../../../../object-collection/shared/listable-object.model';
+import { Context } from '../../../../../../core/shared/context.model';
+import { Item } from '../../../../../../core/shared/item.model';
+import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component';
+import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service';
+import { Collection } from '../../../../../../core/shared/collection.model';
+import { ExternalSource } from '../../../../../../core/shared/external-source.model';
+import { DsDynamicLookupRelationExternalSourceTabComponent } from './dynamic-lookup-relation-external-source-tab.component';
+import { fadeIn, fadeInOut } from '../../../../../animations/fade';
+
+@Component({
+ selector: 'ds-themed-dynamic-lookup-relation-external-source-tab',
+ styleUrls: [],
+ templateUrl: '../../../../../theme-support/themed.component.html',
+ providers: [
+ {
+ provide: SEARCH_CONFIG_SERVICE,
+ useClass: SearchConfigurationService
+ }
+ ],
+ animations: [
+ fadeIn,
+ fadeInOut
+ ]
+})
+export class ThemedDynamicLookupRelationExternalSourceTabComponent extends ThemedComponent {
+ protected inAndOutputNames: (keyof DsDynamicLookupRelationExternalSourceTabComponent & keyof this)[] = ['label', 'listId',
+ 'item', 'collection', 'relationship', 'context', 'repeatable', 'importedObject', 'externalSource'];
+
+ @Input() label: string;
+
+ @Input() listId: string;
+
+ @Input() item: Item;
+
+ @Input() collection: Collection;
+
+ @Input() relationship: RelationshipOptions;
+
+ @Input() context: Context;
+
+ @Input() repeatable: boolean;
+
+ @Output() importedObject: EventEmitter = new EventEmitter();
+
+ @Input() externalSource: ExternalSource;
+
+ protected getComponentName(): string {
+ return 'DsDynamicLookupRelationExternalSourceTabComponent';
+ }
+
+ protected importThemedComponent(themeName: string): Promise {
+ return import(`../../../../../../../themes/${themeName}/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component`);
+ }
+
+ protected importUnthemedComponent(): Promise {
+ return import(`./dynamic-lookup-relation-external-source-tab.component`);
+ }
+}
diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/themed-dynamic-lookup-relation-search-tab.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/themed-dynamic-lookup-relation-search-tab.component.ts
new file mode 100644
index 0000000000..da998ed5a6
--- /dev/null
+++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/themed-dynamic-lookup-relation-search-tab.component.ts
@@ -0,0 +1,71 @@
+import { ThemedComponent } from '../../../../../theme-support/themed.component';
+import { DsDynamicLookupRelationSearchTabComponent } from './dynamic-lookup-relation-search-tab.component';
+import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { RelationshipOptions } from '../../../models/relationship-options.model';
+import { Observable } from 'rxjs';
+import { ListableObject } from '../../../../../object-collection/shared/listable-object.model';
+import { Context } from '../../../../../../core/shared/context.model';
+import { RelationshipType } from '../../../../../../core/shared/item-relationships/relationship-type.model';
+import { Item } from '../../../../../../core/shared/item.model';
+import { SearchResult } from '../../../../../search/models/search-result.model';
+import { SearchObjects } from '../../../../../search/models/search-objects.model';
+import { DSpaceObject } from '../../../../../../core/shared/dspace-object.model';
+import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component';
+import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service';
+
+@Component({
+ selector: 'ds-themed-dynamic-lookup-relation-search-tab',
+ styleUrls: [],
+ templateUrl: '../../../../../theme-support/themed.component.html',
+ providers: [
+ {
+ provide: SEARCH_CONFIG_SERVICE,
+ useClass: SearchConfigurationService
+ }
+ ]
+})
+export class ThemedDynamicLookupRelationSearchTabComponent extends ThemedComponent {
+ protected inAndOutputNames: (keyof DsDynamicLookupRelationSearchTabComponent & keyof this)[] = ['relationship', 'listId',
+ 'query', 'repeatable', 'selection$', 'context', 'relationshipType', 'item', 'isLeft', 'toRemove', 'isEditRelationship',
+ 'deselectObject', 'selectObject', 'resultFound'];
+
+ @Input() relationship: RelationshipOptions;
+
+ @Input() listId: string;
+
+ @Input() query: string;
+
+ @Input() repeatable: boolean;
+
+ @Input() selection$: Observable;
+
+ @Input() context: Context;
+
+ @Input() relationshipType: RelationshipType;
+
+ @Input() item: Item;
+
+ @Input() isLeft: boolean;
+
+ @Input() toRemove: SearchResult- [];
+
+ @Input() isEditRelationship: boolean;
+
+ @Output() deselectObject: EventEmitter = new EventEmitter();
+
+ @Output() selectObject: EventEmitter = new EventEmitter();
+
+ @Output() resultFound: EventEmitter> = new EventEmitter>();
+
+ protected getComponentName(): string {
+ return 'DsDynamicLookupRelationSearchTabComponent';
+ }
+
+ protected importThemedComponent(themeName: string): Promise {
+ return import(`../../../../../../../themes/${themeName}/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component`);
+ }
+
+ protected importUnthemedComponent(): Promise {
+ return import(`./dynamic-lookup-relation-search-tab.component`);
+ }
+}
diff --git a/src/app/shared/form/form.module.ts b/src/app/shared/form/form.module.ts
index 51ebaee1b8..de18c53363 100644
--- a/src/app/shared/form/form.module.ts
+++ b/src/app/shared/form/form.module.ts
@@ -40,6 +40,8 @@ import { NgxMaskModule } from 'ngx-mask';
import { ThemedExternalSourceEntryImportModalComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/themed-external-source-entry-import-modal.component';
import { NgbDatepickerModule, NgbTimepickerModule } from '@ng-bootstrap/ng-bootstrap';
import { CdkTreeModule } from '@angular/cdk/tree';
+import { ThemedDynamicLookupRelationSearchTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/themed-dynamic-lookup-relation-search-tab.component';
+import { ThemedDynamicLookupRelationExternalSourceTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/themed-dynamic-lookup-relation-external-source-tab.component';
const COMPONENTS = [
CustomSwitchComponent,
@@ -48,8 +50,10 @@ const COMPONENTS = [
DsDynamicListComponent,
DsDynamicLookupComponent,
DsDynamicLookupRelationSearchTabComponent,
+ ThemedDynamicLookupRelationSearchTabComponent,
DsDynamicLookupRelationSelectionTabComponent,
DsDynamicLookupRelationExternalSourceTabComponent,
+ ThemedDynamicLookupRelationExternalSourceTabComponent,
DsDynamicDisabledComponent,
DsDynamicLookupRelationModalComponent,
DsDynamicScrollableDropdownComponent,
diff --git a/src/themes/custom/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.html b/src/themes/custom/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.html
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/themes/custom/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts b/src/themes/custom/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts
new file mode 100644
index 0000000000..8a6036a23b
--- /dev/null
+++ b/src/themes/custom/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts
@@ -0,0 +1,11 @@
+import { MetadataRepresentationListComponent as BaseComponent } from '../../../../../../app/item-page/simple/metadata-representation-list/metadata-representation-list.component';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'ds-metadata-representation-list',
+ // templateUrl: './metadata-representation-list.component.html'
+ templateUrl: '../../../../../../app/item-page/simple/metadata-representation-list/metadata-representation-list.component.html'
+})
+export class MetadataRepresentationListComponent extends BaseComponent {
+
+}
diff --git a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.html b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.html
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.scss b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.scss
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts
new file mode 100644
index 0000000000..569d007b4d
--- /dev/null
+++ b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts
@@ -0,0 +1,26 @@
+import { DsDynamicLookupRelationExternalSourceTabComponent as BaseComponent } from '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component';
+import { Component } from '@angular/core';
+import { SEARCH_CONFIG_SERVICE } from '../../../../../../../../../app/my-dspace-page/my-dspace-page.component';
+import { SearchConfigurationService } from '../../../../../../../../../app/core/shared/search/search-configuration.service';
+import { fadeIn, fadeInOut } from '../../../../../../../../../app/shared/animations/fade';
+
+@Component({
+ selector: 'ds-dynamic-lookup-relation-external-source-tab',
+ // styleUrls: ['./dynamic-lookup-relation-external-source-tab.component.scss'],
+ styleUrls: ['../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.scss'],
+ // templateUrl: './dynamic-lookup-relation-external-source-tab.component.html',
+ templateUrl: '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.html',
+ providers: [
+ {
+ provide: SEARCH_CONFIG_SERVICE,
+ useClass: SearchConfigurationService
+ }
+ ],
+ animations: [
+ fadeIn,
+ fadeInOut
+ ]
+})
+export class DsDynamicLookupRelationExternalSourceTabComponent extends BaseComponent {
+
+}
diff --git a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.html b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.html
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.scss b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.scss
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts
new file mode 100644
index 0000000000..2380cc67e8
--- /dev/null
+++ b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts
@@ -0,0 +1,21 @@
+import { DsDynamicLookupRelationSearchTabComponent as BaseComponent } from '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component';
+import { Component } from '@angular/core';
+import { SEARCH_CONFIG_SERVICE } from '../../../../../../../../../app/my-dspace-page/my-dspace-page.component';
+import { SearchConfigurationService } from '../../../../../../../../../app/core/shared/search/search-configuration.service';
+
+@Component({
+ selector: 'ds-dynamic-lookup-relation-search-tab',
+ // styleUrls: ['./dynamic-lookup-relation-search-tab.component.scss'],
+ styleUrls: ['../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.scss'],
+ // templateUrl: './dynamic-lookup-relation-search-tab.component.html',
+ templateUrl: '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.html',
+ providers: [
+ {
+ provide: SEARCH_CONFIG_SERVICE,
+ useClass: SearchConfigurationService
+ }
+ ]
+})
+export class DsDynamicLookupRelationSearchTabComponent extends BaseComponent {
+
+}
diff --git a/src/themes/custom/lazy-theme.module.ts b/src/themes/custom/lazy-theme.module.ts
index 0fc1970626..9c2b888999 100644
--- a/src/themes/custom/lazy-theme.module.ts
+++ b/src/themes/custom/lazy-theme.module.ts
@@ -130,6 +130,9 @@ import { ItemAlertsComponent } from './app/item-page/alerts/item-alerts.componen
import {
FullFileSectionComponent
} from './app/item-page/full/field-components/file-section/full-file-section.component';
+import { MetadataRepresentationListComponent } from './app/item-page/simple/metadata-representation-list/metadata-representation-list.component';
+import { DsDynamicLookupRelationSearchTabComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component';
+import { DsDynamicLookupRelationExternalSourceTabComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component';
const DECLARATIONS = [
FileSectionComponent,
@@ -189,6 +192,9 @@ const DECLARATIONS = [
DsoEditMetadataComponent,
ItemAlertsComponent,
FullFileSectionComponent,
+ MetadataRepresentationListComponent,
+ DsDynamicLookupRelationSearchTabComponent,
+ DsDynamicLookupRelationExternalSourceTabComponent,
];
@NgModule({