X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/mod/quiz/amd/src
home
/
cbholdings
/
pasukulu
/
mod
/
quiz
/
amd
/
src
/
📁
..
📄
add_question_modal_launcher.js
(3.21 KB)
📄
add_random_form.js
(7.59 KB)
📄
add_random_question.js
(2.18 KB)
📄
modal_add_random_question.js
(10.02 KB)
📄
modal_quiz_question_bank.js
(10.5 KB)
📄
preflightcheck.js
(4.14 KB)
📄
question_slot.js
(2.22 KB)
📄
quizquestionbank.js
(1.46 KB)
📄
random_question_form_preview.js
(8.78 KB)
📄
reopen_attempt_ui.js
(2.91 KB)
📄
repaginate.js
(1.52 KB)
📄
submission_confirmation.js
(2.79 KB)
Editing: submission_confirmation.js
// This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * A javascript module to handle submission confirmation for quiz. * * @module mod_quiz/submission_confirmation * @copyright 2022 Huong Nguyen <huongnv13@gmail.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @since 4.1 */ import {saveCancelPromise} from 'core/notification'; import Prefetch from 'core/prefetch'; import Templates from 'core/templates'; import {get_string as getString} from 'core/str'; const SELECTOR = { attemptSubmitButton: '.path-mod-quiz .btn-finishattempt button', attemptSubmitForm: 'form#frm-finishattempt', }; const TEMPLATES = { submissionConfirmation: 'mod_quiz/submission_confirmation', }; /** * Register events for attempt submit button. * @param {int} unAnsweredQuestions Total number of un-answered questions */ const registerEventListeners = (unAnsweredQuestions) => { const submitAction = document.querySelector(SELECTOR.attemptSubmitButton); if (submitAction) { submitAction.addEventListener('click', async(e) => { e.preventDefault(); try { await saveCancelPromise( getString('submission_confirmation', 'quiz'), Templates.render(TEMPLATES.submissionConfirmation, { hasunanswered: unAnsweredQuestions > 0, totalunanswered: unAnsweredQuestions }), getString('submitallandfinish', 'quiz') ); // Save pressed. submitAction.closest(SELECTOR.attemptSubmitForm).submit(); } catch { // Cancel pressed. return; } }); } }; /** * Initialises. * @param {int} unAnsweredQuestions Total number of unanswered questions */ export const init = (unAnsweredQuestions) => { Prefetch.prefetchStrings('core', ['submit']); Prefetch.prefetchStrings('core_admin', ['confirmation']); Prefetch.prefetchStrings('quiz', ['submitallandfinish', 'submission_confirmation']); Prefetch.prefetchTemplate(TEMPLATES.submissionConfirmation); registerEventListeners(unAnsweredQuestions); };
Upload File
Create Folder