diff --git a/src/app/cdk/side-bar/side-bar/side-bar.component.html b/src/app/cdk/side-bar/side-bar/side-bar.component.html
index d54cc35d53..007bf37dd5 100644
--- a/src/app/cdk/side-bar/side-bar/side-bar.component.html
+++ b/src/app/cdk/side-bar/side-bar/side-bar.component.html
@@ -120,7 +120,7 @@
[isPublicRecord]="isPublicRecord"
[type]="'side-bar'"
class="side-bar"
- id="personal-identifiers-panel"
+ id="other-identifiers"
[(openState)]="externalIdentifierOpenState"
[userRecord]="userRecord"
>
diff --git a/src/app/cdk/side-bar/side-bar/side-bar.component.ts b/src/app/cdk/side-bar/side-bar/side-bar.component.ts
index a13fb9b5a4..039896d4fd 100644
--- a/src/app/cdk/side-bar/side-bar/side-bar.component.ts
+++ b/src/app/cdk/side-bar/side-bar/side-bar.component.ts
@@ -18,6 +18,7 @@ import { ModalEmailComponent } from '../modals/modal-email/modal-email.component
import { ModalKeywordComponent } from '../modals/modal-keyword/modal-keyword.component'
import { ModalPersonIdentifiersComponent } from '../modals/modal-person-identifiers/modal-person-identifiers.component'
import { ModalWebsitesComponent } from '../modals/modal-websites/modal-websites.component'
+import { ActivatedRoute } from '@angular/router'
@Component({
selector: 'app-side-bar',
@@ -66,11 +67,13 @@ export class SideBarComponent implements OnInit, OnDestroy {
emailsOpenState = false
regionPersonalInformation = $localize`:@@shared.personalInformation:Personal information`
+ fragment: string
constructor(
_platform: PlatformInfoService,
private _user: UserService,
- private _record: RecordService
+ private _record: RecordService,
+ private _route: ActivatedRoute
) {
_platform
.get()
@@ -82,6 +85,8 @@ export class SideBarComponent implements OnInit, OnDestroy {
ngOnInit(): void {
this.getRecord()
+ this.externalIdentifierOpenState =
+ this._route.snapshot.fragment === 'other-identifiers'
}
private getRecord() {
diff --git a/src/app/record/pages/my-orcid/my-orcid.component.ts b/src/app/record/pages/my-orcid/my-orcid.component.ts
index 6d04687301..44145cb259 100644
--- a/src/app/record/pages/my-orcid/my-orcid.component.ts
+++ b/src/app/record/pages/my-orcid/my-orcid.component.ts
@@ -1,8 +1,14 @@
-import { Component, Inject, OnDestroy, OnInit } from '@angular/core'
+import {
+ ChangeDetectorRef,
+ Component,
+ Inject,
+ OnDestroy,
+ OnInit,
+} from '@angular/core'
import { ActivatedRoute, Router } from '@angular/router'
import { PlatformInfo, PlatformInfoService } from 'src/app/cdk/platform-info'
import { ORCID_REGEXP } from 'src/app/constants'
-import { first, switchMap, takeUntil, tap } from 'rxjs/operators'
+import { first, switchMap, take, takeUntil, tap } from 'rxjs/operators'
import { RecordService } from '../../../core/record/record.service'
import { Subject } from 'rxjs'
import { MainPanelsState, UserRecord } from '../../../types/record.local'
@@ -59,6 +65,7 @@ export class MyOrcidComponent implements OnInit, OnDestroy {
regionActivities = $localize`:@@shared.activities:Activities`
readyForIndexing: boolean
+ fragment: string
constructor(
_userInfoService: UserInfoService,
@@ -72,7 +79,8 @@ export class MyOrcidComponent implements OnInit, OnDestroy {
private _userSession: UserService,
@Inject(WINDOW) private window: Window,
private _togglz: TogglzService,
- private _scriptService: ScriptService
+ private _scriptService: ScriptService,
+ private _changeDetectorRef: ChangeDetectorRef
) {}
private checkIfThisIsAPublicOrcid() {
@@ -98,6 +106,14 @@ export class MyOrcidComponent implements OnInit, OnDestroy {
ngOnInit(): void {
this.checkIfThisIsAPublicOrcid()
this.affiliations = 0
+ // Remove fragment temporally, to adding back when items have loaded
+ this.route.fragment.pipe(take(1)).subscribe((fragment) => {
+ if (fragment) {
+ this.fragment = fragment
+ this._router.navigate([], { fragment: '' })
+ }
+ })
+
this._platform.get().subscribe((value) => (this.platform = value))
this._record
.getRecord({
@@ -140,6 +156,38 @@ export class MyOrcidComponent implements OnInit, OnDestroy {
}
this._openGraph.addOpenGraphData(userRecord, { force: true })
+
+
+ // Add back fragment when items have loaded
+ if (
+ userRecord.works &&
+ userRecord.fundings &&
+ userRecord.peerReviews &&
+ userRecord.researchResources &&
+ userRecord.affiliations &&
+ userRecord.externalIdentifier &&
+ [
+ 'works',
+ 'affiliations',
+ 'peer-reviews',
+ 'funding',
+ 'professional-activities',
+ ].find((x) => x === this.fragment)
+ ) {
+ setTimeout(() => {
+ document.querySelector('#' + this.fragment).scrollIntoView()
+ this._router.navigate([], { fragment: this.fragment })
+ })
+ }
+ if (
+ userRecord.externalIdentifier &&
+ this.fragment === 'other-identifiers'
+ ) {
+ setTimeout(() => {
+ document.querySelector('#' + this.fragment).scrollIntoView()
+ this._router.navigate([], { fragment: this.fragment })
+ })
+ }
}),
switchMap(() => this._togglz.getTogglz().pipe(first())),
tap((togglz) => {
diff --git a/src/app/trusted-summary/pages/trusted-summary/trusted-summary.component.html b/src/app/trusted-summary/pages/trusted-summary/trusted-summary.component.html
index b8d4ce041d..ebbb7e7a9f 100644
--- a/src/app/trusted-summary/pages/trusted-summary/trusted-summary.component.html
+++ b/src/app/trusted-summary/pages/trusted-summary/trusted-summary.component.html
@@ -63,7 +63,7 @@ {{ trustedSummary.name }}
>
@@ -75,54 +75,47 @@
[url]="trustedSummary?.orcid"
[activitySummary]="trustedSummary.employmentAffiliations"
>
-
-
- KEY DATES
-
-
-
-
- -
-
+
+
KEY DATES
+
+
+ -
+
+
-
- Record created
-
-
-
-
- -
-
+
+
+
+ -
+
+
-
- Last updated
-
-
-
-
-
-
-
+ Last updated
+
+
+
+
+
+