Project

General

Profile

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

    
3
import { FetchProjects } from '../../utils/fetchEntitiesClasses/fetchProjects.class';
4

    
5
import {OpenaireProperties, ErrorCodes} from '../../utils/properties/openaireProperties';
6

    
7
@Component({
8
    selector: 'projectsTab',
9
    template: `
10
        <!--div *ngIf="fetchProjects.searchUtils.status == errorCodes.NONE" class="uk-alert uk-alert-primary uk-animation-fade" role="alert">No projects available</div>
11
        <div *ngIf="fetchProjects.searchUtils.status == errorCodes.ERROR" class="uk-alert uk-alert-warning uk-animation-fade" role="alert">An Error Occured</div>
12
        <div *ngIf="fetchProjects.searchUtils.status == errorCodes.NOT_AVAILABLE" class="uk-alert uk-alert-danger uk-animation-fade" role="alert">Service not available</div>
13
        <div *ngIf="fetchProjects.searchUtils.status == errorCodes.LOADING" class="uk-animation-fade uk-margin-top  uk-width-1-1" role="alert"><img src="./assets/loading.gif" class="uk-align-center" alt="Loading"></div-->
14
        <errorMessages [status]="[fetchProjects.searchUtils.status]" [type]="'projects'"></errorMessages>
15

    
16
        <!--div *ngIf="fetchProjects.searchUtils.totalResults == 0" class = "uk-alert">
17
            No projects available
18
        </div-->
19

    
20
        <div *ngIf="fetchProjects.searchUtils.totalResults > 0">
21
            <div class = "uk-text-right" *ngIf = "fetchProjects.searchUtils.totalResults > 10">
22
                <a  [queryParams]="paramsForSearchLink"
23
                    routerLinkActive="router-link-active" [routerLink]="linkToSearchProjects" class="uk-button uk-button-text">
24
                    View all {{fetchProjects.searchUtils.totalResults}} results
25
                </a>
26
            </div>
27
            <tab-result  [(results)]="fetchProjects.results"
28
                            [(status)]= "fetchProjects.status"
29
                            type="project" urlParam="projectId">
30
            </tab-result>
31
        </div>
32
    `
33
})
34

    
35
export class ProjectsTabComponent {
36

    
37
    @Input() paramsForSearchLink = {};
38
    @Input() fetchProjects : FetchProjects;
39
    public linkToSearchProjects = "";
40
    public errorCodes:ErrorCodes = new ErrorCodes();
41

    
42
    constructor () {}
43

    
44
    ngOnInit() {
45
        this.linkToSearchProjects = OpenaireProperties.getLinkToAdvancedSearchProjects();
46
    }
47

    
48
    ngOnDestroy() {}
49
}
(9-9/12)