update.js 7.06 KB
$(document).ready(function() {

    /********** Start saved maj ************/

    var startMaj = document.getElementById("start_maj");

    startMaj.addEventListener('click', function() {
        var modalContent = document.getElementById("modal-content");
        var modalTitle = document.getElementById("modal-title");
        var majNameSelect = document.getElementById("maj_name").value;
        if(majNameSelect !== "" && majNameSelect !== "--") {
            var request = new XMLHttpRequest();
            request.open("POST", "/startsavedmaj");
            var formData = new FormData();
            formData.append("majname", majNameSelect);

            request.onreadystatechange = function() {
                if(this.readyState === XMLHttpRequest.DONE && this.status === 200) {
                    var modalButton = document.getElementById("modal-button");
                    modalButton.addEventListener('click', function() {
                        location.reload();
                    })
                    modalTitle.innerHTML = "Félicitations";
                    modalContent.innerHTML = "La mise à jour a bien été paramétrée";
                    $("#warningFilesNumber").modal();
                }
            }
            request.send(formData);
        }
        else {
            modalTitle.innerHTML = "Attention !";
            modalContent.innerHTML = "Veuillez choisir le nom d'une mise à jour";
            $("#warningFilesNumber").modal();
        }
    })


    /********** Configuration file ***********/







    /*
    var configName = document.getElementById("config_name");
    var configSend = document.getElementById("config_send");
    var file = document.getElementById("configInputFile");
    var readyToSend = false;
    var formData = new FormData();

    if(file != null) {
        file.addEventListener('change', function () {
            delete formData;
            formData = new FormData();
            configName.innerHTML = this.files[0].name;
            formData.append("file", this.files[0]);
            readyToSend = true;
        }, false)

        configSend.addEventListener('click', function () {
            var modalContent = document.getElementById("modal-content");
            var modalTitle = document.getElementById("modal-title");
            if (readyToSend) {
                var request = new XMLHttpRequest();
                request.open("POST", "/config");

                request.onreadystatechange = function () {
                    if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
                        var modalButton = document.getElementById("modal-button");
                        modalButton.addEventListener('click', function (e) {
                            location.reload();
                        })
                        modalContent.innerHTML = "Upload terminé !";
                        modalTitle.innerHTML = "Félicitations";
                        $("#warningFilesNumber").modal();
                    }
                }

                request.send(formData);
            }
            else {
                modalContent.innerHTML = "Veuillez sélectionner un fichier !";
                $("#warningFilesNumber").modal()
            }

        })
    }

*/

    /********** Tableau **********/

      var tableNodes = $('#nodes-table').DataTable( {
          responsive: true,
          select: {
              style: 'multi'
          }
      } );

      var nodeSet = new Set();

      tableNodes.on('select', function (e, dt, type, indexes) {
        var rowData = tableNodes.rows(indexes).data().toArray()[0];
        console.log(rowData);
        nodeSet.add(rowData[3] + "@" + rowData[1]);
        console.log(nodeSet);
      } );

      tableNodes.on('deselect', function (e, dt, type, indexes) {
        var rowData = tableNodes.rows(indexes).data().toArray()[0];
        nodeSet.delete(rowData[3] + "@" + rowData[1]);
          console.log(nodeSet);
      } );

      var sendInfoMaj = function(action) {
          console.log(action);
          var form = document.createElement('form');
          form.setAttribute('action', action);
          form.setAttribute('method', 'post');

          var modalContent = document.getElementById("modal-content");
          var majName = document.getElementById("majName").value;
          var majDate = document.getElementById("majDate").value;
          var majTime = document.getElementById("majTime").value;
          var majFile = document.getElementById("file_choice").value;

          if(nodeSet.size == 0) {
              $("#warningFilesNumber").modal();
          }

          else if(majName === "") {
              modalContent.innerHTML = "Veuillez choisir un nom pour la mise à jour";
              $("#warningFilesNumber").modal();
          }

          else if(majDate === "") {
              modalContent.innerHTML = "Veuillez choisir une date pour la mise à jour"
              $("#warningFilesNumber").modal();
          }

          else if(majTime === "") {
              modalContent.innerHTML = "Veuillez choisir une durée pour la mise à jour"
              $("#warningFilesNumber").modal();
          }

          else if(majFile === "" || majFile === "--") {
              modalContent.innerHTML = "Veuillez choisir un fichier pour la mise à jour"
              $("#warningFilesNumber").modal();
          }

          else {
              var nodes = Array.from(nodeSet);

              var inputvar1 = document.createElement('input');
              inputvar1.setAttribute('type', 'hidden');
              inputvar1.setAttribute('name', 'name');
              inputvar1.setAttribute('value', majName);
              form.appendChild(inputvar1);

              var inputvar2 = document.createElement('input');
              inputvar2.setAttribute('type', 'hidden');
              inputvar2.setAttribute('name', 'date');
              inputvar2.setAttribute('value', majDate);
              form.appendChild(inputvar2);

              var inputvar3 = document.createElement('input');
              inputvar3.setAttribute('type', 'hidden');
              inputvar3.setAttribute('name', 'nodes');
              inputvar3.setAttribute('value', nodes.join(";"));
              form.appendChild(inputvar3);

              var inputvar4 = document.createElement('input');
              inputvar4.setAttribute('type', 'hidden');
              inputvar4.setAttribute('name', 'file');
              inputvar4.setAttribute('value', majFile);
              form.appendChild(inputvar4);

              var inputvar5 = document.createElement('input');
              inputvar5.setAttribute('type', 'hidden');
              inputvar5.setAttribute('name', 'time');
              inputvar5.setAttribute('value', majTime);
              form.appendChild(inputvar5);

              document.body.appendChild(form);
              form.submit();
          }
      }

      document.getElementById("save_maj").addEventListener('click', function() {
          sendInfoMaj('savemaj');
      });
      document.getElementById("run_maj").addEventListener('click', function() {
          sendInfoMaj('runmaj');
      });

} );