(function() { 'use strict'; var conditionsContainer = document.getElementById('js-conditions-container'); var actionsContainer = document.getElementById('js-actions-container'); var addConditionBtn = document.getElementById('js-add-condition'); var addActionBtn = document.getElementById('js-add-action'); var data = window.AutomationFormData || { integrations: [], emailTemplates: [], recipientLabels: {} }; function getNextIndex(container) { var rows = container.querySelectorAll('.automation-row'); var maxIdx = -1; rows.forEach(function(row) { var idx = parseInt(row.getAttribute('data-index') || '0', 10); if (idx > maxIdx) maxIdx = idx; }); return maxIdx + 1; } function escapeHtml(str) { var div = document.createElement('div'); div.textContent = str; return div.innerHTML; } function buildIntegrationCheckboxes(namePrefix) { var html = '
'; data.integrations.forEach(function(integ) { html += ''; }); html += '
'; return html; } function buildEmailActionConfig(namePrefix) { var html = ''; html += ''; return html; } function addCondition() { var idx = getNextIndex(conditionsContainer); var namePrefix = 'conditions[' + idx + ']'; var row = document.createElement('div'); row.className = 'automation-row mt-8'; row.setAttribute('data-index', idx); row.innerHTML = '
' + '' + '
' + buildIntegrationCheckboxes(namePrefix) + '
' + '
' + ''; conditionsContainer.appendChild(row); } function addAction() { var idx = getNextIndex(actionsContainer); var namePrefix = 'actions[' + idx + ']'; var row = document.createElement('div'); row.className = 'automation-row mt-8'; row.setAttribute('data-index', idx); row.innerHTML = '
' + '' + '
' + buildEmailActionConfig(namePrefix) + '
' + '
' + ''; actionsContainer.appendChild(row); } function removeRow(btn) { var row = btn.closest('.automation-row'); if (row) row.remove(); } function onConditionTypeChange(select) { var row = select.closest('.automation-row'); var configDiv = row.querySelector('.automation-row__config'); var idx = row.getAttribute('data-index'); var namePrefix = 'conditions[' + idx + ']'; if (select.value === 'integration') { configDiv.innerHTML = buildIntegrationCheckboxes(namePrefix); } } function onActionTypeChange(select) { var row = select.closest('.automation-row'); var configDiv = row.querySelector('.automation-row__config'); var idx = row.getAttribute('data-index'); var namePrefix = 'actions[' + idx + ']'; if (select.value === 'send_email') { configDiv.innerHTML = buildEmailActionConfig(namePrefix); } } if (addConditionBtn) addConditionBtn.addEventListener('click', addCondition); if (addActionBtn) addActionBtn.addEventListener('click', addAction); window.AutomationForm = { removeRow: removeRow, onConditionTypeChange: onConditionTypeChange, onActionTypeChange: onActionTypeChange }; })();