mirror of
https://gitlab.com/MrFry/moodle-test-userscript
synced 2025-04-01 20:22:48 +02:00
UI refactor, questions with image data getting fix
This commit is contained in:
parent
4e9525c167
commit
2c2fc762ba
1 changed files with 31 additions and 42 deletions
|
@ -80,7 +80,6 @@
|
|||
fatalError: 'Fatál error. Check console (f12). Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez!',
|
||||
consoleErrorInfo: 'Itteni hibák 100% a moodle hiba. Kivéve, ha oda van írva hogy script error ;) Ha ilyesmi szerepel itt, akkor olvasd el a segítség szekciót!',
|
||||
freshStartWarning: '<h1>Moodle teszt userscript:<h1><h3>1.5.0 verzió: a script mostantól XMLHTTP kéréseket küld szerver fele! Erre a userscript futtató kiegészitőd is figyelmeztetni fog! Ha ez történik, a script rendes működése érdekében engedélyezd (Always allow domain)! Ha nem akarod, hogy ez történjen, akkor ne engedélyezd, vagy a menüben válaszd ki a "helyi fájl használata" opciót!</h3> <h3>Elküldött adatok: minden teszt után a kérdés-válasz páros. Fogadott adatok: Az összes eddig ismert kérdés. Érdemes help-et elolvasni!!!</h3><h5>Ez az ablak frissités után eltűnik. Ha nem, akkor a visza gombbal próbálkozz.</h5>',
|
||||
couldntLoadData: 'Nem sikerült betölteni az adatokat, előfordulhat hogy nem elérhető a szerver! Segítségért kattints!',
|
||||
noResult: 'Nincs találat :( Kattints az üzenetre az összes kérdés/válaszért manuális kereséshez! Előfordulhat, hogy a tárgyat nem válsztottad ki a menüben.',
|
||||
videoHelp: 'Miután elindítottad: Play/pause: space. Seek: Bal/jobb nyíl.',
|
||||
menuButtonText: 'Kérdések Menu',
|
||||
|
@ -762,11 +761,10 @@
|
|||
'use strict'
|
||||
console.time('main')
|
||||
|
||||
Init(function (count, subjCount) {
|
||||
Init(function () {
|
||||
var url = location.href // eslint-disable-line
|
||||
|
||||
let skipLoad = getVal('skipLoad')
|
||||
if (count === -2 && subjCount === -2 && skipLoad) {
|
||||
if (getVal('skipLoad')) {
|
||||
if (url.includes('/quiz/') && url.includes('attempt.php')) {
|
||||
ShowMessage({
|
||||
m: texts.passiveModeActiveOnTest,
|
||||
|
@ -781,7 +779,7 @@
|
|||
HandleResults(url)
|
||||
} else if ((!url.includes('/quiz/') && !url.includes('review.php') && !url.includes('.pdf')) ||
|
||||
(forceDefaultPage)) { // if the current window is any other window than a quiz or pdf.
|
||||
HandleUI(url, count, subjCount)
|
||||
HandleUI(url)
|
||||
}
|
||||
} catch (e) {
|
||||
ShowMessage({
|
||||
|
@ -840,7 +838,10 @@
|
|||
}
|
||||
VersionActions()
|
||||
if (!url.includes('.pdf')) { ShowMenu() }
|
||||
cwith()
|
||||
GetXHRVersion().then((version) => {
|
||||
lastestVersion = version
|
||||
cwith(version)
|
||||
})
|
||||
}
|
||||
|
||||
function VersionActions () {
|
||||
|
@ -870,10 +871,9 @@
|
|||
// : }}}
|
||||
|
||||
// : UI handling {{{
|
||||
function HandleUI (url, count, subjCount) {
|
||||
function HandleUI (url) {
|
||||
// FIXME: normal string building with localisation :/
|
||||
var newVersion = false // if the script is newer than last start
|
||||
var loaded = count !== -1 // if script could load stuff
|
||||
|
||||
try {
|
||||
newVersion = info().script.version !== getVal('lastVerson')
|
||||
|
@ -883,12 +883,9 @@
|
|||
var greetMsg = '' // message to show at the end
|
||||
var timeout = null // the timeout. if null, it wont be hidden
|
||||
// no new version, nothing loaded
|
||||
if (!newVersion && !loaded) { // --------------------------------------------------------------------------------------------------------------
|
||||
greetMsg = texts.couldntLoadData
|
||||
}
|
||||
var showSplash = (getVal('showSplash') === undefined) || getVal('showSplash') // getting value, if splash screen should be shown. Its true, if its undefined, or true
|
||||
// no new version, everything loaded, and show splash is enabled. otherwise something happened, so showing it
|
||||
if (!newVersion && loaded && showSplash) { // ------------------------------------------------------------------------------------------------
|
||||
if (!newVersion && showSplash) { // ------------------------------------------------------------------------------------------------
|
||||
timeout = 5
|
||||
greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. '
|
||||
|
||||
|
@ -896,33 +893,9 @@
|
|||
greetMsg += 'Új verzió elérhető: ' + lastestVersion + '\n'
|
||||
timeout = undefined
|
||||
}
|
||||
greetMsg += count + ' kérdés és ' + subjCount + ' tárgy betöltve. (click for help).'
|
||||
// TODO
|
||||
// if (data.length > 0) {
|
||||
// var toAdd = []
|
||||
// for (var i = 0; i < data.length; i++) {
|
||||
// if (data.GetIfActive(i)) {
|
||||
// toAdd.push(data.Subjects[i].Name + ' (' + data.Subjects[i].length + ')')
|
||||
// }
|
||||
// }
|
||||
// if (toAdd.length !== 0) {
|
||||
// greetMsg += '\nAktív tárgyak: ' + toAdd.join(', ') + '.'
|
||||
// } else {
|
||||
// AlertOnNoQuestion()
|
||||
// greetMsg += '\nNincs aktív tárgyad. Menüből válassz ki eggyet!'
|
||||
// timeout = undefined
|
||||
// }
|
||||
// } else {
|
||||
// greetMsg += ' nem elérhető a szerver. Katt a helpért!'
|
||||
// }
|
||||
}
|
||||
// new version, nothing loaded
|
||||
if (newVersion && !loaded) { // --------------------------------------------------------------------------------------------------------------
|
||||
greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. Új verzió!\n Írd át a @resouce tagnál az elírési utat! Kivéve ha üres a file, akkor töltsd fel :) Nincs kérdés betöltve! Segítséghez kattints. Changelog:\n' + texts.lastChangeLog // showing changelog too
|
||||
}
|
||||
// new version, everything loaded -> set lastVerson to current
|
||||
if (newVersion && loaded) { // --------------------------------------------------------------------------------------------------------------
|
||||
greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. ' + count + ' kérdés és ' + subjCount + ' tárgy betöltve. Verzió frissítve ' + info().script.version + '-re. Changelog:\n' + texts.lastChangeLog
|
||||
if (newVersion) { // --------------------------------------------------------------------------------------------------------------
|
||||
greetMsg = 'Moodle/Elearning/KMOOC segéd v. ' + info().script.version + '. Verzió frissítve ' + info().script.version + '-re. Changelog:\n' + texts.lastChangeLog
|
||||
setVal('lastVerson', info().script.version) // setting lastVersion
|
||||
}
|
||||
if (!SUtils.EmptyOrWhiteSpace(motd)) {
|
||||
|
@ -999,10 +972,9 @@
|
|||
msg += result[k].q.Q + '\n' // adding the question if yes
|
||||
}
|
||||
msg += result[k].q.A.replace(/, /g, '\n') // adding answer
|
||||
// TODO
|
||||
// if (result[k].q.HasImage()) {
|
||||
// msg += '\n\nKépek fenti válaszok sorrendjében: ' + result[k].q.data.images.join(', ') // if it has image part, adding that too
|
||||
// }
|
||||
if (result[k].q.data.type === 'image') {
|
||||
msg += '\n\nKépek fenti válaszok sorrendjében: ' + result[k].q.data.images.join(', ') // if it has image part, adding that too
|
||||
}
|
||||
allMessages.push({
|
||||
m: msg,
|
||||
p: result[k].match
|
||||
|
@ -1938,7 +1910,24 @@
|
|||
return paragraphElement
|
||||
}
|
||||
|
||||
function GetXHRVersion () {
|
||||
return new Promise((resolve, reject) => {
|
||||
xmlhttpRequest({
|
||||
method: 'GET',
|
||||
url: serverAdress + 'version',
|
||||
onload: function (response) {
|
||||
resolve(response.responseText)
|
||||
},
|
||||
onerror: (e) => {
|
||||
console.log('GET ERROR', e)
|
||||
reject(new Error('get error'))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function GetXHRQuestionAnswer (question) {
|
||||
console.log('sentquestion:', question) // TODO: remove
|
||||
return new Promise((resolve, reject) => {
|
||||
let url = serverAdress + 'q?'
|
||||
let params = []
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue