{% extends "base.html" %}

{% set active_page = "admin_domain_template" %}

{% block title %}
  <title>
    Templates - {{ SITE_NAME }}
  </title>
{% endblock %}

{% block dashboard_stat %}

<div class="content-header">
  <div class="container-fluid">
    <div class="row mb-2">
      <div class="col-sm-6">
        <h1 class="m-0 text-dark">
          Templates
          <small>List</small>
        </h1>
      </div>
      <div class="col-sm-6">
        <ol class="breadcrumb float-sm-right">
          <li class="breadcrumb-item"><a href="{{ url_for('dashboard.dashboard') }}">Dashboard</a></li>
          <li class="breadcrumb-item active">Templates - List</li>
        </ol>
      </div>
    </div>
  </div>
</div>

{% endblock %}

{% block content %}
<section class="content">
  <div class="container-fluid">
    {% with errors = get_flashed_messages(category_filter=["error"]) %}
      {% if errors %}
        <div class="row">
          <div class="col-12">
            <div class="alert alert-danger alert-dismissible">
              <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
              <h4>
                <i class="fa-solid fa-ban"></i> Error!
              </h4>
              <div class="alert-message block-message error">
                <a class="close" href="#">x</a>
                <ul>
                  {%- for msg in errors %}
                    <li>{{ msg }}</li>
                  {% endfor -%}
                </ul>
              </div>
            </div>
          </div>
        </div>
      {% endif %}
    {% endwith %}
    <div class="row">
      <div class="col-12">
        <div class="card">
          <div class="card-header">
            <h3 class="card-title">Templates</h3>
            <a href="{{ url_for('admin.create_template') }}">
              <button type="button" class="btn btn-primary float-right">
                <i class="fa-solid fa-plus"></i>&nbsp;Create Template
              </button>
            </a>
          </div>
          <div class="card-body">
            <table id="tbl_template_list" class="table table-bordered table-striped">
              <thead>
                <tr>
                  <th>Name</th>
                  <th>Description</th>
                  <th>Number of Records</th>
                  <th width="20%">Actions</th>
                </tr>
              </thead>
              <tbody>
                {% for template in templates %}
                  <tr>
                    <td>
                      <a href="{{ url_for('admin.edit_template', template=template.name) }}">
                        <strong>{{ template.name }}</strong>
                      </a>
                    </td>
                    <td>
                      {{ template.description }}
                    </td>
                    <td>
                      {{ template.records|count }}
                    </td>
                    <td>
                      <div class="dropdown">
                        <button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                          <i class="fa-solid fa-bars"></i>&nbsp;Actions
                        </button>
                        <div class="dropdown-menu" aria-labelledby="dropdownMenu">
                          <button type="button" class="dropdown-item btn-warning" onclick="window.location.href='{{ url_for('admin.edit_template', template=template.name) }}'">
                            <i class="fa-solid fa-edit"></i>&nbsp;Edit Template
                          </button>
                          <div class="dropdown-divider"></div>
                          <button type="button"class="dropdown-item btn-secondary button_delete" id="{{template.name}}">
                            <font color="red">
                              <i class="fa-solid fa-trash"></i>&nbsp;Delete Template
                            </font>
                          </button>
                         </div>
                      </div>
                    </td>
                  </tr>
                {% endfor %}
              </tbody>
            </table>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>
{% endblock %}

{% block extrascripts %}
<script>
  // set up template data table
  $("#tbl_template_list").DataTable({
    "paging": true,
    "lengthChange": true,
    "searching": true,
    "ordering": true,
    "info": false,
    "autoWidth": false
  });

  // handle delete button
  $(document.body).on("click", ".button_delete", function (e) {
    var template = $(this).prop('id');
    $.post($SCRIPT_ROOT + '/admin/template/' + template + '/delete', {
      '_csrf_token': '{{ csrf_token() }}'
    }, function () {
      window.location.href = '{{ url_for('admin.templates') }}';
    });
  });
</script>
{% endblock %}

{% block modals %}
{% endblock %}