This commit is contained in:
Ross
2021-03-15 08:12:51 +00:00
parent 24f35f4068
commit 3ba14e694b
+80 -35
View File
@@ -272,7 +272,10 @@ async function loadExamList(data) {
);
//question_db.saved_exams.where("eid").equals(saved_exam.eid).delete();
question_db.question_data.where(["qid", "type"]).equals([q, saved_exam.exam_type]).delete();
question_db.question_data
.where(["qid", "type"])
.equals([q, saved_exam.exam_type])
.delete();
}
d = null;
})
@@ -289,8 +292,10 @@ async function loadExamList(data) {
);
//question_db.saved_exams.where("eid").equals(saved_exam.eid).delete();
question_db.question_data.where(["qid", "type"]).equals([q, saved_exam.exam_type]).delete();
question_db.question_data
.where(["qid", "type"])
.equals([q, saved_exam.exam_type])
.delete();
});
}
}
@@ -298,15 +303,33 @@ async function loadExamList(data) {
});
// Sort different lists
$('.packet-list.rapid div').sort(function(a,b) {
return a.dataset.eid > b.dataset.eid ? 1 : (a.dataset.eid < b.dataset.eid ? -1 : 0);;
}).appendTo('.packet-list.rapid');
$('.packet-list.anatomy div').sort(function(a,b) {
return a.dataset.eid > b.dataset.eid ? 1 : (a.dataset.eid < b.dataset.eid ? -1 : 0);;
}).appendTo('.packet-list.anatomy');
$('.packet-list.long div').sort(function(a,b) {
return a.dataset.eid > b.dataset.eid ? 1 : (a.dataset.eid < b.dataset.eid ? -1 : 0);;
}).appendTo('.packet-list.long');
$(".packet-list.rapid div")
.sort(function (a, b) {
return a.dataset.eid > b.dataset.eid
? 1
: a.dataset.eid < b.dataset.eid
? -1
: 0;
})
.appendTo(".packet-list.rapid");
$(".packet-list.anatomy div")
.sort(function (a, b) {
return a.dataset.eid > b.dataset.eid
? 1
: a.dataset.eid < b.dataset.eid
? -1
: 0;
})
.appendTo(".packet-list.anatomy");
$(".packet-list.long div")
.sort(function (a, b) {
return a.dataset.eid > b.dataset.eid
? 1
: a.dataset.eid < b.dataset.eid
? -1
: 0;
})
.appendTo(".packet-list.long");
$("#options-panel").show();
}
@@ -518,7 +541,7 @@ function setUpPacket(data, path) {
}
// We add this here so the question order is maintained
// when loading from cache
data["exam_order"] = exam_details.question_order
data["exam_order"] = exam_details.question_order;
}
if (data.hasOwnProperty("exam_time")) {
@@ -541,7 +564,10 @@ function setUpPacket(data, path) {
}
// If question_requests is set we need to do a request for each question
if (data.hasOwnProperty("question_requests") && (Object.keys(data["question_requests"]).length > 0)) {
if (
data.hasOwnProperty("question_requests") &&
Object.keys(data["question_requests"]).length > 0
) {
// Will happen if loading from cache
//if (data["questions"] == "cached") {
// let a = {};
@@ -569,7 +595,9 @@ function setUpPacket(data, path) {
// If the question is in the db we can load
// invalid questions should have already been removed
if (question_in_db != undefined) {continue}
if (question_in_db != undefined) {
continue;
}
const question_url = `${path}/${n}`;
@@ -832,7 +860,6 @@ async function loadQuestion(n, section = 1, force_reload = false) {
const question_data = return_data.data;
return_data = null;
loaded_question = n;
// Set up question navigation
@@ -1241,7 +1268,7 @@ async function loadQuestion(n, section = 1, force_reload = false) {
eid: eid,
qid: qid,
qidn: qidn_count.toString(),
}
};
db.answers
.get(obj)
.then(function (answer) {
@@ -1614,12 +1641,14 @@ function reviewQuestions() {
let incorrectcall_number = 0;
exam_details.question_order.forEach(async function (qid, n) {
const q_object = { qid: qid, type: question_type };
let question = await question_db.question_data.get(q_object)
let question = await question_db.question_data.get(q_object);
question = question.data;
if (question_type == "long") {
$("#review-answer-table").append(
$(
`<tr class='review-table-heading' data-qid=${n + 1} title='Click to load question ${
`<tr class='review-table-heading' data-qid=${
n + 1
} title='Click to load question ${
n + 1
}'><td colspan=2>Question ${n + 1}</td></tr>`
).click(() => {
@@ -1629,10 +1658,11 @@ function reviewQuestions() {
);
// $("#review-answer-table").append(`<tr id='review-answer-${qid}'><td class='review-user-answer-cell'></td><td class='review-model-answer-cell'></td></tr>`);
$("#review-answer-table").append(
`<tr class='answer-sub' data-qid=${n + 1}><td>Your answers</td><td>Model answers</td></tr>`
`<tr class='answer-sub' data-qid=${
n + 1
}><td>Your answers</td><td>Model answers</td></tr>`
);
let model_answers = question.answers;
// TODO: FIX
@@ -1670,21 +1700,31 @@ function reviewQuestions() {
model_answers[title.toLowerCase()];
$("#review-answer-table").append(
`<tr class='' data-qid=${n + 1}><td>${user_ans}</td><td>${model_ans}</td></tr>`
`<tr class='' data-qid=${
n + 1
}><td>${user_ans}</td><td>${model_ans}</td></tr>`
);
});
// TOOD fix
$('#review-answer-table tr').sort(function(a,b) {
return a.dataset.qid > b.dataset.qid ? 1 : (a.dataset.qid < b.dataset.qid ? -1 : 0);;
}).appendTo('#review-answer-table');
$("#review-answer-table tr")
.sort(function (a, b) {
return a.dataset.qid > b.dataset.qid
? 1
: a.dataset.qid < b.dataset.qid
? -1
: 0;
})
.appendTo("#review-answer-table");
return;
}
$("#review-answer-list").append(
"<li id='review-answer-" +
qid +
"' data-qid="+n.toString().padStart(2, "0")+"'><a href='#' data-qid=" +
"' data-qid=" +
n.toString().padStart(2, "0") +
"'><a href='#' data-qid=" +
n +
">Question " +
(n + 1) +
@@ -1878,9 +1918,15 @@ function reviewQuestions() {
saveSession();
rebuildQuestionListPanel();
$('#review-answer-list li').sort(function(a,b) {
return a.dataset.qid > b.dataset.qid ? 1 : (a.dataset.qid < b.dataset.qid ? -1 : 0);;
}).appendTo('#review-answer-list');
$("#review-answer-list li")
.sort(function (a, b) {
return a.dataset.qid > b.dataset.qid
? 1
: a.dataset.qid < b.dataset.qid
? -1
: 0;
})
.appendTo("#review-answer-list");
});
});
})
@@ -2231,11 +2277,10 @@ $("#btn-delete-answer-databases").click(function (evt) {
}
});
$("#btn-delete-cached-questions").click(function (evt) {
var r = confirm(
"Delete cached questions?"
);
var r = confirm("Delete cached questions?");
if (r == true) {
question_db.delete()
question_db
.delete()
.then(() => {
$.notify("Database successfully deleted", "success");
$.notify("The page will now reload", "warn");
@@ -2355,20 +2400,20 @@ function saveSession(start_review) {
//window.saveSession = saveSession;
function refreshDatabaseSettings() {
if (navigator.storage != undefined) {
navigator.storage.estimate().then((value) => {
$("#storage-details").empty();
if (value != undefined) {
$("#storage-details").append(
`Local space used: ${helper.humanFileSize(
value.usage
)}, available: ${helper.humanFileSize(value.quota)}`
);
});
} else {
$("#storage-details").append(
`Local storage information not available (are you connecting over http rather than https?).`
);
}
});
}
$(document).on("saveSessionEvent", {}, (evt, review) => {