AutorÃa | Ultima modificación | Ver Log |
define("core_course/local/overview/overviewpage",["exports","core_courseformat/local/content","core/local/collapsable_section/events","core/fragment","core_courseformat/courseeditor","core/pending","core/templates"],(function(_exports,_content,_events,_fragment,_courseeditor,_pending,_templates){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
/**
* Controls the fragment overview loadings.
*
* @module core_course/local/overview/overviewpage
* @copyright 2025 Ferran Recio <ferran@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_content=_interopRequireDefault(_content),_fragment=_interopRequireDefault(_fragment),_pending=_interopRequireDefault(_pending),_templates=_interopRequireDefault(_templates);_exports.init=async selector=>{const pageElement=document.querySelector(selector);if(!pageElement)throw new Error("No elements found with the selector: "+selector);return pageElement.addEventListener(_events.eventTypes.shown,(event=>{const fragmentElement=getFragmentContainer(event.target);fragmentElement&&loadFragmentContent(fragmentElement)})),new _content.default({element:pageElement,reactive:(0,_courseeditor.getCurrentCourseEditor)()})};const loadFragmentContent=element=>{if(element.dataset.loaded)return;const pendingReload=new _pending.default("course_overviewtable_".concat(element.dataset.modname));_fragment.default.loadFragment("core_course","course_overview",element.dataset.contextid,{courseid:element.dataset.courseid,modname:element.dataset.modname
}).then((async(html,js)=>(_templates.default.runTemplateJS(js),element.innerHTML=html,element.dataset.loaded=!0,pendingReload.resolve(),!0))).catch((()=>{pendingReload.resolve()}))},getFragmentContainer=element=>{const result=element.querySelector('[data-region="loading-icon-container"]');if(!result)return null;if(!result.dataset.contextid||!result.dataset.courseid||!result.dataset.modname)throw new Error("The element is missing required data attributes.");return result}}));
//# sourceMappingURL=overviewpage.min.js.map