Merge pull request #2853 from 4Science/main-optimize-metadata-represenation-rendering

Avoid metadata representation element is rendered twice when checking the browse configuration
This commit is contained in:
Tim Donohue
2024-06-05 15:23:26 -05:00
committed by GitHub
2 changed files with 6 additions and 6 deletions

View File

@@ -9,7 +9,7 @@ import { map } from 'rxjs/operators';
import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service';
import { BrowseDefinition } from '../../../../core/shared/browse-definition.model'; import { BrowseDefinition } from '../../../../core/shared/browse-definition.model';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { getRemoteDataPayload } from '../../../../core/shared/operators'; import { getFirstCompletedRemoteData } from '../../../../core/shared/operators';
import { MetadataValuesComponent } from '../../../field-components/metadata-values/metadata-values.component'; import { MetadataValuesComponent } from '../../../field-components/metadata-values/metadata-values.component';
import { ImageField } from './image-field'; import { ImageField } from './image-field';
@@ -75,8 +75,8 @@ export class ItemPageFieldComponent {
*/ */
get browseDefinition(): Observable<BrowseDefinition> { get browseDefinition(): Observable<BrowseDefinition> {
return this.browseDefinitionDataService.findByFields(this.fields).pipe( return this.browseDefinitionDataService.findByFields(this.fields).pipe(
getRemoteDataPayload(), getFirstCompletedRemoteData(),
map((def) => def), map((def) => def.payload),
); );
} }
} }

View File

@@ -22,7 +22,7 @@ import { Item } from '../../../core/shared/item.model';
import { MetadataValue } from '../../../core/shared/metadata.models'; import { MetadataValue } from '../../../core/shared/metadata.models';
import { MetadataRepresentation } from '../../../core/shared/metadata-representation/metadata-representation.model'; import { MetadataRepresentation } from '../../../core/shared/metadata-representation/metadata-representation.model';
import { MetadatumRepresentation } from '../../../core/shared/metadata-representation/metadatum/metadatum-representation.model'; import { MetadatumRepresentation } from '../../../core/shared/metadata-representation/metadatum/metadatum-representation.model';
import { getRemoteDataPayload } from '../../../core/shared/operators'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators';
import { ThemedLoadingComponent } from '../../../shared/loading/themed-loading.component'; import { ThemedLoadingComponent } from '../../../shared/loading/themed-loading.component';
import { MetadataFieldWrapperComponent } from '../../../shared/metadata-field-wrapper/metadata-field-wrapper.component'; import { MetadataFieldWrapperComponent } from '../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
import { MetadataRepresentationLoaderComponent } from '../../../shared/metadata-representation/metadata-representation-loader.component'; import { MetadataRepresentationLoaderComponent } from '../../../shared/metadata-representation/metadata-representation-loader.component';
@@ -112,8 +112,8 @@ export class MetadataRepresentationListComponent extends AbstractIncrementalList
searchKeyArray = searchKeyArray.concat(BrowseService.toSearchKeyArray(field)); searchKeyArray = searchKeyArray.concat(BrowseService.toSearchKeyArray(field));
}); });
return this.browseDefinitionDataService.findByFields(this.metadataFields).pipe( return this.browseDefinitionDataService.findByFields(this.metadataFields).pipe(
getRemoteDataPayload(), getFirstCompletedRemoteData(),
map((def) => Object.assign(new MetadatumRepresentation(this.itemType, def), metadatum)), map((def) => Object.assign(new MetadatumRepresentation(this.itemType, def.payload), metadatum)),
); );
} }
}), }),