From 29d04c06b96002e042540bb6ccfc057ef6ca8bb5 Mon Sep 17 00:00:00 2001 From: Lotte Hofstede Date: Tue, 29 Aug 2017 13:21:44 +0200 Subject: [PATCH] 44024: search page finalisation --- ...-search-result-list-element.component.html | 8 +--- ...-search-result-list-element.component.html | 8 +--- ...-search-result-list-element.component.html | 12 +++--- .../search-result-list-element.component.ts | 38 +++++++++++++++++++ tslint.json | 2 +- 5 files changed, 48 insertions(+), 20 deletions(-) diff --git a/src/app/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html b/src/app/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html index f35d8766b0..914fb49487 100644 --- a/src/app/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html +++ b/src/app/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html @@ -1,6 +1,2 @@ - - {{dso.name}} - -
- {{dso.shortDescription}} -
+ +
diff --git a/src/app/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html b/src/app/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html index 218c210be2..d09ef7d668 100644 --- a/src/app/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html +++ b/src/app/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html @@ -1,6 +1,2 @@ - - {{dso.name}} - -
- {{dso.shortDescription}} -
+ +
diff --git a/src/app/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.html b/src/app/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.html index e963b6abbf..27b40eeeeb 100644 --- a/src/app/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.html +++ b/src/app/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component.html @@ -1,14 +1,12 @@ - - {{dso.findMetadata("dc.title")}} - +
- {{authorMd.value}} - ; + + - ({{dso.findMetadata("dc.publisher")}}, {{dso.findMetadata("dc.date.issued")}}) + (, ) -
{{dso.findMetadata("dc.description.abstract") | dsTruncate:[200] }}
+
diff --git a/src/app/object-list/search-result-list-element/search-result-list-element.component.ts b/src/app/object-list/search-result-list-element/search-result-list-element.component.ts index 72c55b0c64..3a2bf51c97 100644 --- a/src/app/object-list/search-result-list-element/search-result-list-element.component.ts +++ b/src/app/object-list/search-result-list-element/search-result-list-element.component.ts @@ -4,6 +4,8 @@ import { ObjectListElementComponent } from '../object-list-element/object-list-e import { ListableObject } from '../listable-object/listable-object.model'; import { SearchResult } from '../../search/search-result.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { Metadatum } from '../../core/shared/metadatum.model'; +import { isEmpty, hasNoValue } from '../../shared/empty.util'; @Component({ selector: 'ds-search-result-list-element', @@ -12,8 +14,44 @@ import { DSpaceObject } from '../../core/shared/dspace-object.model'; export class SearchResultListElementComponent, K extends DSpaceObject> extends ObjectListElementComponent { dso: K; + public constructor(@Inject('objectElementProvider') public listable: ListableObject) { super(listable); this.dso = this.object.dspaceObject; } + + getValues(keys: string[]): string[] { + const results: string[] = new Array(); + this.object.hitHighlights.forEach( + (md: Metadatum) => { + if (keys.indexOf(md.key) > -1) { + results.push(md.value); + } + } + ); + if (isEmpty(results)) { + this.dso.filterMetadata(keys).forEach( + (md: Metadatum) => { + results.push(md.value); + } + ); + } + return results; + } + + getFirstValue(key: string): string { + let result: string; + this.object.hitHighlights.some( + (md: Metadatum) => { + if (key === md.key) { + result = md.value; + return true; + } + } + ); + if (hasNoValue(result)) { + result = this.dso.findMetadata(key); + } + return result; + } } diff --git a/tslint.json b/tslint.json index f971919ec6..8b685b8026 100644 --- a/tslint.json +++ b/tslint.json @@ -53,7 +53,7 @@ "no-debugger": true, "no-duplicate-variable": true, "no-empty": true, - "no-empty-interface": true, + "no-empty-interface": false, "no-eval": true, "no-forward-ref": true, "no-inferrable-types": [