2025-09-25 13:03:23 -06:00
|
|
|
var CourseNav=function(e){"use strict";new Set;class t extends Howl{constructor(e){super(e),this._timeupdateListeners=[],this._interval=null,this._startTimeUpdate()}_startTimeUpdate(){this._interval=setInterval((()=>{this.playing()&&this._emitTimeUpdate(this.seek())}),250)}_emitTimeUpdate(e){this._timeupdateListeners.forEach((t=>t(e)))}onTimeUpdate(e){this._timeupdateListeners.push(e)}offTimeUpdate(e){this._timeupdateListeners=this._timeupdateListeners.filter((t=>t!==e))}play(e){const t=super.play(e);return this._interval||this._startTimeUpdate(),t}pause(e){const t=super.pause(e);return clearInterval(this._interval),this._interval=null,t}stop(e){super.stop(e),clearInterval(this._interval),this._interval=null}}function n(e){return e?new t({src:[e]}):null}const o=new class{constructor(){this.audioElement=null,this.audioControlButton=document.getElementById("coursenav-audio-control"),this.audioIcon=document.getElementById("coursenav-audio-icon"),this.progressCircle=document.getElementById("coursenav-progress-circle"),this.isMuted=!1,this.progressCircle&&(this.progressCircle.style.display="none"),this.audioControlButton&&this.audioControlButton.addEventListener("click",this.toggleAudio.bind(this))}stopAllSoundsAndPlay(e){Howler._howls?.forEach((e=>e.stop())),this.setAudio(e),this.playAudio()}loadAudio(e){this.audioElement&&this.audioElement.stop(),e&&(this.audioElement=n(e),this._bindAudioEvents())}playAudio(){this.audioElement?.play()}pauseAudio(){this.audioElement?.pause()}stopAudio(){this.audioElement?.stop()}toggleAudio(){this.audioElement&&(this.audioElement.playing()?this.pauseAudio():this.playAudio())}toggleMute(){this.isMuted=!this.isMuted,Howler.mute(this.isMuted),this.updateIcon(),document.querySelectorAll("video").forEach((e=>e.muted=this.isMuted))}onPlay(){this.progressCircle&&(this.progressCircle.style.display="block");const e=this.audioElement.seek();this.updateProgressCircle(e),this.updateIcon()}onEnd(){this.progressCircle&&(this.progressCircle.style.display="none"),this.updateIcon()}updateIcon(){if(!this.audioIcon)return;const e=this.audioElement?.playing();this.audioIcon.className=e?"fa-duotone fa-solid fa-pause":"fa-duotone fa-solid fa-play"}updateProgressCircle(e){if(!this.progressCircle||!this.audioElement)return;const t=parseFloat(this.progressCircle.getAttribute("r")),n=2*Math.PI*t,o=n-e/this.audioElement.duration()*n;this.progressCircle.setAttribute("stroke-dashoffset",o)}setAudioUrl(e){this.loadAudio(e)}setAudio(e){e instanceof t&&(this.audioElement?.stop(),this.audioElement=e,this._bindAudioEvents())}_bindAudioEvents(){this.audioElement.on("play",this.onPlay.bind(this)),this.audioElement.on("pause",this.updateIcon.bind(this)),this.audioElement.on("stop",this.updateIcon.bind(this)),this.audioElement.on("end",this.onEnd.bind(this)),this.audioElement.onTimeUpdate(this.updateProgressCircle.bind(this))}},s=e.COURSE_CONFIG_URL||"config.json",i=e.DEBUG||!1,r=(e.KEY,document.getElementById("coursenav-main-content")),a=document.getElementById("wrap-course-content");a.setAttribute("data-original-class",a.className);const c=document.getElementById("coursenav-loader-course"),l=new Audio("audio/click.mp3"),d=document.getElementById("coursenav-prev-btn"),u=document.getElementById("coursenav-next-btn"),p=document.getElementById("coursenav-progress-bar"),m=document.getElementById("coursenav-main-menu");let h;pipwerks.SCORM.version="1.2",pipwerks.debug.isActive=i,pipwerks.SCORM.handleExitMode=!1;let g=!1,f=null,v={contentArray:[],maximumAdvance:0},y=0;function A(e,t="",n="",o=null){e.forEach((e=>{const s=!o&&!n?e.title:n;e.content&&v.contentArray.push({title:e.title,content:e.content,audio:e.audio,visited:!1,courseTitle:t,moduleTitle:s,parentTitle:o}),e.topics&&A(e.topics,t,s,e.title)}))}function C(){const e=new XMLHttpRequest;e.open("GET",`${s}?_=${Date.now()}`,!0),e.setRequestHeader("X-Requested-With","XMLHttpRequest"),e.withCredentials=!0,e.responseType="json",e.onload=function(){if(e.status>=200&&e.status<300){f=e.response,v={contentArray:[],maximumAdvance:0},f.title&&(document.title=f.title),A(f.modules,f.title
|