diff --git a/apps/webcomponents/src/app/components/gn-record-view/gn-record-view.component.html b/apps/webcomponents/src/app/components/gn-record-view/gn-record-view.component.html index 7e4954909..643a9a2e5 100644 --- a/apps/webcomponents/src/app/components/gn-record-view/gn-record-view.component.html +++ b/apps/webcomponents/src/app/components/gn-record-view/gn-record-view.component.html @@ -1,78 +1,93 @@ - -
- {{ record.title }} -
+ + +
+ {{ record.title }} +
- + - - + + - + -
-
- record.metadata.download - +
+
+ record.metadata.download + +
+ + +
- - - -
-
-
- record.metadata.links - +
+
+ record.metadata.links + +
+ + +
- - - -
-
-
- record.metadata.api - +
+
+ record.metadata.api + +
+ + +
- - - -
- + + -

No record found for the provided ID.

+
diff --git a/apps/webcomponents/src/app/components/gn-record-view/gn-record-view.component.ts b/apps/webcomponents/src/app/components/gn-record-view/gn-record-view.component.ts index ac5fb466b..c59219922 100644 --- a/apps/webcomponents/src/app/components/gn-record-view/gn-record-view.component.ts +++ b/apps/webcomponents/src/app/components/gn-record-view/gn-record-view.component.ts @@ -13,6 +13,7 @@ import { CatalogRecord, OnlineResource, } from '@geonetwork-ui/common/domain/model/record' +import { ErrorType } from '@geonetwork-ui/ui/elements' // TODO in this component: // - Support metadata quality option @@ -26,42 +27,42 @@ import { encapsulation: ViewEncapsulation.ShadowDom, providers: [SearchFacade], }) - export class GnRecordViewComponent extends BaseComponent implements OnInit { - @Input() recordId!: string; - record$: Observable; - downloads$: Observable; - links$: Observable; - apis$: Observable; + @Input() recordId!: string + record$: Observable + downloads$: Observable + links$: Observable + apis$: Observable + errorType = ErrorType constructor(injector: Injector) { - super(injector); + super(injector) } ngOnInit() { - super.ngOnInit(); - this.record$ = this.recordsRepository.getRecord(this.recordId); + super.ngOnInit() + this.record$ = this.recordsRepository.getRecord(this.recordId) this.downloads$ = this.record$.pipe( map((record) => this.getDownloads(record?.onlineResources || [])) - ); + ) this.links$ = this.record$.pipe( map((record) => this.getLinks(record?.onlineResources || [])) - ); + ) this.apis$ = this.record$.pipe( map((record) => this.getAPIs(record?.onlineResources || [])) - ); + ) } getDownloads(onlineResources: OnlineResource[]): OnlineResource[] { - return onlineResources.filter((resource) => resource.type === 'download'); + return onlineResources.filter((resource) => resource.type === 'download') } getLinks(onlineResources: OnlineResource[]): OnlineResource[] { - return onlineResources.filter((resource) => resource.type === 'link'); + return onlineResources.filter((resource) => resource.type === 'link') } getAPIs(onlineResources: OnlineResource[]): OnlineResource[] { - return onlineResources.filter((resource) => resource.type === 'service'); + return onlineResources.filter((resource) => resource.type === 'service') } } diff --git a/apps/webcomponents/src/app/webcomponents.module.ts b/apps/webcomponents/src/app/webcomponents.module.ts index 5a0a8b342..31643415b 100644 --- a/apps/webcomponents/src/app/webcomponents.module.ts +++ b/apps/webcomponents/src/app/webcomponents.module.ts @@ -16,6 +16,7 @@ import { ContentGhostComponent, DownloadItemComponent, DownloadsListComponent, + ErrorComponent, ImageOverlayPreviewComponent, LinkCardComponent, MetadataContactComponent, @@ -130,6 +131,7 @@ const CUSTOM_ELEMENTS: [new (...args) => BaseComponent, string][] = [ ApiCardComponent, DownloadItemComponent, PreviousNextButtonsComponent, + ErrorComponent, ], providers: [ provideGn4(),