[Monitor Dashboard | Trunk]: Add number preview on indicators component
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-monitor-portal/trunk/monitor_dashboard@59770 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
parent
f0bf5934dc
commit
a75fe03511
|
@ -78,6 +78,9 @@
|
|||
<div class="uk-text-center uk-text-bold">
|
||||
{{indicator.name ? indicator.name : 'No title available'}}
|
||||
</div>
|
||||
<h3 *ngIf="numberResults.get(i + '-' + j)" class="uk-margin-medium-top uk-text-center uk-text-bold">
|
||||
<span>{{numberResults.get(i + '-' + j) | number}}</span>
|
||||
</h3>
|
||||
<div *ngIf="indicator.description" class="uk-width-1-1 uk-text-muted uk-text-small uk-margin-small-top">
|
||||
{{indicator.description}}
|
||||
</div>
|
||||
|
|
|
@ -80,7 +80,7 @@ export class IndicatorsComponent implements OnInit, OnDestroy, OnChanges, AfterV
|
|||
public editing: boolean = false;
|
||||
/** Safe Urls*/
|
||||
public safeUrls: Map<string, SafeResourceUrl> = new Map<string, SafeResourceUrl>([]);
|
||||
|
||||
public numberResults: Map<string, number> = new Map<string, number>();
|
||||
private subscriptions: any[] = [];
|
||||
private urlSubscriptions: any[] = [];
|
||||
@ViewChild('editChartModal') editChartModal: AlertModal;
|
||||
|
@ -148,6 +148,36 @@ export class IndicatorsComponent implements OnInit, OnDestroy, OnChanges, AfterV
|
|||
this.setPreview();
|
||||
}
|
||||
|
||||
setNumberIndicators() {
|
||||
this.numberResults.clear();
|
||||
let urls: Map<string, [number, number][]> = new Map<string, [number, number][]>();
|
||||
this.numbers.forEach((section, i) => {
|
||||
section.indicators.forEach((number, j) => {
|
||||
let url =this.indicatorUtils.getFullUrlWithFilters(this.stakeholder, number.indicatorPaths[0]);
|
||||
const pair = JSON.stringify([number.indicatorPaths[0].source, url]);
|
||||
const indexes = urls.get(pair) ? urls.get(pair) : [];
|
||||
indexes.push([i, j]);
|
||||
urls.set(pair, indexes);
|
||||
});
|
||||
});
|
||||
urls.forEach((indexes, pair) => {
|
||||
pair = JSON.parse(pair);
|
||||
this.statisticsService.getNumbers(this.statisticsService.getSourceType(pair[0]), pair[1]).subscribe(response => {
|
||||
indexes.forEach(([i, j]) => {
|
||||
let result = JSON.parse(JSON.stringify(response));
|
||||
this.numbers[i].indicators[j].indicatorPaths[0].jsonPath.forEach(jsonPath => {
|
||||
if (result) {
|
||||
result = result[jsonPath];
|
||||
}
|
||||
});
|
||||
if(typeof result == 'string') {
|
||||
this.numberResults.set(i + '-' + j, Number(result));
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
setPreview() {
|
||||
if(this.stakeholder){
|
||||
this.preview = '/' + this.stakeholder.alias;
|
||||
|
@ -272,6 +302,7 @@ export class IndicatorsComponent implements OnInit, OnDestroy, OnChanges, AfterV
|
|||
this.filterByKeyword(HelperFunctions.copy(this.numbers), this.filters.value.keyword),
|
||||
this.filters.value.status);
|
||||
this.buildSections();
|
||||
this.setNumberIndicators();
|
||||
}
|
||||
|
||||
onChartTypeChange(value) {
|
||||
|
|
Loading…
Reference in New Issue