Added some fixes for the country page handling data

This commit is contained in:
Stefania Martziou 2020-06-16 23:08:35 +00:00
parent 85b2f76db6
commit 5a5af78ae6
3 changed files with 45 additions and 27 deletions

View File

@ -517,10 +517,11 @@
<div>
<div class="md-card">
<div class="md-card-content">
<svg *ngIf="countryPageOAData.publicationsAffiliated?.percentage" viewBox="0 0 36 36" class="circular-chart publications">
<svg viewBox="0 0 36 36" class="circular-chart publications">
<path class="circle-bg" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<path class="circle" attr.stroke-dasharray="{{countryPageOAData.publicationsAffiliated.percentage}}, 100" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<text x="18" y="20.35" class="percentage">{{countryPageOAData.publicationsAffiliated.percentage | number : '1.0-1'}}%</text>
<path *ngIf="countryPageOAData.publicationsAffiliated?.percentage" class="circle" attr.stroke-dasharray="{{countryPageOAData.publicationsAffiliated.percentage}}, 100" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<text *ngIf="countryPageOAData.publicationsAffiliated?.percentage" x="18" y="20.35" class="percentage">{{countryPageOAData.publicationsAffiliated.percentage | number : '1.0-1'}}%</text>
<text *ngIf="!countryPageOAData.publicationsAffiliated || !countryPageOAData.publicationsAffiliated.percentage" x="18" y="20.35" class="percentage">0%</text>
</svg>
<div class="uk-margin-small-top uk-text-center">OA publications</div>
</div>
@ -530,10 +531,11 @@
<div>
<div class="md-card">
<div class="md-card-content">
<svg *ngIf="countryPageOAData.datasetsAffiliated?.percentage" viewBox="0 0 36 36" class="circular-chart datasets">
<svg viewBox="0 0 36 36" class="circular-chart datasets">
<path class="circle-bg" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<path class="circle" attr.stroke-dasharray="{{countryPageOAData.datasetsAffiliated.percentage}}, 100" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<text x="18" y="20.35" class="percentage">{{countryPageOAData.datasetsAffiliated.percentage | number : '1.0-1'}}%</text>
<path *ngIf="countryPageOAData.datasetsAffiliated?.percentage" class="circle" attr.stroke-dasharray="{{countryPageOAData.datasetsAffiliated.percentage}}, 100" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<text *ngIf="countryPageOAData.datasetsAffiliated?.percentage" x="18" y="20.35" class="percentage">{{countryPageOAData.datasetsAffiliated.percentage | number : '1.0-1'}}%</text>
<text *ngIf="!countryPageOAData.datasetsAffiliated || !countryPageOAData.datasetsAffiliated.percentage" x="18" y="20.35" class="percentage">0%</text>
</svg>
<div class="uk-margin-small-top uk-text-center">OA datasets</div>
</div>
@ -543,10 +545,11 @@
<div>
<div class="md-card">
<div class="md-card-content">
<svg *ngIf="countryPageOAData.software?.percentage" viewBox="0 0 36 36" class="circular-chart software">
<svg viewBox="0 0 36 36" class="circular-chart software">
<path class="circle-bg" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<path class="circle" attr.stroke-dasharray="{{countryPageOAData.software.percentage}}, 100" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<text x="18" y="20.35" class="percentage">{{countryPageOAData.software.percentage | number : '1.0-1'}}%</text>
<path *ngIf="countryPageOAData.software?.percentage" class="circle" attr.stroke-dasharray="{{countryPageOAData.software.percentage}}, 100" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<text *ngIf="countryPageOAData.software?.percentage" x="18" y="20.35" class="percentage">{{countryPageOAData.software.percentage | number : '1.0-1'}}%</text>
<text *ngIf="!countryPageOAData.software || !countryPageOAData.software.percentage" x="18" y="20.35" class="percentage">0%</text>
</svg>
<div class="uk-margin-small-top uk-text-center">OS software</div>
</div>
@ -556,10 +559,11 @@
<div>
<div class="md-card">
<div class="md-card-content">
<svg *ngIf="countryPageOAData.other?.percentage" viewBox="0 0 36 36" class="circular-chart other">
<svg viewBox="0 0 36 36" class="circular-chart other">
<path class="circle-bg" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<path class="circle" attr.stroke-dasharray="{{countryPageOAData.other.percentage}}, 100" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<text x="18" y="20.35" class="percentage">{{countryPageOAData.other.percentage | number : '1.0-1'}}%</text>
<path *ngIf="countryPageOAData.other?.percentage" class="circle" attr.stroke-dasharray="{{countryPageOAData.other.percentage}}, 100" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
<text *ngIf="countryPageOAData.other?.percentage" x="18" y="20.35" class="percentage">{{countryPageOAData.other.percentage | number : '1.0-1'}}%</text>
<text *ngIf="!countryPageOAData.other || !countryPageOAData.other.percentage" x="18" y="20.35" class="percentage">0%</text>
</svg>
<div class="uk-margin-small-top uk-text-center">OA other research products</div>
</div>

