text: "use strict";
  
  // para crear un formulario modal para actualizar hay que hacer:
  // la tabla tiene que tener la propiedad "id" con el nombre del controlador más "_table" (<table id="devices_table" ...>)
  // <a id="update" href="" class="update" data-toggle="modal" data-target="#updateModal"></a>
  // las propiedades obligatorias son id="update", data-toggle="modal" y data-target="#updateModal"
  
  /*if (document.querySelectorAll("a#create[data-toggle=modal]").length > 0 ||
    document.querySelectorAll("a#update[data-toggle=modal]").length > 0) createModal();*/
  
  
  
  function select_name(e) {
    document.getElementById("role_select").innerHTML =
      'Role: <span class="text-dark">' + e.innerText + "</span>";
    if (e.innerText === "TODOS")
      $("tr.user_row").each(function (index) {
        $(this).removeAttr("hidden");
      });
    else {
      $("tr.user_row>td#role_name").each(function (i) {
        if ($(this).text() === e.innerText)
          $(this).parent("tr").removeAttr("hidden");
        else $(this).parent("tr").attr("hidden", "true");
      });
    }
  }
  //document.addEventListener("DOMContentLoaded", function () {
  document.getElementById("roles").className += " active";
  
  
  function sortTable(n, type) {
    var table,
      rows,
      switching,
      i,
      x,
      y,
      shouldSwitch,
      dir,
      switchcount = 0;
  
    table = document.getElementById("roles_table");
    switching = true;
    //Set the sorting direction to ascending:
    dir = "asc";
  
    /*Make a loop that will continue until no switching has been done:*/
    while (switching) {
      //start by saying: no switching is done:
      switching = false;
      rows = table.rows;
      /*Loop through all table rows (except the first, which contains table headers):*/
      for (i = 1; i < rows.length - 1; i++) {
        //start by saying there should be no switching:
        shouldSwitch = false;
        /*Get the two elements you want to compare, one from current row and one from the next:*/
        x = rows[i].getElementsByTagName("TD")[n];
        y = rows[i + 1].getElementsByTagName("TD")[n];
        /*check if the two rows should switch place, based on the direction, asc or desc:*/
        if (dir == "asc") {
          if (
            (type == "str" &&
              x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) ||
            (type == "int" && parseFloat(x.innerHTML) > parseFloat(y.innerHTML))
          ) {
            //if so, mark as a switch and break the loop:
            shouldSwitch = true;
            break;
          }
        } else if (dir == "desc") {
          if (
            (type == "str" &&
              x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) ||
            (type == "int" && parseFloat(x.innerHTML) < parseFloat(y.innerHTML))
          ) {
            //if so, mark as a switch and break the loop:
            shouldSwitch = true;
            break;
          }
        }
      }
      if (shouldSwitch) {
        /*If a switch has been marked, make the switch and mark that a switch has been done:*/
        rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
        switching = true;
        //Each time a switch is done, increase this count by 1:
        switchcount++;
      } else {
        /*If no switching has been done AND the direction is "asc", set the direction to "desc" and run the while loop again.*/
        if (switchcount == 0 && dir == "asc") {
          dir = "desc";
          switching = true;
        }
      }
    }
  }
  
  Array.from(document.querySelectorAll("a.sortable-item")).map((a, index) => {
    a.onclick = (evt) => {
      evt.preventDefault();
      sortTable("roles_table", a.closest("th").id, "str");
    };
  });