diff --git a/blocks/form/_form.json b/blocks/form/_form.json index f42b1b1..91b6e20 100644 --- a/blocks/form/_form.json +++ b/blocks/form/_form.json @@ -40,7 +40,7 @@ }, { "component": "richtext", - "name": "thankYouMessage", + "name": "thankYouMessageContent", "label": "Message Content", "valueType": "string", "condition": { "==": [{ "var": "thankYouOption" }, "message"] } @@ -156,7 +156,7 @@ "condition": { "==": [{ "var": "useExternalEmailTemplate" }, true] } }, { - "component": "richtext", + "component": "text", "name": "template", "label": "Email template", "valueType": "string", diff --git a/blocks/form/form.js b/blocks/form/form.js index e70657d..d77f82b 100644 --- a/blocks/form/form.js +++ b/blocks/form/form.js @@ -574,7 +574,7 @@ export default async function decorate(block) { } } form.dataset.redirectUrl = formDef.redirectUrl || ''; - form.dataset.thankYouMsg = formDef.thankYouMsg || ''; + form.dataset.thankYouMsg = formDef.thankYouMsg || formDef?.properties?.thankYouMessageContent || ''; form.dataset.action = formDef.action || pathname?.split('.json')[0]; form.dataset.source = source; form.dataset.rules = rules; diff --git a/blocks/form/rules/model/afb-runtime.js b/blocks/form/rules/model/afb-runtime.js index b559bbf..10f3333 100644 --- a/blocks/form/rules/model/afb-runtime.js +++ b/blocks/form/rules/model/afb-runtime.js @@ -2595,7 +2595,7 @@ const request$1 = (url, data = null, options = {}) => { opts.body = data; } return fetch(updatedUrl, { - ...opts + ...opts, mode: 'no-cors' }).then(async (response) => { let body; if (!response.ok) { @@ -2616,6 +2616,13 @@ const request$1 = (url, data = null, options = {}) => { body, headers }; + }).catch(err => { + console.error(`Error while fetching response from ${url} : ${err}`); + return { + status: 500, + body: err, + headers: {} + }; }); }; const defaultRequestOptions = { diff --git a/blocks/form/submit.js b/blocks/form/submit.js index 17f9983..eea60c0 100644 --- a/blocks/form/submit.js +++ b/blocks/form/submit.js @@ -24,6 +24,10 @@ export function submitSuccess(e, form) { } export function submitFailure(e, form) { + if (e.payload.status === 0) { // TODO: remove this once we have a proper error handling + submitSuccess(e, form); + return; + } let errorMessage = form.querySelector('.form-message.error-message'); if (!errorMessage) { errorMessage = document.createElement('div'); diff --git a/component-models.json b/component-models.json index 46f76ca..33c27d3 100644 --- a/component-models.json +++ b/component-models.json @@ -291,7 +291,7 @@ }, { "component": "richtext", - "name": "thankYouMessage", + "name": "thankYouMessageContent", "label": "Message Content", "valueType": "string", "condition": { @@ -442,7 +442,7 @@ } }, { - "component": "richtext", + "component": "text", "name": "template", "label": "Email template", "valueType": "string",