
var collaborateurs = [];

function setCollaborateurs(data){
  collaborateurs = data;
}

getEntities('collaborateur', setCollaborateurs);

function getTrigrammeCollaborateur(intervenant) {
  let trigramme = intervenant;
  collaborateurs.forEach((collaborateur) => {
    if (collaborateur.nom == intervenant) trigramme = collaborateur.trigramme;
  });
  return trigramme;
}

async function addCollaborateurs(collaborateur) {
  let url = '../backend/api.php?entity=collaborateur';
  let response = await fetch(url, {
    method: "POST",
    body: JSON.stringify(collaborateur),
    headers: {
      "Content-Type": "application/json",
    },
  });
  let data = await response.json(); //extract JSON from the http response
}

function initDatagridCollaborateurs() {
  let element = document.querySelector('#datagrid');
  element.innerHTML= '<center>Loading colaborateurs ...</center>'
  setCollaborateurs(null);
  getEntities('collaborateur', __initDatagridCollaborateurs);
}

function __initDatagridCollaborateurs(data) {
  let element = document.querySelector('#datagrid');
  let contenu='';
  
  setCollaborateurs(data);

  contenu += '<table>';
  contenu += ' <thead>';
  contenu += '   <tr>';
  contenu += '    <th>Id</th>';
  contenu += '    <th>Nom</th>';
  contenu += '    <th>Trigramme</th>';
  contenu += '   </tr>';
  contenu += '  </thead>';

  contenu += ' <tbody>';
  collaborateurs.forEach(collaborateur => {
    contenu += '   <tr class="js-open-modal-trigger" data-modal-info="collaborateur:id='+collaborateur.idcollaborateur+'">';
    contenu += '    <td>'+collaborateur.idcollaborateur+'</td>';
    contenu += '    <td>'+collaborateur.nom+'</td>';
    contenu += '    <td>'+collaborateur.trigramme+'</td>';
    contenu += '   </tr>';
  });
  contenu += '  </body>';

  contenu += ' <tfoot>';
  contenu += '   <tr>';
  contenu += '    <th colspan="3">&nbsp;</th>';
  contenu += '   </tr>';
  contenu += '  </foot>';
  contenu += '</table>';

  element.innerHTML = contenu;

  init_modal();
}

modal_hooks['collaborateur'] = function(parametres){
  let paramSplit = parametres.split(',');
  paramSplit.forEach(element => {
    let elemSplit=element.split('=');
    if (elemSplit[0] === 'id') {
      let id = elemSplit[1];
      let modal_header='Fiche collaborateur ['+id+']';
      let modal_body='Collaborateur inconnu !';
      let modal_footer='<button>Enregistrer</button';
  
      collaborateurs.filter(collaborateur => collaborateur.idcollaborateur == id)
        .forEach(resultat => {
          modal_body  = '<table class="modal_table">';
          modal_body += '<tr><td style="width:30%">Id</td><td>'+resultat.idcollaborateur+'</td></tr>';
          modal_body += '<tr><td style="width:30%">Nom</td><td>'+resultat.nom+'</td></tr>';
          modal_body += '<tr><td style="width:30%">Trigramme</td><td>'+resultat.trigramme+'</td></tr>';
          modal_body += '</table>';
        });

      modalSetHeader(modal_header);
      modalSetBody(modal_body);
      modalSetFooter(modal_footer);   
    }
  });
};