AutorÃa | Ultima modificación | Ver Log |
// 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/>./*** Event handlers for the mod_lti mod_form.** @module mod_lti/mod_form* @copyright 2023 Jake Dallimore <jrhdallimore@gmail.com>* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/"use strict";import ContentItem from 'mod_lti/contentitem';/*** Initialise module.** @param {int} courseId the course id.*/const init = (courseId) => {const contentItemButton = document.querySelector('[name="selectcontent"]');if (!contentItemButton) {return;}contentItemButton.addEventListener('click', () => {const contentItemUrl = contentItemButton.getAttribute('data-contentitemurl');const contentItemId = document.querySelector('#hidden_typeid').value;if (contentItemId) {const title = document.querySelector('#id_name').value.trim();const text = document.querySelector('#id_introeditor').value.trim();const postData = {id: contentItemId,course: courseId,title: title,text: text};// The callback below is called after the content item has been returned and processed.ContentItem.init(contentItemUrl, postData, (returnData) => {if (!returnData.multiple) {// The state of the grade checkbox has already been set by processContentItemReturnData() but that// hasn't fired the click/change event required by formslib to show/hide the dependent grade fields.// Fire it now.const allowGrades = document.querySelector('#id_instructorchoiceacceptgrades');let allowGradesChangeEvent = new Event('change');allowGrades.dispatchEvent(allowGradesChangeEvent);// If the tool is set to accept grades, make sure "Point" is selected.if (allowGrades.checked) {const gradeType = document.querySelector('#id_grade_modgrade_type');gradeType.value = "point";let gradeTypeChangeEvent = new Event('change');gradeType.dispatchEvent(gradeTypeChangeEvent);}}});}});};export default {init: init};