First commit
This commit is contained in:
commit
ade6af288c
123
adapter.js
Normal file
123
adapter.js
Normal file
@ -0,0 +1,123 @@
|
||||
// Taka musi być struktura pliku adapter.js - nie zmieniamy nazw funkcji i tablicy customCalculatedTags!
|
||||
|
||||
var customCalculatedTags = ["tagNiestandardowy1", "nowyTag", "firstJumpTo"] // lista tagów niestandardowych
|
||||
|
||||
var cfr = null;
|
||||
|
||||
function getCustomCalculatedTagCurrentValue(tag) {
|
||||
if (document.getElementById('page-content-frame') != null) {
|
||||
cfr = document.getElementById('page-content-frame').contentWindow;
|
||||
} else {
|
||||
cfr = window;
|
||||
}
|
||||
|
||||
let suspendDataTags = cfr.SuspendDataHandler.getValue('eduexe.1.tag.result'); // efekty uczenia liczone niestandardowo warto sobie zapisać w pierwszym komponencie typu Learning object - u nas w kursie jest on na pierwszej pozycji (zatem eduexe.1.tag.result)
|
||||
switch(tag) {
|
||||
case "tagNiestandardowy1":
|
||||
var numberOfVisitedSCOs = getVisitedSCOsNumber([1]); // funkcja z biblioteki students.js
|
||||
var scosNumber = getSCOsNumber(); // funkcja z biblioteki students.js
|
||||
var scoreScaledInTest1 = getScoreScaledForSCO(3); // funkcja z biblioteki students.js
|
||||
|
||||
var result = (numberOfVisitedSCOs + scoreScaledInTest1) / (scosNumber + 1);
|
||||
|
||||
console.log("tagNiestandardowy1: " + result);
|
||||
|
||||
if (suspendDataTags == null || suspendDataTags == undefined || suspendDataTags == '') { // linie 25-41 zapisują wartość efektu uczenia do eduexe.1.tag.result - przy innych efektach uczenia - skopiować i zmienić nazwę efektu uczenia
|
||||
suspendDataTags = btoa(JSON.stringify({}));
|
||||
}
|
||||
|
||||
if (suspendDataTags != null && suspendDataTags != '') {
|
||||
let parsedTagsObj = JSON.parse(atob(suspendDataTags));
|
||||
if (parsedTagsObj == undefined || parsedTagsObj == null) {
|
||||
parsedTagsObj = {};
|
||||
}
|
||||
if ('tagNiestandardowy1' in parsedTagsObj) {
|
||||
if (parsedTagsObj['tagNiestandardowy1'] == result) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
parsedTagsObj['tagNiestandardowy1'] = result;
|
||||
cfr.SuspendDataHandler.setValue('eduexe.1.tag.result', btoa(JSON.stringify(parsedTagsObj)));
|
||||
cfr.SuspendDataHandler.saveAndCommit();
|
||||
}
|
||||
case "nowyTag":
|
||||
var scoreScaledInTest1 = getScoreScaledForSCO(3); // funkcja z biblioteki students.js
|
||||
var scoreScaledInTest3 = getScoreScaledForSCO(5);
|
||||
|
||||
var result = (scoreScaledInTest1 + scoreScaledInTest3) / 2;
|
||||
|
||||
console.log("nowyTag: " + result);
|
||||
|
||||
if (suspendDataTags == null || suspendDataTags == undefined || suspendDataTags == '') { // linie 25-41 zapisują wartość efektu uczenia do eduexe.1.tag.result - przy innych efektach uczenia - skopiować i zmienić nazwę efektu uczenia
|
||||
suspendDataTags = btoa(JSON.stringify({}));
|
||||
}
|
||||
|
||||
if (suspendDataTags != null && suspendDataTags != '') {
|
||||
let parsedTagsObj = JSON.parse(atob(suspendDataTags));
|
||||
if (parsedTagsObj == undefined || parsedTagsObj == null) {
|
||||
parsedTagsObj = {};
|
||||
}
|
||||
if ('nowyTag' in parsedTagsObj) {
|
||||
if (parsedTagsObj['nowyTag'] == result) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
parsedTagsObj['nowyTag'] = result;
|
||||
cfr.SuspendDataHandler.setValue('eduexe.1.tag.result', btoa(JSON.stringify(parsedTagsObj)));
|
||||
cfr.SuspendDataHandler.saveAndCommit();
|
||||
}
|
||||
case "firstJumpTo":
|
||||
var testsIds = getAllSCOIdsByTypeInCourse('test');
|
||||
var max_score_test_count = 0;
|
||||
var result = 0;
|
||||
var index = 0;
|
||||
|
||||
for (var index = 0; index < testsIds.length; index++)
|
||||
{
|
||||
if (getScoreScaledForSCO(testsIds[index]) == 1) {
|
||||
max_score_test_count += 1;
|
||||
}
|
||||
if (max_score_test_count == 3) {
|
||||
result = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
console.log("firstJumpTo: " + result);
|
||||
|
||||
if (suspendDataTags == null || suspendDataTags == undefined || suspendDataTags == '') { // linie 25-41 zapisują wartość efektu uczenia do eduexe.1.tag.result - przy innych efektach uczenia - skopiować i zmienić nazwę efektu uczenia
|
||||
suspendDataTags = btoa(JSON.stringify({}));
|
||||
}
|
||||
|
||||
if (suspendDataTags != null && suspendDataTags != '') {
|
||||
let parsedTagsObj = JSON.parse(atob(suspendDataTags));
|
||||
if (parsedTagsObj == undefined || parsedTagsObj == null) {
|
||||
parsedTagsObj = {};
|
||||
}
|
||||
if ('firstJumpTo' in parsedTagsObj) {
|
||||
if (parsedTagsObj['firstJumpTo'] == result) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
parsedTagsObj['firstJumpTo'] = result;
|
||||
cfr.SuspendDataHandler.setValue('eduexe.1.tag.result', btoa(JSON.stringify(parsedTagsObj)));
|
||||
cfr.SuspendDataHandler.saveAndCommit();
|
||||
}
|
||||
|
||||
return result;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
function getCustomCalculatedTagMaxValue(tag) { // tu określamy jaką maksymalną wartość może uzyskać dany efekt uczenia
|
||||
switch(tag) {
|
||||
case "tagNiestandardowy1":
|
||||
return 1;
|
||||
case "nowyTag":
|
||||
return 1;
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user