[Usage Counts | Trunk]: Round numbers on analytics. Fix error when a fragment does not exist
This commit is contained in:
parent
07ff56537d
commit
0d00a99805
|
@ -27,7 +27,9 @@ export class AboutComponent implements OnInit {
|
|||
goTo(id: string) {
|
||||
const yOffset = -100;
|
||||
const element = document.getElementById(id);
|
||||
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
|
||||
window.scrollTo({top: y, behavior: 'smooth'});
|
||||
if(element) {
|
||||
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
|
||||
window.scrollTo({top: y, behavior: 'smooth'});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,14 +59,13 @@
|
|||
</div>
|
||||
<div *ngIf="display && !loading" class="uk-grid uk-child-width-1-3@m uk-child-width-1-2@s"
|
||||
uk-grid>
|
||||
<div *ngIf="display.total_repos && state > 0" [class.uk-animation-fade]="state == 1"
|
||||
class="uk-padding-remove-left">
|
||||
<div *ngIf="display.total_repos && state > 0" [class.uk-animation-fade]="state == 1">
|
||||
<div class="card">
|
||||
<div class="uk-margin-medium-bottom">
|
||||
Repositories
|
||||
</div>
|
||||
<h4>
|
||||
{{display.total_repos | number}}
|
||||
{{display.total_repos.number | number}}{{(display.total_repos.size)?display.total_repos.size:""}}
|
||||
</h4>
|
||||
<img src="../../assets/usage-statistics-assets/analytics/1.1.svg">
|
||||
</div>
|
||||
|
@ -77,7 +76,7 @@
|
|||
Repositories
|
||||
</div>
|
||||
<h4>
|
||||
{{display.repositories | number}}
|
||||
{{display.repositories.number | number}}{{(display.repositories.size)?display.repositories.size:""}}
|
||||
</h4>
|
||||
<img src="../../assets/usage-statistics-assets/analytics/1.1.svg">
|
||||
</div>
|
||||
|
@ -88,7 +87,7 @@
|
|||
Views
|
||||
</div>
|
||||
<h4>
|
||||
{{display.total_views | number}}
|
||||
{{display.total_views.number | number}}{{(display.total_views.size)?display.total_views.size:""}}
|
||||
</h4>
|
||||
<img src="../../assets/usage-statistics-assets/analytics/1.2.svg">
|
||||
</div>
|
||||
|
@ -99,7 +98,7 @@
|
|||
Views
|
||||
</div>
|
||||
<h4>
|
||||
{{display.views | number}}
|
||||
{{display.views.number | number}}{{(display.views.size)?display.views.size:""}}
|
||||
</h4>
|
||||
<img src="../../assets/usage-statistics-assets/analytics/1.2.svg">
|
||||
</div>
|
||||
|
@ -110,7 +109,7 @@
|
|||
Downloads
|
||||
</div>
|
||||
<h4>
|
||||
{{display.total_downloads | number}}
|
||||
{{display.total_downloads.number | number}}{{(display.total_downloads.size)?display.total_downloads.size:""}}
|
||||
</h4>
|
||||
<img src="../../assets/usage-statistics-assets/analytics/1.3.svg">
|
||||
</div>
|
||||
|
@ -121,7 +120,7 @@
|
|||
Downloads
|
||||
</div>
|
||||
<h4>
|
||||
{{display.downloads | number}}
|
||||
{{display.downloads.number | number}}{{(display.downloads.size)?display.downloads.size:""}}
|
||||
</h4>
|
||||
<img src="../../assets/usage-statistics-assets/analytics/1.3.svg">
|
||||
</div>
|
||||
|
|
|
@ -8,6 +8,7 @@ import {countries} from '../services/countries';
|
|||
import {DomSanitizer, SafeUrl, Title} from '@angular/platform-browser';
|
||||
import {StringUtils} from '../openaireLibrary/utils/string-utils.class';
|
||||
import {ActivatedRoute} from '@angular/router';
|
||||
import {NumberUtils} from '../openaireLibrary/utils/number-utils.class';
|
||||
|
||||
@Component({
|
||||
selector: 'analytics',
|
||||
|
@ -74,6 +75,24 @@ export class AnalyticsComponent implements OnInit {
|
|||
this.iframeLoading = false;
|
||||
}
|
||||
|
||||
roundUsageStat(stats: UsageStat) {
|
||||
if(stats) {
|
||||
stats.repositories = NumberUtils.roundNumber(Number.parseInt(stats.repositories));
|
||||
stats.total_downloads = NumberUtils.roundNumber(Number.parseInt(stats.total_downloads));
|
||||
stats.total_views = NumberUtils.roundNumber(Number.parseInt(stats.total_views));
|
||||
}
|
||||
return stats;
|
||||
}
|
||||
|
||||
roundCountryUsageStat(stats: CountryUsageStat) {
|
||||
if(stats) {
|
||||
stats.total_repos = NumberUtils.roundNumber(Number.parseInt(stats.total_repos));
|
||||
stats.downloads = NumberUtils.roundNumber(Number.parseInt(stats.downloads));
|
||||
stats.views = NumberUtils.roundNumber(Number.parseInt(stats.views));
|
||||
}
|
||||
return stats;
|
||||
}
|
||||
|
||||
public search() {
|
||||
this.country = this.countryFb.value.country;
|
||||
this.showSearch = false;
|
||||
|
@ -82,7 +101,7 @@ export class AnalyticsComponent implements OnInit {
|
|||
if (this.country && this.country.length > 0) {
|
||||
this.country = StringUtils.capitalize(this.country);
|
||||
this.usageStatsService.getCountryMetrics(this.country).subscribe(stats => {
|
||||
this.display = stats;
|
||||
this.display = this.roundCountryUsageStat(stats);
|
||||
this.loading = false;
|
||||
if (this.display) {
|
||||
this.state = 1;
|
||||
|
@ -94,7 +113,7 @@ export class AnalyticsComponent implements OnInit {
|
|||
});
|
||||
} else {
|
||||
this.usageStatsService.getAllMetrics().subscribe(stats => {
|
||||
this.display = stats;
|
||||
this.display = this.roundUsageStat(stats);
|
||||
this.loading = false;
|
||||
if (this.display) {
|
||||
this.state = 1;
|
||||
|
@ -156,8 +175,10 @@ export class AnalyticsComponent implements OnInit {
|
|||
goTo(id: string) {
|
||||
const yOffset = -100;
|
||||
const element = document.getElementById(id);
|
||||
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
|
||||
window.scrollTo({top: y, behavior: 'smooth'});
|
||||
if(element) {
|
||||
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
|
||||
window.scrollTo({top: y, behavior: 'smooth'});
|
||||
}
|
||||
}
|
||||
|
||||
public getSafeUrl(url: string): SafeUrl {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
export interface UsageStat {
|
||||
repositories: string;
|
||||
total_downloads: string;
|
||||
total_views: string;
|
||||
repositories: any;
|
||||
total_downloads: any;
|
||||
total_views: any;
|
||||
}
|
||||
|
||||
export interface CountryUsageStat {
|
||||
country: string;
|
||||
views: string;
|
||||
downloads:string;
|
||||
total_repos: string;
|
||||
views: any;
|
||||
downloads:any;
|
||||
total_repos: any;
|
||||
}
|
||||
|
|
|
@ -25,7 +25,9 @@ export class ResourcesComponent implements OnInit {
|
|||
goTo(id: string) {
|
||||
const yOffset = -100;
|
||||
const element = document.getElementById(id);
|
||||
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
|
||||
window.scrollTo({top: y, behavior: 'smooth'});
|
||||
if(element) {
|
||||
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
|
||||
window.scrollTo({top: y, behavior: 'smooth'});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue