
datagrid_hooks['planning'] = function() {
  let element = document.querySelector("#datagrid");
  let filtre = getTrigrammeCollaborateur(getContexteValeur('intervenant'));
  let contenu = "";
  let nbLignes = 1;

  items.sort((a, b) => {
    let item_a = getItemFromElement(a);
    let item_b = getItemFromElement(b);
    let retour = 0;
/*
    if (item_a['client'] < item_b['client']) retour = -1;
    if (item_a['client'] > item_b['client']) retour =  1;
*/
    if (retour == 0 ) {
      retour = sort2ItemsByDates(item_a, item_b);
    }
  
    return retour;
  });
  
  setItemsVisibility();

  contenu += "<table>";
  contenu += " <thead>";
  contenu += "   <tr>";
  contenu += '    <th style="width:50px;text-align:center">Client</td>';
  contenu += '    <th style="width:50px;text-align:center">Intervenant</td>';
  contenu += '    <th style="max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Libellé</th>';
  contenu += '    <th style="width:100px;text-align:center">Début</td>';
  contenu += '    <th style="width:100px;text-align:center">fin</td>';
  contenu += "   </tr>";
  contenu += "  </thead>";

  contenu += " <tbody>";

  items.forEach((element) => {
    let item = getItemFromElement(element);
    let texte = getNonNullTextValeur(item.libelle);
    let debut = formatLocaleDateFromStringDate(item.debut);
    let heureDebut= formatTimeFromStringDate(item.debut);
    let fin = formatLocaleDateFromStringDate(item.fin);
    let heureFin= formatTimeFromStringDate(item.fin);


    // On n'affiche pas la racine
    if (item["idlignes"] == 1) return true;
    // On n'affiche que ce qui est marqué comme visible
    if (!item["visible"]) return true;
    // On n'affiche que les feuilles
    if (item.childs.length != 0) return true;
    // On n'affiche que ce qui est plannifié
    if((debut=='-')&&(fin=='-')) return true;

    // Appliquer le filtre
    if (filtre != 'ANO')
      if (getTrigrammeCollaborateur(item['intervenant']) != filtre) return true;

    if (item.status == 3) texte = "<strike>" + texte + "</strike>";
    if (item.status == 2) texte = "<strike>" + texte + "</strike>";

    contenu += '   <tr class="js-open-modal-trigger" data-modal-info="type='+item.type+':id=' + getNonNullTextValeur(item.idlignes) + '">';
    contenu += '    <td style="width:50px;text-align:center">' + getNonNullTextValeur(item.client) + "</td>";
    contenu += '    <td style="width:50px;text-align:center">' + getTrigrammeCollaborateur(item['intervenant']) + "</td>";
    contenu += '    <td style="max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">'+ texte + "</td>";
    contenu += '    <td style="width:100px;text-align:center">' + debut + "<br>" + heureDebut + "</td>";
    contenu += '    <td style="width:100px;text-align:center">' + fin + "<br>" + heureFin + "</td>";
    contenu += "   </tr>";

    nbLignes += 1;
  });
  contenu += "  </tbody>";

  contenu += " <tfoot>";
  contenu += "   <tr>";
  contenu += '    <th colspan="5">'+setLevelPadding(2)+''+(nbLignes-1)+' tâches</th>';
  contenu += "   </tr>";
  contenu += "  </foot>";
  contenu += "</table>";

  element.innerHTML = contenu;
}
