iassign-integration-functions.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // Função para ler parâmetros informados pelo iTarefa via URL
  2. // Apesar de não ser obrigatório, será muito útil para capturar os parâmetros
  3. function getParameterByName(name, defaultReturn = null) {
  4. var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
  5. return match ? decodeURIComponent(match[1].replace(/\+/g, ' ')) : defaultReturn;
  6. }
  7. // Criando um object com os parâmetros informados pelo iTarefa
  8. // Observe que para cada parâmetro, é realizada a chamada do método getParameterByName, implementado acima
  9. var iLMparameters = {
  10. iLM_PARAM_ServerToGetAnswerURL: getParameterByName("iLM_PARAM_ServerToGetAnswerURL"),
  11. iLM_PARAM_SendAnswer: getParameterByName("iLM_PARAM_SendAnswer"),
  12. iLM_PARAM_AssignmentURL: getParameterByName("iLM_PARAM_AssignmentURL"),
  13. iLM_PARAM_Assignment: getParameterByName("iLM_PARAM_Assignment"),
  14. lang: getParameterByName("lang", "pt")
  15. };
  16. // Set the lang parameter to the localStorage for easy access
  17. // and no dependency to the global scope, avoind future 'strict mode' problems
  18. localStorage.setItem('ivprog.lang', iLMparameters.lang);
  19. // Função chamada pelo iTarefa quando o professor finaliza a criação da atividade
  20. // ou quando o aluno finaliza a resolução do exercício
  21. // O retorno é um JSON com os dados do exercício ou da resolução
  22. // Esse retorno será armazenado no banco de dados do Moodle, pelo iTarefa
  23. function getAnswer() {
  24. // Se o parâmetro "iLM_PARAM_SendAnswer" for false,
  25. // então trata-se de resolução de atividade
  26. if (iLMparameters.iLM_PARAM_SendAnswer == 'false') {
  27. // Montar o retorno da resposta do aluno
  28. } else {
  29. }
  30. }
  31. // Função chamada pelo iTarefa para receber a nota do aluno na atividade
  32. // O retorno é um valor entre 0.0 e 1.0
  33. function getEvaluation() {
  34. if (iLMparameters.iLM_PARAM_SendAnswer == 'false') {
  35. // Calcula a nota do aluno:
  36. // A chamada do método abaixo é obrigatória!
  37. // Observe que a chamada parte do iLM para o iTarefa
  38. parent.getEvaluationCallback(0);
  39. }
  40. }
  41. // Função para que o iMA leia os dados da atividade fornecidos pelo iTarefa
  42. function getiLMContent() {
  43. // O parâmetro "iLM_PARAM_Assignment" fornece o URL do endereço que deve ser
  44. // requisitado via AJAX para a captura dos dados da atividade
  45. $.get(iLMparameters.iLM_PARAM_Assignment, function (data) {
  46. });
  47. }