From 023aac86fd35c0e50b8b9957c9f26be9fa02618d Mon Sep 17 00:00:00 2001 From: bluedeepart Date: Tue, 7 Jan 2025 16:54:06 +0530 Subject: [PATCH 1/8] initial commit --- blocks/forms/formHelper.js | 1 + 1 file changed, 1 insertion(+) diff --git a/blocks/forms/formHelper.js b/blocks/forms/formHelper.js index b79d37e2d..8b4a29375 100644 --- a/blocks/forms/formHelper.js +++ b/blocks/forms/formHelper.js @@ -42,6 +42,7 @@ export const formMapping = [ { type: 'inquiry', id: 'bbca06dd-57d2-433b-a8c1-d5cd18b4ce28' }, // { type: 'share-story', id: 'a1086f3a-ed6e-47d1-9694-17f8c0a28612' }, { type: 'share-story', id: '5d062792-bb0b-4f11-bc26-f3d3422ae4ec' }, + { type: 'promo', id: '014f34d1-570e-49d9-b1a6-c630c5ef609f' }, ]; export function getFormId(type) { From 7dc1b7cc389d8179ac33ba9db4fd6b500679c8ba Mon Sep 17 00:00:00 2001 From: bluedeepart Date: Tue, 7 Jan 2025 16:58:30 +0530 Subject: [PATCH 2/8] fixed lint issues --- blocks/onetrust/onetrust.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blocks/onetrust/onetrust.js b/blocks/onetrust/onetrust.js index 0a2f49f5c..e06dee7e2 100644 --- a/blocks/onetrust/onetrust.js +++ b/blocks/onetrust/onetrust.js @@ -14,8 +14,8 @@ async function onetrsutInitializationHandler(ontrustID) { opcoName[i].innerHTML = 'Molecular Devices, LLC'; } const opcoEntity = document.getElementsByClassName('OpcoEntity'); - for (var i = 0; i < opcoEntity.length; i++) { - opcoEntity[i].innerHTML = 'Molecular Devices Japan KK, 7F, 2-7-8 Nihonbashi Bakuro-cho,Chuo-ku, Tokyo, 103-0002, Japan. Point of contact: Justin Lee'; + for (let i = 0; i < opcoEntity.length; i += 1) { + opcoEntity[i].innerHTML = 'Molecular Devices Japan KK, 7F, 2-7-8 Nihonbashi Bakuro-cho,Chuo-ku, Tokyo, 103-0002, Japan. Point of contact: Justin Lee'; } const opcoAddr = document.getElementsByClassName('OpCoAddressMultiLine'); for (let i = 0; i < opcoAddr.length; i += 1) { From 5ef62e0d53c267ba23df85759c96737e1f4822f8 Mon Sep 17 00:00:00 2001 From: bluedeepart Date: Tue, 7 Jan 2025 17:00:16 +0530 Subject: [PATCH 3/8] fixed lint issues --- blocks/forms/forms.js | 1 - templates/blog/blog.js | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/blocks/forms/forms.js b/blocks/forms/forms.js index 6a852b7f3..de8bcc7c0 100644 --- a/blocks/forms/forms.js +++ b/blocks/forms/forms.js @@ -86,6 +86,5 @@ export default async function decorate(block, index) { block.innerHTML = ''; block.appendChild(form); - console.log(formConfig); loadHubSpotScript(createHubSpotForm.bind(null, formConfig, target, formType)); } diff --git a/templates/blog/blog.js b/templates/blog/blog.js index 74bcb21fd..0141ef447 100644 --- a/templates/blog/blog.js +++ b/templates/blog/blog.js @@ -107,4 +107,4 @@ export default async function decorate() { const socialShareSection = div(div({ class: 'social-share' })); blogCarouselSection.parentElement.insertBefore(socialShareSection, blogCarouselSection); } -} \ No newline at end of file +} From ad8d5350afd27636df44836e3556c4f94a4f979a Mon Sep 17 00:00:00 2001 From: bluedeepart Date: Tue, 7 Jan 2025 18:59:49 +0530 Subject: [PATCH 4/8] added CTA rename option --- blocks/forms/forms.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/blocks/forms/forms.js b/blocks/forms/forms.js index de8bcc7c0..bd5128b73 100644 --- a/blocks/forms/forms.js +++ b/blocks/forms/forms.js @@ -30,7 +30,7 @@ export function createHubSpotForm(formConfig, target, type = '') { const submitButton = button({ type: 'submit', class: 'button primary', - }, submitInput.value || 'Submit'); + }, formConfig.cta || submitInput.value || 'Submit'); submitInput.replaceWith(submitButton); } @@ -75,6 +75,7 @@ export default async function decorate(block, index) { const blockClasses = block.classList.value; const formTypes = formMapping.map((item) => item.type); const formType = formTypes.filter((type) => blockClasses.includes(type))[0]; + console.log(formType); const form = div( h3(formHeading), From 14ee684db7392e49ad7f1e710762daecac076bf0 Mon Sep 17 00:00:00 2001 From: bluedeepart Date: Tue, 7 Jan 2025 19:42:03 +0530 Subject: [PATCH 5/8] added fallback msg --- blocks/forms/formHelper.js | 2 +- blocks/forms/forms.css | 7 +++++++ blocks/forms/forms.js | 12 +++++++++--- scripts/scripts.js | 4 ++++ 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/blocks/forms/formHelper.js b/blocks/forms/formHelper.js index 8b4a29375..11595031b 100644 --- a/blocks/forms/formHelper.js +++ b/blocks/forms/formHelper.js @@ -42,7 +42,7 @@ export const formMapping = [ { type: 'inquiry', id: 'bbca06dd-57d2-433b-a8c1-d5cd18b4ce28' }, // { type: 'share-story', id: 'a1086f3a-ed6e-47d1-9694-17f8c0a28612' }, { type: 'share-story', id: '5d062792-bb0b-4f11-bc26-f3d3422ae4ec' }, - { type: 'promo', id: '014f34d1-570e-49d9-b1a6-c630c5ef609f' }, + // { type: 'promo', id: '014f34d1-570e-49d9-b1a6-c630c5ef609f' }, ]; export function getFormId(type) { diff --git a/blocks/forms/forms.css b/blocks/forms/forms.css index bf416c94b..7102a8053 100644 --- a/blocks/forms/forms.css +++ b/blocks/forms/forms.css @@ -3,6 +3,13 @@ --border-color: #bebebe; } +.forms.block .no-type-msg { + list-style: none; + padding: 0; + margin: 0; + text-align: left; +} + /* stylelint-disable no-descending-specificity */ .hs-form .hs-dependent-field, .hs-form .hs-form-field { diff --git a/blocks/forms/forms.js b/blocks/forms/forms.js index bd5128b73..59049148f 100644 --- a/blocks/forms/forms.js +++ b/blocks/forms/forms.js @@ -1,9 +1,9 @@ /* eslint-disable import/no-cycle */ import { - a, button, div, h3, label, + a, button, div, h3, label, li, p, ul, } from '../../scripts/dom-helpers.js'; import { loadCSS, toClassName } from '../../scripts/lib-franklin.js'; -import { loadScript } from '../../scripts/scripts.js'; +import { loadScript, toTitleCase } from '../../scripts/scripts.js'; import { createSalesforceForm, extractFormData, formMapping, getFormFieldValues, getFormId, updateFormFields, @@ -87,5 +87,11 @@ export default async function decorate(block, index) { block.innerHTML = ''; block.appendChild(form); - loadHubSpotScript(createHubSpotForm.bind(null, formConfig, target, formType)); + if (formType) { + loadHubSpotScript(createHubSpotForm.bind(null, formConfig, target, formType)); + } else { + const formTypeList = ul({ class: 'no-type-msg' }, p('Please add one of the following type to the block:')); + formMapping.map((item) => formTypeList.appendChild(li(toTitleCase(item.type)))); + block.appendChild(formTypeList); + } } diff --git a/scripts/scripts.js b/scripts/scripts.js index a92bd8536..ba879b908 100644 --- a/scripts/scripts.js +++ b/scripts/scripts.js @@ -1350,4 +1350,8 @@ export async function getCountryCode() { return data.country_code; } +export function toTitleCase(str) { + return str.split('-').join(' ').toLowerCase().replace(/(?:^|\s)\w/g, (match) => match.toUpperCase()); +} + loadPage(); From 11296c47abcb443da50d960f5bec2ad8f1aa8cfd Mon Sep 17 00:00:00 2001 From: bluedeepart Date: Tue, 7 Jan 2025 19:42:24 +0530 Subject: [PATCH 6/8] added CTA rename option --- blocks/forms/formHelper.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blocks/forms/formHelper.js b/blocks/forms/formHelper.js index 11595031b..8b4a29375 100644 --- a/blocks/forms/formHelper.js +++ b/blocks/forms/formHelper.js @@ -42,7 +42,7 @@ export const formMapping = [ { type: 'inquiry', id: 'bbca06dd-57d2-433b-a8c1-d5cd18b4ce28' }, // { type: 'share-story', id: 'a1086f3a-ed6e-47d1-9694-17f8c0a28612' }, { type: 'share-story', id: '5d062792-bb0b-4f11-bc26-f3d3422ae4ec' }, - // { type: 'promo', id: '014f34d1-570e-49d9-b1a6-c630c5ef609f' }, + { type: 'promo', id: '014f34d1-570e-49d9-b1a6-c630c5ef609f' }, ]; export function getFormId(type) { From 45c963b54e9627d70d15ed2ea61aec1dfcda41ee Mon Sep 17 00:00:00 2001 From: bluedeepart Date: Wed, 15 Jan 2025 15:09:26 +0530 Subject: [PATCH 7/8] added new forms for promo pages --- blocks/forms/formHelper.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/blocks/forms/formHelper.js b/blocks/forms/formHelper.js index 8b4a29375..bdaa9b1d6 100644 --- a/blocks/forms/formHelper.js +++ b/blocks/forms/formHelper.js @@ -43,6 +43,8 @@ export const formMapping = [ // { type: 'share-story', id: 'a1086f3a-ed6e-47d1-9694-17f8c0a28612' }, { type: 'share-story', id: '5d062792-bb0b-4f11-bc26-f3d3422ae4ec' }, { type: 'promo', id: '014f34d1-570e-49d9-b1a6-c630c5ef609f' }, + { type: 'ebook-promo', id: 'b83700e4-f00b-4b92-9124-fab2968f60b5' }, + { type: 'app-note-promo', id: 'ed0daf7c-99c6-4fd8-aa32-13d4e053fa64' }, ]; export function getFormId(type) { From c16aea080b7a82334268e6bcdd1b32d74cdae55f Mon Sep 17 00:00:00 2001 From: bluedeepart Date: Fri, 17 Jan 2025 11:39:10 +0530 Subject: [PATCH 8/8] lint fixes --- blocks/forms/forms.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/blocks/forms/forms.js b/blocks/forms/forms.js index 4789aaba9..6b7583f28 100644 --- a/blocks/forms/forms.js +++ b/blocks/forms/forms.js @@ -1,5 +1,7 @@ /* eslint-disable import/no-cycle */ -import { button, div, h3 } from '../../scripts/dom-helpers.js'; +import { + button, div, h3, li, p, ul, +} from '../../scripts/dom-helpers.js'; import { loadCSS, toClassName } from '../../scripts/lib-franklin.js'; import { loadScript, toTitleCase } from '../../scripts/scripts.js'; import { @@ -58,7 +60,6 @@ export default async function decorate(block, index) { const blockClasses = block.classList.value; const formTypes = formMapping.map((item) => item.type); const formType = formTypes.filter((type) => blockClasses.includes(type))[0]; - console.log(formType); const form = div( h3(formHeading),