__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
// 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/>.
import * as formSubmit from 'core_form/submit';
/**
* Module for the quick grading functionality on the submissions page.
*
* @module mod_assign/quick_grading
* @copyright 2024 Mihail Geshoski <mihail@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
/** @constant {Object} The object containing the relevant selectors. */
const Selectors = {
quickGradingSaveRegion: '[data-region="quick-grading-save"]',
notifyStudentsCheckbox: 'input[type="checkbox"][name="sendstudentnotifications"]',
notifyStudentsHidden: 'input[type="hidden"][name="sendstudentnotifications"]',
saveButton: 'button[type="submit"]'
};
/**
* Initialize module.
*/
export const init = () => {
const quickGradingSaveRegion = document.querySelector(Selectors.quickGradingSaveRegion);
if (quickGradingSaveRegion) {
const quickGradingSaveButton = quickGradingSaveRegion.querySelector(Selectors.saveButton);
// Initialize the submit button.
formSubmit.init(quickGradingSaveButton);
// Add 'change' event listener to the quick grading save region.
quickGradingSaveRegion.addEventListener('change', e => {
const notifyStudentsCheckbox = e.target.closest(Selectors.notifyStudentsCheckbox);
// The target is the 'Notify student' checkbox.
if (notifyStudentsCheckbox) {
// The 'Notify student' option uses a hidden input and a checkbox. The hidden input is used to submit '0'
// as a workaround when the checkbox is unchecked since unchecked checkboxes are not submitted with the
// form. Therefore, we need to enable or disable the hidden input based on the checkbox state.
const notifyStudentsHidden = notifyStudentsCheckbox.parentNode.querySelector(Selectors.notifyStudentsHidden);
notifyStudentsHidden.disabled = notifyStudentsCheckbox.checked;
}
});
}
};
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| actionbar | Folder | 0777 |
|
|
| bulkactions | Folder | 0777 |
|
|
| grading_actions.js | File | 7.95 KB | 0777 |
|
| grading_events.js | File | 1.17 KB | 0777 |
|
| grading_form_change_checker.js | File | 2.1 KB | 0777 |
|
| grading_navigation.js | File | 21.39 KB | 0777 |
|
| grading_navigation_user_info.js | File | 6.93 KB | 0777 |
|
| grading_panel.js | File | 15.96 KB | 0777 |
|
| grading_review_panel.js | File | 5.23 KB | 0777 |
|
| override_form.js | File | 1.5 KB | 0777 |
|
| participant_selector.js | File | 4.87 KB | 0777 |
|
| quick_grading.js | File | 2.6 KB | 0777 |
|
| repository.js | File | 1.44 KB | 0777 |
|
| timer.js | File | 3.65 KB | 0777 |
|
| user.js | File | 2.76 KB | 0777 |
|