70 lines
4.2 KiB
HTML
70 lines
4.2 KiB
HTML
<h1 *ngIf="formTitle" class="uk-margin-auto">{{formTitle}}</h1>
|
|
<ng-content select="[page-title]"></ng-content>
|
|
<ng-content select="[page-description]"></ng-content>
|
|
<div class="uk-child-width-1-1 uk-grid" [class.uk-grid-medium]="smallForm"
|
|
[class.uk-grid-margin-large]="!smallForm" [class.uk-child-width-1-2@s]="!smallForm"
|
|
[formGroup]="contactForm" uk-grid>
|
|
<div *ngIf="contactForm.get('name')">
|
|
<input class="uk-input" type="text" placeholder="Name *" formControlName="name"
|
|
[class.uk-form-danger]="contactForm.get('name').invalid && contactForm.get('name').touched">
|
|
</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">
|
|
<textarea rows="4" class="uk-textarea" placeholder="Comments *" formControlName="message"
|
|
[class.uk-form-danger]="contactForm.get('message').invalid && contactForm.get('message').touched">
|
|
</textarea>
|
|
</div>
|
|
<div *ngIf="contactForm.get('description')" class="uk-width-1-1">
|
|
<textarea rows="4" class="uk-textarea" placeholder="Description *" formControlName="description"
|
|
[class.uk-form-danger]="contactForm.get('description').invalid && contactForm.get('description').touched">
|
|
</textarea>
|
|
</div>
|
|
<div *ngIf="contactForm.get('recaptcha')" class="uk-width-1-1">
|
|
<re-captcha class="uk-flex " [ngClass]="'uk-flex-' + alignButton" (resolved)="handleRecaptcha($event)" [(siteKey)]="properties.reCaptchaSiteKey">
|
|
</re-captcha>
|
|
</div>
|
|
<div class="uk-width-1-1 uk-flex" [ngClass]="'uk-flex-' + alignButton">
|
|
<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()">
|
|
{{sendButton}}
|
|
<span *ngIf="sending" class="uk-icon uk-margin-small-left"><loading [top_margin]="false" [size]="'small'" [color]="null"></loading></span>
|
|
</button>
|
|
</div>
|
|
</div>
|