[Trunk | Library]:

1. myOrcidLinks.component.ts: 
	a. Remove comments from file.
	b. Update and move on top of the page, message about green icons and when the data will be synchronized with ORCID.
	c. Align "Discover research results related to you" on the right side of title.
	d. [Bug fix] Set "baseUrl" with properties.myOrcidLinksPage.
2. orcid-work.component.ts: Show last update date in ORCID, on hover of Update button.
3. searchResult.component.ts: Add a missing condition (|| properties.adminToolsPortalType == "community") to get ORCID putCodes for community dashboards except for Explore portal.
4. env-properties.ts: Added property "myOrcidLinksPage?: string;".
5. result-preview.component.html: 
	a. Add a missing condition (|| properties.adminToolsPortalType == "community") to get ORCID putCodes for community dashboards except for Explore portal.
	b. Hidle "result.orcidUpdateDates" from results preview (this info is moved on hover of update button).


git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@60875 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
konstantina.galouni 2021-04-16 08:31:05 +00:00
parent 01a6d0a22b
commit f7fe97900f
5 changed files with 117 additions and 269 deletions

View File

@ -10,11 +10,8 @@ import {properties} from "../../../../environments/environment";
import {OrcidService} from "../orcid.service";
import {Identifier, StringUtils} from "../../utils/string-utils.class";
import {SearchResearchResultsService} from "../../services/searchResearchResults.service";
import {Session} from "../../login/utils/helper.class";
import {LoginErrorCodes} from "../../login/utils/guardHelper.class";
import {SearchResult} from "../../utils/entities/searchResult";
import {ResultPreview} from "../../utils/result-preview/result-preview";
import {HttpClient} from "@angular/common/http";
import {Meta, Title} from "@angular/platform-browser";
import {UserManagementService} from "../../services/user-management.service";
import {PiwikService} from "../../utils/piwik/piwik.service";
@ -24,117 +21,80 @@ declare var UIkit: any;
@Component({
selector: 'my-orcid-links',
template: `
<!-- <div class="uk-section uk-padding-remove-bottom uk-padding-remove-top">-->
<!-- <div class="explorePanelBackground communityPanelBackground uk-padding-small">-->
<!-- <div class="uk-container uk-container-large uk-margin-small-top uk-margin-small-bottom">-->
<!-- <breadcrumbs [light]="!!(this.communityId)" [breadcrumbs]="breadcrumbs"></breadcrumbs>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<div class="">
<div class="uk-container uk-container-large uk-margin-top">
<div class="uk-article-title custom-article-title">
My ORCID links
</div>
<div class="uk-container uk-container-large">
<div class="uk-margin-medium-bottom">
<div class="uk-margin-top">
<span *ngIf="authorNameParam">
<a class="uk-button-text" [queryParams]="authorNameParam"
[routerLink]="properties.searchLinkToAdvancedResults" routerLinkActive="router-link-active">
Discover research results related to you
</a>
</span>
<span class="uk-align-right@m uk-margin-remove">
Need help?
<a href="https://www.openaire.eu/openaire-explore-integration-with-the-orcid-search-and-link-wizard" target="_blank">
Read more <span class="custom-external custom-icon space"></span>
</a>
</span>
</div>
<div *ngIf="showErrorMessage" class="uk-animation-fade uk-alert uk-alert-warning uk-margin-large-top" role="alert">
An Error Occurred
</div>
<div *ngIf="!showLoading && !orcidQuery && !requestGrant && !showErrorMessage"
class="uk-animation-fade uk-alert uk-alert-primary uk-margin-large-top" role="alert">
No ORCID links found
</div>
<div *ngIf="requestGrant" class="uk-margin-large-top">
<div class="uk-text-center uk-padding-small">
<div>
This is a private page, only for users that have connected their ORCID iD with OpenAIRE.
Please grant OpenAIRE to access and update your ORCID works.
<div class="uk-grid uk-flex uk-flex-middle">
<div class="uk-article-title custom-article-title uk-width-auto">
My ORCID links
</div>
<div class="uk-margin-medium-top uk-align-center">
<button (click)="openGrantWindow()" type="submit"
class="uk-button uk-padding-small uk-padding-remove-vertical uk-margin-left uk-button-primary">
<span>Grant OpenAIRE</span>
</button>
<span *ngIf="authorNameParam" class="uk-width-1-1 uk-width-expand@m">
<a class="uk-button-text uk-align-right@m" [queryParams]="authorNameParam"
[routerLink]="properties.searchLinkToAdvancedResults" routerLinkActive="router-link-active">
Discover research results related to you
</a>
</span>
</div>
<div class="uk-margin-top">
<span>
Did you link a result with your ORCID <img src="assets/common-assets/common/ORCIDiD_icon16x16.png" alt="">
but the <span class="orcid-color">green icon</span> is missing?
<br>
No worries! It will appear, as soon as we synchronize again with ORCID data.
<a href="https://www.openaire.eu/openaire-explore-integration-with-the-orcid-search-and-link-wizard"
target="_blank" class="uk-display-inline-block">
Read more <span class="custom-external custom-icon space"></span>
</a>
</span>
</div>
<div *ngIf="showErrorMessage" class="uk-animation-fade uk-alert uk-alert-warning uk-margin-large-top" role="alert">
An Error Occurred
</div>
<div *ngIf="!showLoading && !orcidQuery && !requestGrant && !showErrorMessage"
class="uk-animation-fade uk-alert uk-alert-primary uk-margin-large-top" role="alert">
No ORCID links found
</div>
<div *ngIf="requestGrant" class="uk-margin-large-top">
<div class="uk-text-center uk-padding-small">
<div>
This is a private page, only for users that have connected their ORCID iD with OpenAIRE.
Please grant OpenAIRE to access and update your ORCID works.
</div>
<div class="uk-margin-medium-top uk-align-center">
<button (click)="openGrantWindow()" type="submit"
class="uk-button uk-padding-small uk-padding-remove-vertical uk-margin-left uk-button-primary">
<span>Grant OpenAIRE</span>
</button>
</div>
</div>
</div>
</div>
</div>
<!-- <div *ngIf="orcidQuery" class="uk-container uk-container-large uk-margin-top">-->
<!-- <form -->
<!-- class="uk-margin-top uk-grid uk-margin-small-left ng-untouched ng-pristine ng-valid uk-form-width-large uk-float-right">-->
<!-- -->
<!-- <div class=" uk-padding-remove-left uk-margin-small-top uk-inline uk-width-expand">-->
<!-- <a *ngIf="keyword.length > 0" class="uk-form-icon uk-form-icon-flip"-->
<!-- (click)="keyword = ''"-->
<!-- uk-icon="icon: close"></a>-->
<!-- <input type="text" class="uk-input text-input-box uk-width-expand"-->
<!-- placeholder="Search by name, description, subject..." aria-describedby="sizing-addon2"-->
<!-- [(ngModel)]="keyword" name="keyword">-->
<!-- </div>-->
<!-- <div class="uk-padding-remove-left"> -->
<!-- <button (click)="keywordChanged()" type="submit"-->
<!-- class="portal-button uk-margin-small-left uk-margin-small-top uk-button">Search-->
<!-- </button>-->
<!-- </div>-->
<!-- -->
<!-- </form>-->
<!-- </div>-->
<!-- <div id="tm-main" class=" tm-middle" [class.uk-margin-top]="stickyForm">-->
<!-- <div uk-grid>-->
<!-- <div class="tm-main uk-width-1-1@s uk-width-1-1@m uk-width-1-1@l uk-row-first ">-->
<!-- <div class="uk-container uk-container-large">-->
<!-- <my-orcid-result [results]="results"-->
<!-- [status]="searchUtils.status"-->
<!-- [type]="resultType"-->
<!-- [properties]=properties>-->
<!-- </my-orcid-result>-->
<!-- </div> -->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
<div *ngIf="orcidQuery" class="tm-middle" id="tm-main">
<div uk-grid="" class="uk-grid uk-grid-stack">
<div class="tm-main uk-width-1-1@s uk-width-1-1@m uk-width-1-1@l uk-row-first uk-first-column">
<div class="uk-container uk-container-large">
<my-orcid-result [previewResults]="currentResults"
[status]="searchUtils.status"
[type]="resultType"
[properties]=properties
[currentPage]="currentPage"
[totalResults]="totalOrcidResults"
[resultsPerPage]="resultsPerPage"
(pageChange)="pageChanged($event)">
</my-orcid-result>
<div class="uk-text-center uk-margin-medium-top uk-margin-medium-bottom uk-animation-fade uk-alert" role="alert">
Your ORCID links will be visible in the OpenAIRE research results as soon as we synchronize our data with ORCID.
<div *ngIf="orcidQuery" class="tm-middle" id="tm-main">
<div uk-grid="" class="uk-grid uk-grid-stack">
<div class="tm-main uk-width-1-1@s uk-width-1-1@m uk-width-1-1@l uk-row-first uk-first-column">
<div class="uk-container uk-container-large">
<my-orcid-result [previewResults]="currentResults"
[status]="searchUtils.status"
[type]="resultType"
[properties]=properties
[currentPage]="currentPage"
[totalResults]="totalOrcidResults"
[resultsPerPage]="resultsPerPage"
(pageChange)="pageChanged($event)">
</my-orcid-result>
</div>
</div>
</div>
</div>
</div>
</div>
`
`,
styles: ['.orcid-color { color: #a6ce39; }']
})
export class MyOrcidLinksComponent {
public resultType: string = "result";
@ -159,9 +119,7 @@ export class MyOrcidLinksComponent {
@Input() public communityId: string = null;
depositLearnHowPage: string = null;
public routerHelper:RouterHelper = new RouterHelper();
// breadcrumbs:Breadcrumb[] = [];
parameters = {};
keyword = "";
@ -192,7 +150,6 @@ export class MyOrcidLinksComponent {
private _searchResearchResultsService: SearchResearchResultsService,
private userManagementService: UserManagementService,
private _meta: Meta, private _title: Title
// ,private http: HttpClient/*ATHENA CODE*/
) {
this.errorCodes = new ErrorCodes();
this.errorMessages = new ErrorMessagesComponent();
@ -211,45 +168,8 @@ export class MyOrcidLinksComponent {
public ngOnInit() {
this.properties = properties;
this.depositLearnHowPage = this.properties.depositLearnHowPage;
this.baseUrl = this.properties.depositSearchPage;
this.baseUrl = this.properties.myOrcidLinksPage;
this.pagingLimit = this.properties.pagingLimit;
// this.breadcrumbs.push({name: 'home', route: '/'}, {
// name: "Deposit",
// route: this.depositLearnHowPage
// }, {name: "Browse repositories", route: null});
// this.subscriptions.push(this.route.queryParams.subscribe(
// params => {
// this.searchUtils.page = params['page'] ? params['page']-1 : 1;
// this.searchUtils.size = params['size'] ? params['size'] : 5;
// let page = (params['page'] === undefined) ? 1 : +params['page'];
// this.searchUtils.page = (page <= 0) ? 1 : page;
// let size = (params['size'] === undefined) ? 5 : +params['size'];
// this.searchUtils.size = (size <= 0) ? 1 : size;
//
// if (params["type"]) {
// let types = params["type"];
// types = Array.isArray(types) ? types.join(',').split(","):types.split(",");
// types.map( function (t) {
// return StringUtils.unquote(StringUtils.URIDecode(t));
// } );
//
// if(types.indexOf("publications")!=-1 && types.indexOf("datasets")!=-1 && types.indexOf("software")!=-1 && types.indexOf("other")!=-1 ){
// this.typeQuery += "&type=results";
// }else{
// for (let type of types) {
// this.typeQuery += "&type=" + StringUtils.unquote(StringUtils.URIDecode(type));
// }
// }
// }else{
// this.typeQuery += "&type=results";
// }
// this.typeQuery = "&type=results";
// this.getLocalWorks(this.currentPage, this.resultsPerPage);
// }));
var description = "Openaire, ORCID linking, publication, research data, software, other research product";
this.updateTitle("My ORCID Links");
this.updateDescription(description);
@ -363,8 +283,6 @@ export class MyOrcidLinksComponent {
for(let pid of work['pids']) {
let identifier: Identifier = Identifier.getIdentifierFromString(pid);
this.orcidQuery += (this.orcidQuery ? " or " : "") + ('(pidclassid exact "'+identifier.class+'" and pid="'+StringUtils.URIEncode(identifier.id)+'")');
//this.orcidQuery = '(pidclassid exact "doi" and pid="10.1007/978-3-030-55814-7_16")';
// console.debug(this.orcidQuery);
}
}
this.showLoading = false;
@ -383,25 +301,12 @@ export class MyOrcidLinksComponent {
//this.subs.push(this._searchResearchResultsService.advancedSearchResults(this.resultType, parameters, page, size, sortBy, this.properties, null, this.searchPage.getFields(), refineFieldsFilterQuery)
.subscribe(
data => {
// this is for testing purposes only!
// let newRes = JSON.parse(JSON.stringify(data[1][0]));
// newRes.identifiers = new Map();
// newRes.identifiers.set("doi", [data[1][0].identifiers.get("doi")[1]]);
// data[1].push(newRes);
// console.log(data[1][data[0]]);
//
// data[1][0].identifiers.set("doi", [data[1][0].identifiers.get("doi")[0]]);
// console.log(data[1][0]);
//
// data[0] += 1;
let totalResults = data[0];
let results = data[1];
this.resultsReturned(results, totalResults, works);
},
err => {
// this.handleError("Error getting " + this.getEntityName(this.resultType, true, true), err);
console.error("Error getting " + this.getEntityName(this.resultType, true, true));
this.showLoading = false;
this.searchUtils.status = this.errorMessages.getErrorCode(err.status);
@ -444,65 +349,6 @@ export class MyOrcidLinksComponent {
})
}
// /////////////////////// ATHENA CODE ///////////////////////
// // console.log(data[1]);
// let dois = encodeURIComponent(results.map((result) => result.DOIs).join(","));
// console.log(dois);
// console.log(this.properties.impactFactorsAPIURL);
// if(dois.length > 0 && (this.properties.impactFactorsAPIURL && this.properties.impactFactorsAPIURL.length > 0) ) {
// let url = this.properties.impactFactorsAPIURL + dois;
// this.http.get((this.properties.useCache?(this.properties.cacheUrl+(encodeURIComponent(url))):url)).subscribe((data_received:any[]) => {
// let impact =[];
// data_received.forEach(function (result) {
// if(result.doi && result.doi.length > 0 && result.pop_class!=null && result.inf_class!=null)
// impact[result.doi]=result;
// });
// this.currentResults.forEach(function (result) {
// if(result.identifiers) {
// result.identifiers.get("doi").forEach(function (doi) {
// if (impact[doi]) {
// result.DOI = doi;
// }
//
// })
// }
// });
// for (let i = 0; i < this.currentResults.length; i++) {
// if (this.currentResults[i].DOI) {
// this.currentResults[i].pop_inf = new Array<string>();
// this.currentResults[i].pop_inf.push(impact[this.currentResults[i].DOI].pop_class, impact[this.currentResults[i].DOI].inf_class);
// if(this.currentResults[i].pop_inf[0]=="A"){
// // this.previewResults[i].pop_inf.push("High");
// this.currentResults[i].pop_inf.push("Exceptional");
// }else if(this.currentResults[i].pop_inf[0]=="B"){
// // this.previewResults[i].pop_inf.push("Average");
// this.currentResults[i].pop_inf.push("Substantial");
// }else{
// // this.previewResults[i].pop_inf.push("low");
// this.currentResults[i].pop_inf.push("Average");
// }
// if(this.currentResults[i].pop_inf[1]=="A"){
// // this.previewResults[i].pop_inf.push("Strong");
// this.currentResults[i].pop_inf.push("Exceptional");
// }else if(this.currentResults[i].pop_inf[1]=="B"){
// // this.previewResults[i].pop_inf.push("Average");
// this.currentResults[i].pop_inf.push("Substantial");
// }else{
// // this.previewResults[i].pop_inf.push("Weak");
// this.currentResults[i].pop_inf.push("Average");
// }
// }
// }
//
// }, error1 => {
// console.error("Failed to get Impact factors for elixir-gr")
// });
// // console.log(researchResults[1]);
//
// }
// /////////////////////// ATHENA CODE ///////////////////////
this.results[this.currentPage-1] = this.currentResults;
this.searchUtils.status = this.errorCodes.DONE;
@ -539,18 +385,10 @@ export class MyOrcidLinksComponent {
if(work['updateDate']) {
this.currentResults[this.currentResults.length - 1].orcidUpdateDates.push(work['updateDate']);
}
// this.currentResults[this.currentResults.length - 1].orcidPutCodes.push(work['putCode']);
// this.currentResults[this.currentResults.length - 1].orcidCreationDates.push(work['creationDate']);
// this.currentResults[this.currentResults.length - 1].orcidUpdateDates.push(work['creationDate']);
});
}
this.results[this.currentPage-1] = this.currentResults;
// if(!refine) {
// this.searchPage.buildPageURLParameters(this.filters, this.rangeFilters, false);
// }
this.searchUtils.status = this.errorCodes.DONE;
if (this.searchUtils.totalResults == 0) {
this.searchUtils.status = this.errorCodes.NONE;
@ -563,18 +401,6 @@ export class MyOrcidLinksComponent {
return ResultPreview.searchResultConvert(result, (result.entityType)?result.entityType:this.resultType);
}
// private handleError(message: string, error) {
// if(error && error.status == "401") {
// this.requestGrant = true;
// this.requestGrantMessage = "Please grant OpenAIRE to access and update your ORCID record and works. ";
// // + "If you have already granted OpenAIRE, you just need to login again to ORCID!";
// } else if(error && error.status == "403") {
// this.requestGrant = true;
// this.requestGrantMessage = "Please login again to ORCID."
// }
// console.error("My ORCID links Page: "+message, error);
// }
public getEntityName(entityType: string, plural: boolean, full: boolean): string {
if (entityType == "publication") {
return "publication" + (plural ? "s" : "");
@ -592,7 +418,6 @@ export class MyOrcidLinksComponent {
public pageChanged($event) {
this.currentPage = $event.value;
this.prepareOrcidQuery();
// this.getLocalWorks(this.currentPage, this.resultsPerPage);
}
handleError(error, errorMsg: string) {
@ -600,23 +425,11 @@ export class MyOrcidLinksComponent {
this.requestGrant = true;
} else {
this.showErrorMessage = true;
// UIkit.notification({
// message: errorMsg,
// status: 'warning',
// timeout: 6000,
// pos: 'bottom-right'
// });
}
this.showLoading = false;
}
private updateTitle(title: string) {
var _prefix = "";
// if(!this.communityId) {
// _prefix = "OpenAIRE | ";
// }
// var _title = _prefix + ((title.length > 50) ? title.substring(0, 50) : title);
this._title.setTitle(title);
this._meta.updateTag({content: title}, "property='og:title'");
}

View File

@ -161,7 +161,8 @@ declare var UIkit: any;
<span [attr.uk-tooltip]="(!putCodes || putCodes.length == 0)
? 'This work is currently deleted.'
: ('Update this work to your ORCID record' + ((properties.environment == 'beta') ? '. The action will affect your real ORCID iD.' : ''))">
: ('Update this work to your ORCID record' + ((properties.environment == 'beta') ? '. The action will affect your real ORCID iD.' : '')
+ showUpdateDatesInTooltip())">
<a (click)="currentAction='update'; updateWorkPreparation()"
[class]="'uk-button action uk-margin-top uk-flex uk-flex-middle '+ ((showLoading || !putCodes || putCodes.length == 0) ? 'uk-disabled' : '')">
<icon *ngIf="!showLoading || currentAction!='update'" name="refresh" ratio="1"></icon>
@ -386,6 +387,23 @@ export class OrcidWorkComponent {
});
}
public showUpdateDatesInTooltip() {
const monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
let response: string = "";
if(this.updateDates != null && this.updateDates.length > 0) {
response += "<br><br> Last update in ORCID<br>";
for(let i=0; i<this.updateDates.length; i++) {
let date: Date = new Date(this.updateDates[i]);
response += "<span>"+date.getDate() + " " + monthNames[date.getMonth()] + " " + date.getFullYear();
if(i < this.updateDates.length - 1) {
response += "& ";
}
response += "</span>";
}
}
return response;
}
public parseIdentifiers(identifiers: ExternalIDV3_0[]): Map<string, string[]> {
let identifiersMap: Map<string, string[]> = new Map<string, string[]>();
for(let identifier of identifiers) {
@ -508,7 +526,12 @@ export class OrcidWorkComponent {
// message: 'You have <strong>successfully added</strong> work with pids: <strong>'+this.pids+'</strong> in your ORCID record!',
UIkit.notification({
message: 'You have <strong>successfully added</strong> work "<strong>'+this.resultTitle+'</strong>" in your ORCID record!',
message: 'You have <strong>successfully added</strong> work "<strong>'+this.resultTitle+'</strong>" in your ORCID record!'
// +
// '<br><br><a class="uk-link" [href]="goToOrcidLinksPage()">Manager your ORCID links</a>'
,
// '<br><br><a class="uk-link" (click)="goToOrcidLinksPage()">Manager your ORCID links</a>',
// '<br><br><a class="uk-link" routerLinkActive="router-link-active" [routerLink]="myOrcidLinksPage">Manager your ORCID links</a>',
status: 'success',
timeout: 6000,
pos: 'bottom-right'
@ -524,6 +547,10 @@ export class OrcidWorkComponent {
));
}
goToOrcidLinksPage() {
this._router.navigate([this.properties.myOrcidLinksPage]);
}
private updateWorkPreparation() {
if(!Session.isLoggedIn()){
this._router.navigate(['/user-info'], { queryParams: { "errorCode": LoginErrorCodes.NOT_VALID, "redirectUrl": this._router.url} });
@ -553,7 +580,10 @@ export class OrcidWorkComponent {
// message: 'You have <strong>successfully updated</strong> work with pids: <strong>' + this.pids + '</strong> in your ORCID record!',
UIkit.notification({
message: 'You have <strong>successfully updated</strong> work "<strong>' + this.resultTitle + '</strong>" in your ORCID record!',
message: 'You have <strong>successfully updated</strong> work "<strong>' + this.resultTitle + '</strong>" in your ORCID record!'
// +
// '<br><br><a routerLinkActive="router-link-active" [routerLink]="myOrcidLinksPage">Manager your ORCID links</a>'
,
status: 'success',
timeout: 6000,
pos: 'bottom-right'
@ -653,7 +683,10 @@ export class OrcidWorkComponent {
// message: 'You have <strong>successfully deleted</strong> work with pids: <strong>' + this.pids + '</strong> from your ORCID record!',
UIkit.notification({
message: 'You have <strong>successfully deleted</strong> work "<strong>' + this.resultTitle + '</strong>" from your ORCID record!',
message: 'You have <strong>successfully deleted</strong> work "<strong>' + this.resultTitle + '</strong>" from your ORCID record!'
// +
// '<br><br><a routerLinkActive="router-link-active" [routerLink]="myOrcidLinksPage">Manager your ORCID links</a>'
,
status: 'success',
timeout: 6000,
pos: 'bottom-right'

View File

@ -41,7 +41,8 @@ export class SearchResultComponent implements OnInit, OnChanges {
this.previewResults.push(this.getResultPreview(result));
}
if(properties.adminToolsPortalType == "explore" && Session.isLoggedIn() && this.results && this.results.length > 0) {
if((properties.adminToolsPortalType == "explore" || properties.adminToolsPortalType == "community")
&& Session.isLoggedIn() && this.results && this.results.length > 0) {
this.orcidService.getPutCodes(this.previewResults.map(
previewResult => {
if(previewResult.identifiers) {

View File

@ -133,4 +133,5 @@ export interface EnvProperties {
adminPortalURL?: string;
sushiliteURL?: string;
notificationsAPIURL?: string;
myOrcidLinksPage?: string;
}

View File

@ -298,7 +298,7 @@
<div *ngIf="(result.pop_inf && result.DOI) ||
((properties.adminToolsPortalType == 'explore' || (properties.adminToolsPortalType == 'community' &&
properties.environment != 'production')) &&
((showOrcid && result.identifiers && result.identifiers.size > 0) || (result.orcidUpdateDates?.length > 0 || result.orcidCreationDates?.length > 0)))"
((showOrcid && result.identifiers && result.identifiers.size > 0) || result.orcidCreationDates?.length > 0))"
class="result-preview-bottom">
<!-- Impact Factors-->
<span class="uk-flex uk-flex-top">
@ -385,7 +385,7 @@
[putCodes]="result.orcidPutCodes" [givenPutCode]="true" [identifiers]="result.identifiers">
</orcid-work>
</span>
<span *ngIf="properties.adminToolsPortalType == 'explore' && (result.orcidUpdateDates?.length > 0 || result.orcidCreationDates?.length > 0)"
<span *ngIf="(properties.adminToolsPortalType == 'explore' || properties.adminToolsPortalType == 'community') && result.orcidCreationDates?.length > 0"
class="uk-width-expand uk-text-right">
<span *ngIf="result.orcidCreationDates?.length > 0" class="uk-display-inline-block">
<span class="uk-text-muted">Added in ORCID:</span>
@ -394,16 +394,16 @@
<span *ngIf="i < (result.orcidCreationDates.length - 1)">& </span>
</span>
</span>
<span *ngIf="result.orcidCreationDates?.length > 0 && result.orcidUpdateDates?.length > 0">
{{' . '}}
</span>
<span *ngIf="result.orcidUpdateDates?.length > 0" class="uk-display-inline-block">
<span class="uk-text-muted">Last update in ORCID:</span>
<span *ngFor="let date of result.orcidUpdateDates; let i=index">
{{date | date: 'dd MMM yyyy'}}
<span *ngIf="i < (result.orcidUpdateDates.length - 1)">& </span>
</span>
</span>
<!-- <span *ngIf="result.orcidCreationDates?.length > 0 && result.orcidUpdateDates?.length > 0">-->
<!-- {{' . '}}-->
<!-- </span>-->
<!-- <span *ngIf="result.orcidUpdateDates?.length > 0" class="uk-display-inline-block">-->
<!-- <span class="uk-text-muted">Last update in ORCID:</span>-->
<!-- <span *ngFor="let date of result.orcidUpdateDates; let i=index">-->
<!-- {{date | date: 'dd MMM yyyy'}}-->
<!-- <span *ngIf="i < (result.orcidUpdateDates.length - 1)">& </span>-->
<!-- </span>-->
<!-- </span>-->
</span>
</span>
</div>