Revision 57496
Added by Konstantinos Triantafyllou over 4 years ago
stakeholder.service.ts | ||
---|---|---|
1 | 1 |
import {Injectable} from "@angular/core"; |
2 | 2 |
import {HttpClient} from "@angular/common/http"; |
3 | 3 |
import {BehaviorSubject, Observable} from "rxjs"; |
4 |
import {Indicator, Stakeholder} from "../utils/entities/stakeholder"; |
|
5 |
import {map} from "rxjs/operators"; |
|
4 |
import {Stakeholder} from "../utils/entities/stakeholder"; |
|
6 | 5 |
|
7 |
@Injectable() |
|
6 |
@Injectable({ |
|
7 |
providedIn: "root" |
|
8 |
}) |
|
8 | 9 |
export class StakeholderService { |
9 | 10 |
|
11 |
private stakeholderSubject: BehaviorSubject<Stakeholder> = null; |
|
12 |
|
|
10 | 13 |
constructor(private http: HttpClient) { |
14 |
this.stakeholderSubject = new BehaviorSubject<Stakeholder>(null); |
|
11 | 15 |
} |
12 | 16 |
|
13 | 17 |
getStakeholder(alias: string): Observable<Stakeholder> { |
14 |
/*return this.http.get<any>('./assets/stakeholders.json').pipe(map(json => { |
|
15 |
let stakeholder = json.stakeholders.filter(stakeholder => stakeholder.alias === alias)[0]; |
|
16 |
if (stakeholder) { |
|
17 |
stakeholder.topics = stakeholder.topics.filter(topic => topic.isActive && topic.isPublic); |
|
18 |
return stakeholder; |
|
19 |
} else { |
|
20 |
throw new HttpErrorResponse({ |
|
21 |
error: { |
|
22 |
message: 'No Stakeholder has been found', |
|
23 |
status: 404 |
|
24 |
} |
|
25 |
}) |
|
26 |
} |
|
27 |
}));*/ |
|
28 | 18 |
return new BehaviorSubject<Stakeholder>(Stakeholder.createECStakeholder()).asObservable(); |
29 | 19 |
} |
20 |
|
|
21 |
getStakeholderAsObservable(): Observable<Stakeholder> { |
|
22 |
return this.stakeholderSubject.asObservable(); |
|
23 |
} |
|
24 |
|
|
25 |
get stakeholder(): Stakeholder { |
|
26 |
return this.stakeholderSubject.getValue(); |
|
27 |
} |
|
28 |
|
|
29 |
setStakeholder(stakeholder: Stakeholder) { |
|
30 |
this.stakeholderSubject.next(stakeholder); |
|
31 |
} |
|
30 | 32 |
} |
Also available in: Unified diff
[Monitor_dashboard]:Initialize monitor admin. Home page has been created.