mirror of
https://gitlab.com/MrFry/moodle-test-userscript
synced 2025-04-01 20:22:48 +02:00
Checking kgk site changes with interval
This commit is contained in:
parent
960c5503df
commit
3a5e0c6a0c
1 changed files with 64 additions and 14 deletions
|
@ -1094,6 +1094,24 @@
|
|||
return x.join(' ')
|
||||
}
|
||||
|
||||
function handleKGKSite(url) {
|
||||
let prevLength = -1
|
||||
setInterval(() => {
|
||||
const kkerdesElements = document.getElementsByClassName('kkerdes')
|
||||
if (prevLength !== kkerdesElements.length) {
|
||||
prevLength = kkerdesElements.length
|
||||
console.log('PL', prevLength, 'NL', kkerdesElements.length)
|
||||
if (kkerdesElements.length > 0) {
|
||||
console.log('Handling quiz')
|
||||
handleKGKQuiz(url)
|
||||
} else {
|
||||
console.log('Handling results')
|
||||
HandleKGKResults(url)
|
||||
}
|
||||
}
|
||||
}, 1 * 1000)
|
||||
}
|
||||
|
||||
function handleKGKQuiz(url) {
|
||||
try {
|
||||
const { removeMessage: removeLoadingMessage } = ShowMessage(
|
||||
|
@ -1135,6 +1153,17 @@
|
|||
|
||||
// : }}}
|
||||
|
||||
// : Canvas {{{
|
||||
|
||||
function handleCanvasQuiz() {
|
||||
console.trace()
|
||||
}
|
||||
|
||||
function HandleCanvasResults() {
|
||||
console.trace()
|
||||
}
|
||||
|
||||
// : }}}
|
||||
// : Misc {{{
|
||||
|
||||
function getVideo() {
|
||||
|
@ -1318,13 +1347,13 @@
|
|||
|
||||
const pageMatchers = [
|
||||
{
|
||||
matchString: 'portal.kgk',
|
||||
matchString: 'canvas',
|
||||
testPage: {
|
||||
match: (url) => {
|
||||
return url.includes('vizsga')
|
||||
return true // TODO :insert real url
|
||||
},
|
||||
action: (url) => {
|
||||
handleKGKQuiz(url)
|
||||
handleCanvasQuiz(url)
|
||||
},
|
||||
},
|
||||
resultPage: {
|
||||
|
@ -1332,7 +1361,7 @@
|
|||
return false // TODO :insert real url
|
||||
},
|
||||
action: (url) => {
|
||||
HandleKGKResults(url)
|
||||
HandleCanvasResults(url)
|
||||
},
|
||||
},
|
||||
default: {
|
||||
|
@ -1344,6 +1373,33 @@
|
|||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
matchString: 'portal.kgk',
|
||||
// testPage: {
|
||||
// match: (url) => {
|
||||
// return url.includes('vizsga')
|
||||
// },
|
||||
// action: (url) => {
|
||||
// handleKGKSite(url)
|
||||
// },
|
||||
// },
|
||||
// resultPage: {
|
||||
// match: (url) => {
|
||||
// return false // TODO :insert real url
|
||||
// },
|
||||
// action: (url) => {
|
||||
// handleKGKSite(url)
|
||||
// },
|
||||
// },
|
||||
default: {
|
||||
match: (url) => {
|
||||
return true // TODO :insert real url
|
||||
},
|
||||
action: (url) => {
|
||||
handleKGKSite(url)
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
matchString: 'default', // moodle, elearning, mooc
|
||||
testPage: {
|
||||
|
@ -1392,7 +1448,7 @@
|
|||
if (
|
||||
url.includes(matcher.matchString) ||
|
||||
matcher.matchString === 'default' ||
|
||||
matcher.matchString === forcedMatchString
|
||||
matcher.matchString.includes(forcedMatchString)
|
||||
) {
|
||||
if (matcher.testPage && matcher.testPage.match(url)) {
|
||||
matcher.testPage.action(url)
|
||||
|
@ -1412,15 +1468,9 @@
|
|||
}
|
||||
})
|
||||
} catch (e) {
|
||||
ShowMessage(
|
||||
texts.fatalError,
|
||||
|
||||
undefined,
|
||||
() => {
|
||||
OpenErrorPage(e)
|
||||
}
|
||||
)
|
||||
|
||||
ShowMessage(texts.fatalError, undefined, () => {
|
||||
OpenErrorPage(e)
|
||||
})
|
||||
Exception(e, 'script error at main:')
|
||||
}
|
||||
if (url.includes('eduplayer')) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue