Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
<div id="visualizer-container"></div>
<div id="form-container" class="hidden">
    <form id="user-form">
        <label for="name">Name:</label>
        <input type="text" id="name" name="name" required />
        <label for="email">Email:</label>
        <input type="email" id="email" name="email" required />
        <button id="submit" type="button">Submit</button>
    </form>
</div>

<script>
    document.addEventListener('DOMContentLoaded', () => {
        const visualizer = new WizartDeploymentKit.createVisualizerVisualizer({
            token: 'YOUR_WEB_TOKEN',
            targetElement: document.getElementById('visualizer-container'),
        });

        const form = document.getElementById('form-container');
        const submitButton = document.getElementById('submit');
        let applyEventCount = 0; // Counter for PRODUCT_APPLY events

        visualizer.load().then(() => {
            visualizer.show();

            // Subscribe to PRODUCT_APPLY events
            WizartDeploymentKit.EventBus.subscribe((event) => {
                applyEventCount++;
                console.log(`Apply events triggered: ${applyEventCount}`);

                if (applyEventCount === 3) {
                    visualizer.block();
                    form.classList.remove('hidden'); // Show the form
                }
            }, WizartDeploymentKit.VISUALIZER_EVENTS.PRODUCT_APPLY, visualizer);

            // Form Submission Handler
            submitButton.addEventListener('click', () => {
                const email = document.getElementById('email').value;
                const name = document.getElementById('name').value;

                if (name && email) {
                    console.log(`Name: ${name}, Email: ${email}`);
                    visualizer.unblock(); // Unblock the Visualizer
                    form.classList.add('hidden'); // Hide the form
                    applyEventCount = 0; // Reset the counter
                } else {
                    alert('Please fill in both Name and Email.');
                }
            });
        });
    });
</script>

<style>
    #form-container {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: white;
        padding: 20px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        border-radius: 8px;
        z-index: 1000;
    }
    #form-container.hidden {
        display: none;
    }
    #visualizer-container {
        width: 100%;
        height: 600px;
    }
</style>

...