aboutsummaryrefslogtreecommitdiffstats
path: root/server/templates/server/user_list_table.html
blob: ede8d9deee2b0065ddc2604e1c6dd25b02845c6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
{% extends 'registration/base_admin.html' %}

{% block title %}Admin - Lista Utenti{% endblock %}

{% block breadcrumb %}
  <a href="{% url 'server'%}" class="breadcrumb hide-on-med-and-down">Admin</a>
  <a class="breadcrumb hide-on-med-and-down">Lista Utenti</a>
{% endblock %}
{% block toolbar %}
  <div class="nav-wrapper {{color}}">
    <ul>
      <li><a href="#modal1" data-target="modal1" class="modal-trigger tooltipped" data-position="top" data-tooltip="Seleziona colonne"><i class="material-icons">filter_list</i></a></li>
    </ul>
  </div>
{% endblock %}

{% block content %}
<div id="modal1" class="modal modal-fixed-footer">
  <div class="modal-content">
    <h5>Colonne</h5>
    <div class="row" id="column-select">
    </div>
  </div>
  <div class="modal-footer">
    <a href="#!" onclick="update_cols()" class="modal-close waves-effect waves-green btn-flat">Applica</a>
  </div>
</div>

<div id="example-table"></div>
{% endblock %}

{% block script %}
  $(document).ready(function(){
      $('#modal1').modal();
  });

  var tabledata = [
      {% for user in users %}
        {
          username: "{{user.user.username}}",
          name: "{{user.user.first_name}}",
          last_name: "{{user.user.last_name}}",
          email: "{{user.user.email}}",
        },
      {% endfor %}
  ];

  var columns = [];

  var col_categories = [
    {field: "base", name: "Informazioni base", cols: 
      [
        {title: "Username", field: "username"},
        {title: "Nome", field: "name"},
        {title: "Cognome", field: "last_name"},
        {title: "Email", field: "email", visible: false},
      ]
    },
  ]

  var col_select = document.getElementById("column-select");
  for (var j = 0; j < col_categories.length; j++) {
    col_select.innerHTML += '<div class="input-field col s12"><label><input id="category_'+col_categories[j].field+'" type="checkbox" class="filled-in"/><span style="color:black"><b>'+col_categories[j].name+'</b></span></label></div>';
    var all_visible = true;
    for (var i = 0; i < col_categories[j].cols.length; i++) {
      columns.push(col_categories[j].cols[i]);
      if (columns[i].visible == false) {
        col_select.innerHTML += '<div class="input-field col s12"><label>&emsp;<input id="filter_'+col_categories[j].cols[i].field+'" type="checkbox" class="filled-in"/><span style="color:black">'+col_categories[j].cols[i].title+'</span></label></div>';
        all_visible = false;
      } else {
        col_select.innerHTML += '<div class="input-field col s12"><label>&emsp;<input id="filter_'+col_categories[j].cols[i].field+'" type="checkbox" class="filled-in" checked="checked"/><span style="color:black">'+col_categories[j].cols[i].title+'</span></label></div>';
      }
    }

    var cat_elem = document.getElementById("category_"+col_categories[j].field);

    if (all_visible) {
      cat_elem.checked = true;
    }
  }

  //initialize table
  var table = new Tabulator("#example-table", {
      responsiveLayout:true,
      data:tabledata,
      columns:columns,
  });

  function update_cols() {
    for (var i = 0; i < columns.length; i++) {
      if (document.getElementById("filter_"+columns[i].field).checked) {
        table.showColumn(columns[i].field);
      } else {
        table.hideColumn(columns[i].field);
      }
    }
  }
{% endblock %}