{% macro filter_options(btn_class='dropdown-toggle') %}
<a class="nav-link {{ btn_class }}" data-toggle="dropdown" href="javascript:void(0)">
    {{ _gettext('Add Filter') }}
    <b class="caret"></b>
</a>
<div class="dropdown-menu field-filters">
    {% for k in filter_groups %}
        <a href="javascript:void(0)" class="dropdown-item filter" onclick="return false;">
            {{ k }}
        </a>
    {% endfor %}
</div>
{% endmacro %}
{% macro export_options(btn_class='dropdown-toggle') %}
{% if admin_view.export_types|length > 1 %}
    <li class="dropdown">
        <a class="nav-link {{ btn_class }}"
           data-toggle="dropdown"
           href="javascript:void(0)"
           role="button"
           aria-haspopup="true"
           aria-expanded="false">
            {{ _gettext('Export') }}
            <b class="caret"></b>
        </a>
        <div class="dropdown-menu">
            {% for export_type in admin_view.export_types %}
                <a class="dropdown-item"
                   href="{{ get_url('.export', export_type=export_type, **request.args) }}"
                   title="{{ _gettext('Export') }}">
                    {{ _gettext('Export') + ' ' + export_type|upper }}
                </a>
            {% endfor %}
        </div>
    </li>
{% else %}
    <li>
        <a class="nav-link"
           href="{{ get_url('.export', export_type=admin_view.export_types[0], **request.args) }}"
           title="{{ _gettext('Export') }}">
            {{ _gettext('Export') }}
        </a>
    </li>
{% endif %}
{% endmacro %}
{% macro filter_form() %}
<form id="filter_form" method="GET" action="{{ return_url }}">
    {% if sort_column is not none %}
        <input type="hidden" name="sort" value="{{ sort_column }}">
    {% endif %}
    {% if sort_desc %}
        <input type="hidden" name="desc" value="{{ sort_desc }}">
    {% endif %}
    {% if search %}
        <input type="hidden" name="search" value="{{ search }}">
    {% endif %}
    {% if page_size != default_page_size %}
        <input type="hidden" name="page_size" value="{{ page_size }}">
    {% endif %}
    <div class="pull-right">
        <button type="submit" class="btn btn-primary" style="display: none">
            {{ _gettext('Apply') }}
        </button>
        {% if active_filters %}
            <a href="{{ clear_search_url }}" class="btn btn-secondary">
                {{ _gettext('Reset Filters') }}
            </a>
        {% endif %}
    </div>
    <table class="filters"></table>
</form>
<div class="clearfix"></div>
{% endmacro %}
{% macro search_form(input_class="col-auto") %}
<form method="GET" action="{{ return_url }}" class="form-inline my-2 my-lg-0" role="search">
    {% for flt_name, flt_value in filter_args.items() %}
        <input type="hidden" name="{{ flt_name }}" value="{{ flt_value }}">
    {% endfor %}
    {% if page_size != default_page_size %}
        <input type="hidden" name="page_size" value="{{ page_size }}">
    {% endif %}
    {% if sort_column is not none %}
        <input type="hidden" name="sort" value="{{ sort_column }}">
    {% endif %}
    {% if sort_desc %}
        <input type="hidden" name="desc" value="{{ sort_desc }}">
    {% endif %}
    {% if search %}
        <div class="form-inline input-group">
            <input class="form-control {{ input_class }}"
                   size="30"
                   type="text"
                   name="search"
                   value="{{ search }}"
                   placeholder="{{ _gettext('%(placeholder)s', placeholder=search_placeholder) }}">
            <div class="input-group-append">
                <span class="input-group-text">
                    <a href="{{ clear_search_url }}" class="align-middle">
                        <span class="fa fa-times glyphicon glyphicon-remove"></span>
                    </a>
                </span>
            </div>
            <button class="btn btn-secondary my-2 my-sm-0 ml-2" type="submit">
                {{ _gettext('Search') }}
            </button>
        </div>
    {% else %}
        <div class="form-inline">
            <input class="form-control {{ input_class }}"
                   size="30"
                   type="text"
                   name="search"
                   value=""
                   placeholder="{{ _gettext('%(placeholder)s', placeholder=search_placeholder) }}">
            <button class="btn btn-secondary my-2 my-sm-0 ml-2" type="submit">
                {{ _gettext('Search') }}
            </button>
        </div>
    {% endif %}
</form>
{% endmacro %}
{% macro page_size_form(generator, btn_class='nav-link dropdown-toggle') %}
<a class="{{ btn_class }}" data-toggle="dropdown" href="javascript:void(0)">
    {{ page_size }} {{ _gettext('items') }}
    <b class="caret"></b>
</a>
<div class="dropdown-menu">
    <a class="dropdown-item{% if page_size == 20 %}active{% endif %}" href="{{ generator(20) }}">
        20 {{ _gettext('items') }}
    </a>
    <a class="dropdown-item{% if page_size == 50 %}active{% endif %}" href="{{ generator(50) }}">
        50 {{ _gettext('items') }}
    </a>
    <a class="dropdown-item{% if page_size == 100 %}active{% endif %}" href="{{ generator(100) }}">
        100 {{ _gettext('items') }}
    </a>
</div>
{% endmacro %}
