{
return this.getMetadataRepresentationComponent(this.mdRepresentation.itemType, this.mdRepresentation.representationType, this.context, this.themeService.getThemeName());
}
+
+ /**
+ * Connect the in and outputs of this component to the dynamic component,
+ * to ensure they're in sync
+ */
+ protected connectInputsAndOutputs(): void {
+ if (isNotEmpty(this.inAndOutputNames) && hasValue(this.compRef) && hasValue(this.compRef.instance)) {
+ this.inAndOutputNames.filter((name: any) => this[name] !== undefined).forEach((name: any) => {
+ this.compRef.instance[name] = this[name];
+ });
+ }
+ }
}
diff --git a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.html b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.html
index 91219c7189..904ea95c20 100644
--- a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.html
+++ b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.html
@@ -1 +1 @@
-
+
diff --git a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts
index 6e48ba3a6f..99052b6b14 100644
--- a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts
+++ b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts
@@ -23,7 +23,7 @@ describe('ItemMetadataListElementComponent', () => {
beforeEach(waitForAsync(() => {
fixture = TestBed.createComponent(ItemMetadataListElementComponent);
comp = fixture.componentInstance;
- comp.metadataRepresentation = mockItemMetadataRepresentation;
+ comp.mdRepresentation = mockItemMetadataRepresentation;
fixture.detectChanges();
}));
diff --git a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts
index 967b09986d..c4a6903129 100644
--- a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts
+++ b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts
@@ -1,5 +1,5 @@
import { MetadataRepresentationListElementComponent } from '../metadata-representation-list-element.component';
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, Input } from '@angular/core';
import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-representation/item/item-metadata-representation.model';
import { getItemPageRoute } from '../../../../item-page/item-page-routing-paths';
@@ -11,7 +11,7 @@ import { getItemPageRoute } from '../../../../item-page/item-page-routing-paths'
* An abstract class for displaying a single ItemMetadataRepresentation
*/
export class ItemMetadataRepresentationListElementComponent extends MetadataRepresentationListElementComponent implements OnInit {
- metadataRepresentation: ItemMetadataRepresentation;
+ @Input() mdRepresentation: ItemMetadataRepresentation;
/**
* Route to the item's page
@@ -19,6 +19,6 @@ export class ItemMetadataRepresentationListElementComponent extends MetadataRepr
itemPageRoute: string;
ngOnInit(): void {
- this.itemPageRoute = getItemPageRoute(this.metadataRepresentation);
+ this.itemPageRoute = getItemPageRoute(this.mdRepresentation);
}
}
diff --git a/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.ts b/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.ts
index 2e14485fbb..b13dd60601 100644
--- a/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.ts
+++ b/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.ts
@@ -1,5 +1,6 @@
-import { Component } from '@angular/core';
+import { Component, Input } from '@angular/core';
import { MetadataRepresentation } from '../../../core/shared/metadata-representation/metadata-representation.model';
+import { Context } from '../../../core/shared/context.model';
@Component({
selector: 'ds-metadata-representation-list-element',
@@ -9,8 +10,13 @@ import { MetadataRepresentation } from '../../../core/shared/metadata-representa
* An abstract class for displaying a single MetadataRepresentation
*/
export class MetadataRepresentationListElementComponent {
+ /**
+ * The optional context
+ */
+ @Input() context: Context;
+
/**
* The metadata representation of this component
*/
- metadataRepresentation: MetadataRepresentation;
+ @Input() mdRepresentation: MetadataRepresentation;
}
diff --git a/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.html b/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.html
index 31b670b1a3..cd199836b6 100644
--- a/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.html
+++ b/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.html
@@ -1,3 +1,3 @@
- {{metadataRepresentation.getValue()}}
+ {{mdRepresentation.getValue()}}
diff --git a/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts b/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts
index af09d3c204..39ee54c32b 100644
--- a/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts
+++ b/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts
@@ -25,7 +25,7 @@ describe('PlainTextMetadataListElementComponent', () => {
beforeEach(waitForAsync(() => {
fixture = TestBed.createComponent(PlainTextMetadataListElementComponent);
comp = fixture.componentInstance;
- comp.metadataRepresentation = mockMetadataRepresentation;
+ comp.mdRepresentation = mockMetadataRepresentation;
fixture.detectChanges();
}));