Project

General

Profile

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

    
3
@Component({
4
    selector: 'showSubjects',
5
    template: `
6
        <div   *ngIf="subjects != undefined || otherSubjects != undefined || classifiedSubjects != undefined ">
7

    
8
            <div *ngIf="(subjects != undefined && subjects.length > 0) ||
9
                       (otherSubjects != undefined && otherSubjects.size > 0) ||
10
                       (classifiedSubjects != undefined && classifiedSubjects.size > 0)">
11
                <span class="uk-text-bold">Subject:</span>
12

    
13
                <span *ngIf="subjects != undefined && subjects.length > 0"> {{subjects.join(" | ")}} </span>
14
                <ul class="uk-list">
15
                <li *ngIf="otherSubjects != undefined && otherSubjects.size > 0">
16
                    <div *ngFor="let key of getKeys(otherSubjects)">
17
                        <span class="uk-text-bold">{{key}}:</span> {{otherSubjects.get(key).join(" | ")}}
18
                    </div>
19
                </li>
20
                <!--li *ngIf="(subjects == undefined || subjects.length == 0) &&
21
                           (otherSubjects == undefined || otherSubjects.size == 0) &&
22
                           classifiedSubjects != undefined && classifiedSubjects.size > 0">
23
                    -
24
                </li-->
25
                </ul>
26
            </div>
27

    
28
            <div *ngIf="classifiedSubjects != undefined && classifiedSubjects.size > 0">
29
                <div class="uk-panel uk-padding-small uk-background-default"  >
30
                    <div *ngFor="let key of getKeys(classifiedSubjects)">
31
                        <!--span class="uk-text-bold">Classified by OpenAIRE into</span-->
32
                        <span class="uk-margin-small-right uk-icon  uk-text-primary" ><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> <path fill="none" stroke="#000" stroke-width="1.1" d="M17.5,3.71 L17.5,7.72 C17.5,7.96 17.4,8.2 17.21,8.39 L8.39,17.2 C7.99,17.6 7.33,17.6 6.93,17.2 L2.8,13.07 C2.4,12.67 2.4,12.01 2.8,11.61 L11.61,2.8 C11.81,2.6 12.08,2.5 12.34,2.5 L16.19,2.5 C16.52,2.5 16.86,2.63 17.11,2.88 C17.35,3.11 17.48,3.4 17.5,3.71 L17.5,3.71 Z"></path> <circle cx="14" cy="6" r="1"></circle></svg></span>
33
                        <span uk-tooltip="title: Classified by OpenAIRE; delay: 10">
34
                            <span class="uk-text-bold">{{key}}:</span> {{classifiedSubjects.get(key).join(" | ")}}
35
                        </span>
36
                    </div>
37
                </div>
38
            </div>
39
    `
40

    
41
    })
42

    
43
export class ShowSubjectsComponent {
44
    @Input() subjects: string[];
45
    @Input() otherSubjects: Map<string, string[]>;
46
    @Input() classifiedSubjects: Map<string, string[]>;
47
    // private showClassifiedSbj: boolean = false;
48

    
49
    constructor () {
50
    }
51

    
52
    ngOnInit() {
53
    }
54
    public getKeys( map) {
55
      return Array.from(map.keys());
56
    }
57
}
(16-16/19)