/* [0] Gestion de l'export =========================================================*/ /* (0) Initialisation des variables */ var subjectList = $('#subject-list'); var subjectAdd = $('#add-subject'); var exportDeflater = new FormDeflater( document.getElementById('export-form'), ['input'], // éléments à éviter (tagName) ['data-name'] // Attributs par ordre de priorité ); /* (1) Gestion de l'ajout dynamique des sujets */ subjectAdd.addEventListener('click', function(e){ // On ajoute un input de sujet à la liste var newElement = document.createElement('input'); newElement.type = 'number'; newElement.dataset.name = 'subjects'; newElement.placeholder = 'Sujet'; newElement.style = 'width: 5em; display: block;'; subjectList.appendChild(newElement); }, false); /* (2) Export des données */ $('#export-form #export-all').addEventListener('click', function(e){ // {1} On récupère la liste des ids des sujets // var subjectDeflater = new FormDeflater(subjectList, ['input'], ['data-name']); var subjectDeflated = subjectDeflater.deflate()['subjects']; // {2} On supprime les valeurs incorrectes // var subjects = []; for( var i = 0 ; i < subjectDeflated.length ; i++ ) if( subjectDeflated[i].length > 0 && !isNaN(subjectDeflated[i]) ) subjects.push( subjectDeflated[i] ); // {3} On récupère les types de données que l'on veut // var deflated = exportDeflater.deflate(); // {4} Si téléchargement de données cellulaires // if( deflated.phone == '1' ){ api.send({ 'path': 'download/phone', 'subjects': subjects }, function(res){ // Si erreur if( res.ModuleError != 0 ) return false; // Sinon on lance le téléchargement document.location = res.link; Notification.success('OK', 'Lancement du téléchargement..'); }); } }, false);