(function (app) { 'use strict'; function boot() { // When this bundle is hosted by the unified tables.html, the // mode dispatcher decides which app paints. Skip when mode is // not "form" — table-mode requests are handled by tablesApp. // (Standalone form/dist/form.html has no zddcMode global; treat // undefined as form-mode for back-compat.) if (window.zddcMode && window.zddcMode !== 'form') { return; } app.context = app.modules.context.load(); if (app.context.title) { // Standalone form.html has #form-title in its header; unified // tables.html bundle has #table-title (shared across modes). // Whichever exists, write to it. const t = document.getElementById('form-title') || document.getElementById('table-title'); if (t) { t.textContent = app.context.title; } document.title = app.context.title + ' — ZDDC'; } const root = document.getElementById('form-root'); if (root && app.context.schema) { app.rootWidget = app.modules.render.mount( root, app.context.schema, app.context.ui || {}, app.context.data ); } if (app.context.errors && app.context.errors.length) { app.modules.errors.apply(app.context.errors); app.modules.post.showStatus('Please correct the errors below.', 'error'); } const submitBtn = document.getElementById('submit-btn'); if (submitBtn) { submitBtn.addEventListener('click', app.modules.post.submit); } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', boot, { once: true }); } else { boot(); } })(window.formApp);