Avoid metadata representation element is rendered twice when checking the browse configuration

This commit is contained in:
Giuseppe Digilio
2024-03-05 17:18:25 +01:00
parent 761b0c2203
commit 91de2e78bc
2 changed files with 6 additions and 6 deletions

View File

@@ -4,7 +4,7 @@ import { map } from 'rxjs/operators';
import { Observable } from 'rxjs';
import { BrowseDefinition } from '../../../../core/shared/browse-definition.model';
import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service';
import { getRemoteDataPayload } from '../../../../core/shared/operators';
import { getFirstCompletedRemoteData } from '../../../../core/shared/operators';
/**
* Interface that encapsulate Image configuration for this component.
@@ -81,8 +81,8 @@ export class ItemPageFieldComponent {
*/
get browseDefinition(): Observable<BrowseDefinition> {
return this.browseDefinitionDataService.findByFields(this.fields).pipe(
getRemoteDataPayload(),
map((def) => def)
getFirstCompletedRemoteData(),
map((def) => def.payload)
);
}
}

View File

@@ -9,7 +9,7 @@ import { MetadataValue } from '../../../core/shared/metadata.models';
import { Item } from '../../../core/shared/item.model';
import { AbstractIncrementalListComponent } from '../abstract-incremental-list/abstract-incremental-list.component';
import { map } from 'rxjs/operators';
import { getRemoteDataPayload } from '../../../core/shared/operators';
import { getFirstCompletedRemoteData } from '../../../core/shared/operators';
import {
MetadatumRepresentation
} from '../../../core/shared/metadata-representation/metadatum/metadatum-representation.model';
@@ -96,8 +96,8 @@ export class MetadataRepresentationListComponent extends AbstractIncrementalList
searchKeyArray = searchKeyArray.concat(BrowseService.toSearchKeyArray(field));
});
return this.browseDefinitionDataService.findByFields(this.metadataFields).pipe(
getRemoteDataPayload(),
map((def) => Object.assign(new MetadatumRepresentation(this.itemType, def), metadatum))
getFirstCompletedRemoteData(),
map((def) => Object.assign(new MetadatumRepresentation(this.itemType, def.payload), metadatum))
);
}
}),