Project

General

Profile

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 uk-grid>
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">
18
            <div class="uk-article-title custom-article-title">
19
              Manage links
20
            </div>
21
            <div>
22
              <!--div class="uk-text-right">
23
              <a  *ngIf="!fetchBy || fetchBy != 'Context'" routerLink="/participate/claim">Claim more links?</a>
24
              <a  *ngIf="isConnect && fetchBy && fetchBy == 'Context' && externalPortalUrl" [href]="externalPortalUrl+'/participate/claim'"  target="_blank">Claim more links?</a>              
25
              </div-->
26
              <displayClaims *ngIf="user" [user]="user" [enableDelete]=true [myClaims]=false
27
                             [isAdmin]=true [fetchBy]="(fetchId=='openaire')?null:fetchBy"
28
                             [fetchId]="(fetchId=='openaire')?null:fetchId"
29
                             [communityId]="(fetchBy && fetchBy == 'Context' && fetchId && fetchId!='openaire')?fetchId:null"
30
                             [externalPortalUrl]=externalPortalUrl [claimsInfoURL]=claimsInfoURL
31
                             title="Manage links"></displayClaims>
32
            </div>
33
          </div>
34
        </div>
35
      </div>
36
    </div>
37

    
38
  `,
39

    
40
})
41
export class ClaimsAdminComponent {
42
  @Input() fetchBy: string;
43
  @Input() fetchId: string;
44
  @Input() isConnect: boolean = false;
45
  @Input() externalPortalUrl: string;
46
  @Input() claimsInfoURL: string;
47
  @Input() userInfoURL: string;
48
  public user: User = null;
49
  sub;
50
  constructor(private _meta: Meta, private _title: Title,
51
              private userManagementService: UserManagementService, private _router: Router) {
52
    var titleConnect = "OpenAIRE Connect | Manage links ";
53
    var title = "OpenAIRE | Manage links ";
54

    
55
    if (this.isConnect) {
56
      this._title.setTitle(titleConnect);
57
    } else {
58
      this._title.setTitle(title);
59
    }
60

    
61

    
62
  }
63
  ngOnDestroy() {
64
    if (this.sub instanceof Subscriber) {
65
      this.sub.unsubscribe();
66
    }
67
  }
68
  ngOnInit() {
69
    this.sub = this.userManagementService.getUserInfo().subscribe(user => {
70
      this.user = user;
71
      if (!user) {
72
        this._router.navigate(['/user-info'], {
73
          queryParams: {
74
            "errorCode": LoginErrorCodes.NOT_VALID,
75
            "redirectUrl": this._router.url
76
          }
77
        });
78
      }
79
    });
80
  }
81
}
(1-1/2)