Skip to content

Commit 149a210

Browse files
committed
refactor HubContact to generic ApiForm with parameterized URL
1 parent ccd3584 commit 149a210

File tree

5 files changed

+29
-30
lines changed

5 files changed

+29
-30
lines changed
Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
"use strict";
22

3-
const REQUEST_HUB_CONTACT_URL = API_BASE_URL + '/connect/contact/request-contact';
3+
class ApiForm {
44

5-
class HubContact {
6-
7-
constructor(form, feedbackData, submitData) {
5+
constructor(form, feedbackData, submitData, url) {
86
this._form = form;
97
this._feedbackData = feedbackData;
108
this._submitData = submitData;
9+
this._url = url;
1110
}
1211

1312
request() {
@@ -22,7 +21,7 @@ class HubContact {
2221
this._feedbackData.errorMessage = '';
2322

2423
$.ajax({
25-
url: REQUEST_HUB_CONTACT_URL,
24+
url: this._url,
2625
type: 'POST',
2726
data: JSON.stringify(this._submitData),
2827
contentType: "application/json; charset=utf-8",
@@ -46,4 +45,4 @@ class HubContact {
4645
window.scrollTo(0, 0);
4746
}
4847

49-
}
48+
}

layouts/become-a-partner/single.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
{{ partial "altcha-css.html" . }}
33
{{ end }}
44
{{ define "main" }}
5-
<section x-data="{feedbackData: {success: false, inProgress: false, errorMessage: ''}, submitData: {firstName: '', lastName: '', email: '', phone: '', company: '', website: '', partnershipType: '', message: '', captcha: null, acceptNewsletter: false, formType: 'become-partner'}, acceptTerms: false, hubContact: null, captchaState: null}" x-init="hubContact = new HubContact($refs.form, feedbackData, submitData)" class="container py-12">
5+
<section x-data="{feedbackData: {success: false, inProgress: false, errorMessage: ''}, submitData: {firstName: '', lastName: '', email: '', phone: '', company: '', website: '', partnershipType: '', message: '', captcha: null, acceptNewsletter: false, formType: 'become-partner'}, acceptTerms: false, apiForm: null, captchaState: null}" x-init="apiForm = new ApiForm($refs.form, feedbackData, submitData, API_BASE_URL + '/connect/contact/request-contact')" class="container py-12">
66
<header class="mb-6">
77
<h1 class="font-h1 mb-8">{{ .Title }}</h1>
88
<p class="lead">{{ .Description }}</p>
99
</header>
1010

11-
<form x-ref="form" @submit.prevent="hubContact.request(); $refs.captcha.reset()">
11+
<form x-ref="form" @submit.prevent="apiForm.request(); $refs.captcha.reset()">
1212
<div x-show="!feedbackData.success" class="grid grid-cols-1 md:grid-cols-3 gap-6 items-start">
1313
<!-- Left Side - Partner Form -->
1414
<section class="white-box md:col-span-2">
@@ -218,17 +218,17 @@ <h3 class="font-h3">
218218
{{ if hugo.IsDevelopment }}
219219
{{ $newsletterJs := resources.Get "js/newsletter.js" }}
220220
<script type="text/javascript" src="{{ $newsletterJs.RelPermalink }}" defer></script>
221-
{{ $hubContactJs := resources.Get "js/hubcontact.js" }}
222-
<script type="text/javascript" src="{{ $hubContactJs.RelPermalink }}" defer></script>
221+
{{ $apiFormJs := resources.Get "js/apiform.js" }}
222+
<script type="text/javascript" src="{{ $apiFormJs.RelPermalink }}" defer></script>
223223
{{ $altchaJs := resources.Get "js/altcha/altcha.js" }}
224224
<script type="module" src="{{ $altchaJs.RelPermalink }}" defer></script>
225225
{{ $altchaWorkerJs := resources.Get "js/altcha/worker.js" }}
226226
<script type="module" src="{{ $altchaWorkerJs.RelPermalink }}" defer></script>
227227
{{ else }}
228228
{{ $newsletterJs := resources.Get "js/newsletter.js" | minify | fingerprint }}
229229
<script type="text/javascript" src="{{ $newsletterJs.RelPermalink }}" integrity="{{ $newsletterJs.Data.Integrity }}" defer></script>
230-
{{ $hubContactJs := resources.Get "js/hubcontact.js" | minify | fingerprint }}
231-
<script type="text/javascript" src="{{ $hubContactJs.RelPermalink }}" integrity="{{ $hubContactJs.Data.Integrity }}" defer></script>
230+
{{ $apiFormJs := resources.Get "js/apiform.js" | minify | fingerprint }}
231+
<script type="text/javascript" src="{{ $apiFormJs.RelPermalink }}" integrity="{{ $apiFormJs.Data.Integrity }}" defer></script>
232232
{{ $altchaJs := resources.Get "js/altcha/altcha.js" }}
233233
<script type="module" src="{{ $altchaJs.RelPermalink }}" integrity="{{ $altchaJs.Data.Integrity }}" defer></script>
234234
{{ $altchaWorkerJs := resources.Get "js/altcha/worker.js" }}

layouts/book-a-demo/single.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
{{ partial "altcha-css.html" . }}
33
{{ end }}
44
{{ define "main" }}
5-
<section x-data="{feedbackData: {success: false, inProgress: false, errorMessage: ''}, submitData: {firstName: '', lastName: '', email: '', phone: '', company: '', interests: [], attendees: [], message: '', captcha: null, acceptNewsletter: false, formType: 'book-demo'}, acceptTerms: false, hubContact: null, captchaState: null}" x-init="hubContact = new HubContact($refs.form, feedbackData, submitData)" class="container py-12">
5+
<section x-data="{feedbackData: {success: false, inProgress: false, errorMessage: ''}, submitData: {firstName: '', lastName: '', email: '', phone: '', company: '', interests: [], attendees: [], message: '', captcha: null, acceptNewsletter: false, formType: 'book-demo'}, acceptTerms: false, apiForm: null, captchaState: null}" x-init="apiForm = new ApiForm($refs.form, feedbackData, submitData, API_BASE_URL + '/connect/contact/request-contact')" class="container py-12">
66
<header class="mb-6">
77
<h1 class="font-h1 mb-8">{{ .Title }}</h1>
88
<p class="lead">{{ .Description }}</p>
99
</header>
1010

11-
<form x-ref="form" @submit.prevent="hubContact.request(); $refs.captcha.reset()">
11+
<form x-ref="form" @submit.prevent="apiForm.request(); $refs.captcha.reset()">
1212
<div x-show="!feedbackData.success" class="grid grid-cols-1 md:grid-cols-3 gap-6 items-start">
1313
<!-- Left Side - Contact Form -->
1414
<section class="white-box md:col-span-2">
@@ -264,17 +264,17 @@ <h3 class="font-h3">
264264
{{ if hugo.IsDevelopment }}
265265
{{ $newsletterJs := resources.Get "js/newsletter.js" }}
266266
<script type="text/javascript" src="{{ $newsletterJs.RelPermalink }}" defer></script>
267-
{{ $hubContactJs := resources.Get "js/hubcontact.js" }}
268-
<script type="text/javascript" src="{{ $hubContactJs.RelPermalink }}" defer></script>
267+
{{ $apiFormJs := resources.Get "js/apiform.js" }}
268+
<script type="text/javascript" src="{{ $apiFormJs.RelPermalink }}" defer></script>
269269
{{ $altchaJs := resources.Get "js/altcha/altcha.js" }}
270270
<script type="module" src="{{ $altchaJs.RelPermalink }}" defer></script>
271271
{{ $altchaWorkerJs := resources.Get "js/altcha/worker.js" }}
272272
<script type="module" src="{{ $altchaWorkerJs.RelPermalink }}" defer></script>
273273
{{ else }}
274274
{{ $newsletterJs := resources.Get "js/newsletter.js" | minify | fingerprint }}
275275
<script type="text/javascript" src="{{ $newsletterJs.RelPermalink }}" integrity="{{ $newsletterJs.Data.Integrity }}" defer></script>
276-
{{ $hubContactJs := resources.Get "js/hubcontact.js" | minify | fingerprint }}
277-
<script type="text/javascript" src="{{ $hubContactJs.RelPermalink }}" integrity="{{ $hubContactJs.Data.Integrity }}" defer></script>
276+
{{ $apiFormJs := resources.Get "js/apiform.js" | minify | fingerprint }}
277+
<script type="text/javascript" src="{{ $apiFormJs.RelPermalink }}" integrity="{{ $apiFormJs.Data.Integrity }}" defer></script>
278278
{{ $altchaJs := resources.Get "js/altcha/altcha.js" }}
279279
<script type="module" src="{{ $altchaJs.RelPermalink }}" integrity="{{ $altchaJs.Data.Integrity }}" defer></script>
280280
{{ $altchaWorkerJs := resources.Get "js/altcha/worker.js" }}

layouts/contact-sales/single.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
{{ partial "altcha-css.html" . }}
33
{{ end }}
44
{{ define "main" }}
5-
<section x-data="{feedbackData: {success: false, inProgress: false, errorMessage: ''}, submitData: {firstName: '', lastName: '', email: '', phone: '', website: '', topic: '', message: '', captcha: null, acceptNewsletter: false, formType: 'contact-sales'}, acceptTerms: false, hubContact: null, captchaState: null}" x-init="hubContact = new HubContact($refs.form, feedbackData, submitData)" class="container py-12">
5+
<section x-data="{feedbackData: {success: false, inProgress: false, errorMessage: ''}, submitData: {firstName: '', lastName: '', email: '', phone: '', website: '', topic: '', message: '', captcha: null, acceptNewsletter: false, formType: 'contact-sales'}, acceptTerms: false, apiForm: null, captchaState: null}" x-init="apiForm = new ApiForm($refs.form, feedbackData, submitData, API_BASE_URL + '/connect/contact/request-contact')" class="container py-12">
66
<header class="mb-6">
77
<h1 class="font-h1 mb-8">{{ .Title }}</h1>
88
<p class="lead">{{ .Description }}</p>
99
</header>
1010

11-
<form x-ref="form" @submit.prevent="hubContact.request(); $refs.captcha.reset()">
11+
<form x-ref="form" @submit.prevent="apiForm.request(); $refs.captcha.reset()">
1212
<div x-show="!feedbackData.success" class="grid grid-cols-1 md:grid-cols-3 gap-6 items-start">
1313
<!-- Left Side - Contact Form -->
1414
<section class="white-box md:col-span-2">
@@ -206,17 +206,17 @@ <h3 class="font-h3">
206206
{{ if hugo.IsDevelopment }}
207207
{{ $newsletterJs := resources.Get "js/newsletter.js" }}
208208
<script type="text/javascript" src="{{ $newsletterJs.RelPermalink }}" defer></script>
209-
{{ $hubContactJs := resources.Get "js/hubcontact.js" }}
210-
<script type="text/javascript" src="{{ $hubContactJs.RelPermalink }}" defer></script>
209+
{{ $apiFormJs := resources.Get "js/apiform.js" }}
210+
<script type="text/javascript" src="{{ $apiFormJs.RelPermalink }}" defer></script>
211211
{{ $altchaJs := resources.Get "js/altcha/altcha.js" }}
212212
<script type="module" src="{{ $altchaJs.RelPermalink }}" defer></script>
213213
{{ $altchaWorkerJs := resources.Get "js/altcha/worker.js" }}
214214
<script type="module" src="{{ $altchaWorkerJs.RelPermalink }}" defer></script>
215215
{{ else }}
216216
{{ $newsletterJs := resources.Get "js/newsletter.js" | minify | fingerprint }}
217217
<script type="text/javascript" src="{{ $newsletterJs.RelPermalink }}" integrity="{{ $newsletterJs.Data.Integrity }}" defer></script>
218-
{{ $hubContactJs := resources.Get "js/hubcontact.js" | minify | fingerprint }}
219-
<script type="text/javascript" src="{{ $hubContactJs.RelPermalink }}" integrity="{{ $hubContactJs.Data.Integrity }}" defer></script>
218+
{{ $apiFormJs := resources.Get "js/apiform.js" | minify | fingerprint }}
219+
<script type="text/javascript" src="{{ $apiFormJs.RelPermalink }}" integrity="{{ $apiFormJs.Data.Integrity }}" defer></script>
220220
{{ $altchaJs := resources.Get "js/altcha/altcha.js" }}
221221
<script type="module" src="{{ $altchaJs.RelPermalink }}" integrity="{{ $altchaJs.Data.Integrity }}" defer></script>
222222
{{ $altchaWorkerJs := resources.Get "js/altcha/worker.js" }}

layouts/webinar/single.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
{{ partial "altcha-css.html" . }}
33
{{ end }}
44
{{ define "main" }}
5-
<section x-data="{feedbackData: {success: false, inProgress: false, errorMessage: ''}, submitData: {firstName: '', lastName: '', email: '', company: '', captcha: null, acceptNewsletter: false, formType: 'webinar'}, acceptTerms: false, hubContact: null, captchaState: null}" x-init="hubContact = new HubContact($refs.form, feedbackData, submitData)" class="container py-12">
5+
<section x-data="{feedbackData: {success: false, inProgress: false, errorMessage: ''}, submitData: {firstName: '', lastName: '', email: '', company: '', captcha: null, acceptNewsletter: false}, acceptTerms: false, apiForm: null, captchaState: null}" x-init="apiForm = new ApiForm($refs.form, feedbackData, submitData, API_BASE_URL + '/connect/contact/register-webinar')" class="container py-12">
66
<header class="mb-6">
77
<h1 class="font-h1 mb-8">{{ .Title }}</h1>
88
<p class="lead">{{ .Description }}</p>
99
</header>
1010

11-
<form x-ref="form" @submit.prevent="hubContact.request(); $refs.captcha.reset()">
11+
<form x-ref="form" @submit.prevent="apiForm.request(); $refs.captcha.reset()">
1212
<div x-show="!feedbackData.success" class="grid grid-cols-1 md:grid-cols-3 gap-6 items-start">
1313
<!-- Left Side - Registration Form -->
1414
<section class="white-box md:col-span-2">
@@ -148,15 +148,15 @@ <h3 class="font-h3">
148148
{{ end }}
149149
{{ define "script" }}
150150
{{ if hugo.IsDevelopment }}
151-
{{ $hubContactJs := resources.Get "js/hubcontact.js" }}
152-
<script type="text/javascript" src="{{ $hubContactJs.RelPermalink }}" defer></script>
151+
{{ $apiFormJs := resources.Get "js/apiform.js" }}
152+
<script type="text/javascript" src="{{ $apiFormJs.RelPermalink }}" defer></script>
153153
{{ $altchaJs := resources.Get "js/altcha/altcha.js" }}
154154
<script type="module" src="{{ $altchaJs.RelPermalink }}" defer></script>
155155
{{ $altchaWorkerJs := resources.Get "js/altcha/worker.js" }}
156156
<script type="module" src="{{ $altchaWorkerJs.RelPermalink }}" defer></script>
157157
{{ else }}
158-
{{ $hubContactJs := resources.Get "js/hubcontact.js" | minify | fingerprint }}
159-
<script type="text/javascript" src="{{ $hubContactJs.RelPermalink }}" integrity="{{ $hubContactJs.Data.Integrity }}" defer></script>
158+
{{ $apiFormJs := resources.Get "js/apiform.js" | minify | fingerprint }}
159+
<script type="text/javascript" src="{{ $apiFormJs.RelPermalink }}" integrity="{{ $apiFormJs.Data.Integrity }}" defer></script>
160160
{{ $altchaJs := resources.Get "js/altcha/altcha.js" }}
161161
<script type="module" src="{{ $altchaJs.RelPermalink }}" integrity="{{ $altchaJs.Data.Integrity }}" defer></script>
162162
{{ $altchaWorkerJs := resources.Get "js/altcha/worker.js" }}

0 commit comments

Comments
 (0)