diff --git a/stable.user.js b/stable.user.js index 60f06b9..4f47dba 100755 --- a/stable.user.js +++ b/stable.user.js @@ -46,7 +46,7 @@ // : Script header {{{ // ==UserScript== // @name Moodle/Elearning/KMOOC test help -// @version 2.1.0.2 +// @version 2.1.0.3 // @description Online Moodle/Elearning/KMOOC test help // @author MrFry // @match https://elearning.uni-obuda.hu/* @@ -606,6 +606,7 @@ answerGetters, node ) + const possibleAnswers = getPossibleAnswers(node) if (!answerPromises || !questionPromises) { log('Answer or question array is empty, skipping question') @@ -619,14 +620,15 @@ .join(' ') const answerText = answer.reduce(makeTextFromElements, []).join(' ') let images = getImagesFromElements([...question, ...answer]) - // images = uniq(images) - resolve({ + const result = { Q: removeUnnecesarySpaces(questionText), A: removeUnnecesarySpaces(answerText), data: getDataFromResultImages(images), success: true, - }) + } + result.data.possibleAnswers = possibleAnswers + resolve(result) }) .catch(err => { warn('Error in getQuizFromNode()') @@ -637,17 +639,17 @@ } function getDataFromResultImages(images) { - if (!images || images.length === 0) { - return { - type: 'simple', - } - } else { + if (images && images.length > 0) { return { type: 'image', hashedImages: images.map(x => { return x.val }), } + } else { + return { + type: 'simple', + } } } @@ -698,6 +700,11 @@ ] } } else { + const state = node.getElementsByClassName('state')[0] + // TODO: what if in english + if (state && state.innerText === 'Hibás') { + return false + } return [ { type: 'txt', @@ -758,10 +765,14 @@ selectedByUser = answerNode.childNodes[0].checked } - acc.push({ - text: answerNode.innerText, - selectedByUser: selectedByUser, - }) + const text = removeUnnecesarySpaces(answerNode.innerText) + + if (text !== '') { + acc.push({ + text: text, + selectedByUser: selectedByUser, + }) + } return acc }, []) } @@ -1254,7 +1265,7 @@ } if (!installedFromCorrectSource(correctSource)) { greetMsg.push(texts.reinstallFromCorrectSource) - console.log(`update url:${info().script.updateURL}`) + log(`update url:${info().script.updateURL}`) } if (showMOTD) { greetMsg.push(texts.motd + motd) @@ -2270,9 +2281,9 @@ } } - function logHelper(logMethod, value) { + function logHelper(logMethod, ...value) { if (logEnabled) { - logMethod('[Moodle Script]: ', value) + logMethod('[Moodle Script]: ', ...value) } } @@ -2280,8 +2291,8 @@ logHelper(console.warn, value) } - function log(value) { - logHelper(console.log, value) + function log() { + logHelper(console.log, ...arguments) } function Exception(e, msg) {