Question getting mode switch, scrollable subject list

This commit is contained in:
YourFriendlyNeighborhoodDealer 2019-03-01 17:53:17 +01:00
parent 962274040c
commit 2c19d05489
2 changed files with 29 additions and 12 deletions

View file

@ -21,7 +21,7 @@
// ==UserScript== // ==UserScript==
// @name Moodle/Elearning/KMOOC test help // @name Moodle/Elearning/KMOOC test help
// @version 1.6.1.0 // @version 1.6.2.1
// @description Online Moodle/Elearning/KMOOC test help // @description Online Moodle/Elearning/KMOOC test help
// @author YourFriendlyNeighborhoodDealer // @author YourFriendlyNeighborhoodDealer
// @match https://elearning.uni-obuda.hu/main/* // @match https://elearning.uni-obuda.hu/main/*

39
main.js
View file

@ -26,7 +26,7 @@
var data; // all data, which is in the resource txt var data; // all data, which is in the resource txt
var addEventListener; // add event listener function var addEventListener; // add event listener function
const lastChangeLog = const lastChangeLog =
'- Új domain név\n- Apró bugfixek'; '- Eredmények oldalon kérdésekre válasz szerzés mód váltás\n - Görgethető tárgyak, mert túl sok van már :p\nHa rosz választ szed ki a script pls küldj feedbacket! IRC is van.';
const serverAdress = "https://qmining.tk/"; const serverAdress = "https://qmining.tk/";
// forcing pages for testing. unless you test, do not set these to true! // forcing pages for testing. unless you test, do not set these to true!
@ -687,7 +687,7 @@ function FreshStart() {
var firstRun = GM_getValue("firstRun"); // if the current run is the frst var firstRun = GM_getValue("firstRun"); // if the current run is the frst
if (firstRun == undefined || firstRun == true) // if its undefined, or true if (firstRun == undefined || firstRun == true) // if its undefined, or true
{ {
GM_setValue("firstRun", false); GM_setValue("firstRun", false);
ShowHelp(); // showing help ShowHelp(); // showing help
return true; return true;
} }
@ -698,7 +698,7 @@ function Version15() {
if (version15 == undefined || version15 == true) // if its undefined, or true if (version15 == undefined || version15 == true) // if its undefined, or true
{ {
GM_setValue("useNetDB", "0"); GM_setValue("useNetDB", "0");
GM_setValue("version15", false); GM_setValue("version15", false);
document.write( document.write(
'<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>' '<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>'
); );
@ -716,7 +716,7 @@ function Version16() {
GM_setValue("Is" + i + "Active", false); GM_setValue("Is" + i + "Active", false);
i++; i++;
} }
GM_setValue("version16", false); GM_setValue("version16", false);
} }
} }
@ -725,7 +725,7 @@ function Version161() {
if (version161 == undefined || version161 == true) // if its undefined, or true if (version161 == undefined || version161 == true) // if its undefined, or true
{ {
GM_setValue("useNetDB", "0"); GM_setValue("useNetDB", "0");
GM_setValue("version161", false); GM_setValue("version161", false);
document.write( document.write(
'<h1>Moodle teszt userscript:<h1><h3>1.6.1.0 verzió: Új domain név: qmining.tk. Ha frissíted az oldalt, akkor tampremonkey rá fog kérdezni, hpgy engedélyezed-e a kérdések külését erre az új domain-re. A rendes működés érdekében kattints a "Allow always domain"-gombra</h3>' '<h1>Moodle teszt userscript:<h1><h3>1.6.1.0 verzió: Új domain név: qmining.tk. Ha frissíted az oldalt, akkor tampremonkey rá fog kérdezni, hpgy engedélyezed-e a kérdések külését erre az új domain-re. A rendes működés érdekében kattints a "Allow always domain"-gombra</h3>'
); );
@ -1133,7 +1133,6 @@ function ShowSaveQuizDialog(addedQ, allQ, allOutput, output, sendSuccess, sentDa
else else
msg += "Az új kérdések elküldve."; msg += "Az új kérdések elküldve.";
} }
msg += "Az új kérdések elküldve.";
} else // if there is 0 or less new question } else // if there is 0 or less new question
{ {
msg = "A kérdőívben nincsen új kérdés. Ha mégis le akarod menteni klikk ide."; msg = "A kérdőívben nincsen új kérdés. Ha mégis le akarod menteni klikk ide.";
@ -1255,9 +1254,9 @@ function GetQuiz() {
if (q != undefined) if (q != undefined)
question.q = SimplifyQuery(q); question.q = SimplifyQuery(q);
// RIGHTANSWER --------------------------------------------------------------------------------------------------------------------- // RIGHTANSWER ---------------------------------------------------------------------------------------------------------------------
var a = GetRightAnswerFromResultv2(i); var a = GetRightAnswerFromResult(i);
if (a == undefined) if (a == undefined)
a = GetRightAnswerFromResult(i); a = GetRightAnswerFromResultv2(i);
if (a != undefined) if (a != undefined)
question.a = SimplifyQuery(a); question.a = SimplifyQuery(a);
// IMG --------------------------------------------------------------------------------------------------------------------- // IMG ---------------------------------------------------------------------------------------------------------------------
@ -1743,7 +1742,12 @@ function ShowMenuList() {
tbl.style.width = "98%"; tbl.style.width = "98%";
// adding headers --------------------------------------------------------------------------------------------------------------- // adding headers ---------------------------------------------------------------------------------------------------------------
var tr = tbl.insertRow(); var subjTable = document.createElement('table');
subjTable.style.margin = fiveMargin;
subjTable.style.textAlign = "left";
subjTable.style.width = "98%";
var tr = subjTable.insertRow();
var header1 = tr.insertCell(); var header1 = tr.insertCell();
var headerSubjInfoParagraph = CreateNodeWithText(header1, "Tárgynév [darab kérdés]", "center"); var headerSubjInfoParagraph = CreateNodeWithText(header1, "Tárgynév [darab kérdés]", "center");
@ -1754,8 +1758,9 @@ function ShowMenuList() {
headerSubjInfoParagraph.style.margin = fiveMargin; // fancy margin headerSubjInfoParagraph.style.margin = fiveMargin; // fancy margin
if (data && data.length > 0) { if (data && data.length > 0) {
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
var subjRow = tbl.insertRow(); var subjRow = subjTable.insertRow();
subjRow.style.border = "1px solid #131319"; subjRow.style.border = "1px solid #131319";
var td = subjRow.insertCell(); var td = subjRow.insertCell();
@ -1785,6 +1790,18 @@ function ShowMenuList() {
data.ChangeActive(i, checked); data.ChangeActive(i, checked);
}); // adding click }); // adding click
} }
var scrollDiv = document.createElement("div");
scrollDiv.style.width = window.innerWidth / 2 + 'px';
scrollDiv.style.height = window.innerHeight - (window.innerHeight * 0.4) + "px";
scrollDiv.style.overflow = "auto";
scrollDiv.appendChild(subjTable);
var subjtblrow = tbl.insertRow();
var subjtbltd = subjtblrow.insertCell();
subjtbltd.appendChild(scrollDiv);
} else // if no data } else // if no data
{ {
var noDataRow = tbl.insertRow(); var noDataRow = tbl.insertRow();
@ -1932,7 +1949,7 @@ function ShowMenuList() {
menuDiv.style.left = window.innerWidth / 2 + 'px'; menuDiv.style.left = window.innerWidth / 2 + 'px';
}); });
menuDiv.appendChild(tbl); // adding table box to main div menuDiv.appendChild(tbl);
appedtTo.appendChild(menuDiv); appedtTo.appendChild(menuDiv);
} catch (e) { } catch (e) {
Exception(e, "script error at showing menu list:"); Exception(e, "script error at showing menu list:");