diff --git a/landingPages/dataProvider/dataProvider.component.html b/landingPages/dataProvider/dataProvider.component.html index bc248ca0..4d680001 100644 --- a/landingPages/dataProvider/dataProvider.component.html +++ b/landingPages/dataProvider/dataProvider.component.html @@ -1,5 +1,6 @@ -
-
+ +
+
@@ -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 @@
-
-
-
-
- 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(", ")}} - ... -
- - -
- -
-
-
-
- -
-
Detailed information @
- - - {{provenance}} - - - {{provenance}} - - [{{i}}] - - - , - -
-
- -
-
-
-
- - + + + -
- - -
+
- -
- - -
+
- -
- - -
+
- -
- - -
+
- -
- - -
+
- -
- - -
+
- -
- - -
+ || 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/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/result/resultLanding.component.html b/landingPages/result/resultLanding.component.html index 91953893..8a7259bf 100644 --- a/landingPages/result/resultLanding.component.html +++ b/landingPages/result/resultLanding.component.html @@ -1024,7 +1024,7 @@ Citations - {{resultLandingInfo.measure.citations | number}} + {{formatNumber(resultLandingInfo.measure.citations)}} @@ -1131,7 +1131,7 @@ Citations - {{resultLandingInfo.measure.citations}} + {{formatNumber(resultLandingInfo.measure.citations)}}