Project

General

Profile

1
<h3 *ngIf="formTitle" class="uk-margin-auto">{{formTitle}}</h3>
2
<div *ngIf="errorMessage" class="uk-width-1-1 uk-alert uk-alert-danger uk-text-center"
3
     role="alert">{{errorMessage}}</div>
4
<div class="uk-margin-top" uk-grid [formGroup]="contactForm">
5
    <div class="uk-margin-small uk-width-1-1 uk-text-danger uk-text-bold uk-margin-remove-bottom">
6
        *Required fields
7
    </div>
8
    <div *ngIf="contactForm.get('name')" class="uk-width-1-2@s uk-margin-medium-top">
9
        <h6 class="uk-text-bold uk-margin-small-bottom">
10
            Name <span class="uk-text-danger uk-text-bold">*</span>
11
        </h6>
12
        <input class="uk-input" type="text" placeholder="Your name" formControlName="name"
13
               [class.uk-form-danger]="contactForm.get('name').invalid && contactForm.get('name').touched">
14
    </div>
15
    <div *ngIf="contactForm.get('surname')" class="uk-width-1-2@s uk-margin-medium-top">
16
        <h6 class="uk-text-bold uk-margin-small-bottom">
17
            Surname <span class="uk-text-danger uk-text-bold">*</span>
18
        </h6>
19
        <input class="uk-input" type="text" placeholder="Your surname" formControlName="surname"
20
               [class.uk-form-danger]="contactForm.get('surname').invalid && contactForm.get('surname').touched">
21
    </div>
22
    <div *ngIf="contactForm.get('email')" class="uk-width-1-2@s uk-margin-medium-top">
23
        <h6 class="uk-text-bold uk-margin-small-bottom">
24
            Email <span class="uk-text-danger uk-text-bold">*</span>
25
        </h6>
26
        <input class="uk-input" type="text" placeholder="Preferably your work email" formControlName="email"
27
               [class.uk-form-danger]="contactForm.get('email').invalid && contactForm.get('email').touched">
28
    </div>
29
    <div *ngIf="contactForm.get('job')" class="uk-width-1-2@s uk-margin-medium-top">
30
        <h6 class="uk-text-bold uk-margin-small-bottom">
31
            Job Title <span class="uk-text-danger uk-text-bold">*</span>
32
        </h6>
33
        <input class="uk-input" type="text" placeholder="Your job title" formControlName="job"
34
               [class.uk-form-danger]="contactForm.get('job').invalid && contactForm.get('job').touched">
35
    </div>
36
    <div *ngIf="contactForm.get('affiliation')" class="uk-width-1-2@s uk-margin-medium-top">
37
        <h6 class="uk-text-bold uk-margin-small-bottom">
38
            Affiliation <span class="uk-text-danger uk-text-bold">*</span>
39
        </h6>
40
        <input class="uk-input" type="text" placeholder="Your affiliation" formControlName="affiliation"
41
               [class.uk-form-danger]="contactForm.get('affiliation').invalid && contactForm.get('affiliation').touched">
42
    </div>
43
    <div *ngIf="contactForm.get('community')" class="uk-width-1-2@s uk-margin-medium-top">
44
        <div class="uk-width-1-1">
45
            <h6 class="uk-text-bold uk-margin-small-bottom uk-text-nowrap">Research Community or Infrastructure <span class="uk-text-danger uk-text-bold">*</span></h6>
46
        </div>
47
        <input class="uk-input uk-width-1" type="text" placeholder="Your community name" formControlName="community"
48
               [class.uk-form-danger]="contactForm.get('community').invalid && contactForm.get('community').touched">
49
    </div>
50
    <div *ngIf="contactForm.get('organization')" class="uk-width-1-2@s uk-margin-medium-top">
51
        <h6 class="uk-text-bold uk-margin-small-bottom">Organization <span class="uk-text-danger uk-text-bold">*</span></h6>
52
        <input class="uk-input uk-width-1-1" type="text" placeholder="Your organization" formControlName="organization"
53
               [class.uk-form-danger]="contactForm.get('organization').invalid && contactForm.get('organization').touched">
54
    </div>
55
    <div *ngIf="contactForm.get('organizationType')" class="uk-width-1-2@s uk-margin-medium-top">
56
        <h6 class="uk-text-bold uk-margin-small-bottom">Organization Type <span class="uk-text-danger uk-text-bold">*</span></h6>
57
        <select class="uk-select uk-width-1-1" formControlName="organizationType">
58
            <option [value]="''" hidden selected>Select your organization type</option>
59
            <option *ngFor="let option of organizationTypes" [value]="option">{{option}}</option>
60
        </select>
61
    </div>
62
    <div *ngIf="contactForm.get('subject')" class="uk-width-1-1@s uk-margin-medium-top">
63
        <h6 class="uk-text-bold uk-margin-small-bottom">Subject <span class="uk-text-danger uk-text-bold">*</span></h6>
64
        <input class="uk-input uk-width-1-1" type="text" placeholder="Your subject" formControlName="subject"
65
               [class.uk-form-danger]="contactForm.get('subject').invalid && contactForm.get('subject').touched">
66
    </div>
67
    <div *ngIf="contactForm.get('message')" class="uk-width-1-1 uk-margin-medium-top">
68
        <h6 class="uk-text-bold uk-margin-small-bottom">
69
            Message <span class="uk-text-danger uk-text-bold">*</span>
70
        </h6>
71
        <textarea rows="4" class="uk-textarea" placeholder="Your message" formControlName="message"
72
                  [class.uk-form-danger]="contactForm.get('message').invalid && contactForm.get('message').touched">
73
        </textarea>
74
    </div>
75
    <div *ngIf="contactForm.get('description')" class="uk-width-1-1 uk-margin-medium-top">
76
        <h6 class="uk-text-bold uk-margin-small-bottom">
77
            Description <span class="uk-text-danger uk-text-bold">*</span>
78
        </h6>
79
        <textarea rows="4" class="uk-textarea" placeholder="Your description" formControlName="description"
80
                  [class.uk-form-danger]="contactForm.get('description').invalid && contactForm.get('description').touched">
81
        </textarea>
82
    </div>
83
    <div *ngIf="contactForm.get('recaptcha')" class="uk-width-1-2@s uk-margin-top">
84
        <re-captcha (resolved)="handleRecaptcha($event)" [(siteKey)]="properties.reCaptchaSiteKey">
85
        </re-captcha>
86
    </div>
87
    <div class="uk-margin-medium-top uk-width-1-1">
88
        <button class="uk-button" [class.portal-button]="!buttonClass" [ngClass]="buttonClass" (click)="send()">Send</button>
89
    </div>
90
</div>
(2-2/4)