[plugins-functionality | DONE | CHANGED ] Stats: use stats profiles based on community PID, update prod profile

This commit is contained in:
argirok 2024-04-08 11:48:38 +03:00
parent cd186590b7
commit 3650b11215
2 changed files with 46 additions and 27 deletions

View File

@ -21,7 +21,7 @@ export class MonitorComponent extends MonitorIndicatorStakeholderBaseComponent {
activeChartSectionIndex: number = 0;
stakeholder = null;
@Input() pluginObject: PluginStats;
profiles;
constructor(protected _route: ActivatedRoute,
protected _router: Router,
protected _meta: Meta,
@ -45,32 +45,48 @@ export class MonitorComponent extends MonitorIndicatorStakeholderBaseComponent {
this.subscriptions.push(this.communityService.getCommunityAsObservable().subscribe(communityInfo => {
if (communityInfo) {
this.loading = true;
this.stakeholder = PluginStats.getMockStakeholder();
this.stakeholder.index_id = communityInfo.communityId
this.stakeholder.index_name = communityInfo.title;
this.stakeholder.index_shortName = communityInfo.shortTitle;
this.title = this.stakeholder.name;
this.description = this.stakeholder.name;
this.loading = true;
this.activeTopic = null;
this.activeCategory = null;
this.activeSubCategory = null;
this.numberResults = new Map<string, number>();
this.chartsActiveType = new Map<string, IndicatorPath>();
this.setView({});
let ids = [];
for (let section of this.activeSubCategory.charts) {
for (let indicator of section.indicators) {
ids.push(indicator._id)
this.subscriptions.push(this.http.get(this.properties.monitorStatsFrameUrl+"/schema/profiles").subscribe((profiles:any[]) => {
this.profiles = profiles.map( (profile) => profile.name);
let profile = PluginStats.getDefaultProfile();
if(this.profiles.indexOf("monitor_"+communityInfo.communityId.replace("-","_"))!=-1){
profile = this.profiles[this.profiles.indexOf("monitor_"+communityInfo.communityId.replace("-","_"))];
}else if(communityInfo.type == "ri" && this.profiles.indexOf("monitor_ris_tail")!=-1){
profile = "monitor_ris_tail";
}
}
this.init(communityInfo, profile);
}, error => {
let profile =
this.init(communityInfo, PluginStats.getDefaultProfile());
}))
}
}));
}
public init(communityInfo, profile){
console.log(profile)
this.loading = true;
this.stakeholder = PluginStats.getMockStakeholder();
this.stakeholder.statsProfile = profile;
this.stakeholder.index_id = communityInfo.communityId
this.stakeholder.index_name = communityInfo.title;
this.stakeholder.index_shortName = communityInfo.shortTitle;
this.title = this.stakeholder.name;
this.description = this.stakeholder.name;
this.loading = true;
this.activeTopic = null;
this.activeCategory = null;
this.activeSubCategory = null;
this.numberResults = new Map<string, number>();
this.chartsActiveType = new Map<string, IndicatorPath>();
this.setView({});
let ids = [];
for (let section of this.activeSubCategory.charts) {
for (let indicator of section.indicators) {
ids.push(indicator._id)
}
}
}
public showSection(section: Section): boolean {
for (let indicator of section.indicators) {
if (this.showIndicator(indicator)) {

File diff suppressed because one or more lines are too long