wm popup form fix

<script> 
document.addEventListener('wmPopup:afterOpenPopup', async function(e) { 
  if (!window.websiteComponents) return; 
  const popupContent = e.detail.el.querySelector('.wm-popup-content'); 
  if (!popupContent) return; 
  const loader = window.websiteComponents.loader; 
  const instanceLoader = window.websiteComponents.visitorInstanceLoader; 
  const componentBlocks = popupContent.querySelectorAll('.sqs-block-website-component'); 
  for (const block of componentBlocks) { 
    const definitionName = block.dataset.definitionName; 
    const blockId = block.id; 
    if (!definitionName || !blockId) continue; 
    const visitorModuleName = `${definitionName}.visitor`; 
    const wrapper = block.querySelector('.form-wrapper, .button-wrapper, .code-wrapper'); 
    const needsInit = wrapper && wrapper.children.length === 0; 
    const moduleEntry = loader.modules[visitorModuleName]; 
    const moduleNotLoaded = !moduleEntry || !moduleEntry.executingContext; 
    if (needsInit || moduleNotLoaded) { 
      try { 
        if (!loader.importMap[visitorModuleName]) { 
          const scriptsData = block.dataset.blockScripts; 
          if (scriptsData) { 
            const scripts = JSON.parse(scriptsData); 
            const visitorUrl = scripts.find(s => s.includes('visitor')); 
            if (visitorUrl) { 
              loader.importMap[visitorModuleName] = visitorUrl; 
            } 
          } 
        } 
        await instanceLoader.load({ 
          definitionName, 
          id: blockId, 
          element: block, 
          forceRefresh: true, 
          isInEditor: false }); 
      } 
      catch (err) { 
        // Silent fail 
      } 
    } 
  } 
});
</script>

 

Buy me a coffee