Skip to content

Commit 4940778

Browse files
enea4sciencecorrad82-4s
authored andcommitted
Merged in DSC-1023 (pull request DSpace#578)
DSC-1023: Get Page title prefix from api
2 parents 588bbe5 + 31aa680 commit 4940778

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

src/app/core/metadata/metadata.service.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ import { Bitstream } from '../shared/bitstream.model';
1919
import { DSpaceObject } from '../shared/dspace-object.model';
2020
import { Item } from '../shared/item.model';
2121
import {
22-
getFirstCompletedRemoteData,
22+
debounceTimeWorkaround,
23+
getFirstCompletedRemoteData, getFirstSucceededRemoteData,
2324
getFirstSucceededRemoteDataPayload
2425
} from '../shared/operators';
2526
import { RootDataService } from '../data/root-data.service';
@@ -40,6 +41,7 @@ import { getDownloadableBitstream } from '../shared/bitstream.operators';
4041
import { SchemaJsonLDService } from './schema-json-ld/schema-json-ld.service';
4142
import { ITEM } from '../shared/item.resource-type';
4243
import { isPlatformServer } from '@angular/common';
44+
import { Root } from '../data/root.model';
4345

4446
/**
4547
* The base selector function to select the metaTag section in the store
@@ -120,12 +122,19 @@ export class MetadataService {
120122
}
121123

122124
if (routeInfo.data.value.title) {
123-
const titlePrefix = this.translate.get('repository.title.prefix');
125+
const pageName$ = this.rootService.findRoot(true).pipe(
126+
getFirstCompletedRemoteData(),
127+
map((rootRD: RemoteData<Root>) => rootRD.payload.dspaceName),
128+
);
129+
124130
const title = this.translate.get(routeInfo.data.value.title, routeInfo.data.value);
125-
combineLatest([titlePrefix, title]).pipe(take(1)).subscribe(([translatedTitlePrefix, translatedTitle]: [string, string]) => {
126-
this.addMetaTag('title', translatedTitlePrefix + translatedTitle);
127-
this.title.setTitle(translatedTitlePrefix + translatedTitle);
128-
});
131+
combineLatest([ pageName$, title ])
132+
.pipe(take(1))
133+
.subscribe(([ translatedTitlePrefix, translatedTitle ]: [ string, string ]) => {
134+
let finalTitle = translatedTitlePrefix + ' :: ' + translatedTitle;
135+
this.addMetaTag('title', finalTitle);
136+
this.title.setTitle(finalTitle);
137+
});
129138
}
130139
if (routeInfo.data.value.description) {
131140
this.translate.get(routeInfo.data.value.description).pipe(take(1)).subscribe((translatedDescription: string) => {

0 commit comments

Comments
 (0)