{%- if not modal -%}
    {% extends 'admin/master.html' %}
{%- endif -%}
{% import 'admin/lib.html' as lib with context %}

{% macro extra() %}
  <input name="_add_another" type="submit" class="btn btn-large" value="{{ _gettext('Save and Add') }}" />
{% endmacro %}

{% block head %}
  {%- if not modal -%}
    {{ super() }}
    {{ lib.form_css() }}
  {%- endif -%}
{% endblock %}

{% block body %}
  {%- if modal -%}
    {{ lib.render_form(form, return_url, extra=None, form_opts=form_opts,
                       action=request.url, is_modal=True) }}
  {%- else -%}
    {% block navlinks %}
      <ul class="nav nav-tabs">
        <li>
            <a href="{{ return_url }}">{{ _gettext('List') }}</a>
        </li>
        <li class="active">
            <a href="javascript:void(0)">{{ _gettext('Create') }}</a>
        </li>
	  </ul>
    {% endblock %}

    {{ lib.render_form(form, return_url, extra(), form_opts=form_opts) }}
  {%- endif -%}
{% endblock %}

{% block tail %}
  {%- if modal -%}
    <script>
    // fill the header of modal dynamically
    $('.modal-header h3').html('{% block header_text %}<h3>{{ _gettext('Create New Record') }}</h3>{% endblock %}');

    // fixes "remote modal shows same content every time"
    $('.modal').on('hidden', function() {
      $(this).removeData('modal');
    });

    $(function() {
      // Apply flask-admin global styles after the modal is loaded
      window.faForm.applyGlobalStyles(document);
    });
    </script>
  {%- else -%}
    {{ super() }}
    {{ lib.form_js() }}
  {%- endif -%}
{% endblock %}
