81 lines
2.2 KiB
JavaScript
81 lines
2.2 KiB
JavaScript
|
||
/* [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 = [];
|
||
// Si on a q'une valeur, on la met en tableau
|
||
if( !(subjectDeflated instanceof Array) )
|
||
subjectDeflated = [subjectDeflated];
|
||
|
||
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) On construit la requête */
|
||
var request = { path: 'download/multiple' };
|
||
|
||
// Si données CELLULAIRES
|
||
if( deflated.phone == '1' )
|
||
request.phone = subjects;
|
||
|
||
// Si données FACEBOOK
|
||
if( deflated.facebook == '1' )
|
||
request.facebook = subjects;
|
||
|
||
// Si données QUESTIONNAIRES
|
||
if( deflated.survey == '1' )
|
||
request.survey = subjects;
|
||
|
||
|
||
/* (5) On lance la requête */
|
||
api.send(request, 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);
|