1
|
import {Component, Input} from '@angular/core';
|
2
|
import {Title, Meta} from '@angular/platform-browser';
|
3
|
import {User} from "../../login/utils/helper.class";
|
4
|
import {UserManagementService} from "../../services/user-management.service";
|
5
|
import {LoginErrorCodes} from "../../login/utils/guardHelper.class";
|
6
|
import {Router} from "@angular/router";
|
7
|
import {Subscriber} from "rxjs";
|
8
|
|
9
|
|
10
|
@Component({
|
11
|
selector: 'claims-admin',
|
12
|
template: `
|
13
|
|
14
|
<div id="tm-main" [class]="((isConnect)?'':'uk-section') +' uk-padding-remove-top tm-middle'">
|
15
|
<div uk-grid class="uk-margin-small-top">
|
16
|
<div class="tm-main uk-width-1-1@s uk-width-1-1@m uk-width-1-1@l uk-row-first ">
|
17
|
<div [class.uk-container]="!isConnect" [class.uk-container-large]="!isConnect">
|
18
|
<div *ngIf="!isConnect" class="uk-article-title custom-article-title">
|
19
|
Manage links
|
20
|
</div>
|
21
|
<div>
|
22
|
<displayClaims *ngIf="user" [user]="user" [enableDelete]=true [myClaims]=false
|
23
|
[isAdmin]=true [fetchBy]="(fetchId=='openaire')?null:fetchBy"
|
24
|
[fetchId]="(fetchId=='openaire')?null:fetchId"
|
25
|
[communityId]="(fetchBy && fetchBy == 'Context' && fetchId && fetchId!='openaire')?fetchId:null"
|
26
|
[externalPortalUrl]=externalPortalUrl [claimsInfoURL]=claimsInfoURL
|
27
|
pageTitle="Manage links"></displayClaims>
|
28
|
</div>
|
29
|
</div>
|
30
|
</div>
|
31
|
</div>
|
32
|
</div>
|
33
|
|
34
|
`,
|
35
|
|
36
|
})
|
37
|
export class ClaimsAdminComponent {
|
38
|
@Input() fetchBy: string;
|
39
|
@Input() fetchId: string;
|
40
|
@Input() isConnect: boolean = false;
|
41
|
@Input() externalPortalUrl: string;
|
42
|
@Input() claimsInfoURL: string;
|
43
|
@Input() userInfoURL: string;
|
44
|
public user: User = null;
|
45
|
sub;
|
46
|
|
47
|
constructor(private _meta: Meta, private _title: Title,
|
48
|
private userManagementService: UserManagementService, private _router: Router) {
|
49
|
if (!this.isConnect) {
|
50
|
this._title.setTitle("OpenAIRE | Manage links ");
|
51
|
}
|
52
|
}
|
53
|
|
54
|
ngOnDestroy() {
|
55
|
if (this.sub instanceof Subscriber) {
|
56
|
this.sub.unsubscribe();
|
57
|
}
|
58
|
}
|
59
|
|
60
|
ngOnInit() {
|
61
|
this.sub = this.userManagementService.getUserInfo().subscribe(user => {
|
62
|
this.user = user;
|
63
|
if (!user) {
|
64
|
this._router.navigate(['/user-info'], {
|
65
|
queryParams: {
|
66
|
"errorCode": LoginErrorCodes.NOT_VALID,
|
67
|
"redirectUrl": this._router.url
|
68
|
}
|
69
|
});
|
70
|
}
|
71
|
});
|
72
|
}
|
73
|
}
|