Advertisement
tenchus

data v0.5

Jun 20th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function pressbutton() {
  2.     Promise.all([
  3.         fetch("../data/lim-2018-03-pre-core-pw/users.json"),
  4.         fetch("../data/lim-2018-03-pre-core-pw/progress.json"),
  5.         fetch("../data/cohorts.json")        
  6.     ]).then(
  7.         (DatosJsons) =>{
  8.             return Promise.all(DatosJsons.map((Respuesta)=>{
  9.                 return Respuesta.json();
  10.             }))
  11.         }
  12.     ).then(
  13.         (RespuestaJson) => {
  14.             let usuarios = computeUsersStats(RespuestaJson[0],RespuestaJson[1],RespuestaJson[2]);
  15.             console.log(usuarios);    
  16.         }
  17.     )
  18. }
  19.  
  20. function computeUsersStats(users, progress, cohorts) {
  21.     var usuarios = [];
  22.     usuarios = users.map(function (x) {
  23.         x.stats = { exercises: {}, reads: {}, quizzes: {}, percent: 0 };
  24.         //Llenar quizzes
  25.         //// Se obtiene los numeros
  26.         //console.log(x.id);
  27.  
  28.         if (progress[x.id].intro) {
  29.             //agrega valor percent del
  30.             x.stats.percent = progress[x.id].intro.percent;
  31.             let quizz = progress[x.id].intro.units;
  32.             let quizzes = {total: 0, completed: 0, percent: 0, scoreSum: 0, scoreAvg: 0, scoreUni: 0};
  33.             let reads = {total: 0, completed: 0, percent: 0};
  34.             let exercises = {total: 0, completed: 0, percent: 0};
  35.             // Se llena los datos
  36.             for (var uni in quizz) {
  37.                 for (var par in quizz[uni].parts) {
  38.                     let elemento = quizz[uni].parts[par];
  39.                     if (elemento.type == "quiz") {
  40.                         quizzes.total++;
  41.                         if (elemento.score) {
  42.                             quizzes.scoreUni++;
  43.                             quizzes.scoreSum = quizzes.scoreSum + elemento.score;
  44.                         }
  45.                         if (elemento.completed == 1)
  46.                             quizzes.completed++;
  47.                     }
  48.                     if(elemento.type == "read"){
  49.                         reads.total++;
  50.                         if(elemento.completed == 1)
  51.                             reads.completed++;
  52.  
  53.                     }
  54.                     if(elemento.type == "practice"){
  55.                         exercises.total++;
  56.                         if(elemento.completed == 1)
  57.                             exercises.completed++;
  58.                     }
  59.                 }
  60.             } // fin llenado de valores
  61.             // poner a los valores del objeto
  62.             //console.log(totalQuizz+"-"+compleQuizz+"-"+scoreSum+"-"+scoreUni)
  63.             // reads
  64.             x.stats.reads.total = reads.total;
  65.             x.stats.reads.completed = reads.completed;
  66.             x.stats.reads.percent = (reads.completed/reads.total)*100;
  67.             // exercises
  68.             x.stats.exercises.total = exercises.total;
  69.             x.stats.exercises.completed = exercises.completed;
  70.             x.stats.exercises.percent = (exercises.completed/exercises.total)*100;
  71.             //quizzes
  72.             x.stats.quizzes.total = quizzes.total;
  73.             x.stats.quizzes.completed = quizzes.completed;
  74.             x.stats.quizzes.percent = (quizzes.completed / quizzes.total) * 100;
  75.             x.stats.quizzes.scoreSum = quizzes.scoreSum;
  76.             x.stats.quizzes.scoreAvg = quizzes.scoreSum / quizzes.scoreUni ;
  77.  
  78.         } else {
  79.             x.stats.exercises.total = 0;
  80.             x.stats.exercises.completed = 0;
  81.             x.stats.exercises.percent = 0;
  82.             x.stats.reads.total = 0;
  83.             x.stats.reads.completed = 0;
  84.             x.stats.reads.percent = 0;
  85.             x.stats.quizzes.total = 0;
  86.             x.stats.quizzes.completed = 0;
  87.             x.stats.quizzes.scoreSum = 0;
  88.             x.stats.quizzes.scoreAvg = 0;
  89.             x.stats.percent = 0;
  90.         }
  91.         return x;
  92.     });
  93.  
  94.     return usuarios;
  95. }
  96. function prueba(){
  97.     console.log("prueba");
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement