diff --git a/src/app/contact/contact.component.html b/src/app/contact/contact.component.html index fb036ac..0923215 100644 --- a/src/app/contact/contact.component.html +++ b/src/app/contact/contact.component.html @@ -7,21 +7,19 @@
- +

Contact us to
learn more.

-
+
-
+
Our team will respond to your submission soon.
Press OK to redirect to OpenAIRE Connect home page.
diff --git a/src/app/contact/contact.component.ts b/src/app/contact/contact.component.ts index 14f7ac4..2a7e063 100644 --- a/src/app/contact/contact.component.ts +++ b/src/app/contact/contact.component.ts @@ -13,6 +13,7 @@ import {FormBuilder, FormGroup, Validators} from "@angular/forms"; import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component"; import {Subscriber} from "rxjs"; import {properties} from "../../environments/environment"; +import {NotificationHandler} from "../openaireLibrary/utils/notification-handler"; @Component({ selector: 'contact', @@ -23,17 +24,16 @@ export class ContactComponent implements OnInit { public url: string = null; public pageTitle: string = "OpenAIRE - Connect | Contact Us"; public description: string = "Contact us to learn more about OpenAIRE Connect Research Gateways"; - public showLoading = true; - public errorMessage = ''; + public sending = true; public email: Email; - public properties: EnvProperties = null; + public properties: EnvProperties = properties; public pageContents = null; public divContents = null; public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'Contact us'}]; - public contactForm: FormGroup; @ViewChild('AlertModal') modal; private subscriptions = []; + ngOnDestroy() { this.subscriptions.forEach(subscription => { if (subscription instanceof Subscriber) { @@ -70,7 +70,7 @@ export class ContactComponent implements OnInit { this.reset(); //this.getDivContents(); this.getPageContents(); - this.showLoading = false; + this.sending = false; } @@ -90,8 +90,6 @@ export class ContactComponent implements OnInit { HelperFunctions.scroll(); if(event.valid === true) { this.sendMail(this.properties.admins); - } else { - this.errorMessage = 'Please fill in all the required fields!'; } } @@ -104,29 +102,25 @@ export class ContactComponent implements OnInit { community: this.fb.control('', Validators.required), message: this.fb.control('', Validators.required), recaptcha: this.fb.control('', Validators.required), - }); - this.errorMessage = ''; + }) } private sendMail(admins: any) { - this.showLoading = true; + this.sending = true; this.subscriptions.push(this._emailService.contact(this.properties, Composer.composeEmailForNewCommunity(this.contactForm.value, admins), this.contactForm.value.recaptcha).subscribe( res => { - this.showLoading = false; if (res) { + this.sending = false; this.reset(); this.modalOpen(); } else { - this.errorMessage = 'Email sent failed! Please try again.'; - this.contactForm.get('recaptcha').setValue(''); + this.handleError('Email sent failed! Please try again.'); } }, error => { this.handleError('Email sent failed! Please try again.', error); - this.showLoading = false; - this.contactForm.get('recaptcha').setValue(''); } )); } @@ -141,10 +135,13 @@ export class ContactComponent implements OnInit { this.modal.open(); } - handleError(message: string, error) { - this.errorMessage = message; - console.log('Server responded: ' + error); - this.showLoading = false; + handleError(message: string, error = null) { + if(error) { + console.error(error); + } + NotificationHandler.rise(message, 'danger'); + this.sending = false; + this.contactForm.get('recaptcha').setValue(''); } public goToHome() { diff --git a/src/app/openaireLibrary b/src/app/openaireLibrary index 9222dee..9e961d4 160000 --- a/src/app/openaireLibrary +++ b/src/app/openaireLibrary @@ -1 +1 @@ -Subproject commit 9222deed7b1a39d21284dd1c3121a31909767d3a +Subproject commit 9e961d46c12663260c28c85374e7657b4e413626 diff --git a/src/assets/common-assets b/src/assets/common-assets index 4e99b08..9224f3d 160000 --- a/src/assets/common-assets +++ b/src/assets/common-assets @@ -1 +1 @@ -Subproject commit 4e99b0887c758579682eb1d9848d227e18f97799 +Subproject commit 9224f3da593049aaa18bce81ff1e2d7d7597c22c diff --git a/src/assets/openaire-theme b/src/assets/openaire-theme index 9f0b25a..0a34bf8 160000 --- a/src/assets/openaire-theme +++ b/src/assets/openaire-theme @@ -1 +1 @@ -Subproject commit 9f0b25ae591095b9b9a31aa4cba7c98e3d012899 +Subproject commit 0a34bf8f62ef7544060acc4e8333ce13ea929d91