View File

@ -283,7 +283,7 @@ export class CountryPageComponent implements OnInit {
this.goldPublicationsByOrganizationChartURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22publications%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.results.gold.affiliated.byorganization.country%22%2C%22parameters%22%3A%5B%22publication%22%2C%22` + this.countryCode + `%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Gold%20Publications%22%2C%22align%22%3A%22left%22%2C%22margin%22%3A50%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22by%20organization%22%2C%22align%22%3A%22left%22%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Atrue%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Afalse%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Afalse%7D%2C%22colors%22%3A%5B%22%23F17AA9%22%2C%22%23787878%22%2C%22%232f7ed8%22%2C%22%230d233a%22%2C%22%238bbc21%22%2C%22%23910000%22%2C%22%231aadce%22%2C%22%23492970%22%2C%22%23f28f43%22%2C%22%2377a1e5%22%2C%22%23c42525%22%2C%22%23a6c96a%22%5D%7D%7D`);
this.greenPublicationsByOrganizationChartURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22publications%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.results.green.affiliated.byorganization.country%22%2C%22parameters%22%3A%5B%22publication%22%2C%22` + this.countryCode + `%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Green%20Publications%22%2C%22align%22%3A%22left%22%2C%22margin%22%3A50%7D%2C%22subtitle%22%3A%7B%22text%22%3A%22by%20organization%22%2C%22align%22%3A%22left%22%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Atrue%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Afalse%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Afalse%7D%2C%22colors%22%3A%5B%22%23F17AA9%22%2C%22%23787878%22%2C%22%232f7ed8%22%2C%22%230d233a%22%2C%22%238bbc21%22%2C%22%23910000%22%2C%22%231aadce%22%2C%22%23492970%22%2C%22%23f28f43%22%2C%22%2377a1e5%22%2C%22%23c42525%22%2C%22%23a6c96a%22%5D%7D%7D`);
this.greenVsGoldPublicationsChartURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22publications%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.publications.greenvsgold.country%22%2C%22parameters%22%3A%5B%22` + this.countryCode + `%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Green%20vs%20Gold%22%2C%22align%22%3A%22left%22%2C%22margin%22%3A50%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Atrue%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Afalse%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Afalse%7D%2C%22colors%22%3A%5B%22%23F17AA9%22%2C%22%23787878%22%2C%22%232f7ed8%22%2C%22%230d233a%22%2C%22%238bbc21%22%2C%22%23910000%22%2C%22%231aadce%22%2C%22%23492970%22%2C%22%23f28f43%22%2C%22%2377a1e5%22%2C%22%23c42525%22%2C%22%23a6c96a%22%5D%7D%7D`);
this.greenVsGoldPublicationsChartURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.chartsURL + `%7B%22library%22%3A%22HighCharts%22%2C%22chartDescription%22%3A%7B%22queries%22%3A%5B%7B%22name%22%3A%22publications%22%2C%22type%22%3A%22bar%22%2C%22query%22%3A%7B%22name%22%3A%22new.oso.publications.greenvsgold.country%22%2C%22parameters%22%3A%5B%22` + this.countryCode + `%22%2C%22` + this.countryCode + `%22%5D%7D%7D%5D%2C%22chart%22%3A%7B%22backgroundColor%22%3A%22%23FFFFFFFF%22%2C%22borderColor%22%3A%22%23335cadff%22%2C%22borderRadius%22%3A0%2C%22borderWidth%22%3A0%2C%22plotBorderColor%22%3A%22%23ccccccff%22%2C%22plotBorderWidth%22%3A0%7D%2C%22title%22%3A%7B%22text%22%3A%22Green%20vs%20Gold%22%2C%22align%22%3A%22left%22%2C%22margin%22%3A50%7D%2C%22subtitle%22%3A%7B%7D%2C%22yAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22%22%7D%7D%2C%22xAxis%22%3A%7B%22title%22%3A%7B%22text%22%3A%22%22%7D%7D%2C%22lang%22%3A%7B%22noData%22%3A%22No%20Data%20available%20for%20the%20Query%22%7D%2C%22exporting%22%3A%7B%22enabled%22%3Atrue%7D%2C%22plotOptions%22%3A%7B%22series%22%3A%7B%22dataLabels%22%3A%7B%22enabled%22%3Afalse%7D%7D%7D%2C%22legend%22%3A%7B%22enabled%22%3Afalse%7D%2C%22credits%22%3A%7B%22href%22%3Anull%2C%22enabled%22%3Afalse%7D%2C%22colors%22%3A%5B%22%23F17AA9%22%2C%22%23787878%22%2C%22%232f7ed8%22%2C%22%230d233a%22%2C%22%238bbc21%22%2C%22%23910000%22%2C%22%231aadce%22%2C%22%23492970%22%2C%22%23f28f43%22%2C%22%2377a1e5%22%2C%22%23c42525%22%2C%22%23a6c96a%22%5D%7D%7D`);
this.dataService.getFundersResultsByTypeForIndicatorForCountry('publication', 'pid', this.countryCode).subscribe(
rawData => {

View File

@ -771,7 +771,8 @@ export class DataHandlerService {
for (const series of rawData.datasets) {
if ((series.series.query.name === 'new.oso.results.oa_percentage.country')
&& series.series.query.parameters && series.series.query.parameters[0] === 'publication') {
&& series.series.query.parameters && series.series.query.parameters[0] === 'publication'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.name = series.series.result[0].row[3];
countryPageOverviewData.code = series.series.result[0].row[4];
@ -783,7 +784,8 @@ export class DataHandlerService {
countryPageOverviewData.publicationsAffiliated = publicationsAffiliatedIndicator;
} else if ((series.series.query.name === 'new.oso.results.oa_percentage.deposited.country')
&& series.series.query.parameters && series.series.query.parameters[0] === 'publication') {
&& series.series.query.parameters && series.series.query.parameters[0] === 'publication'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.name = series.series.result[0].row[3];
countryPageOverviewData.code = series.series.result[0].row[4];
@ -795,7 +797,8 @@ export class DataHandlerService {
countryPageOverviewData.publicationsDeposited = publicationsDepositedIndicator;
} else if ((series.series.query.name === 'new.oso.results.oa_percentage.country')
&& series.series.query.parameters && series.series.query.parameters[0] === 'dataset') {
&& series.series.query.parameters && series.series.query.parameters[0] === 'dataset'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.name = series.series.result[0].row[3];
countryPageOverviewData.code = series.series.result[0].row[4];
@ -807,7 +810,8 @@ export class DataHandlerService {
countryPageOverviewData.datasetsAffiliated = datasetsAffiliatedIndicator;
} else if ((series.series.query.name === 'new.oso.results.oa_percentage.deposited.country')
&& series.series.query.parameters && series.series.query.parameters[0] === 'dataset') {
&& series.series.query.parameters && series.series.query.parameters[0] === 'dataset'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.name = series.series.result[0].row[3];
countryPageOverviewData.code = series.series.result[0].row[4];
@ -818,7 +822,8 @@ export class DataHandlerService {
datasetsDepositedIndicator.total = Number(series.series.result[0].row[2]);
countryPageOverviewData.datasetsDeposited = datasetsDepositedIndicator;
} else if (series.series.query.name === 'new.oso.repositories.doar_re3data.validated.country') {
} else if (series.series.query.name === 'new.oso.repositories.doar_re3data.validated.country'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.name = series.series.result[0].row[3];
countryPageOverviewData.code = series.series.result[0].row[4];
@ -829,7 +834,8 @@ export class DataHandlerService {
repositoriesIndicator.total = Number(series.series.result[0].row[2]);
countryPageOverviewData.repositories = repositoriesIndicator;
} else if (series.series.query.name === 'new.oso.journals.doaj.validated.country') {
} else if (series.series.query.name === 'new.oso.journals.doaj.validated.country'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.name = series.series.result[0].row[3];
countryPageOverviewData.code = series.series.result[0].row[4];
@ -840,19 +846,23 @@ export class DataHandlerService {
journalsIndicator.total = Number(series.series.result[0].row[2]);
countryPageOverviewData.journals = journalsIndicator;
} else if (series.series.query.name === 'new.oso.oa_policies.country') {
} else if (series.series.query.name === 'new.oso.oa_policies.country'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.policies = Number(series.series.result[0].row[0]);
} else if (series.series.query.name === 'new.oso.funder.country') {
} else if (series.series.query.name === 'new.oso.funder.country'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.funders = Number(series.series.result[0].row[0]);
} else if (series.series.query.name === 'new.oso.funding_organizations.country') {
} else if (series.series.query.name === 'new.oso.funding_organizations.country'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.fundingOrganizations = Number(series.series.result[0].row[0]);
} else if (series.series.query.name === 'new.oso.ec_funded_organizations.country') {
} else if (series.series.query.name === 'new.oso.ec_funded_organizations.country'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.ec_fundedOrganizations = Number(series.series.result[0].row[0]);
}
@ -868,7 +878,8 @@ export class DataHandlerService {
for (const series of rawData.datasets) {
if ((series.series.query.name === 'new.oso.results.oa_percentage.country')
&& series.series.query.parameters && series.series.query.parameters[0] === 'publication') {
&& series.series.query.parameters && series.series.query.parameters[0] === 'publication'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.name = series.series.result[0].row[3];
countryPageOverviewData.code = series.series.result[0].row[4];
@ -880,7 +891,8 @@ export class DataHandlerService {
countryPageOverviewData.publicationsAffiliated = publicationsAffiliatedIndicator;
} else if ((series.series.query.name === 'new.oso.results.oa_percentage.country')
&& series.series.query.parameters && series.series.query.parameters[0] === 'dataset') {
&& series.series.query.parameters && series.series.query.parameters[0] === 'dataset'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.name = series.series.result[0].row[3];
countryPageOverviewData.code = series.series.result[0].row[4];
@ -892,7 +904,8 @@ export class DataHandlerService {
countryPageOverviewData.datasetsAffiliated = datasetsAffiliatedIndicator;
} else if ((series.series.query.name === 'new.oso.results.oa_percentage.country')
&& series.series.query.parameters && series.series.query.parameters[0] === 'software') {
&& series.series.query.parameters && series.series.query.parameters[0] === 'software'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.name = series.series.result[0].row[3];
countryPageOverviewData.code = series.series.result[0].row[4];
@ -904,7 +917,8 @@ export class DataHandlerService {
countryPageOverviewData.software = softwareIndicator;
} else if ((series.series.query.name === 'new.oso.results.oa_percentage.country')
&& series.series.query.parameters && series.series.query.parameters[0] === 'other') {
&& series.series.query.parameters && series.series.query.parameters[0] === 'other'
&& series.series.result && series.series.result.length > 0 && series.series.result[0].row) {
countryPageOverviewData.name = series.series.result[0].row[3];
countryPageOverviewData.code = series.series.result[0].row[4];