{% set base = '.' %} {% set active_form_id = handler.get_argument('id', '') %} {% set title = 'Form Builder' if active_form_id else 'Form Builder - Create a form' %} {{ title }} {% import os %} {% import json %} {% from gramex import variables %} {% from form_builder import FOLDER %} {% from gramex.data import filter as gfilter %} {% from gramex.config import variables as var %} {% set form_details = gfilter(url=var.FORMS_URL, table=var.FORMS_TABLE, args={'id': [active_form_id]}) %} {% set form_details = form_details %} {% set _md = json.loads(form_details['metadata'].iloc[0]) if active_form_id else '' %} {% set _config = form_details['config'].iloc[0] if active_form_id else '' %} {% set form_fields = ['button', 'checkbox', 'email', 'hidden', 'number', 'password', 'radio', 'range', 'select', 'text', 'textarea'] %} {% set _config = json.loads(_config) if active_form_id else {} %} {% set _config.pop('undefined') if _config and 'undefined' in _config else '' %} {% for k, v in _config.items() %} {% if k != 'undefined' %} {% set _config[k] = [json.loads(item) for item in v] %} {% end %} {% end %} {% include template-navbar.html %}

{{ 'Updating an existing form' if active_form_id else 'Creating a new form' }}

Step 1 - Form details

At least five characters are required
At least five characters are required

Step 2 - Configure form

Add fields
Drag fields to reorder.
{% if (active_form_id) %} {% raw form_details['html'].iloc[0] %} {% end %}
Edit properties
{% include 'toast.html' %} {% include 'modals/add-field.html' %} {% include 'modals/delete-form-field.html' %}