Project

General

Profile

1
import {Component, Input} from '@angular/core';
2

    
3
@Component({
4
    selector: 'showSubjects',
5
    template: `
6
        <span class="uk-description-list-horizontal" *ngIf="subjects != undefined">
7

    
8
            <dt *ngIf="(subjects != undefined && subjects.length > 0) ||
9
                       (otherSubjects != undefined && otherSubjects.size > 0)">
10
                Subjects:
11
            </dt>
12
            <dt *ngIf="(subjects == undefined || subjects.length == 0) &&
13
                       (otherSubjects == undefined || otherSubjects.size == 0) &&
14
                       (classifiedSubjects != undefined && classifiedSubjects.size > 0)">
15
                Subjects:
16
            </dt>
17

    
18
            <dd>
19
                <div *ngIf="subjects != undefined && subjects.length > 0"> {{subjects}} </div>
20
                <div *ngIf="otherSubjects != undefined && otherSubjects.size > 0">
21
                    <div *ngFor="let key of otherSubjects.keys()">
22
                        {{key}}: {{otherSubjects.get(key)}}
23
                    </div>
24
                </div>
25
                <div *ngIf="(subjects == undefined || subjects.length == 0) &&
26
                           (otherSubjects == undefined || otherSubjects.size == 0) &&
27
                           classifiedSubjects != undefined && classifiedSubjects.size > 0">
28
                    -
29
                </div>
30
            </dd>
31

    
32
            <dd *ngIf="classifiedSubjects != undefined && classifiedSubjects.size > 0">
33
                <a (click)="showClassifiedSbj = !showClassifiedSbj;">
34
                    <div *ngIf="!showClassifiedSbj">
35
                        Show additional classifications
36
                      <span uk-icon="icon: plus"></span>
37
                    </div>
38
                    <div *ngIf="showClassifiedSbj">
39
                        Hide additional classifications
40
                        <span uk-icon="icon: minus"></span>
41
                    </div>
42
                </a>
43

    
44
                <div class="uk-panel uk-padding uk-background-muted" *ngIf="showClassifiedSbj">
45
                    <div *ngFor="let key of classifiedSubjects.keys()">
46
                        Classified by OpenAIRE into
47
                        <div>
48
                            {{key}}: {{classifiedSubjects.get(key)}}
49
                        </div>
50
                    </div>
51
                </div>
52
            </dd>
53
        </span>
54
    `
55

    
56
    })
57

    
58
export class ShowSubjectsComponent {
59
    @Input() subjects: string[];
60
    @Input() otherSubjects: Map<string, string[]>;
61
    @Input() classifiedSubjects: Map<string, string[]>;
62
    private showClassifiedSbj: boolean = false;
63

    
64
    constructor () {
65
    }
66

    
67
    ngOnInit() {
68
    }
69
}
(10-10/13)