!function(t){var e={};function s(a){if(e[a])return e[a].exports;var r=e[a]={i:a,l:!1,exports:{}};return t[a].call(r.exports,r,r.exports,s),r.l=!0,r.exports}s.m=t,s.c=e,s.d=function(t,e,a){s.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.t=function(t,e){if(1&e&&(t=s(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(s.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)s.d(a,r,function(e){return t[e]}.bind(null,r));return a},s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,"a",e),e},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.p="",s(s.s=0)}([function(t,e,s){"use strict";s.r(e);s(1);const{createElement:a,render:r,useState:n,useEffect:o,Fragment:i}=wp.element,{select:l,dispatch:c}=wp.data,d=t=>{const[e,s]=n(!0),[r,d]=n([]),[u,p]=n(0),[m,_]=n(0),[w,g]=n({}),[h,v]=n({}),[b,f]=n(0),[y,N]=n(!1);o(()=>{if(!document.getElementById("chartjs")){const t=document.createElement("script");t.src=window.wplms_course_data.chartjs,t.id="chartjs",document.body.appendChild(t),t.onload=()=>{N(!0)}}},[]),o(()=>{fetch(window.instructorsimplestats.api+"/instructor_stats",{method:"post",body:JSON.stringify({number:t.settings.max,token:l("vibebp").getToken(),user_id:window.instructor_stats.user_id})}).then(t=>t.ok?t.json():{status:0,message:window.wplms_course_data.translations.error_loading_data}).then(e=>{e.status&&d(e.data),s(!1),document.dispatchEvent(new CustomEvent("vibebp_widget_loaded",{detail:{props:t}}))}).catch(t=>{s(!1),console.error("Uh oh, an error!",t),c("vibebp").addNotification({text:window.wplms_course_data.translations.error_loading_data})})},[]),o(()=>{r&&r.length&&!e&&y&&k(r)},[r,e,y]);const k=t=>{if(t&&t.length){let e={labels:[]},s=[],a=[];t.map(t=>{t.hasOwnProperty("average")&&""!=t.average&&null!=t.average&&(t.average=parseInt(t.average),a.push(t.average),e.labels.push(t.title),s.push(O()))}),e.datasets=[{label:window.instructor_stats.translations.average,data:a,backgroundColor:s,borderWidth:1}],g(e)}else g({})},O=()=>{for(var t="#",e=0;e<6;e++)t+="0123456789ABCDEF"[Math.floor(16*Math.random())];return t};o(()=>{if(w&&Object.keys(w).length){Object.keys(w).map(t=>{}),h&&Object.keys(h)&&Object.keys(h).length&&h.destroy();let t=document.getElementById("instructor-graph-stats"),e=new Chart(t,{type:"bar",data:{labels:w.labels,datasets:w.datasets},options:{responsive:!0,scales:{xAxes:[{ticks:{beginAtZero:!0}}],yAxes:[{ticks:{beginAtZero:!0}}]}}});v(e)}},[w]);const j=e=>{if(e.id){let a={};fetch(`${window.instructorsimplestats.api}/generate_ranges?unit=${e.id}&post`,{method:"post",body:JSON.stringify({range:t.settings.range,token:l("vibebp").getToken(),user_id:window.instructor_stats.user_id,unit:e.id})}).then(t=>t.ok?t.json():{status:0,message:window.wplms_course_data.translations.error_loading_data}).then(t=>{if(t.status){if(a.labels=[],a.datasets=[],t.hasOwnProperty("data")&&t.data.length){let e={label:window.instructor_stats.translations.students,backgroundColor:[],data:[],borderWidth:1};t.data.map(t=>{a.labels.push(t.range),e.data.push(t.value),e.backgroundColor.push(O())}),a.datasets=[e],g(a)}}else g({});s(!1)}).catch(t=>{s(!1),console.error("Uh oh, an error!",t),c("vibebp").addNotification({text:window.wplms_course_data.translations.error_loading_data})})}else g({})};return a("div",{className:"instructor_stats_wrapper widget",style:{width:"100%"}},a("h3",{className:"widget_title"},t.settings.title),e?a("div",{class:"widget_loader"},a("div",null),a("div",null),a("div",null),a("div",null)):a("div",{className:"instructor_stats"},r&&r.length?a(i,null,a("div",{className:"course-list"},r.map((t,e)=>a("div",{className:"course-item-wrapper"},a("div",{className:"course-item "+(e===u?"active":"")},a("span",{onClick:()=>{p(e),f(0)}},t.title),a("div",{className:"actions"},a("div",{className:"tip",title:window.instructor_stats.translations.show_stats_graph,onClick:()=>{j(t)}},a("i",{className:"vicon vicon-bar-chart"})),a("div",{className:"tip",title:window.instructor_stats.translations.reload_stats,onClick:()=>{((t,e)=>{t.id&&fetch(window.instructorsimplestats.api+"/recalculate_stats?post",{method:"post",body:JSON.stringify({course:t.id,token:l("vibebp").getToken(),user_id:window.instructor_stats.user_id})}).then(t=>t.ok?t.json():{status:0,message:window.wplms_course_data.translations.error_loading_data}).then(t=>{if(t.status){let s=[...r];s[e].average=t.average,d(s)}}).catch(t=>{console.error("Uh oh, an error!",t),c("vibebp").addNotification({text:window.wplms_course_data.translations.error_loading_data})})})(t,e)}},a("i",{className:"vicon vicon-reload"})),a("div",{className:"tip",title:window.instructor_stats.translations.load_curriculum,onClick:()=>{((t,e)=>{t.id&&fetch(window.instructorsimplestats.api+"/load_quiz_assignment?post",{method:"post",body:JSON.stringify({course:t.id,token:l("vibebp").getToken(),user_id:window.instructor_stats.user_id})}).then(t=>t.ok?t.json():{status:0,message:window.wplms_course_data.translations.error_loading_data}).then(t=>{let s=[...r];t.status&&t.hasOwnProperty("curriculum")&&t.curriculum.length?s[e].curriculum=t.curriculum:s[e].curriculum=[],d(s)}).catch(t=>{console.error("Uh oh, an error!",t),c("vibebp").addNotification({text:window.wplms_course_data.translations.error_loading_data})})})(t,e)}},a("i",{className:"vicon vicon-plus"})))),t.hasOwnProperty("curriculum")?t.curriculum.length?a("div",{className:"course_curriculum"},t.curriculum.map((t,e)=>a("div",{className:"course-item "+(e===b?"active":""),onClick:()=>{j(t),f(e)}},a("h5",null,t.title),a("div",{className:"actions"},a("div",{className:""},a("i",{className:"icon-bars"})))))):a("div",{className:"message"},a("p",null,window.instructor_stats.translations.no_data)):""))),a("div",{className:"graph-area"},w&&Object.keys(w).length?a("canvas",{id:"instructor-graph-stats",ref:t=>{t&&!m&&_(t)}}):a("div",{className:"message"},window.instructor_commissions.translations.no_data))):a("div",{className:"vbp_message"},window.instructor_stats.translations.no_data)))};document.addEventListener("wplms_instructor_stats",t=>{document.querySelector(".instructor_stats")&&r(a(d,{settings:t.detail.widget.options}),document.querySelector(".instructor_stats"))})},function(t,e,s){}]);