SumOfUs/Champaign

View on GitHub
app/liquid/views/partials/_survey_form.liquid

Summary

Maintainability
Test Coverage
<form action='/api/pages/{{id}}/survey_responses' data-remote='true' method='post' class='form--big action-form survey__form hidden-closed'>
  <input type='hidden' name='form_id' value='{{ form.form_id }}' />
  {% for field in form.fields %}
    <div class="form__group action-form__field-container">
      {% case field.data_type %}
      {% when 'text' or 'postal' %}
        <label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
        <input type="text" name="{{field.name}}" class="form-control form__content" maxlength="249" value="{{ field.default_value }}" />
      {% when 'hidden' %}
        <input type="hidden" name="{{field.name}}" class="form-control form__content" id="" value="{{ field.default_value }}" />
      {% when 'paragraph' %}
        <label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
        <textarea name="{{ field.name }}" class="form-control form__content" id="" maxlength="9999">{{ field.default_value }}</textarea>
      {% when 'email' %}
        <label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
        <input type="email" name="{{field.name}}" class="form-control form__content" id="" value="{{ field.default_value }}" />
      {% when 'phone' %}
        <label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
        <input type="tel" name="{{field.name}}" class="form-control form__content" id="" value="{{ field.default_value }}" />
      {% when 'checkbox' %}
        {% if field.default_value == blank %}
          {% assign checked = '' %}
        {% else %}
          {% assign checked = 'checked' %}
        {% endif %}
        <label class="checkbox-label">
          <input name="{{field.name}}" type="hidden" value="0" />
          <input type="checkbox" name="{{field.name}}" class="form__content" value="1" {{ checked }}/> {{ field.label }}
        </label>
      {% when 'country' %}
        <label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
        <select name="{{field.name}}" class="survey-form__dropdown form__content">
          <option></option>
          {% if field.default_value == blank %}
            {{ country_option_tags }}
          {% else %}
            {{ country_option_tags | select_option: field.default_value }}
          {% endif %}
        </select>
      {% when 'dropdown' %}
        <label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
        <select name="{{ field.name }}" class="survey-form__dropdown form__content">
          <option></option>
          {% for choice in field.choices %}
            {% if choice.value == field.default_value %}
              <option value="{{ choice.value }}" selected="selected">{{ choice.label }}</option>
            {% else %}
              <option value="{{ choice.value }}">{{ choice.label }}</option>
            {% endif %}
          {% endfor %}
        </select>
      {% when 'choice' %}
        <div class="radio-container">
          <div class="survey__question">{{ field.label }}</div>
          {% for choice in field.choices %}
            <label for="{{ choice.id }}">
              <input id="{{ choice.id }}" name="{{ field.name }}" type="radio" value="{{ choice.value }}">
              {{ choice.label }}
            </label>
          {% endfor %}
        </div>
      {% when 'instruction' %}
        <div class="survey__instruction">
          {{ field.label }}
        </div>
      {% endcase %}
    </div>
  {% endfor %}
  <button type="submit" class="button action-form__submit-button survey__button survey__next-button">{{ cta }}</button>
  {% if form.skippable %}
    {% unless last %}
      <!-- liquid doesn't support `not` or `!` -__- -->
      <a class="button button--inverted survey__button survey__skip-button">{{  'survey.skip' | t }}</a>
    {% endunless %}
  {% endif %}
</form>