diff --git a/claims/claim-utils/claimHelper.class.ts b/claims/claim-utils/claimHelper.class.ts index c6dc154c..9b914ab5 100644 --- a/claims/claim-utils/claimHelper.class.ts +++ b/claims/claim-utils/claimHelper.class.ts @@ -168,7 +168,7 @@ export class ShowOptions { this.basketShowSources = false; } showLinkTo() { - console.log(this.linkTo, "showLinkTo") + // console.log(this.linkTo, "showLinkTo") this.show = this.linkTo; this.basketswitchToLinkTo(); HelperFunctions.scroll(); diff --git a/claims/directLinking/directLinking.component.ts b/claims/directLinking/directLinking.component.ts index b555d63d..e4231c19 100644 --- a/claims/directLinking/directLinking.component.ts +++ b/claims/directLinking/directLinking.component.ts @@ -152,6 +152,7 @@ export class DirectLinkingComponent { entity.type = "project"; entity.title = project.projectName; entity.project = new ClaimProject(); + entity.project.url = properties.searchLinkToProject + entity.id; entity.project.acronym = project.projectAcronym; entity.project.code = project.code; entity.project.endDate = project.endDate; diff --git a/claims/linking/linkingGeneric.component.html b/claims/linking/linkingGeneric.component.html index 2ac4e7f5..417177d0 100644 --- a/claims/linking/linkingGeneric.component.html +++ b/claims/linking/linkingGeneric.component.html @@ -30,9 +30,16 @@ - + + Back to {{getEntityName(inlineEntity.type, false)}} + + Back to {{getEntityName(inlineEntity.type, false)}} diff --git a/claims/linking/selected/ClaimEntityTitle.component.ts b/claims/linking/selected/ClaimEntityTitle.component.ts index 5cc65e33..76fd338d 100644 --- a/claims/linking/selected/ClaimEntityTitle.component.ts +++ b/claims/linking/selected/ClaimEntityTitle.component.ts @@ -7,7 +7,7 @@ import {StringUtils} from "../../../utils/string-utils.class"; template: `
- + insert_drive_file -
+ +
+
@@ -120,7 +121,8 @@ [entityType]="getTypeName()" [compatibility]="dataProviderInfo.compatibility" [aggregationStatus]="dataProviderInfo.aggregationStatus" - [thematic]="dataProviderInfo.thematic" [type]="type"> + [thematic]="dataProviderInfo.thematic" [type]="type" + [journal]="dataProviderInfo.journal"> @@ -266,326 +268,37 @@
- - - + + + -
- - -
+
- -
- - -
+
- -
- - -
+
- -
- - -
+
- -
- - -
+
- -
- - -
+
- -
- - -
+ || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"> +
- -
- -
    - -
  • -
    -
    -
    -
    - OpenAIRE UsageCounts -
    - Usage by - UsageCounts -
    -
    - - - - - - - - - - - - - -
    - - - Downloads - - {{formatNumber(totalDownloads)}} -
    - - - Views - - {{formatNumber(totalViews)}} -
    -
    -
    -
    -
  • - -
  • -
    -
    -
    -
    {{formatNumber(totalDownloads)}}
    -
    Downloads
    -
    -
    -
    {{formatNumber(totalViews)}}
    -
    Views
    -
    -
    - -
    - -
    -
    - - -
    -
    -
    -
    - Powered by - OpenAIRE UsageCounts -
    -
  • -
-
+
- - -
-
Statistics
- -
- - -
-
+ || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"> +
@@ -600,6 +313,187 @@
+ +
+ +
+ + + +
+ +
+ +
+
+ +
+ Summary + +
+
+
+ +
+ {{openaireEntities.PROJECTS}} + +
+
+
+ +
+ {{openaireEntities.DATASOURCES}} + +
+
+
+ +
+ {{openaireEntities.PUBLICATIONS}} + +
+
+
+ +
+ {{openaireEntities.DATASETS}} + +
+
+
+ +
+ {{openaireEntities.SOFTWARE}} + +
+
+
+ +
+ {{openaireEntities.OTHER}} + +
+
+
+ +
+ Related {{openaireEntities.DATASOURCES}} + +
+
+
+ +
+ Statistics + +
+
+
+
+
+
+ +
+
+ + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ @@ -640,3 +534,333 @@ {{dataProviderInfo.subjects.join(", ")}} + + +
+
+
+
+ No summary information available +
+
+
+ +
+
+
Description
+
+
+
+ +
+
+ + + + +
+ +
Collected full-texts
+ {{dataProviderInfo.aggregationStatus.fulltexts | number}} +
+ +
Results with funding information
+ {{dataProviderInfo.fundedContent | number}} +
+
+ + +
+
Countries
+ {{dataProviderInfo.countries.join(", ")}} +
+ +
+
Jurisdiction
+ {{dataProviderInfo.jurisdiction}} +
+ +
+
Content policy
+ {{dataProviderInfo.contentpolicy}} +
+
+ + +
+
+
Subjects
+ + {{dataProviderInfo.subjects.slice(0, lessBtnSubjects ? dataProviderInfo.subjects.length : thresholdSubjects).join(", ")}} + ... + + + {{dataProviderInfo.subjects.join(", ")}} + +
+ + +
+
+
+
+
+ +
+
Detailed information @
+ + + {{provenance}} + + + {{provenance}} + + [{{i}}] + + + , + +
+
+ +
+
+
+
+
+ + +
+ + +
+
+ + +
+ + +
+
+ + +
+ + +
+
+ + +
+ + +
+
+ + +
+ + +
+
+ + +
+ + +
+
+ + +
+ + +
+
+ + +
+
Statistics
+ +
+ + +
+
+
+ + +
+ +
    + +
  • +
    +
    +
    +
    + OpenAIRE UsageCounts +
    + Usage by + UsageCounts +
    +
    + + + + + + + + + + + + + +
    + + + Downloads + + {{formatNumber(totalDownloads)}} +
    + + + Views + + {{formatNumber(totalViews)}} +
    +
    +
    +
    +
  • + +
  • +
    +
    +
    +
    {{formatNumber(totalDownloads)}}
    +
    Downloads
    +
    +
    +
    {{formatNumber(totalViews)}}
    +
    Views
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    + Powered by + OpenAIRE UsageCounts +
    +
  • +
+
+
+ + + + \ No newline at end of file diff --git a/landingPages/dataProvider/dataProvider.component.ts b/landingPages/dataProvider/dataProvider.component.ts index 6acb000e..fe155c9f 100644 --- a/landingPages/dataProvider/dataProvider.component.ts +++ b/landingPages/dataProvider/dataProvider.component.ts @@ -30,6 +30,8 @@ import {TabComponent} from "../../utils/tabs/tab.component"; import {OpenaireEntities} from "../../utils/properties/searchFields"; import {MetricsService} from '../../services/metrics.service'; import {NumberUtils} from '../../utils/number-utils.class'; +import {LayoutService} from '../../dashboard/sharedComponents/sidebar/layout.service'; +import {FullScreenModalComponent} from '../../utils/modal/full-screen-modal/full-screen-modal.component'; declare var ResizeObserver; @@ -72,7 +74,8 @@ export class DataProviderComponent { // @ViewChild('statisticsModal') statisticsModal; // @ViewChild('relatedDatasourcesModal') relatedDatasourcesModal; - @ViewChild('addThisModal') addThisModal + @ViewChild('addThisModal') addThisModal; + @ViewChild('addThisFsModal') addThisFsModal: FullScreenModalComponent; // Variables for publications, research data, projects, datasources, related datasources tabs public fetchPublications: FetchResearchResults; @@ -147,6 +150,21 @@ export class DataProviderComponent { properties: EnvProperties = properties; public openaireEntities = OpenaireEntities; + public isMobile: boolean = false; + public mobileContent: "info" | "metrics" | "actions" = "info"; + public tabMobile: string = ""; + public viewAllMobile: string = ""; + // Full screen modals for small screens (mobile) + @ViewChild('summaryFsModal') summaryFsModal: FullScreenModalComponent; + @ViewChild('projectsFsModal') projectsFsModal: FullScreenModalComponent; + @ViewChild('dataprovidersFsModal') dataprovidersFsModal: FullScreenModalComponent; + @ViewChild('publicationsFsModal') publicationsFsModal: FullScreenModalComponent; + @ViewChild('datasetsFsModal') datasetsFsModal: FullScreenModalComponent; + @ViewChild('softwareFsModal') softwareFsModal: FullScreenModalComponent; + @ViewChild('otherFsModal') otherFsModal: FullScreenModalComponent; + @ViewChild('relatedDatasourcesFsModal') relatedDatasourcesFsModal: FullScreenModalComponent; + @ViewChild('statisticsFsModal') statisticsFsModal: FullScreenModalComponent; + constructor(private _dataproviderService: DataProviderService, private _piwikService: PiwikService, private route: ActivatedRoute, @@ -161,7 +179,8 @@ export class DataProviderComponent { private _location: Location, private indexInfoService: IndexInfoService, private metricsService: MetricsService, - private cdr: ChangeDetectorRef) { + private cdr: ChangeDetectorRef, + private layoutService: LayoutService) { this.fetchPublications = new FetchResearchResults(this._searchResearchResultsService); this.fetchDatasets = new FetchResearchResults(this._searchResearchResultsService); this.fetchSoftware = new FetchResearchResults(this._searchResearchResultsService); @@ -172,6 +191,9 @@ export class DataProviderComponent { } ngOnInit() { + this.subscriptions.push(this.layoutService.isMobile.subscribe(isMobile => { + this.isMobile = isMobile; + })); if (typeof document !== 'undefined') { this.subscriptions.push(this.indexInfoService.getLastIndexDate(this.properties).subscribe(lastIndexUpdate => { if (lastIndexUpdate) { @@ -717,7 +739,13 @@ export class DataProviderComponent { if(this.dataProviderInfo.organizations.length <= this.thresholdOrganizations*2) { this.lessBtnOrganizations = true; } else { - this.openOrganizationsModal(); + if(this.isMobile) { + this.summaryFsModal.title += " - Organizations"; + this.summaryFsModal.back = true; + this.viewAllMobile = "organizations"; + } else { + this.openOrganizationsModal(); + } } } @@ -733,7 +761,13 @@ export class DataProviderComponent { if(this.dataProviderInfo.subjects.length <= this.thresholdSubjects*2) { this.lessBtnSubjects = true; } else { - this.openSubjectsModal(); + if(this.isMobile) { + this.summaryFsModal.title += " - Subjects"; + this.summaryFsModal.back = true; + this.viewAllMobile = "subjects"; + } else { + this.openSubjectsModal(); + } } } @@ -797,7 +831,6 @@ export class DataProviderComponent { // ((!!this.dataProviderInfo.aggregationStatus.fulltexts && parseInt(this.dataProviderInfo.aggregationStatus.fulltexts) != -1) // || (!!this.dataProviderInfo.aggregationStatus.fundedContent && parseInt(this.dataProviderInfo.aggregationStatus.fundedContent) != -1) // || !!this.dataProviderInfo.aggregationStatus.lastUpdateDate)); - return (!!this.dataProviderInfo.aggregationStatus && ((!!this.dataProviderInfo.aggregationStatus.fulltexts && parseInt(this.dataProviderInfo.aggregationStatus.fulltexts) != -1))); } @@ -839,6 +872,16 @@ export class DataProviderComponent { return StringUtils.getEntityName(this.type, false); } + public viewAllDescriptionClicked() { + if(this.isMobile) { + this.summaryFsModal.title += " - Description"; + this.summaryFsModal.back = true; + this.viewAllMobile = "description"; + } else { + this.openDescriptionModal(); + } + } + public openDescriptionModal() { this.descriptionModal.alertFooter = false; this.descriptionModal.alertTitle = "Description"; @@ -856,6 +899,21 @@ export class DataProviderComponent { return formatted.number + formatted.size; } + public cancelSummaryClicked() { + this.summaryFsModal.title = "Summary"; + this.summaryFsModal.back = false; + this.lessBtnOrganizations = false; + this.viewAllMobile = ""; + } + + public openFsModal(fsModal: FullScreenModalComponent, title: string) { + fsModal.title = title; + fsModal.okButton = false; + fsModal.stayOpenInBack = true; + fsModal.open(); + this.tabMobile = title; + } + public getMetricsTooltip(value: string) { if (value == 'downloads') { return "
OpenAIRE UsageCountsDownloads provided by UsageCounts
"; diff --git a/landingPages/dataProvider/dataProvider.module.ts b/landingPages/dataProvider/dataProvider.module.ts index f791ebbe..2127302f 100644 --- a/landingPages/dataProvider/dataProvider.module.ts +++ b/landingPages/dataProvider/dataProvider.module.ts @@ -34,6 +34,7 @@ import {IconsService} from "../../utils/icons/icons.service"; import {graph} from "../../utils/icons/icons"; import {LoadingModalModule} from "../../utils/modal/loadingModal.module"; import {ResultLandingUtilsModule} from "../landing-utils/resultLandingUtils.module"; +import {FullScreenModalModule} from '../../utils/modal/full-screen-modal/full-screen-modal.module'; @NgModule({ imports: @@ -42,7 +43,8 @@ import {ResultLandingUtilsModule} from "../landing-utils/resultLandingUtils.modu DataProvidersServiceModule, ProjectsServiceModule, SearchResearchResultsServiceModule, PagingModule, Schema2jsonldModule, SEOServiceModule, ShowPublisherModule, HelperModule, LandingHeaderModule, AlertModalModule, NoLoadPaging, FeedbackModule, - TabsModule, SearchTabModule, LoadingModule, IconsModule, LoadingModalModule, ResultLandingUtilsModule + TabsModule, SearchTabModule, LoadingModule, IconsModule, LoadingModalModule, ResultLandingUtilsModule, + FullScreenModalModule ], declarations: [StatisticsTabComponent, diff --git a/landingPages/dataProvider/dataProvider.service.ts b/landingPages/dataProvider/dataProvider.service.ts index 8973f7da..d13e4cdd 100644 --- a/landingPages/dataProvider/dataProvider.service.ts +++ b/landingPages/dataProvider/dataProvider.service.ts @@ -360,9 +360,9 @@ export class DataProviderService { this.dataProviderInfo.journal['lissn'] = data[6]['lissn']; this.dataProviderInfo.journal['eissn'] = data[6]['eissn']; - }else{ + }else { this.dataProviderInfo.journal = null; - this.dataProviderInfo.journal = {"journal": "", "issn": "", "lissn": "", "eissn": ""}; + // this.dataProviderInfo.journal = {"journal": "", "issn": "", "lissn": "", "eissn": ""}; } return this.dataProviderInfo; diff --git a/landingPages/landing-utils/landing-header/landing-header.component.ts b/landingPages/landing-utils/landing-header/landing-header.component.ts index 0f006aa4..140db0dc 100644 --- a/landingPages/landing-utils/landing-header/landing-header.component.ts +++ b/landingPages/landing-utils/landing-header/landing-header.component.ts @@ -25,12 +25,13 @@ import {AlertModal} from "../../../utils/modal/alert";
+ [isSticky]="isSticky" [isMobile]="isMobile">
` }) export class LandingHeaderComponent { + @Input() isMobile: boolean = false; @Input() entityType: string; @Input() properties: EnvProperties; @Input() types: string[]; diff --git a/landingPages/landing-utils/parsingFunctions.class.ts b/landingPages/landing-utils/parsingFunctions.class.ts index 2c3ce256..97ef4895 100644 --- a/landingPages/landing-utils/parsingFunctions.class.ts +++ b/landingPages/landing-utils/parsingFunctions.class.ts @@ -786,7 +786,7 @@ export class ParsingFunctions { countries.push(_countries.classname); } } else { - for (let i = 0; i < countries.length; i++) { + for (let i = 0; i < _countries.length; i++) { if (_countries[i].classname != "Undetermined" && _countries[i].classname) { countries.push(_countries[i].classname); } diff --git a/landingPages/landing-utils/showIdentifiers.component.ts b/landingPages/landing-utils/showIdentifiers.component.ts index 2e3dcff5..2391f877 100644 --- a/landingPages/landing-utils/showIdentifiers.component.ts +++ b/landingPages/landing-utils/showIdentifiers.component.ts @@ -47,14 +47,21 @@ import {properties} from "../../../../environments/environment"; View all
- +
+ + +
+ +
+
` }) export class ShowIdentifiersComponent implements AfterViewInit { + @Input() isMobile: boolean = false; @Input() identifiers: Map; @Input() showViewAll: boolean = false; large: Map = new Map(); @@ -121,9 +128,15 @@ export class ShowIdentifiersComponent implements AfterViewInit { } public openIdentifiersModal() { - this.identifiersModal.cancelButton = false; - this.identifiersModal.okButton = false; - this.identifiersModal.alertTitle = "Persistent Identifiers"; - this.identifiersModal.open(); + if(this.isMobile) { + this.identifiersModal.okButton = false; + this.identifiersModal.title = "Persistent Identifiers"; + this.identifiersModal.open(); + } else { + this.identifiersModal.cancelButton = false; + this.identifiersModal.okButton = false; + this.identifiersModal.alertTitle = "Persistent Identifiers"; + this.identifiersModal.open(); + } } } diff --git a/landingPages/project/project.component.html b/landingPages/project/project.component.html index cb8a009f..cea6bcf0 100644 --- a/landingPages/project/project.component.html +++ b/landingPages/project/project.component.html @@ -1,5 +1,6 @@ -
-
+ +
+
@@ -138,8 +139,10 @@ Deposit - + Embed - +
@@ -393,7 +396,7 @@ - + @@ -405,245 +408,30 @@
-
-
-
-
-
-
- No summary information available -
-
-
- -
-
-
Description
-
-
-
- -
-
-
-
-
- -
Partners
-
- - -
- View less -
-
-
-
-
-
-
-
- - -
- - -
+ + + + + - -
- - -
+
-
- - -
+
-
- - -
+
- + -
- -
    - -
  • -
    -
    -
    -
    - OpenAIRE UsageCounts -
    - Usage by - UsageCounts -
    -
    - - - - - - - - - - - - - -
    - - - Downloads - - {{formatNumber(totalDownloads)}} -
    - - - Views - - {{formatNumber(totalViews)}} -
    -
    -
    -
    -
  • - -
  • -
    -
    -
    -
    {{formatNumber(totalDownloads)}}
    -
    Downloads
    -
    -
    -
    {{formatNumber(totalViews)}}
    -
    Views
    -
    -
    - -
    - -
    -
    - - -
    -
    -
    -
    - Powered by - OpenAIRE UsageCounts -
    -
  • -
-
+
-
-
Statistics
- -
-
-
-
Produced - {{openaireEntities.RESULTS}} per year -
- -
-
-
-
-
Access mode of - {{openaireEntities.RESULTS}} -
- -
-
-
-
-
- {{openaireEntities.RESULTS}} per datasource -
- -
-
-
-
+
@@ -661,6 +449,183 @@
+ +
+ +
+ + +
+
+ +
+ Summary + +
+
+
+ +
+ {{openaireEntities.PUBLICATIONS}} + +
+
+
+ +
+ {{openaireEntities.DATASETS}} + +
+
+
+ +
+ {{openaireEntities.SOFTWARE}} + +
+
+
+ +
+ {{openaireEntities.OTHER}} + +
+
+
+ +
+ DMPs + +
+
+
+ +
+ Statistics + +
+
+
+
+
+
+ +
+
+ + +
+
+ + + + + Deposit + + +
+
+ + +
+
+ + +
+
+ + + + + Link to + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ @@ -673,51 +638,11 @@ -
-
-
-
-
{{getDynamicContent(embed_research_results_type)}}
- -
- -
- For further information contact us at - {{properties.helpdeskEmail}} -
-
-
+
-
-
-
-
- - -
- -
- No reports available -
-
-
+
... + + +
+
+
+
+
+
+ No summary information available +
+
+
+ +
+
+
Description
+
+
+
+ +
+
+
+
+
+ +
Partners
+ +
+
+
+
+
+
+
+ + +
+ + +
+
+ + +
+ + +
+
+ + +
+ + +
+
+ + +
+ + +
+
+ + + + + + +
+
Statistics
+ +
+
+
+
Produced + {{openaireEntities.RESULTS}} per year +
+ +
+
+
+
+
Access mode of + {{openaireEntities.RESULTS}} +
+ +
+
+
+
+
+ {{openaireEntities.RESULTS}} per datasource +
+ +
+
+
+
+
+ + +
+ +
    + +
  • +
    +
    +
    +
    + OpenAIRE UsageCounts +
    + Usage by + UsageCounts +
    +
    + + + + + + + + + + + + + +
    + + + Downloads + + {{formatNumber(totalDownloads)}} +
    + + + Views + + {{formatNumber(totalViews)}} +
    +
    +
    +
    +
  • + +
  • +
    +
    +
    +
    {{formatNumber(totalDownloads)}}
    +
    Downloads
    +
    +
    +
    {{formatNumber(totalViews)}}
    +
    Views
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    + Powered by + OpenAIRE UsageCounts +
    +
  • +
+
+
+ + + + + + + + + + + + + + +
+
+
+
+
{{getDynamicContent(embed_research_results_type)}}
+ +
+ +
+ For further information contact us at + {{properties.helpdeskEmail}} +
+
+
+
+ + +
+
+
+
+ + +
+ +
+ No reports available +
+
+
+
diff --git a/landingPages/project/project.component.ts b/landingPages/project/project.component.ts index a90cab4f..b94eafa8 100644 --- a/landingPages/project/project.component.ts +++ b/landingPages/project/project.component.ts @@ -31,6 +31,8 @@ import {Option} from "../../sharedComponents/input/input.component"; import {OpenaireEntities} from "../../utils/properties/searchFields"; import {MetricsService} from '../../services/metrics.service'; import {NumberUtils} from '../../utils/number-utils.class'; +import {LayoutService} from '../../dashboard/sharedComponents/sidebar/layout.service'; +import {FullScreenModalComponent} from '../../utils/modal/full-screen-modal/full-screen-modal.component'; declare var ResizeObserver; @@ -85,8 +87,11 @@ export class ProjectComponent { // @ViewChild('statisticsModal') statisticsModal; // @ViewChild('linkProjectModal') linkProjectModal; @ViewChild('embedResultsModal') embedResultsModal; + @ViewChild('embedResultsFsModal') embedResultsFsModal: FullScreenModalComponent; @ViewChild('downloadReportModal') downloadReportModal; - @ViewChild('addThisModal') addThisModal + @ViewChild('downloadReportFsModal') downloadReportFsModal: FullScreenModalComponent; + @ViewChild('addThisModal') addThisModal; + @ViewChild('addThisFsModal') addThisFsModal: FullScreenModalComponent; // Request results for publications, research data and software only the one time (first time tab is clicked) private reloadPublications: boolean = true; @@ -166,6 +171,19 @@ export class ProjectComponent { properties: EnvProperties; public openaireEntities = OpenaireEntities; + public isMobile: boolean = false; + public mobileContent: "info" | "metrics" | "actions" = "info"; + public tabMobile: string = ""; + public viewAllMobile: string = ""; + // Full screen modals for small screens (mobile) + @ViewChild('summaryFsModal') summaryFsModal: FullScreenModalComponent; + @ViewChild('publicationsFsModal') publicationsFsModal: FullScreenModalComponent; + @ViewChild('datasetsFsModal') datasetsFsModal: FullScreenModalComponent; + @ViewChild('softwareFsModal') softwareFsModal: FullScreenModalComponent; + @ViewChild('otherFsModal') otherFsModal: FullScreenModalComponent; + @ViewChild('dmpsFsModal') dmpsFsModal: FullScreenModalComponent; + @ViewChild('statisticsFsModal') statisticsFsModal: FullScreenModalComponent; + constructor(private route: ActivatedRoute, private _router: Router, private _location: Location, @@ -180,24 +198,25 @@ export class ProjectComponent { private htmlService: HtmlProjectReportService, private indexInfoService: IndexInfoService, private metricsService: MetricsService, - private cdr: ChangeDetectorRef) {} + private cdr: ChangeDetectorRef, + private layoutService: LayoutService) {} ngOnInit() { - - this.properties = properties; - if (typeof document !== 'undefined') { - this.subscriptions.push(this.indexInfoService.getLastIndexDate(this.properties).subscribe(lastIndexUpdate => { - if (lastIndexUpdate) { - this.indexUpdateDate = new Date(lastIndexUpdate); - } - })); - } - //this.getDivContents(); - this.getPageContents(); - this.updateUrl(this.properties.domain + this.properties.baseLink + this._router.url); - this.seoService.createLinkForCanonicalURL(this.properties.domain +this.properties.baseLink + this._router.url); - - + this.subscriptions.push(this.layoutService.isMobile.subscribe(isMobile => { + this.isMobile = isMobile; + })); + this.properties = properties; + if (typeof document !== 'undefined') { + this.subscriptions.push(this.indexInfoService.getLastIndexDate(this.properties).subscribe(lastIndexUpdate => { + if (lastIndexUpdate) { + this.indexUpdateDate = new Date(lastIndexUpdate); + } + })); + } + //this.getDivContents(); + this.getPageContents(); + this.updateUrl(this.properties.domain + this.properties.baseLink + this._router.url); + this.seoService.createLinkForCanonicalURL(this.properties.domain +this.properties.baseLink + this._router.url); this.subscriptions.push(this.route.queryParams.subscribe(params => { this.stickyHeader = false; this.metricsClicked = false; @@ -585,6 +604,13 @@ export class ProjectComponent { } } + public viewAllOrganizationsMobileClicked() { + this.summaryFsModal.title += " - Partners"; + this.summaryFsModal.back = true; + this.lessBtnOrganizations = true; + this.viewAllMobile = "organizations"; + } + public openOrganizationsModal() { this.organizationsModal.cancelButton = false; this.organizationsModal.okButton = false; @@ -973,6 +999,16 @@ export class ProjectComponent { ]; } + public viewAllDescriptionClicked() { + if(this.isMobile) { + this.summaryFsModal.title += " - Description"; + this.summaryFsModal.back = true; + this.viewAllMobile = "description"; + } else { + this.openDescriptionModal(); + } + } + public openDescriptionModal() { this.descriptionModal.alertFooter = false; this.descriptionModal.alertTitle = "Description"; @@ -990,6 +1026,21 @@ export class ProjectComponent { return formatted.number + formatted.size; } + public cancelSummaryClicked() { + this.summaryFsModal.title = "Summary"; + this.summaryFsModal.back = false; + this.lessBtnOrganizations = false; + this.viewAllMobile = ""; + } + + public openFsModal(fsModal: FullScreenModalComponent, title: string) { + fsModal.title = title; + fsModal.okButton = false; + fsModal.stayOpenInBack = true; + fsModal.open(); + this.tabMobile = title; + } + public getMetricsTooltip(value: string) { if (value == 'downloads') { return "
OpenAIRE UsageCountsDownloads provided by UsageCounts
"; diff --git a/landingPages/project/project.module.ts b/landingPages/project/project.module.ts index 5e4c6762..18f201ea 100644 --- a/landingPages/project/project.module.ts +++ b/landingPages/project/project.module.ts @@ -32,6 +32,7 @@ import {IconsModule} from "../../utils/icons/icons.module"; import {InputModule} from "../../sharedComponents/input/input.module"; import {IconsService} from "../../utils/icons/icons.service"; import {graph, link, link_to, open_access} from "../../utils/icons/icons"; +import {FullScreenModalModule} from '../../utils/modal/full-screen-modal/full-screen-modal.module'; @NgModule({ imports: [ @@ -41,7 +42,8 @@ import {graph, link, link_to, open_access} from "../../utils/icons/icons"; SearchResearchResultsServiceModule, ProjectServiceModule, Schema2jsonldModule, SEOServiceModule, HelperModule, LandingHeaderModule, MatSelectModule, FeedbackModule, AltMetricsModule, - TabsModule, SearchTabModule, LoadingModule, IconsModule, InputModule + TabsModule, SearchTabModule, LoadingModule, IconsModule, InputModule, + FullScreenModalModule ], declarations: [ ProjectComponent diff --git a/landingPages/result/resultLanding.component.html b/landingPages/result/resultLanding.component.html index 0947b2c5..8a7259bf 100644 --- a/landingPages/result/resultLanding.component.html +++ b/landingPages/result/resultLanding.component.html @@ -472,12 +472,13 @@ [entityType]="getTypeName()" [types]="resultLandingInfo.types" [date]="resultLandingInfo.dateofacceptance" [embargoEndDate]="resultLandingInfo.embargoEndDate" [publisher]="resultLandingInfo.publisher" [journal]="resultLandingInfo.journal" - [languages]="resultLandingInfo.languages" [programmingLanguages]="resultLandingInfo.programmingLanguages"> + [languages]="resultLandingInfo.languages" [programmingLanguages]="resultLandingInfo.programmingLanguages" + [isMobile]="true">
- +
@@ -849,7 +850,7 @@ [otherSubjects]="resultLandingInfo.otherSubjects" [classifiedSubjects]="resultLandingInfo.classifiedSubjects" [eoscSubjects]="resultLandingInfo.eoscSubjects" - [isMobile]="isMobile" + [isMobile]="isMobile"> [viewAllSubjects]="viewAllMobile=='subjects'" [viewAllClassifiedSubjects]="viewAllMobile=='classifiedSubjects'" (viewAllClicked)="viewAllSubjectsMobileClicked($event)"> @@ -1023,7 +1024,7 @@ Citations - {{resultLandingInfo.measure.citations | number}} + {{formatNumber(resultLandingInfo.measure.citations)}} @@ -1130,7 +1131,7 @@ Citations - {{resultLandingInfo.measure.citations}} + {{formatNumber(resultLandingInfo.measure.citations)}} @@ -1192,7 +1193,7 @@
  • -
    +
    {{formatNumber(resultLandingInfo.measure.downloads)}}
    diff --git a/utils/authors/showAuthors.component.ts b/utils/authors/showAuthors.component.ts index daf87fb3..215c835c 100644 --- a/utils/authors/showAuthors.component.ts +++ b/utils/authors/showAuthors.component.ts @@ -88,18 +88,27 @@ import {properties} from "../../../../environments/environment";
    - +
    + + +
    + + + +
    +
    ` }) export class ShowAuthorsComponent { + @Input() isMobile: boolean = false; @Input() authors: Author[]; @Input() isSticky: boolean = false; @Input() authorsLimit: number = 7; @@ -137,10 +146,16 @@ export class ShowAuthorsComponent { } public openAuthorsModal() { - this.authorsModal.cancelButton = false; - this.authorsModal.okButton = false; - this.authorsModal.alertTitle = "Authors"; - this.authorsModal.open(); + if (this.isMobile) { + this.authorsModal.okButton = false; + this.authorsModal.title = "Authors"; + this.authorsModal.open(); + } else { + this.authorsModal.cancelButton = false; + this.authorsModal.okButton = false; + this.authorsModal.alertTitle = "Authors"; + this.authorsModal.open(); + } } copyToClipboard(element: HTMLInputElement) { diff --git a/utils/authors/showAuthors.module.ts b/utils/authors/showAuthors.module.ts index a9cd2e12..f98f42e5 100644 --- a/utils/authors/showAuthors.module.ts +++ b/utils/authors/showAuthors.module.ts @@ -5,10 +5,11 @@ import {RouterModule} from '@angular/router'; import {ShowAuthorsComponent} from './showAuthors.component'; import {AlertModalModule} from "../modal/alertModal.module"; +import {FullScreenModalModule} from "../modal/full-screen-modal/full-screen-modal.module"; @NgModule({ imports: [ - CommonModule, FormsModule, RouterModule, AlertModalModule + CommonModule, FormsModule, RouterModule, AlertModalModule, FullScreenModalModule ], declarations: [ ShowAuthorsComponent diff --git a/utils/entity-actions/entity-actions.component.ts b/utils/entity-actions/entity-actions.component.ts index d5ac6736..d80daab1 100644 --- a/utils/entity-actions/entity-actions.component.ts +++ b/utils/entity-actions/entity-actions.component.ts @@ -38,8 +38,10 @@ import {EnvProperties} from "../properties/env-properties"; Deposit - + Embed @@ -92,6 +94,7 @@ export class EntityActionsComponent implements OnInit { @ViewChild('downloadReportModal') downloadReportModal; @ViewChild('addThisModal') addThisModal; properties: EnvProperties = properties; + openaireEntities = OpenaireEntities; /* Embed */