diff --git a/blocks/form/constant.js b/blocks/form/constant.js index 633e3815..aa1ccfd3 100644 --- a/blocks/form/constant.js +++ b/blocks/form/constant.js @@ -31,7 +31,7 @@ export function getRouting() { // eslint-disable-next-line no-useless-escape export const emailPattern = '([A-Za-z0-9][._]?)+[A-Za-z0-9]@[A-Za-z0-9]+(\.?[A-Za-z0-9]){2}\.([A-Za-z0-9]{2,4})?'; -let submitBaseUrl = 'https://publish-p149891-e1546481.adobeaemcloud.com'; +let submitBaseUrl = 'https://forms.adobe.com'; export function setSubmitBaseUrl(url) { submitBaseUrl = url; @@ -40,3 +40,5 @@ export function setSubmitBaseUrl(url) { export function getSubmitBaseUrl() { return submitBaseUrl; } + +export const SUBMISSION_SERVICE = 'https://forms.adobe.com/adobe/forms/af/submit'; diff --git a/blocks/form/form.css b/blocks/form/form.css index cb6b8237..656e1c31 100644 --- a/blocks/form/form.css +++ b/blocks/form/form.css @@ -39,7 +39,7 @@ --form-fieldset-legend-padding: 0; --form-button-color: var(--background-color-primary); --form-button-font-size: var(--form-font-size-s); - --form-button-background-color: #79c2d0; + --form-button-background-color: #00647D; --form-button-background-hover-color: var(--button-primary-hover-color); --form-button-border: 2px solid transparent; --form-button-padding: 15px 40px; diff --git a/blocks/form/form.js b/blocks/form/form.js index 7038f0df..484b54e6 100644 --- a/blocks/form/form.js +++ b/blocks/form/form.js @@ -12,7 +12,7 @@ import componentDecorator from './mappings.js'; import DocBasedFormToAF from './transform.js'; import transferRepeatableDOM, { insertAddButton, insertRemoveButton } from './components/repeat/repeat.js'; import { handleSubmit } from './submit.js'; -import { getSubmitBaseUrl, emailPattern } from './constant.js'; +import { getSubmitBaseUrl, emailPattern, SUBMISSION_SERVICE } from './constant.js'; import { createOptimizedPicture } from '../../scripts/aem.js'; export const DELAY_MS = 0; @@ -553,7 +553,18 @@ export default async function decorate(block) { let rules = true; let form; if (formDef) { - formDef.action = getSubmitBaseUrl() + (formDef.action || ''); + const submitProps = formDef?.properties?.['fd:submit']; + const actionType = submitProps?.actionName || formDef?.properties?.actionType; + const spreadsheetUrl = submitProps?.spreadsheet?.spreadsheetUrl + || formDef?.properties?.spreadsheetUrl; + + if (actionType === 'spreadsheet' && spreadsheetUrl) { + const iframePath = window.frameElement ? window.parent.location.pathname + : window.location.pathname; + formDef.action = SUBMISSION_SERVICE + (formDef.id || btoa(pathname || iframePath)); + } else { + formDef.action = getSubmitBaseUrl() + (formDef.action || ''); + } if (isDocumentBasedForm(formDef)) { const transform = new DocBasedFormToAF(); formDef = transform.transform(formDef);