Advertisement
renix1

Babica plugin code content

Apr 16th, 2019
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. chrome.runtime.onMessage.addListener(function(msg, sender, sendResponse) {
  2.   if (msg.message === 'copyScoresFromBabica') {
  3.     var data = BabicaPluginCopyPaste.copyScoresFromBabica();
  4.     sendResponse({"data": data});
  5.     if ($('#tarjeta-sed-copiar').length == 0) {
  6.       BabicaPluginCopyPaste.showAlertMessage('babica-plugin-alert-error-bigger',
  7.        'Essa página não pode ser copiada, para copiar clique no nome da disciplina e não na tarjeta. Consulte nosso manual ou entre em contato com nosso suporte em caso de dúvida ou problema.', 10000);
  8.     }
  9.     if (data.students.length > 0) {
  10.       BabicaPluginCopyPaste.showAlertMessage('babica-plugin-alert-success', 'copiado', 5000);
  11.     }
  12.   }
  13.  
  14.   if (msg.message === 'pasteScoresFromBabica') {
  15.     if (msg.data.students.length === 0) {
  16.       BabicaPluginCopyPaste.showAlertMessage('babica-plugin-alert-error',
  17.        'área de transferência vazia.', 5000);
  18.     }
  19.     BabicaPluginCopyPaste.pasteScoresFromBabica(msg.data);
  20.   }
  21. });
  22.  
  23. var BabicaPluginCopyPaste = (function() {
  24.  
  25.   var changeEvt = new CustomEvent('change');
  26.  
  27.   return {
  28.  
  29.     showAlertMessage: function(style, msg, time) {
  30.       var babicaAlert = $('<div id="babica-plugin-alert" class="babica-plugin-alert ' +
  31.         style + '">' + msg + '</div>').appendTo(document.body);
  32.  
  33.       setTimeout(function() {
  34.         if (babicaAlert.length > 0) {
  35.           babicaAlert.remove();
  36.         }
  37.       }, time);
  38.     },
  39.  
  40.     canInputData: function(element) {
  41.       if (element.length > 0 &&
  42.           !element.is(':disabled') &&
  43.           !element.is(':hidden') &&
  44.           element.attr('readonly') !== 'readonly' &&
  45.           element.attr('type') !== 'hidden') {
  46.         return true;
  47.       }
  48.       return false;
  49.     },
  50.  
  51.     inputData: function(inputElement, value) {
  52.       if (BabicaPluginCopyPaste.canInputData(inputElement)) {
  53.         inputElement.val(value);
  54.         inputElement[0].dispatchEvent(changeEvt);
  55.       }
  56.     },
  57.  
  58.     copyScoresFromBabica: function() {
  59.       var data = {
  60.         students: [],
  61.         classes_provided: '',
  62.         classes_given: ''
  63.       };
  64.  
  65.       studentElements = $('.ALUNO_ROW_COPIAR');
  66.       for (var i = 0; i < studentElements.length; i++) {
  67.         var element = $(studentElements[i]);
  68.         var studentNumber = element.find('.NR_ALUNO_COPIAR').text();
  69.         var score = element.find('.NOTA_COPIAR').text();
  70.         var absence = element.find('.FALTA_COPIAR').text();
  71.         var absenceToCompensate = element.find('.AC_COPIAR').text();
  72.         var finalResult = element.find('.CONCEITO_FINAL').text();
  73.  
  74.         data.students[studentNumber] = {
  75.           score: score,
  76.           absence: absence,
  77.           absenceToCompensate: absenceToCompensate,
  78.           finalResult: finalResult
  79.         };
  80.       }
  81.       data.classes_provided = $('#aulas_previstas_copiar').text();
  82.       data.classes_given = $('#aulas_dadas_copiar').text();
  83.  
  84.       return data;
  85.     },
  86.  
  87.     pasteScoresFromBabica: function(data) {
  88.       //'#fechamentoTabs .tab-content .active .tabLancamentoFechamentoAvaliacoes'
  89.       var rowElements = $('#fechamentoTabs').find('.active').find('.tabLancamentoFechamentoAvaliacoes')
  90.           .children('tbody').children('tr').each(function() {
  91.  
  92.         var element = $(this);
  93.         var newIndex = element.find('.colNumeroChamada').text();
  94.         // verificação feita para colar na 5 menção, classe da coluna do número do aluno é diferente
  95.         if (newIndex.length === 0) {
  96.           newIndex = element.find('.sorting_1').text();
  97.         }
  98.  
  99.         var student = data.students;
  100.         if ((newIndex in student) && student[newIndex] != null) {
  101.  
  102.           if (student[newIndex].score.trim() !== '' && !isNaN(student[newIndex].score.trim())) {
  103.             BabicaPluginCopyPaste.inputData(element.find('.txtNota'),
  104.               student[newIndex].score.trim());
  105.             //BabicaPluginCopyPaste.inputData(element.find('.nrNota'),
  106.               //student[newIndex].score.trim());
  107.             BabicaPluginCopyPaste.inputData(element.find('.txtNotaMediaFinal'),
  108.               student[newIndex].score.trim());
  109.           }
  110.  
  111.           if (student[newIndex].absence.trim() &&
  112.               //student[newIndex].absence != "0" &&
  113.               student[newIndex].absence != "-") {
  114.             BabicaPluginCopyPaste.inputData(element.find('.nrFaltas'),
  115.               student[newIndex].absence.trim());
  116.           }
  117.  
  118.           if (student[newIndex].absenceToCompensate.trim() &&
  119.               //student[newIndex].absenceToCompensate != "0" &&
  120.               student[newIndex].absenceToCompensate != "-") {
  121.             BabicaPluginCopyPaste.inputData(element.find('.fechamento_FaltasCompensadas'),
  122.               student[newIndex].absenceToCompensate.trim());
  123.             BabicaPluginCopyPaste.inputData(element.find('.faltas-compensadas'),
  124.               student[newIndex].absenceToCompensate.trim());
  125.           }
  126.  
  127.           if (student[newIndex].finalResult.trim() != "") {
  128.             BabicaPluginCopyPaste.inputData(element.find('.ddlSituacaoAlunoFechto'),
  129.               student[newIndex].finalResult.trim());
  130.           }
  131.  
  132.         }
  133.       });
  134.  
  135.       var classesProvidedElement = $('#fechamentoTabs').find('.active').find('#tableAulas')
  136.         .find('.txtAulasPlanejadas');
  137.       var classesGivenElement = $('#fechamentoTabs').find('.tab-content').find('.active').find('#tableAulas')
  138.         .find('.txtAulasRealizadas');
  139.  
  140.       if ($('#txtCpfProfessor').length > 0) {
  141.         classesProvidedElement = $('input.txtAulasPlanejadas');
  142.         classesGivenElement = $('input.txtAulasRealizadas');
  143.       }
  144.       if (data.classes_provided != '') {
  145.         BabicaPluginCopyPaste.inputData(classesProvidedElement, data.classes_provided.trim());
  146.       }
  147.       if (data.classes_given != '') {
  148.         BabicaPluginCopyPaste.inputData(classesGivenElement, data.classes_given.trim());
  149.       }
  150.  
  151.     }
  152.  
  153.   };
  154.  
  155. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement