Proyectos de Subversion Moodle

Rev

Autoría | Ultima modificación | Ver Log |

define("quiz_overview/regrade_modal",["exports","core/modal","core/templates","core/str","core/notification"],(function(_exports,_modal,_templates,_str,_notification){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
/**
   * Regrade modal form is used to regrade or dryrun the attempts and questions.
   *
   * @module quiz_overview/regrade_modal
   * @copyright 2024 The Open University
   * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
   */Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_modal=_interopRequireDefault(_modal),_templates=_interopRequireDefault(_templates),_notification=_interopRequireDefault(_notification);const SELECTORS_allQuestionsButton="#regradeallquestions",SELECTORS_dryRunButton="#dryrunbutton",SELECTORS_mainTableForm="#attemptsform",SELECTORS_questionCheckbox='[id^="regradeslot"]',SELECTORS_regradeAttemptsButtonId="regradeattempts",SELECTORS_regradeButton="#regradebutton",SELECTORS_reportTableSelectedAttempts='[id^="attemptid_"]:checked',showModal=async e=>{e.preventDefault();try{let hiddenInputs=[];document.querySelectorAll(SELECTORS_mainTableForm+" input[type=hidden]").forEach((hiddenInput=>{hiddenInputs.push({name:hiddenInput.name,value:hiddenInput.value})})),document.querySelectorAll(SELECTORS_reportTableSelectedAttempts).forEach((selectedAttempt=>{hiddenInputs.push({name:selectedAttempt.name,value:selectedAttempt.value})}));const modal=await _modal.default.create({title:(0,_str.getString)("regrade","quiz_overview"),body:_templates.default.render("quiz_overview/regrade_modal_body",{actionurl:document.querySelector(SELECTORS_mainTableForm).action,hasselectedattempts:null!==document.querySelector(SELECTORS_reportTableSelectedAttempts),questions:JSON.parse(document.getElementById(SELECTORS_regradeAttemptsButtonId).dataset.slots),hiddeninputs:hiddenInputs}),isVerticallyCentered:!0,removeOnClose:!0,show:!0});modal.getRoot()[0].addEventListener("change",updateButtonStates),modal.getBodyPromise().then(updateButtonStates).catch(_notification.default.exception),modal.getTitlePromise().then((title=>(title.append(" "+document.getElementById(SELECTORS_regradeAttemptsButtonId).dataset.helpIcon),title[0].querySelector("a").classList.add("align-baseline"),title[0]))).catch(_notification.default.exception)}catch(ex){await _notification.default.exception(ex)}},updateButtonStates=()=>{const allQuestionsButton=document.querySelector(SELECTORS_allQuestionsButton);document.querySelectorAll(SELECTORS_questionCheckbox).forEach((questionCheckbox=>{questionCheckbox.disabled=allQuestionsButton.checked}));const isAnyQuestionSelected=null!==document.querySelector(SELECTORS_questionCheckbox+":checked"),canSubmit=allQuestionsButton.checked||isAnyQuestionSelected;document.querySelector(SELECTORS_regradeButton).disabled=!canSubmit,document.querySelector(SELECTORS_dryRunButton).disabled=!canSubmit};_exports.init=()=>{const regradeButton=document.getElementById(SELECTORS_regradeAttemptsButtonId);regradeButton&&regradeButton.addEventListener("click",showModal)}}));

//# sourceMappingURL=regrade_modal.min.js.map