SMETI store ITEMS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

136 regels
3.6 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
    <head>
        <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>SMETI store ITEMS</title>
<link rel="stylesheet" href="css/carets.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<h2>SMETI store ITEMS</h2>
<ul class="ul_no_list" id="smeti_list"></ul>
<script>
/*
 *  A récuperer en JSON
 */
var liste_instructions = null;
/* 
 * Créer la hierarchie
 */
function setHierarchy() {
  liste_instructions.forEach(function(element1){
    liste_instructions.forEach(function(element2){
      if (element1.parent == element2.id)
      {
        element1.parent_code = element2.code;
        return false;
      }
    });
  });
}
function afficherArbre()
{
  var heritage  = [ 'XXX' ];
  var m14_ul    = [ document.getElementById('smeti_list') ];
  var m14_span  = [ null ];
  while(m14_ul[0].firstChild) m14_ul[0].removeChild(m14_ul[0].firstChild);
  liste_instructions.forEach(function(element){
    // if (element.instruction != 'M14')  return true;
    // if (element.type != courant)  return true;
    var letexte = '';
      var li = document.createElement('li');
      var span = document.createElement('span');
      var ul = document.createElement('ul');
      var len = heritage.length;
      while(len-- > 1) {
        if (element.parent_code == heritage[len]) 
          break;
        heritage.pop();
        m14_ul.pop();
        m14_span.pop();
      }
      span.setAttribute('class','caret_gris');
      letexte += ' { '+element.id + ' } ';
      letexte += '[ '+element.code + ' ]'
      letexte += ' - ';
      letexte += element.libelle
      span.appendChild(document.createTextNode(letexte));
      if (element.link == 1) span.setAttribute('style','color:grey');
      li.appendChild(span);
      ul.setAttribute('class','nested ul_no_list');
      li.appendChild(ul);
      m14_ul[m14_ul.length-1].appendChild(li);
      if (m14_span.length > 1) 
        m14_span[m14_span.length-1].setAttribute('class','caret');
      m14_ul.push(ul);
      m14_span.push(span);
      heritage.push(element.code);
  });
  var toggler = document.getElementsByClassName("caret");
  for (var i = 0; i < toggler.length; i++) {
    toggler[i].addEventListener("click", function() {
      this.parentElement.querySelector(".nested").classList.toggle("active");
      this.classList.toggle("caret-down");
    });
  }
}
$( document ).ready(function() {
  $.getJSON( "api/get.php", function( data ) {
    liste_instructions = data;
    liste_instructions.forEach(function(element){
      element.instruction = 'M14';
      element.type = 'Chapitre';
      element.exercice = 2019;
      element.libelle = element.name;
    });
    liste_instructions.sort(function(a, b) {
      if (a.path < b.path) return -1;
      if (a.path > b.path) return 1;
      if (a.instruction < b.instruction) return -1;
      if (a.instruction > b.instruction) return 1;
      if (a.exercice < b.exercice) return -1;
      if (a.exercice > b.exercice) return 1;
      if (a.type < b.type) return -1;
      if (a.type > b.type) return 1;
      if (a.parent < b.parent) return -1;
      if (a.parent > b.parent) return 1;
      if (a.code < b.code) return -1;
      if (a.code > b.code) return 1;
      return 0;
    });
    setHierarchy();
    afficherArbre();
  });
});
</script>
</body>
</html>