2022-01-19 13:30:48 +01:00
|
|
|
<h1 *ngIf="formTitle" class="uk-margin-auto">{{formTitle}}</h1>
|
|
|
|
<ng-content select="[page-title]"></ng-content>
|
2022-02-11 14:35:08 +01:00
|
|
|
<ng-content select="[page-description]"></ng-content>
|
2022-03-01 20:09:14 +01:00
|
|
|
<div class="uk-child-width-1-2@s uk-child-width-1-1 uk-grid uk-grid-margin-large" [attr.uk-scrollspy-class]="scrollspy?'':null"
|
|
|
|
[class.uk-grid-column-small]="smallForm" [formGroup]="contactForm" uk-grid>
|
2022-02-24 17:42:05 +01:00
|
|
|
<div *ngIf="contactForm.get('name')">
|
|
|
|
<input class="uk-input" type="text" placeholder="Name *" formControlName="name"
|
2022-01-12 13:12:30 +01:00
|
|
|
[class.uk-form-danger]="contactForm.get('name').invalid && contactForm.get('name').touched">
|
2022-02-24 17:42:05 +01:00
|
|
|
</div>
|
|
|
|
<div *ngIf="contactForm.get('surname')">
|
|
|
|
<input class="uk-input" type="text" placeholder="Surname *" formControlName="surname"
|
|
|
|
[class.uk-form-danger]="contactForm.get('surname').invalid && contactForm.get('surname').touched">
|
|
|
|
</div>
|
|
|
|
<div *ngIf="contactForm.get('email')">
|
|
|
|
<input class="uk-input" type="text" placeholder="Email *" formControlName="email"
|
|
|
|
[class.uk-form-danger]="contactForm.get('email').invalid && contactForm.get('email').touched">
|
|
|
|
</div>
|
|
|
|
<div *ngIf="contactForm.get('job')">
|
|
|
|
<input class="uk-input" type="text" placeholder="Job Title *" formControlName="job"
|
|
|
|
[class.uk-form-danger]="contactForm.get('job').invalid && contactForm.get('job').touched">
|
|
|
|
</div>
|
|
|
|
<div *ngIf="contactForm.get('affiliation')">
|
|
|
|
<input class="uk-input" type="text" placeholder="Affiliation *" formControlName="affiliation"
|
|
|
|
[class.uk-form-danger]="contactForm.get('affiliation').invalid && contactForm.get('affiliation').touched">
|
|
|
|
</div>
|
|
|
|
<div *ngIf="contactForm.get('community')">
|
|
|
|
<input class="uk-input uk-width-1" type="text" placeholder="Research Community or Infrastructure *"
|
|
|
|
formControlName="community"
|
|
|
|
[class.uk-form-danger]="contactForm.get('community').invalid && contactForm.get('community').touched">
|
|
|
|
</div>
|
|
|
|
<div *ngIf="contactForm.get('organization')">
|
|
|
|
<input class="uk-input uk-width-1-1" type="text" placeholder="Organization *" formControlName="organization"
|
|
|
|
[class.uk-form-danger]="contactForm.get('organization').invalid && contactForm.get('organization').touched">
|
|
|
|
</div>
|
|
|
|
<div *ngIf="contactForm.get('organizationType')">
|
|
|
|
<select class="uk-select uk-width-1-1" formControlName="organizationType">
|
|
|
|
<option [value]="''" hidden selected>Organization Type *</option>
|
|
|
|
<option *ngFor="let option of organizationTypes" [value]="option">{{option}}</option>
|
|
|
|
</select>
|
|
|
|
</div>
|
|
|
|
<div *ngIf="contactForm.get('subject')" class="uk-width-1-1">
|
|
|
|
<input class="uk-input uk-width-1-1" type="text" placeholder="Subject *" formControlName="subject"
|
|
|
|
[class.uk-form-danger]="contactForm.get('subject').invalid && contactForm.get('subject').touched">
|
|
|
|
</div>
|
|
|
|
<div *ngIf="contactForm.get('message')" class="uk-width-1-1">
|
2022-01-12 13:12:30 +01:00
|
|
|
<textarea rows="4" class="uk-textarea" placeholder="Comments *" formControlName="message"
|
2019-12-03 13:50:39 +01:00
|
|
|
[class.uk-form-danger]="contactForm.get('message').invalid && contactForm.get('message').touched">
|
|
|
|
</textarea>
|
2022-02-24 17:42:05 +01:00
|
|
|
</div>
|
2022-03-01 20:09:14 +01:00
|
|
|
<div *ngIf="contactForm.get('description')">
|
2022-01-12 13:12:30 +01:00
|
|
|
<textarea rows="4" class="uk-textarea" placeholder="Description *" formControlName="description"
|
2020-09-14 17:08:34 +02:00
|
|
|
[class.uk-form-danger]="contactForm.get('description').invalid && contactForm.get('description').touched">
|
|
|
|
</textarea>
|
2022-02-24 17:42:05 +01:00
|
|
|
</div>
|
2022-03-01 20:09:14 +01:00
|
|
|
<div *ngIf="contactForm.get('recaptcha')" class="uk-flex uk-flex-center" [class.uk-width-1-1]="smallForm" [class.uk-flex-last@s]="!smallForm">
|
|
|
|
<re-captcha (resolved)="handleRecaptcha($event)" [(siteKey)]="properties.reCaptchaSiteKey">
|
2022-02-24 17:42:05 +01:00
|
|
|
</re-captcha>
|
|
|
|
</div>
|
2022-03-01 20:09:14 +01:00
|
|
|
<div class="uk-flex uk-flex-center" [class.uk-width-1-1]="smallForm" [class.uk-flex-column]="!smallForm">
|
|
|
|
<div class="uk-flex uk-flex-center" [class.uk-flex-left@s]="!smallForm">
|
|
|
|
<button class="uk-button uk-text-uppercase uk-flex uk-flex-middle"
|
|
|
|
[class.uk-disabled]="contactForm.invalid || sending"
|
|
|
|
[class.uk-button-primary]="!buttonClass && contactForm.valid"
|
|
|
|
[ngClass]="(contactForm.valid?buttonClass:'')"
|
|
|
|
(click)="send()">
|
2022-02-24 17:42:05 +01:00
|
|
|
{{sendButton}}
|
2022-03-01 20:09:14 +01:00
|
|
|
<span *ngIf="sending" class="uk-icon uk-margin-small-left"><loading [top_margin]="false" [size]="'small'"
|
|
|
|
[color]="null"></loading></span>
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-12-03 13:50:39 +01:00
|
|
|
</div>
|