@salesforcedevs/dw-components 1.3.148-canary.6 → 1.3.148-canary.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -213,8 +213,8 @@ export default class J2sCardSequence extends LightningElement {
|
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
-
handleFormSubmit(evt: Event) {
|
|
217
|
-
if (!this.formHandler || this.isJ2sFormInvalid) {
|
|
216
|
+
async handleFormSubmit(evt: Event) {
|
|
217
|
+
if (!this.formHandler || this.isJ2sFormInvalid || !this.isLoggedIn) {
|
|
218
218
|
return;
|
|
219
219
|
}
|
|
220
220
|
|
|
@@ -231,10 +231,32 @@ export default class J2sCardSequence extends LightningElement {
|
|
|
231
231
|
if (typeof formData.Privacy_Statement__c !== "boolean") {
|
|
232
232
|
formData.Privacy_Statement__c = true;
|
|
233
233
|
}
|
|
234
|
-
|
|
235
|
-
|
|
234
|
+
|
|
235
|
+
console.log("submitting", JSON.stringify(formData, null, 2));
|
|
236
|
+
const res = await fetch(this.formHandler, {
|
|
237
|
+
method: "POST",
|
|
238
|
+
headers: {
|
|
239
|
+
"Captcha-Response": this.recaptchaToken
|
|
240
|
+
},
|
|
241
|
+
body: JSON.stringify({
|
|
242
|
+
...formData,
|
|
243
|
+
handlerName: "J2S Registration Page",
|
|
244
|
+
TBID__c: this.tbidUserInfo.user_id
|
|
245
|
+
})
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
if (res.ok) {
|
|
249
|
+
const resData = await res.json();
|
|
250
|
+
if (resData.status === "success") {
|
|
251
|
+
this.jumpToStepIndex(2);
|
|
252
|
+
} else {
|
|
253
|
+
throw new Error(
|
|
254
|
+
`Form submission failed. (status: ${resData.status}, message: ${resData.errorMessage})`
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
236
258
|
} catch (ex) {
|
|
237
|
-
console.
|
|
259
|
+
console.error(ex); // TODO
|
|
238
260
|
}
|
|
239
261
|
|
|
240
262
|
this._isFormSubmitting = false;
|
|
@@ -80,13 +80,15 @@ export default class J2sForm extends LightningElementWithState<J2sFormState> {
|
|
|
80
80
|
// but our custom form elements don't seem to implement what it is required for that currently. See:
|
|
81
81
|
// https://web.dev/more-capable-form-controls/#defining-a-form-associated-custom-element
|
|
82
82
|
const formData: any = {};
|
|
83
|
-
this.template
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
83
|
+
this.template
|
|
84
|
+
.querySelectorAll("form [name]")
|
|
85
|
+
.forEach((namedElement) => {
|
|
86
|
+
const typedElement = namedElement as HTMLInputElement;
|
|
87
|
+
formData[typedElement.name] =
|
|
88
|
+
typeof typedElement.checked === "boolean"
|
|
89
|
+
? typedElement.checked
|
|
90
|
+
: typedElement.value;
|
|
91
|
+
});
|
|
90
92
|
return formData;
|
|
91
93
|
}
|
|
92
94
|
|