@vue-skuilder/platform-ui 0.2.35 → 0.2.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{About-BWM7KlDK.js → About-74htcNLT.js} +2 -2
- package/dist/assets/{About-BWM7KlDK.js.map → About-74htcNLT.js.map} +1 -1
- package/dist/assets/AdminDashboard-B00qno2M.js +2 -0
- package/dist/assets/{AdminDashboard-CO2rxkF5.js.map → AdminDashboard-B00qno2M.js.map} +1 -1
- package/dist/assets/AdminLearner-SJNtSyJ_.js +2 -0
- package/dist/assets/{AdminLearner-CZO2Hlk1.js.map → AdminLearner-SJNtSyJ_.js.map} +1 -1
- package/dist/assets/BaseUserDB-CV2ZPZOR.js +1 -0
- package/dist/assets/ClassroomCtrlPanel-BSAG3h8B.js +2 -0
- package/dist/assets/{ClassroomCtrlPanel-cj6bokz5.js.map → ClassroomCtrlPanel-BSAG3h8B.js.map} +1 -1
- package/dist/assets/{Classrooms-BIC1PGz0.js → Classrooms-DXNEbtsM.js} +3 -3
- package/dist/assets/{Classrooms-BIC1PGz0.js.map → Classrooms-DXNEbtsM.js.map} +1 -1
- package/dist/assets/CouchDBSyncStrategy-BjM7ROXC.js +1 -0
- package/dist/assets/CourseRouter-CsVa_92r.js +7 -0
- package/dist/assets/{CourseRouter-CMMxD9us.js.map → CourseRouter-CsVa_92r.js.map} +1 -1
- package/dist/assets/CourseSyncService-CPU_Ll1h.js +1 -0
- package/dist/assets/CourseWare-BTFRjgBR-DBp_fIwH.js +3 -0
- package/dist/assets/{CourseWare-BTFRjgBR-C3wi5YHa.js.map → CourseWare-BTFRjgBR-DBp_fIwH.js.map} +1 -1
- package/dist/assets/{Courses-Dw7mgMnI.js → Courses-CB6GGtdm.js} +3 -3
- package/dist/assets/{Courses-Dw7mgMnI.js.map → Courses-CB6GGtdm.js.map} +1 -1
- package/dist/assets/EloModeration-DUBgs-Vh.js +2 -0
- package/dist/assets/{EloModeration-COgCrvb8.js.map → EloModeration-DUBgs-Vh.js.map} +1 -1
- package/dist/assets/{JoinCode-Fu9Tks7r.js → JoinCode-BBvYapCA.js} +2 -2
- package/dist/assets/{JoinCode-Fu9Tks7r.js.map → JoinCode-BBvYapCA.js.map} +1 -1
- package/dist/assets/MarkdownRenderer-WG9YrHpe.js +1 -0
- package/dist/assets/MarkdownRenderer-borh39Lq.js +53 -0
- package/dist/assets/MarkdownRenderer-borh39Lq.js.map +1 -0
- package/dist/assets/NewCourseDialog-DBgFVnt3.js +2 -0
- package/dist/assets/{NewCourseDialog-C11dSwWM.js.map → NewCourseDialog-DBgFVnt3.js.map} +1 -1
- package/dist/assets/PipelineDebugger-BHaqzqZw.js +177 -0
- package/dist/assets/PipelineDebugger-BHaqzqZw.js.map +1 -0
- package/dist/assets/PouchDataLayerProvider-DxsnSIKd.js +2 -0
- package/dist/assets/PouchDataLayerProvider-DxsnSIKd.js.map +1 -0
- package/dist/assets/{ReleaseNotes-CeTkuF5d.js → ReleaseNotes-Dg6mLL1C.js} +2 -2
- package/dist/assets/{ReleaseNotes-CeTkuF5d.js.map → ReleaseNotes-Dg6mLL1C.js.map} +1 -1
- package/dist/assets/RequestPasswordReset-CcFMTnTc.js +2 -0
- package/dist/assets/{RequestPasswordReset-vTzfGItp.js.map → RequestPasswordReset-CcFMTnTc.js.map} +1 -1
- package/dist/assets/ResetPassword-Dw_cBJU2.js +2 -0
- package/dist/assets/{ResetPassword-CmGaVYsI.js.map → ResetPassword-Dw_cBJU2.js.map} +1 -1
- package/dist/assets/StaticDataLayerProvider-CtgU3VBh.js +2 -0
- package/dist/assets/StaticDataLayerProvider-CtgU3VBh.js.map +1 -0
- package/dist/assets/Study-DDsGQCTJ.js +2 -0
- package/dist/assets/{Study-CkJvraIv.js.map → Study-DDsGQCTJ.js.map} +1 -1
- package/dist/assets/TagInformation-DBLoXA2a.js +2 -0
- package/dist/assets/{TagInformation-xZcQ1C1t.js.map → TagInformation-DBLoXA2a.js.map} +1 -1
- package/dist/assets/User-DfXUXjFb.js +2 -0
- package/dist/assets/User-DfXUXjFb.js.map +1 -0
- package/dist/assets/UserDBDebugger-DPqlc4O_.js +23 -0
- package/dist/assets/UserDBDebugger-DPqlc4O_.js.map +1 -0
- package/dist/assets/UserDBDebugger-xmycWjck.js +1 -0
- package/dist/assets/UserStats-C04YVYv7.js +2 -0
- package/dist/assets/{UserStats-CioNBbmL.js.map → UserStats-C04YVYv7.js.map} +1 -1
- package/dist/assets/VerifyEmail-Y05BSR57.js +2 -0
- package/dist/assets/{VerifyEmail-Bh-T9191.js.map → VerifyEmail-Y05BSR57.js.map} +1 -1
- package/dist/assets/admin-DcFjvYJw.js +21 -0
- package/dist/assets/admin-DcFjvYJw.js.map +1 -0
- package/dist/assets/chess-E2uOAyQS-BZi0vihz.js +7 -0
- package/dist/assets/{chess-E2uOAyQS-C8213VIQ.js.map → chess-E2uOAyQS-BZi0vihz.js.map} +1 -1
- package/dist/assets/chess-Lfm7Fsvs-DgN08Qx9.js +1 -0
- package/dist/assets/contentSource-DwznMSMs.js +34 -0
- package/dist/assets/contentSource-DwznMSMs.js.map +1 -0
- package/dist/assets/defineProperty-y9rbOPYz.js +1 -0
- package/dist/assets/dist-BcwaOf54.js +1 -0
- package/dist/assets/dist-BsRvt0gH.js +38 -0
- package/dist/assets/dist-BsRvt0gH.js.map +1 -0
- package/dist/assets/dist-CAHkbl3M.js +18 -0
- package/dist/assets/dist-CAHkbl3M.js.map +1 -0
- package/dist/assets/dist-CgW7D_Gh.js +1 -0
- package/dist/assets/dist-Dnehy0sn.js +1 -0
- package/dist/assets/dist-Dp6eBE2S.js +64 -0
- package/dist/assets/dist-Dp6eBE2S.js.map +1 -0
- package/dist/assets/edit-ui.es-BWqvElsJ.js +1 -0
- package/dist/assets/edit-ui.es-UaQFL_My.js +41 -0
- package/dist/assets/edit-ui.es-UaQFL_My.js.map +1 -0
- package/dist/assets/elo-B5qCwvSC.js +2 -0
- package/dist/assets/elo-B5qCwvSC.js.map +1 -0
- package/dist/assets/elo-COgu6Hu5.js +2 -0
- package/dist/assets/elo-COgu6Hu5.js.map +1 -0
- package/dist/assets/elo-Cwa8a3Yo.js +1 -0
- package/dist/assets/eloDistance-BV7vfiK5.js +2 -0
- package/dist/assets/eloDistance-BV7vfiK5.js.map +1 -0
- package/dist/assets/eloDistance-MReQeAuj.js +1 -0
- package/dist/assets/french-Dk7YG8Td-CD7Hms2j.js +2 -0
- package/dist/assets/{french-Dk7YG8Td-D9eV2DXL.js.map → french-Dk7YG8Td-CD7Hms2j.js.map} +1 -1
- package/dist/assets/french-evUMlbbq-nGCjilG6.js +1 -0
- package/dist/assets/hierarchyDefinition-DLC5DjaA.js +2 -0
- package/dist/assets/hierarchyDefinition-DLC5DjaA.js.map +1 -0
- package/dist/assets/{index-NFrxkZjT.css → index-B7mmpKZd.css} +1 -1
- package/dist/assets/index-CK-rfSIx.js +4 -0
- package/dist/assets/{index-CDxzcoT1.js.map → index-CK-rfSIx.js.map} +1 -1
- package/dist/assets/interferenceMitigator-D78KgOxz.js +2 -0
- package/dist/assets/interferenceMitigator-D78KgOxz.js.map +1 -0
- package/dist/assets/logshim-YQI0WloD.js +2 -0
- package/dist/assets/logshim-YQI0WloD.js.map +1 -0
- package/dist/assets/math-DR3fXDcX-C9KfHLHP.js +1 -0
- package/dist/assets/math-D_8HiEQR-E4QDLrWp.js +34 -0
- package/dist/assets/{math-D_8HiEQR-DdtcYQLB.js.map → math-D_8HiEQR-E4QDLrWp.js.map} +1 -1
- package/dist/assets/moment-DbT30ZpG.js +5 -0
- package/dist/assets/moment-DbT30ZpG.js.map +1 -0
- package/dist/assets/piano-BN5Btq91-CnKhyLGE.js +1 -0
- package/dist/assets/piano-DF1g6yaX-Ck3BH5EK.js +2 -0
- package/dist/assets/{piano-DF1g6yaX-B7f_kt1X.js.map → piano-DF1g6yaX-Ck3BH5EK.js.map} +1 -1
- package/dist/assets/pitch-CgGJFkZ1-Dd0LzmEe.js +2 -0
- package/dist/assets/{pitch-CgGJFkZ1-CuezrVTg.js.map → pitch-CgGJFkZ1-Dd0LzmEe.js.map} +1 -1
- package/dist/assets/pitch-Dn0iNqiS-BxAdpDDb.js +1 -0
- package/dist/assets/prescribed-BWO17Gan.js +2 -0
- package/dist/assets/prescribed-BWO17Gan.js.map +1 -0
- package/dist/assets/relativePriority-DwPMECAp.js +2 -0
- package/dist/assets/relativePriority-DwPMECAp.js.map +1 -0
- package/dist/assets/server-CqR7xtQy.js +2 -0
- package/dist/assets/server-CqR7xtQy.js.map +1 -0
- package/dist/assets/{sightsing-BFQ7HRig-CLh3Xcy7.js → sightsing-BFQ7HRig-DV69ELZf.js} +23 -23
- package/dist/assets/{sightsing-BFQ7HRig-CLh3Xcy7.js.map → sightsing-BFQ7HRig-DV69ELZf.js.map} +1 -1
- package/dist/assets/sightsing-CJX3k0Fd-CG94OiDr.js +1 -0
- package/dist/assets/srs-DGscV6W4.js +1 -0
- package/dist/assets/srs-DOsG9Y-i.js +2 -0
- package/dist/assets/srs-DOsG9Y-i.js.map +1 -0
- package/dist/assets/tagRoles-jR-PJAgj.js +2 -0
- package/dist/assets/tagRoles-jR-PJAgj.js.map +1 -0
- package/dist/assets/typing-BevtfWlp-CvStu5BY.js +2 -0
- package/dist/assets/{typing-BevtfWlp-B__x_Ia1.js.map → typing-BevtfWlp-CvStu5BY.js.map} +1 -1
- package/dist/assets/typing-k-ojjO7G-AF8vU_q7.js +1 -0
- package/dist/assets/userDBKeys-DYLGKnVC.js +4 -0
- package/dist/assets/userDBKeys-DYLGKnVC.js.map +1 -0
- package/dist/assets/userTagPreference-cZCPqadC.js +2 -0
- package/dist/assets/userTagPreference-cZCPqadC.js.map +1 -0
- package/dist/assets/validators-lpYAHmRR.js +2 -0
- package/dist/assets/validators-lpYAHmRR.js.map +1 -0
- package/dist/assets/word-work-BOnRlZgd-CCGZdwyf.js +2 -0
- package/dist/assets/{word-work-BOnRlZgd-CxcTzMPz.js.map → word-work-BOnRlZgd-CCGZdwyf.js.map} +1 -1
- package/dist/assets/word-work-Dd6tIKrt-BNTSCq5F.js +1 -0
- package/dist/assets/{workbox-window.prod.es5-r2bRTooK.js → workbox-window.prod.es5-YsLcd14J.js} +1 -1
- package/dist/assets/{workbox-window.prod.es5-r2bRTooK.js.map → workbox-window.prod.es5-YsLcd14J.js.map} +1 -1
- package/dist/index.html +17 -7
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/package.json +7 -7
- package/dist/assets/AdminDashboard-CO2rxkF5.js +0 -2
- package/dist/assets/AdminLearner-CZO2Hlk1.js +0 -2
- package/dist/assets/ClassroomCtrlPanel-cj6bokz5.js +0 -2
- package/dist/assets/CourseRouter-CMMxD9us.js +0 -7
- package/dist/assets/CourseWare-BTFRjgBR-C3wi5YHa.js +0 -3
- package/dist/assets/EloModeration-COgCrvb8.js +0 -2
- package/dist/assets/MarkdownRenderer-U_iPiA2x-DDruDu7E.js +0 -53
- package/dist/assets/MarkdownRenderer-U_iPiA2x-DDruDu7E.js.map +0 -1
- package/dist/assets/MarkdownRenderer-U_iPiA2x-VCa5mXh1.js +0 -1
- package/dist/assets/NewCourseDialog-C11dSwWM.js +0 -2
- package/dist/assets/RequestPasswordReset-vTzfGItp.js +0 -2
- package/dist/assets/ResetPassword-CmGaVYsI.js +0 -2
- package/dist/assets/Study-CkJvraIv.js +0 -2
- package/dist/assets/TagInformation-xZcQ1C1t.js +0 -2
- package/dist/assets/User-MzKFSneO.js +0 -3
- package/dist/assets/User-MzKFSneO.js.map +0 -1
- package/dist/assets/UserStats-CioNBbmL.js +0 -2
- package/dist/assets/VerifyEmail-Bh-T9191.js +0 -2
- package/dist/assets/admin-Dt07rW2C.js +0 -21
- package/dist/assets/admin-Dt07rW2C.js.map +0 -1
- package/dist/assets/chess-E2uOAyQS-C8213VIQ.js +0 -7
- package/dist/assets/chess-Lfm7Fsvs-6ElY3d5h.js +0 -1
- package/dist/assets/common-ui.es-B9r6QiWN.js +0 -38
- package/dist/assets/common-ui.es-B9r6QiWN.js.map +0 -1
- package/dist/assets/common-ui.es-j6sezLNk.js +0 -1
- package/dist/assets/dist-BeppzTWu.js +0 -380
- package/dist/assets/dist-BeppzTWu.js.map +0 -1
- package/dist/assets/dist-C1hpwy00.js +0 -1
- package/dist/assets/dist-CKO_fXB-.js +0 -18
- package/dist/assets/dist-CKO_fXB-.js.map +0 -1
- package/dist/assets/dist-CkRURFlm.js +0 -1
- package/dist/assets/dist-V9Xbab2f.js +0 -12
- package/dist/assets/dist-V9Xbab2f.js.map +0 -1
- package/dist/assets/edit-ui.es-B00e6OcT.js +0 -36
- package/dist/assets/edit-ui.es-B00e6OcT.js.map +0 -1
- package/dist/assets/edit-ui.es-BGTYLTZO.js +0 -1
- package/dist/assets/french-Dk7YG8Td-D9eV2DXL.js +0 -2
- package/dist/assets/french-evUMlbbq-DOmp0PEx.js +0 -1
- package/dist/assets/index-CDxzcoT1.js +0 -4
- package/dist/assets/math-DR3fXDcX-Clr1rrj8.js +0 -1
- package/dist/assets/math-D_8HiEQR-DdtcYQLB.js +0 -34
- package/dist/assets/piano-BN5Btq91-BO9b38qV.js +0 -1
- package/dist/assets/piano-DF1g6yaX-B7f_kt1X.js +0 -2
- package/dist/assets/pitch-CgGJFkZ1-CuezrVTg.js +0 -2
- package/dist/assets/pitch-Dn0iNqiS-L0LRhcjZ.js +0 -1
- package/dist/assets/server-BP-NvFg7.js +0 -2
- package/dist/assets/server-BP-NvFg7.js.map +0 -1
- package/dist/assets/sightsing-CJX3k0Fd-DiVzeNly.js +0 -1
- package/dist/assets/typing-BevtfWlp-B__x_Ia1.js +0 -2
- package/dist/assets/typing-k-ojjO7G-Dn4uH4pS.js +0 -1
- package/dist/assets/word-work-BOnRlZgd-CxcTzMPz.js +0 -2
- package/dist/assets/word-work-Dd6tIKrt-BOmhWlr6.js +0 -1
- /package/dist/assets/{common-ui-BY2Ut5jf.css → dist-BY2Ut5jf.css} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./chunk-D6hFPZc3.js";import{$ as e,C as t,H as n,Ht as r,K as i,S as a,T as o,_ as s,b as c,v as l,y as u}from"./vue.runtime.esm-bundler--Fxmd6l9.js";import"./dist-V9Xbab2f.js";import"./MarkdownRenderer-U_iPiA2x-DDruDu7E.js";import{J as d,r as f}from"./dist-BeppzTWu.js";import{F as p,m,u as h,w as g}from"./common-ui.es-B9r6QiWN.js";import{r as _,t as v}from"./index-CDxzcoT1.js";import"./CourseWare-BTFRjgBR-C3wi5YHa.js";import"./chess-E2uOAyQS-C8213VIQ.js";import"./math-D_8HiEQR-DdtcYQLB.js";import"./piano-DF1g6yaX-B7f_kt1X.js";import"./sightsing-BFQ7HRig-CLh3Xcy7.js";import"./typing-BevtfWlp-B__x_Ia1.js";import{t as y}from"./dist-CKO_fXB-.js";import{a as b,i as x,o as S,t as C}from"./admin-Dt07rW2C.js";var w=new Map;function learnerDump(e,t){let n=`${t}::${e}`;if(!w.has(n)){let r=b({couchUrl:`${_.COUCHDB_SERVER_PROTOCOL}://${_.COUCHDB_SERVER_URL}`,username:e,courseId:t,auth:{kind:`cookie`}});w.set(n,r),r.catch(()=>w.delete(n))}return w.get(n)}var T=o({name:`AdminDashboard`,components:{CardSearch:h,CardSearchResults:m,CardDossierDetail:C,CardLoader:p},data(){return{query:``,selectedCard:null,userId:``,userDB:null,dataLayer:null,adminDB:null,selectedUserId:``,cardDossier:null,dossierLoading:!1,dossierError:null,selectedCourseId:null,userOptions:[],courseOptions:[]}},computed:{learnerLink(){return!this.selectedCard||!this.selectedUserId?`/admin/learners`:`/admin/learners/${encodeURIComponent(this.selectedCard.courseId)}/${encodeURIComponent(this.selectedUserId)}`}},async created(){this.userDB=await g(),this.userId=this.userDB.getUsername(),this.dataLayer=await d(),this.adminDB=this.dataLayer.getAdminDB(),await this.loadUsers(),await this.loadCourses()},methods:{async loadUsers(){try{this.userOptions=(await this.adminDB.getUsers()).filter(e=>e.name&&!e.name.startsWith(`Guest_`)).map(e=>({label:e.name||`Unknown User`,value:e.name||``})).filter(e=>e.value!==``)}catch(e){console.error(`Failed to load users:`,e)}},onUserSelected(){this.loadDossier()},async loadDossier(){let e=this.selectedCard,t=this.selectedUserId;if(this.cardDossier=null,this.dossierError=null,!(!e||!t)){this.dossierLoading=!0;try{let n=S(await learnerDump(t,e.courseId),e.courseId);if(e!==this.selectedCard||t!==this.selectedUserId)return;this.cardDossier=x(n).find(t=>t.cardId===e.cardId)??null}catch(e){this.dossierError=e instanceof Error?e.message:String(e)}finally{this.dossierLoading=!1}}},onSearch(e){this.query=e},onCardSelected(e){this.selectedCard=e,this.loadDossier()},async loadCourses(){try{this.courseOptions=(await f.allCourseWare()).filter(e=>e._id).map(e=>{let t=e.name&&e.name.trim(),n,r;return t&&t!==e._id&&t!==``?(n=t,r=t.toLowerCase()):(n=e._id,r=e._id.toLowerCase()),{label:`📚 ${n}`,value:e._id,sortKey:r}}).sort((e,t)=>e.sortKey.localeCompare(t.sortKey)),console.log(`Loaded ${this.courseOptions.length} courses for filtering (lightweight mode)`)}catch(e){console.error(`Failed to load courses (lightweight):`,e),await this.loadCoursesExpensive()}},async loadCoursesExpensive(){try{console.log(`Using expensive course loading (full configs)...`),this.courseOptions=(await this.dataLayer.getAdminDB().getCourses()).filter(e=>e.courseID).map(e=>{let t=e.name&&e.name.trim(),n=e.creator?` (${e.creator})`:``,r,i;return t&&t!==e.courseID?(r=t,i=t.toLowerCase()):(r=e.courseID,i=e.courseID.toLowerCase()),{label:`${e.public?`🌐`:`🔒`} ${r}${n}`,value:e.courseID,sortKey:i}}).sort((e,t)=>e.sortKey.localeCompare(t.sortKey)),console.log(`Loaded ${this.courseOptions.length} courses for filtering (expensive mode)`)}catch(e){console.error(`Failed to load courses (expensive):`,e),this.loadCoursesBasic()}},async loadCoursesBasic(){try{console.log(`Using fallback course loading (IDs only)`),this.courseOptions=[{label:`⚠️ Course names not available - using IDs only`,value:``}]}catch(e){console.error(`Failed to load basic courses:`,e)}},onCourseFilterChanged(){this.query},getCourseNameById(e){let t=this.courseOptions.find(t=>t.value===e);return t?t.label:e},getSelectedCourseDetails(){return this.selectedCourseId?`ID: ${this.selectedCourseId}`:``},viewLookup(e){return y.getView(e)}}}),E={class:`admin-dashboard`},D={key:0,class:`mt-2`},O={key:0,class:`text-caption text-grey-darken-1`},k={key:3,class:`text-caption text-disabled`};function _sfc_render(o,d,f,p,m,h){let g=i(`v-btn`),_=i(`v-card-title`),v=i(`v-select`),y=i(`v-chip`),b=i(`v-card-text`),x=i(`v-card`),S=i(`card-search`),C=i(`card-search-results`),w=i(`v-col`),T=i(`card-loader`),A=i(`v-row`),j=i(`v-spacer`),M=i(`v-progress-linear`),N=i(`v-alert`),P=i(`card-dossier-detail`);return n(),c(`div`,E,[d[6]||(d[6]=s(`h1`,null,`Admin Dashboard`,-1)),t(g,{class:`mb-4`,variant:`tonal`,"prepend-icon":`mdi-account-search`,to:`/admin/learners`},{default:e(()=>d[2]||(d[2]=[a(` Learner diagnostics `)])),_:1}),t(x,{class:`mb-4`},{default:e(()=>[t(_,null,{default:e(()=>d[3]||(d[3]=[a(`User Selection`)])),_:1}),t(b,null,{default:e(()=>[t(v,{modelValue:o.selectedUserId,"onUpdate:modelValue":[d[0]||(d[0]=e=>o.selectedUserId=e),o.onUserSelected],items:o.userOptions,"item-title":`label`,"item-value":`value`,label:`Select User`},null,8,[`modelValue`,`items`,`onUpdate:modelValue`]),o.selectedUserId?(n(),l(y,{key:0,color:`primary`,class:`mt-2`},{default:e(()=>[a(` Viewing data for: `+r(o.selectedUserId),1)]),_:1})):u(``,!0)]),_:1})]),_:1}),t(x,{class:`mb-4`},{default:e(()=>[t(_,null,{default:e(()=>d[4]||(d[4]=[a(`Search Filters`)])),_:1}),t(b,null,{default:e(()=>[t(v,{modelValue:o.selectedCourseId,"onUpdate:modelValue":[d[1]||(d[1]=e=>o.selectedCourseId=e),o.onCourseFilterChanged],items:o.courseOptions,"item-title":`label`,"item-value":`value`,label:`Filter by Course (optional)`,clearable:``},null,8,[`modelValue`,`items`,`onUpdate:modelValue`]),o.selectedCourseId?(n(),c(`div`,D,[t(y,{color:`info`,class:`mb-1`},{default:e(()=>[a(` 🎯 `+r(o.getCourseNameById(o.selectedCourseId)),1)]),_:1}),o.getSelectedCourseDetails()?(n(),c(`div`,O,r(o.getSelectedCourseDetails()),1)):u(``,!0)])):(n(),l(y,{key:1,color:`warning`,class:`mt-2`},{default:e(()=>[a(` ⚠️ Searching ALL `+r(o.courseOptions.length)+` courses (may be slow) `,1)]),_:1}))]),_:1})]),_:1}),t(S,{onSearch:o.onSearch},null,8,[`onSearch`]),t(A,null,{default:e(()=>[t(w,{cols:`6`},{default:e(()=>[o.query?(n(),l(C,{key:0,query:o.query,"data-layer":o.dataLayer,"course-filter":o.selectedCourseId,onCardSelected:o.onCardSelected},null,8,[`query`,`data-layer`,`course-filter`,`onCardSelected`])):u(``,!0)]),_:1}),t(w,{cols:`6`},{default:e(()=>[o.selectedCard?(n(),l(T,{key:0,qualified_id:{courseID:o.selectedCard.courseId,cardID:o.selectedCard.cardId},"view-lookup":o.viewLookup},null,8,[`qualified_id`,`view-lookup`])):u(``,!0)]),_:1})]),_:1}),o.selectedCard&&o.selectedUserId?(n(),l(x,{key:0,class:`mt-4`,variant:`outlined`},{default:e(()=>[t(_,{class:`d-flex align-center`},{default:e(()=>[a(` Card history: `+r(o.selectedUserId)+` `,1),t(j),t(g,{variant:`text`,size:`small`,"prepend-icon":`mdi-account-search`,to:o.learnerLink},{default:e(()=>d[5]||(d[5]=[a(` Learner diagnostics `)])),_:1},8,[`to`])]),_:1}),t(b,null,{default:e(()=>[o.dossierLoading?(n(),l(M,{key:0,indeterminate:``})):o.dossierError?(n(),l(N,{key:1,type:`error`,variant:`tonal`,density:`compact`},{default:e(()=>[a(r(o.dossierError),1)]),_:1})):o.cardDossier?(n(),l(P,{key:2,dossier:o.cardDossier},null,8,[`dossier`])):(n(),c(`div`,k,r(o.selectedUserId)+` has no history with this card.`,1))]),_:1})]),_:1})):u(``,!0)])}var A=v(T,[[`render`,_sfc_render],[`__scopeId`,`data-v-d9211107`]]);export{A as default};
|
|
2
|
-
//# sourceMappingURL=AdminDashboard-CO2rxkF5.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./chunk-D6hFPZc3.js";import{C as e,H as t,K as n,T as r,_ as i,b as a,ft as o,gt as s,ut as c,v as l,y as u,z as d}from"./vue.runtime.esm-bundler--Fxmd6l9.js";import{i as f}from"./vue-router-HoUBO3s7.js";import"./dist-V9Xbab2f.js";import{J as p,r as m}from"./dist-BeppzTWu.js";import{r as h}from"./index-CDxzcoT1.js";import{n as g,r as _}from"./admin-Dt07rW2C.js";var v={class:`pa-8`},y={class:`d-flex flex-wrap ga-4 mb-4`},b=r({__name:`AdminLearner`,props:{courseId:{},username:{}},setup(r){let b=r,x=f(),S=`${h.COUCHDB_SERVER_PROTOCOL}://${h.COUCHDB_SERVER_URL}`,C=c([]),w=c([]),T=c(b.username),E=o(null);function syncUrl(e,t){let n=[`/admin/learners`,e,e?t:void 0].filter(e=>!!e);x.replace(n.map((e,t)=>t===0?e:encodeURIComponent(e)).join(`/`))}function pickCourse(e){T.value=void 0,E.value=null,syncUrl(e??void 0)}function pickUser(e){T.value=e??void 0,syncUrl(b.courseId,T.value)}function onLoaded(e){E.value=e,e.username!==b.username&&syncUrl(b.courseId,e.username)}return d(async()=>{try{C.value=(await m.allCourseWare()).filter(e=>e._id).map(e=>({label:e.name?.trim()||e._id,value:e._id})).sort((e,t)=>e.label.localeCompare(t.label))}catch(e){console.error(`[AdminLearner] course list failed`,e)}try{w.value=(await(await p()).getAdminDB().getUsers()).map(e=>e.name).filter(e=>!!e&&!e.startsWith(`Guest`)).sort()}catch(e){console.error(`[AdminLearner] user list failed`,e)}}),(r,o)=>{let c=n(`v-autocomplete`);return t(),a(`div`,v,[o[0]||(o[0]=i(`h1`,{class:`text-h5 mb-4`},`Learner`,-1)),i(`div`,y,[e(c,{"model-value":r.courseId,items:C.value,"item-title":`label`,"item-value":`value`,label:`Course`,density:`compact`,"hide-details":``,style:{"max-width":`28rem`},"onUpdate:modelValue":pickCourse},null,8,[`model-value`,`items`]),e(c,{"model-value":T.value,items:w.value,label:`Learner`,density:`compact`,"hide-details":``,style:{"max-width":`20rem`},disabled:!r.courseId,"onUpdate:modelValue":pickUser},null,8,[`model-value`,`items`,`disabled`])]),r.courseId?(t(),l(s(_),{key:`${r.courseId}/${T.value??``}`,"couch-url":S,"course-id":r.courseId,"initial-username":T.value,autoload:!!T.value,onLoaded},null,8,[`course-id`,`initial-username`,`autoload`])):u(``,!0),E.value?(t(),l(s(g),{key:1,dataset:E.value,class:`mt-6`},null,8,[`dataset`])):u(``,!0)])}}});export{b as default};
|
|
2
|
-
//# sourceMappingURL=AdminLearner-CZO2Hlk1.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./chunk-D6hFPZc3.js";import{$ as e,C as t,H as n,Ht as r,K as i,S as a,T as o,W as s,_ as c,b as l,f as u,v as d,y as f}from"./vue.runtime.esm-bundler--Fxmd6l9.js";import{A as p}from"./dist-V9Xbab2f.js";import"./MarkdownRenderer-U_iPiA2x-DDruDu7E.js";import{J as m}from"./dist-BeppzTWu.js";import{w as h}from"./common-ui.es-B9r6QiWN.js";import{t as g}from"./index-CDxzcoT1.js";var _=o({name:`ClassroomCtrlPanel`,props:{classroomId:{type:String,required:!0}},data(){return{classroomCfg:null,classroomDB:null,assignedContent:[],nameRules:[e=>e.length>30?`Course name must be 30 characters or less`:!0],updatePending:!0,addingContent:!1,availableCourses:[],selectedCourse:``,availableTags:[],selectedTags:[]}},computed:{_assignedCourses(){return this.assignedContent.filter(e=>e.type===`course`)},_assignedTags(){return this.assignedContent.filter(e=>e.type===`tag`)}},watch:{async selectedCourse(){this.selectedCourse?this.availableTags=(await m().getCourseDB(this.selectedCourse).getCourseTagStubs()).rows.map(e=>e.doc):this.availableTags=[]}},async created(){try{this.classroomDB=await m().getClassroomDB(this.classroomId,`teacher`),this.assignedContent=await this.classroomDB.getAssignedContent(),this.classroomCfg=this.classroomDB.getConfig(),console.log(`[ClassroomCtrlPanel] Route loaded w/ (prop) _id: ${this.classroomId}`),console.log(`[ClassroomCtrlPanel] Config: ${JSON.stringify(this.classroomCfg)}`),this.availableCourses=await m().getCoursesDB().getCourseList(),this.updatePending=!1}catch(e){console.error(`[ClassroomCtrlPanel] Error initializing:`,e)}},methods:{async assignContent(){if(!this.classroomDB)return;let e=await h();this.selectedTags.length===0?await this.classroomDB.assignContent?.({assignedOn:p(),activeOn:p(),type:`course`,courseID:this.selectedCourse,assignedBy:e.getUsername()}):await Promise.all(this.selectedTags.map(t=>this.classroomDB.assignContent?.({assignedOn:p(),activeOn:p(),type:`tag`,courseID:this.selectedCourse,tagID:t,assignedBy:e.getUsername()}))),this.assignedContent=await this.classroomDB.getAssignedContent(),this.addingContent=!1,this.selectedCourse=``,this.selectedTags=[],this.availableTags=[]},async removeContent(e){this.classroomDB&&this.classroomDB.removeContent&&(await this.classroomDB.removeContent(e),this.assignedContent=await this.classroomDB.getAssignedContent())},async submit(){this.updatePending=!0}}}),v={key:0},y=[`onClick`],b=[`onClick`];function _sfc_render(o,p,m,h,g,_){let x=i(`router-link`),S=i(`v-btn`),C=i(`v-checkbox`),w=i(`v-col`),T=i(`v-icon`),E=i(`v-fade-transition`),D=i(`v-toolbar-title`),O=i(`v-spacer`),k=i(`v-toolbar`),A=i(`v-select`),j=i(`v-card-text`),M=i(`v-card-actions`),N=i(`v-card`),P=i(`v-row`);return o.updatePending?f(``,!0):(n(),l(`div`,v,[c(`h1`,null,[t(x,{to:`/classrooms`},{default:e(()=>p[5]||(p[5]=[a(`My Classrooms`)])),_:1}),a(` / `+r(o.classroomCfg.name),1)]),c(`h3`,null,[a(` Join code: `+r(o.classroomCfg.joinCode)+` `,1),t(x,{to:`/classrooms/${o.classroomId}/code`},{default:e(()=>[t(S,{size:`x-small`,icon:`mdi-fullscreen`,color:`accent`,alt:`Make Fullscreen`})]),_:1},8,[`to`])]),t(P,null,{default:e(()=>[t(w,{cols:`12`,sm:`6`,md:`4`},{default:e(()=>[t(C,{modelValue:o.classroomCfg.peerAssist,"onUpdate:modelValue":p[0]||(p[0]=e=>o.classroomCfg.peerAssist=e),label:`Allow peer instruction`},null,8,[`modelValue`])]),_:1}),o.classroomDB?(n(),d(w,{key:0,cols:`12`},{default:e(()=>[p[10]||(p[10]=c(`h2`,null,`Assigned Content:`,-1)),p[11]||(p[11]=c(`h3`,null,`Quilts:`,-1)),p[12]||(p[12]=c(`ul`,null,null,-1)),c(`ul`,null,[(n(!0),l(u,null,s(o._assignedCourses,e=>(n(),l(`li`,{key:e.courseID},[a(r(e.courseID)+` `,1),c(`a`,{onClick:t=>o.removeContent(e)},`Remove`,8,y)]))),128))]),p[13]||(p[13]=c(`h3`,null,`Tags:`,-1)),c(`ul`,null,[(n(!0),l(u,null,s(o._assignedTags,(e,t)=>(n(),l(`li`,{key:t},[a(r(e.courseID)+` - `+r(e.tagID)+` `,1),c(`a`,{onClick:t=>o.removeContent(e)},`Remove`,8,b)]))),128))]),t(E,null,{default:e(()=>[o.addingContent?f(``,!0):(n(),d(S,{key:0,color:`primary`,onClick:p[1]||(p[1]=e=>o.addingContent=!0)},{default:e(()=>[p[7]||(p[7]=a(` Assign New Content `)),t(T,{end:``},{default:e(()=>p[6]||(p[6]=[a(`mdi-plus`)])),_:1})]),_:1}))]),_:1}),o.addingContent?(n(),d(N,{key:0},{default:e(()=>[t(k,null,{default:e(()=>[t(D,null,{default:e(()=>p[8]||(p[8]=[a(`Add Content`)])),_:1}),t(O),t(S,{icon:`mdi-close`,color:`error`,onClick:p[2]||(p[2]=e=>o.addingContent=!1)})]),_:1}),t(j,null,{default:e(()=>[t(A,{modelValue:o.selectedCourse,"onUpdate:modelValue":p[3]||(p[3]=e=>o.selectedCourse=e),label:`Select Quilt`,items:o.availableCourses,"item-title":`name`,"item-value":`_id`,title:`Select Quilt`},null,8,[`modelValue`,`items`]),t(A,{modelValue:o.selectedTags,"onUpdate:modelValue":p[4]||(p[4]=e=>o.selectedTags=e),label:`Select Tags`,items:o.availableTags,"item-title":`name`,"item-value":`name`,multiple:``,chips:``,hint:``,"persistent-hint":``},null,8,[`modelValue`,`items`])]),_:1}),t(M,null,{default:e(()=>[o.selectedCourse===``?f(``,!0):(n(),d(S,{key:0,color:`primary`,onClick:o.assignContent},{default:e(()=>[a(r(o.selectedTags.length==0?`Add Entire Quilt`:`Add Tags`)+` `,1),t(T,{end:``},{default:e(()=>p[9]||(p[9]=[a(`mdi-plus`)])),_:1})]),_:1},8,[`onClick`]))]),_:1})]),_:1})):f(``,!0)]),_:1})):f(``,!0)]),_:1})]))}var x=g(_,[[`render`,_sfc_render]]);export{x as default};
|
|
2
|
-
//# sourceMappingURL=ClassroomCtrlPanel-cj6bokz5.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{i as e,r as t}from"./chunk-D6hFPZc3.js";import{$ as n,C as r,H as i,Ht as a,K as o,Lt as s,M as c,S as l,T as u,W as d,_ as f,b as p,f as m,t as h,v as g,y as _}from"./vue.runtime.esm-bundler--Fxmd6l9.js";import"./dist-V9Xbab2f.js";import"./MarkdownRenderer-U_iPiA2x-DDruDu7E.js";import{J as v}from"./dist-BeppzTWu.js";import{P as y,b,w as x}from"./common-ui.es-B9r6QiWN.js";import{t as S}from"./index-CDxzcoT1.js";import"./CourseWare-BTFRjgBR-C3wi5YHa.js";import"./chess-E2uOAyQS-C8213VIQ.js";import"./math-D_8HiEQR-DdtcYQLB.js";import"./piano-DF1g6yaX-B7f_kt1X.js";import"./sightsing-BFQ7HRig-CLh3Xcy7.js";import"./typing-BevtfWlp-B__x_Ia1.js";import{i as C,t as w}from"./dist-CKO_fXB-.js";import"./server-BP-NvFg7.js";import{t as T}from"./NewCourseDialog-C11dSwWM.js";function bind(e,t){return function wrap(){return e.apply(t,arguments)}}var{toString:E}=Object.prototype,{getPrototypeOf:D}=Object,{iterator:O,toStringTag:k}=Symbol,A=(e=>t=>{let n=E.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),kindOfTest=e=>(e=e.toLowerCase(),t=>A(t)===e),typeOfTest=e=>t=>typeof t===e,{isArray:j}=Array,M=typeOfTest(`undefined`);function isBuffer(e){return e!==null&&!M(e)&&e.constructor!==null&&!M(e.constructor)&&P(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var N=kindOfTest(`ArrayBuffer`);function isArrayBufferView(e){let t;return t=typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&N(e.buffer),t}var ee=typeOfTest(`string`),P=typeOfTest(`function`),F=typeOfTest(`number`),isObject=e=>typeof e==`object`&&!!e,isBoolean=e=>e===!0||e===!1,isPlainObject=e=>{if(A(e)!==`object`)return!1;let t=D(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(k in e)&&!(O in e)},isEmptyObject=e=>{if(!isObject(e)||isBuffer(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},te=kindOfTest(`Date`),ne=kindOfTest(`File`),re=kindOfTest(`Blob`),ie=kindOfTest(`FileList`),isStream=e=>isObject(e)&&P(e.pipe),isFormData=e=>{let t;return e&&(typeof FormData==`function`&&e instanceof FormData||P(e.append)&&((t=A(e))===`formdata`||t===`object`&&P(e.toString)&&e.toString()===`[object FormData]`))},ae=kindOfTest(`URLSearchParams`),[oe,se,ce,le]=[`ReadableStream`,`Request`,`Response`,`Headers`].map(kindOfTest),trim=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``);function forEach(e,t,{allOwnKeys:n=!1}={}){if(e==null)return;let r,i;if(typeof e!=`object`&&(e=[e]),j(e))for(r=0,i=e.length;r<i;r++)t.call(null,e[r],r,e);else{if(isBuffer(e))return;let i=n?Object.getOwnPropertyNames(e):Object.keys(e),a=i.length,o;for(r=0;r<a;r++)o=i[r],t.call(null,e[o],o,e)}}function findKey(e,t){if(isBuffer(e))return null;t=t.toLowerCase();let n=Object.keys(e),r=n.length,i;for(;r-- >0;)if(i=n[r],t===i.toLowerCase())return i;return null}var I=typeof globalThis<`u`?globalThis:typeof self<`u`?self:window,isContextDefined=e=>!M(e)&&e!==I;function merge(){let{caseless:e,skipUndefined:t}=isContextDefined(this)&&this||{},n={},assignValue=(r,i)=>{let a=e&&findKey(n,i)||i;isPlainObject(n[a])&&isPlainObject(r)?n[a]=merge(n[a],r):isPlainObject(r)?n[a]=merge({},r):j(r)?n[a]=r.slice():(!t||!M(r))&&(n[a]=r)};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&forEach(arguments[e],assignValue);return n}var extend=(e,t,n,{allOwnKeys:r}={})=>(forEach(t,(t,r)=>{n&&P(t)?e[r]=bind(t,n):e[r]=t},{allOwnKeys:r}),e),stripBOM=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),inherits=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,`super`,{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject=(e,t,n,r)=>{let i,a,o,s={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),a=i.length;a-- >0;)o=i[a],(!r||r(o,e,t))&&!s[o]&&(t[o]=e[o],s[o]=!0);e=n!==!1&&D(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},endsWith=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let r=e.indexOf(t,n);return r!==-1&&r===n},toArray=e=>{if(!e)return null;if(j(e))return e;let t=e.length;if(!F(t))return null;let n=Array(t);for(;t-- >0;)n[t]=e[t];return n},ue=(e=>t=>e&&t instanceof e)(typeof Uint8Array<`u`&&D(Uint8Array)),forEachEntry=(e,t)=>{let n=(e&&e[O]).call(e),r;for(;(r=n.next())&&!r.done;){let n=r.value;t.call(e,n[0],n[1])}},matchAll=(e,t)=>{let n,r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},de=kindOfTest(`HTMLFormElement`),toCamelCase=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function replacer(e,t,n){return t.toUpperCase()+n}),fe=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),pe=kindOfTest(`RegExp`),reduceDescriptors=(e,t)=>{let n=Object.getOwnPropertyDescriptors(e),r={};forEach(n,(n,i)=>{let a;(a=t(n,i,e))!==!1&&(r[i]=a||n)}),Object.defineProperties(e,r)},freezeMethods=e=>{reduceDescriptors(e,(t,n)=>{if(P(e)&&[`arguments`,`caller`,`callee`].indexOf(n)!==-1)return!1;let r=e[n];if(P(r)){if(t.enumerable=!1,`writable`in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error(`Can not rewrite read-only method '`+n+`'`)})}})},toObjectSet=(e,t)=>{let n={},define=e=>{e.forEach(e=>{n[e]=!0})};return j(e)?define(e):define(String(e).split(t)),n},noop=()=>{},toFiniteNumber=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function isSpecCompliantForm(e){return!!(e&&P(e.append)&&e[k]===`FormData`&&e[O])}var toJSONObject=e=>{let t=Array(10),visit=(e,n)=>{if(isObject(e)){if(t.indexOf(e)>=0)return;if(isBuffer(e))return e;if(!(`toJSON`in e)){t[n]=e;let r=j(e)?[]:{};return forEach(e,(e,t)=>{let i=visit(e,n+1);!M(i)&&(r[t]=i)}),t[n]=void 0,r}}return e};return visit(e,0)},me=kindOfTest(`AsyncFunction`),isThenable=e=>e&&(isObject(e)||P(e))&&P(e.then)&&P(e.catch),he=((e,t)=>e?setImmediate:t?((e,t)=>(I.addEventListener(`message`,({source:n,data:r})=>{n===I&&r===e&&t.length&&t.shift()()},!1),n=>{t.push(n),I.postMessage(e,`*`)}))(`axios@${Math.random()}`,[]):e=>setTimeout(e))(typeof setImmediate==`function`,P(I.postMessage)),ge=typeof queueMicrotask<`u`?queueMicrotask.bind(I):typeof process<`u`&&process.nextTick||he,isIterable=e=>e!=null&&P(e[O]),L={isArray:j,isArrayBuffer:N,isBuffer,isFormData,isArrayBufferView,isString:ee,isNumber:F,isBoolean,isObject,isPlainObject,isEmptyObject,isReadableStream:oe,isRequest:se,isResponse:ce,isHeaders:le,isUndefined:M,isDate:te,isFile:ne,isBlob:re,isRegExp:pe,isFunction:P,isStream,isURLSearchParams:ae,isTypedArray:ue,isFileList:ie,forEach,merge,extend,trim,stripBOM,inherits,toFlatObject,kindOf:A,kindOfTest,endsWith,toArray,forEachEntry,matchAll,isHTMLForm:de,hasOwnProperty:fe,hasOwnProp:fe,reduceDescriptors,freezeMethods,toObjectSet,toCamelCase,noop,toFiniteNumber,findKey,global:I,isContextDefined,isSpecCompliantForm,toJSONObject,isAsyncFn:me,isThenable,setImmediate:he,asap:ge,isIterable};function AxiosError(e,t,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack,this.message=e,this.name=`AxiosError`,t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null)}L.inherits(AxiosError,Error,{toJSON:function toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:L.toJSONObject(this.config),code:this.code,status:this.status}}});var _e=AxiosError.prototype,R={};[`ERR_BAD_OPTION_VALUE`,`ERR_BAD_OPTION`,`ECONNABORTED`,`ETIMEDOUT`,`ERR_NETWORK`,`ERR_FR_TOO_MANY_REDIRECTS`,`ERR_DEPRECATED`,`ERR_BAD_RESPONSE`,`ERR_BAD_REQUEST`,`ERR_CANCELED`,`ERR_NOT_SUPPORT`,`ERR_INVALID_URL`].forEach(e=>{R[e]={value:e}}),Object.defineProperties(AxiosError,R),Object.defineProperty(_e,`isAxiosError`,{value:!0}),AxiosError.from=(e,t,n,r,i,a)=>{let o=Object.create(_e);L.toFlatObject(e,o,function filter(e){return e!==Error.prototype},e=>e!==`isAxiosError`);let s=e&&e.message?e.message:`Error`,c=t==null&&e?e.code:t;return AxiosError.call(o,s,c,n,r,i),e&&o.cause==null&&Object.defineProperty(o,`cause`,{value:e,configurable:!0}),o.name=e&&e.name||`Error`,a&&Object.assign(o,a),o};function isVisitable(e){return L.isPlainObject(e)||L.isArray(e)}function removeBrackets(e){return L.endsWith(e,`[]`)?e.slice(0,-2):e}function renderKey(e,t,n){return e?e.concat(t).map(function each(e,t){return e=removeBrackets(e),!n&&t?`[`+e+`]`:e}).join(n?`.`:``):t}function isFlatArray(e){return L.isArray(e)&&!e.some(isVisitable)}var ve=L.toFlatObject(L,{},null,function filter(e){return/^is[A-Z]/.test(e)});function toFormData(e,t,n){if(!L.isObject(e))throw TypeError(`target must be an object`);t=t||new FormData,n=L.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function defined(e,t){return!L.isUndefined(t[e])});let r=n.metaTokens,i=n.visitor||defaultVisitor,a=n.dots,o=n.indexes,s=(n.Blob||typeof Blob<`u`&&Blob)&&L.isSpecCompliantForm(t);if(!L.isFunction(i))throw TypeError(`visitor must be a function`);function convertValue(e){if(e===null)return``;if(L.isDate(e))return e.toISOString();if(L.isBoolean(e))return e.toString();if(!s&&L.isBlob(e))throw new AxiosError(`Blob is not supported. Use a Buffer instead.`);return L.isArrayBuffer(e)||L.isTypedArray(e)?s&&typeof Blob==`function`?new Blob([e]):Buffer.from(e):e}function defaultVisitor(e,n,i){let s=e;if(e&&!i&&typeof e==`object`){if(L.endsWith(n,`{}`))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(L.isArray(e)&&isFlatArray(e)||(L.isFileList(e)||L.endsWith(n,`[]`))&&(s=L.toArray(e)))return n=removeBrackets(n),s.forEach(function each(e,r){!(L.isUndefined(e)||e===null)&&t.append(o===!0?renderKey([n],r,a):o===null?n:n+`[]`,convertValue(e))}),!1}return isVisitable(e)?!0:(t.append(renderKey(i,n,a),convertValue(e)),!1)}let c=[],l=Object.assign(ve,{defaultVisitor,convertValue,isVisitable});function build(e,n){if(!L.isUndefined(e)){if(c.indexOf(e)!==-1)throw Error(`Circular reference detected in `+n.join(`.`));c.push(e),L.forEach(e,function each(e,r){(!(L.isUndefined(e)||e===null)&&i.call(t,e,L.isString(r)?r.trim():r,n,l))===!0&&build(e,n?n.concat(r):[r])}),c.pop()}}if(!L.isObject(e))throw TypeError(`data must be an object`);return build(e),t}function encode$1(e){let t={"!":`%21`,"'":`%27`,"(":`%28`,")":`%29`,"~":`%7E`,"%20":`+`,"%00":`\0`};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function replacer(e){return t[e]})}e(encode$1,`encode`);function AxiosURLSearchParams(e,t){this._pairs=[],e&&toFormData(e,this,t)}var ye=AxiosURLSearchParams.prototype;ye.append=function append(e,t){this._pairs.push([e,t])},ye.toString=function toString(e){let t=e?function(t){return e.call(this,t,encode$1)}:encode$1;return this._pairs.map(function each(e){return t(e[0])+`=`+t(e[1])},``).join(`&`)};function encode(e){return encodeURIComponent(e).replace(/%3A/gi,`:`).replace(/%24/g,`$`).replace(/%2C/gi,`,`).replace(/%20/g,`+`)}function buildURL(e,t,n){if(!t)return e;let r=n&&n.encode||encode;L.isFunction(n)&&(n={serialize:n});let i=n&&n.serialize,a;if(a=i?i(t,n):L.isURLSearchParams(t)?t.toString():new AxiosURLSearchParams(t,n).toString(r),a){let t=e.indexOf(`#`);t!==-1&&(e=e.slice(0,t)),e+=(e.indexOf(`?`)===-1?`?`:`&`)+a}return e}var InterceptorManager=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){L.forEach(this.handlers,function forEachHandler(t){t!==null&&e(t)})}},be={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},xe={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<`u`?URLSearchParams:AxiosURLSearchParams,FormData:typeof FormData<`u`?FormData:null,Blob:typeof Blob<`u`?Blob:null},protocols:[`http`,`https`,`file`,`blob`,`url`,`data`]},Se=t({hasBrowserEnv:()=>z,hasStandardBrowserEnv:()=>Ce,hasStandardBrowserWebWorkerEnv:()=>we,navigator:()=>B,origin:()=>Te}),z=typeof window<`u`&&typeof document<`u`,B=typeof navigator==`object`&&navigator||void 0,Ce=z&&(!B||[`ReactNative`,`NativeScript`,`NS`].indexOf(B.product)<0),we=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope&&typeof self.importScripts==`function`,Te=z&&window.location.href||`http://localhost`,V={...Se,...xe};function toURLEncodedForm(e,t){return toFormData(e,new V.classes.URLSearchParams,{visitor:function(e,t,n,r){return V.isNode&&L.isBuffer(e)?(this.append(t,e.toString(`base64`)),!1):r.defaultVisitor.apply(this,arguments)},...t})}function parsePropPath(e){return L.matchAll(/\w+|\[(\w*)]/g,e).map(e=>e[0]===`[]`?``:e[1]||e[0])}function arrayToObject(e){let t={},n=Object.keys(e),r,i=n.length,a;for(r=0;r<i;r++)a=n[r],t[a]=e[a];return t}function formDataToJSON(e){function buildPath(e,t,n,r){let i=e[r++];if(i===`__proto__`)return!0;let a=Number.isFinite(+i),o=r>=e.length;return i=!i&&L.isArray(n)?n.length:i,o?(L.hasOwnProp(n,i)?n[i]=[n[i],t]:n[i]=t,!a):((!n[i]||!L.isObject(n[i]))&&(n[i]=[]),buildPath(e,t,n[i],r)&&L.isArray(n[i])&&(n[i]=arrayToObject(n[i])),!a)}if(L.isFormData(e)&&L.isFunction(e.entries)){let t={};return L.forEachEntry(e,(e,n)=>{buildPath(parsePropPath(e),n,t,0)}),t}return null}function stringifySafely(e,t,n){if(L.isString(e))try{return(t||JSON.parse)(e),L.trim(e)}catch(e){if(e.name!==`SyntaxError`)throw e}return(n||JSON.stringify)(e)}var H={transitional:be,adapter:[`xhr`,`http`,`fetch`],transformRequest:[function transformRequest(e,t){let n=t.getContentType()||``,r=n.indexOf(`application/json`)>-1,i=L.isObject(e);if(i&&L.isHTMLForm(e)&&(e=new FormData(e)),L.isFormData(e))return r?JSON.stringify(formDataToJSON(e)):e;if(L.isArrayBuffer(e)||L.isBuffer(e)||L.isStream(e)||L.isFile(e)||L.isBlob(e)||L.isReadableStream(e))return e;if(L.isArrayBufferView(e))return e.buffer;if(L.isURLSearchParams(e))return t.setContentType(`application/x-www-form-urlencoded;charset=utf-8`,!1),e.toString();let a;if(i){if(n.indexOf(`application/x-www-form-urlencoded`)>-1)return toURLEncodedForm(e,this.formSerializer).toString();if((a=L.isFileList(e))||n.indexOf(`multipart/form-data`)>-1){let t=this.env&&this.env.FormData;return toFormData(a?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||r?(t.setContentType(`application/json`,!1),stringifySafely(e)):e}],transformResponse:[function transformResponse(e){let t=this.transitional||H.transitional,n=t&&t.forcedJSONParsing,r=this.responseType===`json`;if(L.isResponse(e)||L.isReadableStream(e))return e;if(e&&L.isString(e)&&(n&&!this.responseType||r)){let n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,this.parseReviver)}catch(e){if(n)throw e.name===`SyntaxError`?AxiosError.from(e,AxiosError.ERR_BAD_RESPONSE,this,null,this.response):e}}return e}],timeout:0,xsrfCookieName:`XSRF-TOKEN`,xsrfHeaderName:`X-XSRF-TOKEN`,maxContentLength:-1,maxBodyLength:-1,env:{FormData:V.classes.FormData,Blob:V.classes.Blob},validateStatus:function validateStatus(e){return e>=200&&e<300},headers:{common:{Accept:`application/json, text/plain, */*`,"Content-Type":void 0}}};L.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`],e=>{H.headers[e]={}});var Ee=L.toObjectSet([`age`,`authorization`,`content-length`,`content-type`,`etag`,`expires`,`from`,`host`,`if-modified-since`,`if-unmodified-since`,`last-modified`,`location`,`max-forwards`,`proxy-authorization`,`referer`,`retry-after`,`user-agent`]),De=e(e=>{let t={},n,r,i;return e&&e.split(`
|
|
2
|
-
`).forEach(function parser(e){i=e.indexOf(`:`),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!(!n||t[n]&&Ee[n])&&(n===`set-cookie`?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+`, `+r:r)}),t},`default`),Oe=Symbol(`internals`);function normalizeHeader(e){return e&&String(e).trim().toLowerCase()}function normalizeValue(e){return e===!1||e==null?e:L.isArray(e)?e.map(normalizeValue):String(e)}function parseTokens(e){let t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}var isValidHeaderName=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function matchHeaderValue(e,t,n,r,i){if(L.isFunction(r))return r.call(this,t,n);if(i&&(t=n),L.isString(t)){if(L.isString(r))return t.indexOf(r)!==-1;if(L.isRegExp(r))return r.test(t)}}function formatHeader(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function buildAccessors(e,t){let n=L.toCamelCase(` `+t);[`get`,`set`,`has`].forEach(r=>{Object.defineProperty(e,r+n,{value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})})}var AxiosHeaders=class{constructor(e){e&&this.set(e)}set(e,t,n){let r=this;function setHeader(e,t,n){let i=normalizeHeader(t);if(!i)throw Error(`header name must be a non-empty string`);let a=L.findKey(r,i);(!a||r[a]===void 0||n===!0||n===void 0&&r[a]!==!1)&&(r[a||t]=normalizeValue(e))}let setHeaders=(e,t)=>L.forEach(e,(e,n)=>setHeader(e,n,t));if(L.isPlainObject(e)||e instanceof this.constructor)setHeaders(e,t);else if(L.isString(e)&&(e=e.trim())&&!isValidHeaderName(e))setHeaders(De(e),t);else if(L.isObject(e)&&L.isIterable(e)){let n={},r,i;for(let t of e){if(!L.isArray(t))throw TypeError(`Object iterator must return a key-value pair`);n[i=t[0]]=(r=n[i])?L.isArray(r)?[...r,t[1]]:[r,t[1]]:t[1]}setHeaders(n,t)}else e!=null&&setHeader(t,e,n);return this}get(e,t){if(e=normalizeHeader(e),e){let n=L.findKey(this,e);if(n){let e=this[n];if(!t)return e;if(t===!0)return parseTokens(e);if(L.isFunction(t))return t.call(this,e,n);if(L.isRegExp(t))return t.exec(e);throw TypeError(`parser must be boolean|regexp|function`)}}}has(e,t){if(e=normalizeHeader(e),e){let n=L.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||matchHeaderValue(this,this[n],n,t)))}return!1}delete(e,t){let n=this,r=!1;function deleteHeader(e){if(e=normalizeHeader(e),e){let i=L.findKey(n,e);i&&(!t||matchHeaderValue(n,n[i],i,t))&&(delete n[i],r=!0)}}return L.isArray(e)?e.forEach(deleteHeader):deleteHeader(e),r}clear(e){let t=Object.keys(this),n=t.length,r=!1;for(;n--;){let i=t[n];(!e||matchHeaderValue(this,this[i],i,e,!0))&&(delete this[i],r=!0)}return r}normalize(e){let t=this,n={};return L.forEach(this,(r,i)=>{let a=L.findKey(n,i);if(a){t[a]=normalizeValue(r),delete t[i];return}let o=e?formatHeader(i):String(i).trim();o!==i&&delete t[i],t[o]=normalizeValue(r),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return L.forEach(this,(n,r)=>{n!=null&&n!==!1&&(t[r]=e&&L.isArray(n)?n.join(`, `):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+`: `+t).join(`
|
|
3
|
-
`)}getSetCookie(){return this.get(`set-cookie`)||[]}get[Symbol.toStringTag](){return`AxiosHeaders`}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){let t=(this[Oe]=this[Oe]={accessors:{}}).accessors,n=this.prototype;function defineAccessor(e){let r=normalizeHeader(e);t[r]||(buildAccessors(n,e),t[r]=!0)}return L.isArray(e)?e.forEach(defineAccessor):defineAccessor(e),this}};AxiosHeaders.accessor([`Content-Type`,`Content-Length`,`Accept`,`Accept-Encoding`,`User-Agent`,`Authorization`]),L.reduceDescriptors(AxiosHeaders.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),L.freezeMethods(AxiosHeaders);function transformData(e,t){let n=this||H,r=t||n,i=AxiosHeaders.from(r.headers),a=r.data;return L.forEach(e,function transform(e){a=e.call(n,a,i.normalize(),t?t.status:void 0)}),i.normalize(),a}function isCancel(e){return!!(e&&e.__CANCEL__)}function CanceledError(e,t,n){AxiosError.call(this,e??`canceled`,AxiosError.ERR_CANCELED,t,n),this.name=`CanceledError`}L.inherits(CanceledError,AxiosError,{__CANCEL__:!0});function settle(e,t,n){let r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new AxiosError(`Request failed with status code `+n.status,[AxiosError.ERR_BAD_REQUEST,AxiosError.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function parseProtocol(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||``}function speedometer(e,t){e=e||10;let n=Array(e),r=Array(e),i=0,a=0,o;return t=t===void 0?1e3:t,function push(s){let c=Date.now(),l=r[a];o||(o=c),n[i]=s,r[i]=c;let u=a,d=0;for(;u!==i;)d+=n[u++],u%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-o<t)return;let f=l&&c-l;return f?Math.round(d*1e3/f):void 0}}function throttle(e,t){let n=0,r=1e3/t,i,a,invoke=(t,r=Date.now())=>{n=r,i=null,a&&(clearTimeout(a),a=null),e(...t)},throttled=(...e)=>{let t=Date.now(),o=t-n;o>=r?invoke(e,t):(i=e,a||(a=setTimeout(()=>{a=null,invoke(i)},r-o)))},flush=()=>i&&invoke(i);return[throttled,flush]}var progressEventReducer=(e,t,n=3)=>{let r=0,i=speedometer(50,250);return throttle(n=>{let a=n.loaded,o=n.lengthComputable?n.total:void 0,s=a-r,c=i(s),l=a<=o;r=a,e({loaded:a,total:o,progress:o?a/o:void 0,bytes:s,rate:c||void 0,estimated:c&&o&&l?(o-a)/c:void 0,event:n,lengthComputable:o!=null,[t?`download`:`upload`]:!0})},n)},progressEventDecorator=(e,t)=>{let n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},asyncDecorator=e=>(...t)=>L.asap(()=>e(...t)),ke=V.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,V.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(V.origin),V.navigator&&/(msie|trident)/i.test(V.navigator.userAgent)):()=>!0,Ae=V.hasStandardBrowserEnv?{write(e,t,n,r,i,a,o){if(typeof document>`u`)return;let s=[`${e}=${encodeURIComponent(t)}`];L.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),L.isString(r)&&s.push(`path=${r}`),L.isString(i)&&s.push(`domain=${i}`),a===!0&&s.push(`secure`),L.isString(o)&&s.push(`SameSite=${o}`),document.cookie=s.join(`; `)},read(e){if(typeof document>`u`)return null;let t=document.cookie.match(RegExp(`(?:^|; )`+e+`=([^;]*)`));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,``,Date.now()-864e5,`/`)}}:{write(){},read(){return null},remove(){}};function isAbsoluteURL(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function combineURLs(e,t){return t?e.replace(/\/?\/$/,``)+`/`+t.replace(/^\/+/,``):e}function buildFullPath(e,t,n){let r=!isAbsoluteURL(t);return e&&(r||n==0)?combineURLs(e,t):t}var headersToObject=e=>e instanceof AxiosHeaders?{...e}:e;function mergeConfig(e,t){t=t||{};let n={};function getMergedValue(e,t,n,r){return L.isPlainObject(e)&&L.isPlainObject(t)?L.merge.call({caseless:r},e,t):L.isPlainObject(t)?L.merge({},t):L.isArray(t)?t.slice():t}function mergeDeepProperties(e,t,n,r){if(!L.isUndefined(t))return getMergedValue(e,t,n,r);if(!L.isUndefined(e))return getMergedValue(void 0,e,n,r)}function valueFromConfig2(e,t){if(!L.isUndefined(t))return getMergedValue(void 0,t)}function defaultToConfig2(e,t){if(!L.isUndefined(t))return getMergedValue(void 0,t);if(!L.isUndefined(e))return getMergedValue(void 0,e)}function mergeDirectKeys(n,r,i){if(i in t)return getMergedValue(n,r);if(i in e)return getMergedValue(void 0,n)}let r={url:valueFromConfig2,method:valueFromConfig2,data:valueFromConfig2,baseURL:defaultToConfig2,transformRequest:defaultToConfig2,transformResponse:defaultToConfig2,paramsSerializer:defaultToConfig2,timeout:defaultToConfig2,timeoutMessage:defaultToConfig2,withCredentials:defaultToConfig2,withXSRFToken:defaultToConfig2,adapter:defaultToConfig2,responseType:defaultToConfig2,xsrfCookieName:defaultToConfig2,xsrfHeaderName:defaultToConfig2,onUploadProgress:defaultToConfig2,onDownloadProgress:defaultToConfig2,decompress:defaultToConfig2,maxContentLength:defaultToConfig2,maxBodyLength:defaultToConfig2,beforeRedirect:defaultToConfig2,transport:defaultToConfig2,httpAgent:defaultToConfig2,httpsAgent:defaultToConfig2,cancelToken:defaultToConfig2,socketPath:defaultToConfig2,responseEncoding:defaultToConfig2,validateStatus:mergeDirectKeys,headers:(e,t,n)=>mergeDeepProperties(headersToObject(e),headersToObject(t),n,!0)};return L.forEach(Object.keys({...e,...t}),function computeConfigValue(i){let a=r[i]||mergeDeepProperties,o=a(e[i],t[i],i);L.isUndefined(o)&&a!==mergeDirectKeys||(n[i]=o)}),n}var je=e(e=>{let t=mergeConfig({},e),{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:a,headers:o,auth:s}=t;if(t.headers=o=AxiosHeaders.from(o),t.url=buildURL(buildFullPath(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),s&&o.set(`Authorization`,`Basic `+btoa((s.username||``)+`:`+(s.password?unescape(encodeURIComponent(s.password)):``))),L.isFormData(n)){if(V.hasStandardBrowserEnv||V.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(L.isFunction(n.getHeaders)){let e=n.getHeaders(),t=[`content-type`,`content-length`];Object.entries(e).forEach(([e,n])=>{t.includes(e.toLowerCase())&&o.set(e,n)})}}if(V.hasStandardBrowserEnv&&(r&&L.isFunction(r)&&(r=r(t)),r||r!==!1&&ke(t.url))){let e=i&&a&&Ae.read(a);e&&o.set(i,e)}return t},`default`),Me=typeof XMLHttpRequest<`u`&&function(e){return new Promise(function dispatchXhrRequest(t,n){let r=je(e),i=r.data,a=AxiosHeaders.from(r.headers).normalize(),{responseType:o,onUploadProgress:s,onDownloadProgress:c}=r,onCanceled,l,u,d,f;function done(){d&&d(),f&&f(),r.cancelToken&&r.cancelToken.unsubscribe(onCanceled),r.signal&&r.signal.removeEventListener(`abort`,onCanceled)}let p=new XMLHttpRequest;p.open(r.method.toUpperCase(),r.url,!0),p.timeout=r.timeout;function onloadend(){if(!p)return;let r=AxiosHeaders.from(`getAllResponseHeaders`in p&&p.getAllResponseHeaders());settle(function _resolve(e){t(e),done()},function _reject(e){n(e),done()},{data:!o||o===`text`||o===`json`?p.responseText:p.response,status:p.status,statusText:p.statusText,headers:r,config:e,request:p}),p=null}`onloadend`in p?p.onloadend=onloadend:p.onreadystatechange=function handleLoad(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf(`file:`)===0)||setTimeout(onloadend)},p.onabort=function handleAbort(){p&&(n(new AxiosError(`Request aborted`,AxiosError.ECONNABORTED,e,p)),p=null)},p.onerror=function handleError(t){let r=new AxiosError(t&&t.message?t.message:`Network Error`,AxiosError.ERR_NETWORK,e,p);r.event=t||null,n(r),p=null},p.ontimeout=function handleTimeout(){let t=r.timeout?`timeout of `+r.timeout+`ms exceeded`:`timeout exceeded`,i=r.transitional||be;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new AxiosError(t,i.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,e,p)),p=null},i===void 0&&a.setContentType(null),`setRequestHeader`in p&&L.forEach(a.toJSON(),function setRequestHeader(e,t){p.setRequestHeader(t,e)}),L.isUndefined(r.withCredentials)||(p.withCredentials=!!r.withCredentials),o&&o!==`json`&&(p.responseType=r.responseType),c&&([u,f]=progressEventReducer(c,!0),p.addEventListener(`progress`,u)),s&&p.upload&&([l,d]=progressEventReducer(s),p.upload.addEventListener(`progress`,l),p.upload.addEventListener(`loadend`,d)),(r.cancelToken||r.signal)&&(onCanceled=t=>{p&&(n(!t||t.type?new CanceledError(null,e,p):t),p.abort(),p=null)},r.cancelToken&&r.cancelToken.subscribe(onCanceled),r.signal&&(r.signal.aborted?onCanceled():r.signal.addEventListener(`abort`,onCanceled)));let m=parseProtocol(r.url);if(m&&V.protocols.indexOf(m)===-1){n(new AxiosError(`Unsupported protocol `+m+`:`,AxiosError.ERR_BAD_REQUEST,e));return}p.send(i||null)})},composeSignals=(e,t)=>{let{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n=new AbortController,r,onabort=function(e){if(!r){r=!0,unsubscribe();let t=e instanceof Error?e:this.reason;n.abort(t instanceof AxiosError?t:new CanceledError(t instanceof Error?t.message:t))}},i=t&&setTimeout(()=>{i=null,onabort(new AxiosError(`timeout ${t} of ms exceeded`,AxiosError.ETIMEDOUT))},t),unsubscribe=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(onabort):e.removeEventListener(`abort`,onabort)}),e=null)};e.forEach(e=>e.addEventListener(`abort`,onabort));let{signal:a}=n;return a.unsubscribe=()=>L.asap(unsubscribe),a}},streamChunk=function*(e,t){let n=e.byteLength;if(!t||n<t){yield e;return}let r=0,i;for(;r<n;)i=r+t,yield e.slice(r,i),r=i},readBytes=async function*(e,t){for await(let n of readStream(e))yield*streamChunk(n,t)},readStream=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)break;yield n}}finally{await t.cancel()}},trackStream=(e,t,n,r)=>{let i=readBytes(e,t),a=0,o,_onFinish=e=>{o||(o=!0,r&&r(e))};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await i.next();if(t){_onFinish(),e.close();return}let o=r.byteLength;n&&n(a+=o),e.enqueue(new Uint8Array(r))}catch(e){throw _onFinish(e),e}},cancel(e){return _onFinish(e),i.return()}},{highWaterMark:2})},U=64*1024,{isFunction:W}=L,Ne=(({Request:e,Response:t})=>({Request:e,Response:t}))(L.global),{ReadableStream:G,TextEncoder:K}=L.global,test=(e,...t)=>{try{return!!e(...t)}catch{return!1}},factory=e=>{e=L.merge.call({skipUndefined:!0},Ne,e);let{fetch:t,Request:n,Response:r}=e,i=t?W(t):typeof fetch==`function`,a=W(n),o=W(r);if(!i)return!1;let s=i&&W(G),c=i&&(typeof K==`function`?(e=>t=>e.encode(t))(new K):async e=>new Uint8Array(await new n(e).arrayBuffer())),l=a&&s&&test(()=>{let e=!1,t=new n(V.origin,{body:new G,method:`POST`,get duplex(){return e=!0,`half`}}).headers.has(`Content-Type`);return e&&!t}),u=o&&s&&test(()=>L.isReadableStream(new r(``).body)),d={stream:u&&(e=>e.body)};i&&[`text`,`arrayBuffer`,`blob`,`formData`,`stream`].forEach(e=>{!d[e]&&(d[e]=(t,n)=>{let r=t&&t[e];if(r)return r.call(t);throw new AxiosError(`Response type '${e}' is not supported`,AxiosError.ERR_NOT_SUPPORT,n)})});let getBodyLength=async e=>{if(e==null)return 0;if(L.isBlob(e))return e.size;if(L.isSpecCompliantForm(e))return(await new n(V.origin,{method:`POST`,body:e}).arrayBuffer()).byteLength;if(L.isArrayBufferView(e)||L.isArrayBuffer(e))return e.byteLength;if(L.isURLSearchParams(e)&&(e+=``),L.isString(e))return(await c(e)).byteLength},resolveBodyLength=async(e,t)=>L.toFiniteNumber(e.getContentLength())??getBodyLength(t);return async e=>{let{url:i,method:o,data:s,signal:c,cancelToken:f,timeout:p,onDownloadProgress:m,onUploadProgress:h,responseType:g,headers:_,withCredentials:v=`same-origin`,fetchOptions:y}=je(e),b=t||fetch;g=g?(g+``).toLowerCase():`text`;let x=composeSignals([c,f&&f.toAbortSignal()],p),S=null,C=x&&x.unsubscribe&&(()=>{x.unsubscribe()}),w;try{if(h&&l&&o!==`get`&&o!==`head`&&(w=await resolveBodyLength(_,s))!==0){let e=new n(i,{method:`POST`,body:s,duplex:`half`}),t;if(L.isFormData(s)&&(t=e.headers.get(`content-type`))&&_.setContentType(t),e.body){let[t,n]=progressEventDecorator(w,progressEventReducer(asyncDecorator(h)));s=trackStream(e.body,U,t,n)}}L.isString(v)||(v=v?`include`:`omit`);let t=a&&`credentials`in n.prototype,c={...y,signal:x,method:o.toUpperCase(),headers:_.normalize().toJSON(),body:s,duplex:`half`,credentials:t?v:void 0};S=a&&new n(i,c);let f=await(a?b(S,y):b(i,c)),p=u&&(g===`stream`||g===`response`);if(u&&(m||p&&C)){let e={};[`status`,`statusText`,`headers`].forEach(t=>{e[t]=f[t]});let t=L.toFiniteNumber(f.headers.get(`content-length`)),[n,i]=m&&progressEventDecorator(t,progressEventReducer(asyncDecorator(m),!0))||[];f=new r(trackStream(f.body,U,n,()=>{i&&i(),C&&C()}),e)}g=g||`text`;let T=await d[L.findKey(d,g)||`text`](f,e);return!p&&C&&C(),await new Promise((t,n)=>{settle(t,n,{data:T,headers:AxiosHeaders.from(f.headers),status:f.status,statusText:f.statusText,config:e,request:S})})}catch(t){throw C&&C(),t&&t.name===`TypeError`&&/Load failed|fetch/i.test(t.message)?Object.assign(new AxiosError(`Network Error`,AxiosError.ERR_NETWORK,e,S),{cause:t.cause||t}):AxiosError.from(t,t&&t.code,e,S)}}},Pe=new Map,getFetch=e=>{let t=e&&e.env||{},{fetch:n,Request:r,Response:i}=t,a=[r,i,n],o=a.length,s,c,l=Pe;for(;o--;)s=a[o],c=l.get(s),c===void 0&&l.set(s,c=o?new Map:factory(t)),l=c;return c};getFetch();var q={http:null,xhr:Me,fetch:{get:getFetch}};L.forEach(q,(e,t)=>{if(e){try{Object.defineProperty(e,`name`,{value:t})}catch{}Object.defineProperty(e,`adapterName`,{value:t})}});var renderReason=e=>`- ${e}`,isResolvedHandle=e=>L.isFunction(e)||e===null||e===!1;function getAdapter(e,t){e=L.isArray(e)?e:[e];let{length:n}=e,r,i,a={};for(let o=0;o<n;o++){r=e[o];let n;if(i=r,!isResolvedHandle(r)&&(i=q[(n=String(r)).toLowerCase()],i===void 0))throw new AxiosError(`Unknown adapter '${n}'`);if(i&&(L.isFunction(i)||(i=i.get(t))))break;a[n||`#`+o]=i}if(!i){let e=Object.entries(a).map(([e,t])=>`adapter ${e} `+(t===!1?`is not supported by the environment`:`is not available in the build`));throw new AxiosError(`There is no suitable adapter to dispatch the request `+(n?e.length>1?`since :
|
|
4
|
-
`+e.map(renderReason).join(`
|
|
5
|
-
`):` `+renderReason(e[0]):`as no adapter specified`),`ERR_NOT_SUPPORT`)}return i}var J={getAdapter,adapters:q};function throwIfCancellationRequested(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new CanceledError(null,e)}function dispatchRequest(e){return throwIfCancellationRequested(e),e.headers=AxiosHeaders.from(e.headers),e.data=transformData.call(e,e.transformRequest),[`post`,`put`,`patch`].indexOf(e.method)!==-1&&e.headers.setContentType(`application/x-www-form-urlencoded`,!1),J.getAdapter(e.adapter||H.adapter,e)(e).then(function onAdapterResolution(t){return throwIfCancellationRequested(e),t.data=transformData.call(e,e.transformResponse,t),t.headers=AxiosHeaders.from(t.headers),t},function onAdapterRejection(t){return isCancel(t)||(throwIfCancellationRequested(e),t&&t.response&&(t.response.data=transformData.call(e,e.transformResponse,t.response),t.response.headers=AxiosHeaders.from(t.response.headers))),Promise.reject(t)})}var Fe=`1.13.2`,Y={};[`object`,`boolean`,`number`,`function`,`string`,`symbol`].forEach((e,t)=>{Y[e]=function validator(n){return typeof n===e||`a`+(t<1?`n `:` `)+e}});var Ie={};Y.transitional=function transitional(e,t,n){function formatMessage(e,t){return`[Axios v`+Fe+`] Transitional option '`+e+`'`+t+(n?`. `+n:``)}return(n,r,i)=>{if(e===!1)throw new AxiosError(formatMessage(r,` has been removed`+(t?` in `+t:``)),AxiosError.ERR_DEPRECATED);return t&&!Ie[r]&&(Ie[r]=!0,console.warn(formatMessage(r,` has been deprecated since v`+t+` and will be removed in the near future`))),e?e(n,r,i):!0}},Y.spelling=function spelling(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function assertOptions(e,t,n){if(typeof e!=`object`)throw new AxiosError(`options must be an object`,AxiosError.ERR_BAD_OPTION_VALUE);let r=Object.keys(e),i=r.length;for(;i-- >0;){let a=r[i],o=t[a];if(o){let t=e[a],n=t===void 0||o(t,a,e);if(n!==!0)throw new AxiosError(`option `+a+` must be `+n,AxiosError.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new AxiosError(`Unknown option `+a,AxiosError.ERR_BAD_OPTION)}}var X={assertOptions,validators:Y},Z=X.validators,Axios=class{constructor(e){this.defaults=e||{},this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=Error();let n=t.stack?t.stack.replace(/^.+\n/,``):``;try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,``))&&(e.stack+=`
|
|
6
|
-
`+n):e.stack=n}catch{}}throw e}}_request(e,t){typeof e==`string`?(t=t||{},t.url=e):t=e||{},t=mergeConfig(this.defaults,t);let{transitional:n,paramsSerializer:r,headers:i}=t;n!==void 0&&X.assertOptions(n,{silentJSONParsing:Z.transitional(Z.boolean),forcedJSONParsing:Z.transitional(Z.boolean),clarifyTimeoutError:Z.transitional(Z.boolean)},!1),r!=null&&(L.isFunction(r)?t.paramsSerializer={serialize:r}:X.assertOptions(r,{encode:Z.function,serialize:Z.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls===void 0?t.allowAbsoluteUrls=!0:t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls),X.assertOptions(t,{baseUrl:Z.spelling(`baseURL`),withXsrfToken:Z.spelling(`withXSRFToken`)},!0),t.method=(t.method||this.defaults.method||`get`).toLowerCase();let a=i&&L.merge(i.common,i[t.method]);i&&L.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`,`common`],e=>{delete i[e]}),t.headers=AxiosHeaders.concat(a,i);let o=[],s=!0;this.interceptors.request.forEach(function unshiftRequestInterceptors(e){typeof e.runWhen==`function`&&e.runWhen(t)===!1||(s=s&&e.synchronous,o.unshift(e.fulfilled,e.rejected))});let c=[];this.interceptors.response.forEach(function pushResponseInterceptors(e){c.push(e.fulfilled,e.rejected)});let l,u=0,d;if(!s){let e=[dispatchRequest.bind(this),void 0];for(e.unshift(...o),e.push(...c),d=e.length,l=Promise.resolve(t);u<d;)l=l.then(e[u++],e[u++]);return l}d=o.length;let f=t;for(;u<d;){let e=o[u++],t=o[u++];try{f=e(f)}catch(e){t.call(this,e);break}}try{l=dispatchRequest.call(this,f)}catch(e){return Promise.reject(e)}for(u=0,d=c.length;u<d;)l=l.then(c[u++],c[u++]);return l}getUri(e){return e=mergeConfig(this.defaults,e),buildURL(buildFullPath(e.baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}};L.forEach([`delete`,`get`,`head`,`options`],function forEachMethodNoData(e){Axios.prototype[e]=function(t,n){return this.request(mergeConfig(n||{},{method:e,url:t,data:(n||{}).data}))}}),L.forEach([`post`,`put`,`patch`],function forEachMethodWithData(e){function generateHTTPMethod(t){return function httpMethod(n,r,i){return this.request(mergeConfig(i||{},{method:e,headers:t?{"Content-Type":`multipart/form-data`}:{},url:n,data:r}))}}Axios.prototype[e]=generateHTTPMethod(),Axios.prototype[e+`Form`]=generateHTTPMethod(!0)});var Le=class CancelToken{constructor(e){if(typeof e!=`function`)throw TypeError(`executor must be a function.`);let t;this.promise=new Promise(function promiseExecutor(e){t=e});let n=this;this.promise.then(e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t,r=new Promise(e=>{n.subscribe(e),t=e}).then(e);return r.cancel=function reject(){n.unsubscribe(t)},r},e(function cancel(e,r,i){n.reason||(n.reason=new CanceledError(e,r,i),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){let e=new AbortController,abort=t=>{e.abort(t)};return this.subscribe(abort),e.signal.unsubscribe=()=>this.unsubscribe(abort),e.signal}static source(){let e;return{token:new CancelToken(function executor(t){e=t}),cancel:e}}};function spread(e){return function wrap(t){return e.apply(null,t)}}function isAxiosError(e){return L.isObject(e)&&e.isAxiosError===!0}var Q={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Q).forEach(([e,t])=>{Q[t]=e});function createInstance(e){let t=new Axios(e),n=bind(Axios.prototype.request,t);return L.extend(n,Axios.prototype,t,{allOwnKeys:!0}),L.extend(n,t,null,{allOwnKeys:!0}),n.create=function create(t){return createInstance(mergeConfig(e,t))},n}var $=createInstance(H);$.Axios=Axios,$.CanceledError=CanceledError,$.CancelToken=Le,$.isCancel=isCancel,$.VERSION=Fe,$.toFormData=toFormData,$.AxiosError=AxiosError,$.Cancel=$.CanceledError,$.all=function all(e){return Promise.all(e)},$.spread=spread,$.isAxiosError=isAxiosError,$.mergeConfig=mergeConfig,$.AxiosHeaders=AxiosHeaders,$.formToJSON=e=>formDataToJSON(L.isHTMLForm(e)?new FormData(e):e),$.getAdapter=J.getAdapter,$.HttpStatusCode=Q,$.default=$;var Re=u({name:`OrchestrationDashboard`,props:{courseId:{type:String,required:!0},isAdmin:{type:Boolean,default:!1}},data(){return{loading:!1,updating:!1,error:null,weights:[],lastUpdate:null,detailsDialog:!1,selectedStrategy:null,selectedStrategyState:null,scatterData:null}},async created(){this.isAdmin&&await this.loadWeights()},methods:{async loadWeights(){this.loading=!0,this.error=null;try{this.weights=(await $.get(`/orchestration/${this.courseId}/weights`)).data.weights}catch(e){this.error=`Failed to load weights: ${e instanceof Error?e.message:String(e)}`}finally{this.loading=!1}},async triggerUpdate(){this.updating=!0,this.error=null;try{let e=await $.post(`/orchestration/${this.courseId}/update`);this.lastUpdate=new Date().toISOString(),await this.loadWeights();let{strategiesUpdated:t,outcomesProcessed:n}=e.data;alert(`Update complete!\n${t} strategies updated\n${n} outcomes processed`)}catch(e){this.error=`Failed to trigger update: ${e&&typeof e==`object`&&`response`in e?e.response?.data?.error:e instanceof Error?e.message:String(e)}`}finally{this.updating=!1}},async showStrategyDetails(e){this.selectedStrategy=this.weights.find(t=>t.strategyId===e)||null,this.selectedStrategyState=null,this.scatterData=null,this.detailsDialog=!0;try{this.selectedStrategyState=(await $.get(`/orchestration/${this.courseId}/strategy/${e}/history`)).data,this.scatterData=(await $.get(`/orchestration/${this.courseId}/strategy/${e}/scatter`)).data}catch(e){this.error=`Failed to load strategy details: ${e instanceof Error?e.message:String(e)}`}},getWeightColor(e){return e<.5?`red`:e<.8?`orange`:e<1.2?`green`:e<1.5?`blue`:`purple`},getConfidenceColor(e){return e<.3?`red`:e<.6?`orange`:e<.8?`blue`:`green`},getGradientColor(e){return e?e>.01?`text-green`:e<-.01?`text-red`:`text-grey`:``}}}),ze={class:`mb-4`},Be={key:0,class:`ml-3 text-caption`},Ve={class:`text-caption`},He={key:1,class:`text-caption text-medium-emphasis`},Ue={key:1,class:`text-caption text-medium-emphasis`},We={key:0,class:`text-caption`},Ge={key:1,class:`text-caption text-medium-emphasis`},Ke={class:`text-h6`},qe={class:`text-h6`},Je={class:`text-h6`},Ye={class:`text-body-2`},Xe={class:`text-body-2`},Ze={class:`text-body-2`},Qe={class:`text-caption`},$e={key:0,class:`mb-2`},et={class:`text-caption`},tt={class:`text-caption`},nt={key:1,class:`text-caption text-center mt-2`};function _sfc_render$2(e,t,c,u,h,v){let y=o(`v-icon`),b=o(`v-chip`),x=o(`v-expansion-panel-title`),S=o(`v-btn`),C=o(`v-card-title`),w=o(`v-progress-linear`),T=o(`v-table`),E=o(`v-card-text`),D=o(`v-card`),O=o(`v-col`),k=o(`v-row`),A=o(`v-spacer`),j=o(`v-card-actions`),M=o(`v-dialog`),N=o(`v-alert`),ee=o(`v-expansion-panel-text`),P=o(`v-expansion-panel`),F=o(`v-expansion-panels`);return e.isAdmin?(i(),g(F,{key:0,class:`my-3`},{default:n(()=>[r(P,null,{default:n(()=>[r(x,null,{default:n(()=>[r(y,{start:``},{default:n(()=>t[2]||(t[2]=[l(`mdi-chart-line`)])),_:1}),t[4]||(t[4]=l(` Orchestration Dashboard `)),e.loading?(i(),g(b,{key:0,size:`small`,class:`ml-2`},{default:n(()=>t[3]||(t[3]=[l(`Loading...`)])),_:1})):_(``,!0)]),_:1}),r(ee,null,{default:n(()=>[r(D,{flat:``},{default:n(()=>[r(E,null,{default:n(()=>[f(`div`,ze,[r(S,{color:`primary`,loading:e.updating,disabled:e.updating,onClick:e.triggerUpdate},{default:n(()=>[r(y,{start:``},{default:n(()=>t[5]||(t[5]=[l(`mdi-refresh`)])),_:1}),t[6]||(t[6]=l(` Trigger Period Update `))]),_:1},8,[`loading`,`disabled`,`onClick`]),e.lastUpdate?(i(),p(`span`,Be,` Last update: `+a(new Date(e.lastUpdate).toLocaleString()),1)):_(``,!0)]),e.weights.length>0?(i(),g(D,{key:0,class:`mb-4`},{default:n(()=>[r(C,null,{default:n(()=>t[7]||(t[7]=[l(`Current Strategy Weights`)])),_:1}),r(E,null,{default:n(()=>[r(T,{density:`compact`},{default:n(()=>[t[10]||(t[10]=f(`thead`,null,[f(`tr`,null,[f(`th`,null,`Strategy`),f(`th`,null,`Implementation`),f(`th`,null,`Weight`),f(`th`,null,`Confidence`),f(`th`,null,`Samples`),f(`th`,null,`Static`),f(`th`,null,`Actions`)])],-1)),f(`tbody`,null,[(i(!0),p(m,null,d(e.weights,r=>(i(),p(`tr`,{key:r.strategyId},[f(`td`,null,a(r.strategyName),1),f(`td`,null,[f(`code`,Ve,a(r.implementingClass),1)]),f(`td`,null,[r.learnable?(i(),g(b,{key:0,size:`small`,color:e.getWeightColor(r.learnable.weight)},{default:n(()=>[l(a(r.learnable.weight.toFixed(2)),1)]),_:2},1032,[`color`])):(i(),p(`span`,He,`—`))]),f(`td`,null,[r.learnable?(i(),g(w,{key:0,"model-value":r.learnable.confidence*100,height:`8`,color:e.getConfidenceColor(r.learnable.confidence)},null,8,[`model-value`,`color`])):(i(),p(`span`,Ue,`—`))]),f(`td`,null,[r.learnable?(i(),p(`span`,We,a(r.learnable.sampleSize),1)):(i(),p(`span`,Ge,`—`))]),f(`td`,null,[r.staticWeight?(i(),g(y,{key:0,size:`small`,color:`warning`},{default:n(()=>t[8]||(t[8]=[l(` mdi-lock `)])),_:1})):_(``,!0)]),f(`td`,null,[r.learnable?(i(),g(S,{key:0,size:`x-small`,variant:`text`,onClick:t=>e.showStrategyDetails(r.strategyId)},{default:n(()=>t[9]||(t[9]=[l(` Details `)])),_:2},1032,[`onClick`])):_(``,!0)])]))),128))])]),_:1})]),_:1})]),_:1})):_(``,!0),r(M,{modelValue:e.detailsDialog,"onUpdate:modelValue":t[1]||(t[1]=t=>e.detailsDialog=t),"max-width":`1000`},{default:n(()=>[e.selectedStrategy?(i(),g(D,{key:0},{default:n(()=>[r(C,null,{default:n(()=>[l(a(e.selectedStrategy.strategyName)+` `,1),r(b,{size:`small`,class:`ml-2`},{default:n(()=>[l(a(e.selectedStrategy.strategyId),1)]),_:1})]),_:1}),r(E,null,{default:n(()=>[r(D,{class:`mb-4`,variant:`outlined`},{default:n(()=>[r(C,{class:`text-subtitle-1`},{default:n(()=>t[11]||(t[11]=[l(`Current State`)])),_:1}),r(E,null,{default:n(()=>[r(k,null,{default:n(()=>[r(O,{cols:`3`},{default:n(()=>[t[12]||(t[12]=f(`div`,{class:`text-caption text-medium-emphasis`},`Peak Weight`,-1)),f(`div`,Ke,a(e.selectedStrategyState?.currentWeight?.weight.toFixed(3)||`—`),1)]),_:1}),r(O,{cols:`3`},{default:n(()=>[t[13]||(t[13]=f(`div`,{class:`text-caption text-medium-emphasis`},`Confidence`,-1)),f(`div`,qe,a((e.selectedStrategyState?.currentWeight?.confidence*100).toFixed(1)||`—`)+`%`,1)]),_:1}),r(O,{cols:`3`},{default:n(()=>[t[14]||(t[14]=f(`div`,{class:`text-caption text-medium-emphasis`},`Samples`,-1)),f(`div`,Je,a(e.selectedStrategyState?.currentWeight?.sampleSize||0),1)]),_:1}),r(O,{cols:`3`},{default:n(()=>[t[15]||(t[15]=f(`div`,{class:`text-caption text-medium-emphasis`},`Gradient`,-1)),f(`div`,{class:s([`text-h6`,e.getGradientColor(e.selectedStrategyState?.regression?.gradient)])},a(e.selectedStrategyState?.regression?.gradient.toFixed(4)||`—`),3)]),_:1})]),_:1}),e.selectedStrategyState?.regression?(i(),g(k,{key:0},{default:n(()=>[r(O,{cols:`4`},{default:n(()=>[t[16]||(t[16]=f(`div`,{class:`text-caption text-medium-emphasis`},`R²`,-1)),f(`div`,Ye,a(e.selectedStrategyState.regression.rSquared.toFixed(3)),1)]),_:1}),r(O,{cols:`4`},{default:n(()=>[t[17]||(t[17]=f(`div`,{class:`text-caption text-medium-emphasis`},`Intercept`,-1)),f(`div`,Xe,a(e.selectedStrategyState.regression.intercept.toFixed(3)),1)]),_:1}),r(O,{cols:`4`},{default:n(()=>[t[18]||(t[18]=f(`div`,{class:`text-caption text-medium-emphasis`},`Last Computed`,-1)),f(`div`,Ze,a(new Date(e.selectedStrategyState.regression.computedAt).toLocaleString()),1)]),_:1})]),_:1})):_(``,!0)]),_:1})]),_:1}),e.selectedStrategyState?.history?.length?(i(),g(D,{key:0,class:`mb-4`,variant:`outlined`},{default:n(()=>[r(C,{class:`text-subtitle-1`},{default:n(()=>t[19]||(t[19]=[l(`Weight Trajectory (last 10)`)])),_:1}),r(E,null,{default:n(()=>[r(T,{density:`compact`},{default:n(()=>[t[20]||(t[20]=f(`thead`,null,[f(`tr`,null,[f(`th`,null,`Timestamp`),f(`th`,null,`Weight`),f(`th`,null,`Confidence`),f(`th`,null,`Gradient`)])],-1)),f(`tbody`,null,[(i(!0),p(m,null,d(e.selectedStrategyState.history.slice(-10).reverse(),(t,o)=>(i(),p(`tr`,{key:o},[f(`td`,Qe,a(new Date(t.timestamp).toLocaleString()),1),f(`td`,null,[r(b,{size:`x-small`,color:e.getWeightColor(t.weight)},{default:n(()=>[l(a(t.weight.toFixed(3)),1)]),_:2},1032,[`color`])]),f(`td`,null,[r(w,{"model-value":t.confidence*100,height:`6`,color:e.getConfidenceColor(t.confidence)},null,8,[`model-value`,`color`])]),f(`td`,{class:s(e.getGradientColor(t.gradient))},a(t.gradient.toFixed(4)),3)]))),128))])]),_:1})]),_:1})]),_:1})):_(``,!0),e.scatterData?.data?.length?(i(),g(D,{key:1,variant:`outlined`},{default:n(()=>[r(C,{class:`text-subtitle-1`},{default:n(()=>[l(` Recent Observations (`+a(e.scatterData.observations)+`) `,1),r(b,{size:`small`,class:`ml-2`},{default:n(()=>t[21]||(t[21]=[l(`Last 7 days`)])),_:1})]),_:1}),r(E,null,{default:n(()=>[e.scatterData.regression?(i(),p(`div`,$e,[t[22]||(t[22]=f(`strong`,null,`Regression:`,-1)),l(` outcome = `+a(e.scatterData.regression.gradient.toFixed(4))+` × deviation + `+a(e.scatterData.regression.intercept.toFixed(4))+` (R² = `+a(e.scatterData.regression.rSquared.toFixed(3))+`) `,1)])):_(``,!0),r(T,{density:`compact`},{default:n(()=>[t[23]||(t[23]=f(`thead`,null,[f(`tr`,null,[f(`th`,null,`User`),f(`th`,null,`Deviation`),f(`th`,null,`Outcome`),f(`th`,null,`Period End`)])],-1)),f(`tbody`,null,[(i(!0),p(m,null,d(e.scatterData.data.slice(0,20),(e,t)=>(i(),p(`tr`,{key:t},[f(`td`,et,a(e.userId.substring(0,8))+`...`,1),f(`td`,null,[r(b,{size:`x-small`,color:e.deviation>0?`blue`:`orange`},{default:n(()=>[l(a(e.deviation.toFixed(3)),1)]),_:2},1032,[`color`])]),f(`td`,null,[r(b,{size:`x-small`,color:e.outcome>.7?`green`:`red`},{default:n(()=>[l(a(e.outcome.toFixed(3)),1)]),_:2},1032,[`color`])]),f(`td`,tt,a(new Date(e.periodEnd).toLocaleString()),1)]))),128))])]),_:1}),e.scatterData.data.length>20?(i(),p(`div`,nt,` Showing 20 of `+a(e.scatterData.data.length)+` observations `,1)):_(``,!0)]),_:1})]),_:1})):_(``,!0)]),_:1}),r(j,null,{default:n(()=>[r(A),r(S,{onClick:t[0]||(t[0]=t=>e.detailsDialog=!1)},{default:n(()=>t[24]||(t[24]=[l(`Close`)])),_:1})]),_:1})]),_:1})):_(``,!0)]),_:1},8,[`modelValue`]),e.error?(i(),g(N,{key:1,type:`error`,class:`mt-4`},{default:n(()=>[l(a(e.error),1)]),_:1})):_(``,!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})):_(``,!0)}e(_sfc_render$2,`_sfc_render`);var rt=u({name:`CourseInformationWrapper`,components:{CourseInformation:y,MidiConfig:C,UserTagPreferences:b,OrchestrationDashboard:S(Re,[[`render`,_sfc_render$2],[`__scopeId`,`data-v-b32c2c08`]])},props:{courseId:{type:String,required:!0}},data(){return{courseConfig:{},user:null,editMode:`full`,userIsRegistered:!1}},computed:{isPianoCourse(){return this.courseConfig.name?.toLowerCase().includes(`piano`)??!1},isAdmin(){return this.user?.getUsername()===`admin`}},async created(){let e=v();if(this.courseConfig=await e.getCourseDB(this.courseId).getCourseConfig(),this.user=await x(),this.user){let e=await this.user.getCourseRegistrationsDoc();this.userIsRegistered=this.user.getUsername()===`admin`||e.courses.some(e=>e.courseID===this.courseId&&(e.status===`active`||e.status===void 0))}this.editMode=e.isReadOnly()?`readonly`:`full`},methods:{viewLookup(e){return w.getView(e)}}}),it={class:`text-h4 mb-2`},at={key:0},ot={key:1};function _sfc_render$1(e,t,s,c,u,d){let m=o(`router-link`),v=o(`v-btn`),y=o(`v-icon`),b=o(`v-chip`),x=o(`midi-config`),S=o(`orchestration-dashboard`),C=o(`v-expansion-panel-title`),w=o(`user-tag-preferences`),T=o(`v-expansion-panel-text`),E=o(`v-expansion-panel`),D=o(`v-expansion-panels`),O=o(`course-information`);return i(),p(`div`,null,[r(O,{"course-id":e.courseId,"view-lookup-function":e.viewLookup,"edit-mode":e.editMode,"user-is-registered":e.userIsRegistered},{header:n(({courseConfig:e})=>[f(`h1`,it,[r(m,{to:`/q`},{default:n(()=>t[0]||(t[0]=[l(`Quilts`)])),_:1}),l(` / `+a(e.name),1)])]),actions:n(({userIsRegistered:e,courseId:a,editMode:o,register:s,drop:c})=>[r(h,{name:`component-fade`,mode:`out-in`},{default:n(()=>[e?(i(),p(`div`,at,[r(m,{to:`/study/${a}`,class:`me-2`},{default:n(()=>[r(v,{color:`success`,"data-cy":`focused-study-session-btn`},{default:n(()=>t[1]||(t[1]=[l(`Start a study session *`)])),_:1})]),_:2},1032,[`to`]),o===`full`?(i(),g(m,{key:0,to:`/edit/${a}`,class:`me-2`},{default:n(()=>[r(v,{"data-cy":`add-content-btn`,color:`indigo-lighten-1`},{default:n(()=>[r(y,{start:``},{default:n(()=>t[2]||(t[2]=[l(`mdi-plus`)])),_:1}),t[3]||(t[3]=l(` Add content `))]),_:1})]),_:2},1032,[`to`])):_(``,!0),o===`full`?(i(),g(m,{key:1,to:`/courses/${a}/elo`,class:`me-2`},{default:n(()=>[r(v,{color:`green-darken-2`,title:`Rank course content for difficulty`},{default:n(()=>[r(y,{start:``},{default:n(()=>t[4]||(t[4]=[l(`mdi-format-list-numbered`)])),_:1}),t[5]||(t[5]=l(` Arrange `))]),_:1})]),_:2},1032,[`to`])):_(``,!0),o===`full`?(i(),g(v,{key:2,color:`error`,size:`small`,variant:`outlined`,onClick:c},{default:n(()=>t[6]||(t[6]=[l(` Drop this course `)])),_:2},1032,[`onClick`])):_(``,!0)])):(i(),p(`div`,ot,[r(v,{"data-cy":`register-btn`,color:`primary`,class:`me-2`,onClick:s},{default:n(()=>t[7]||(t[7]=[l(`Register`)])),_:2},1032,[`onClick`]),r(m,{to:`/q/${a}/preview`},{default:n(()=>[r(v,{variant:`outlined`,color:`primary`,class:`me-2`},{default:n(()=>t[8]||(t[8]=[l(`Start a trial study session`)])),_:1})]),_:2},1032,[`to`])]))]),_:2},1024)]),"tag-link":n(({tag:e,courseId:t})=>[r(m,{to:`/q/${t}/tags/${e.name}`},{default:n(()=>[r(b,{variant:`tonal`,class:`me-2 mb-2`},{default:n(()=>[l(a(e.name),1)]),_:2},1024)]),_:2},1032,[`to`])]),"additional-content":n(()=>[e.isPianoCourse?(i(),g(x,{key:0,_id:e.courseId,user:e.user,class:`my-3`},null,8,[`_id`,`user`])):_(``,!0),r(S,{"course-id":e.courseId,"is-admin":e.isAdmin},null,8,[`course-id`,`is-admin`]),e.userIsRegistered?(i(),g(D,{key:1,class:`my-3`},{default:n(()=>[r(E,null,{default:n(()=>[r(C,null,{default:n(()=>[r(y,{start:``},{default:n(()=>t[9]||(t[9]=[l(`mdi-tune`)])),_:1}),t[10]||(t[10]=l(` Learning Preferences `))]),_:1}),r(T,null,{default:n(()=>[r(w,{"course-id":e.courseId},null,8,[`course-id`])]),_:1})]),_:1})]),_:1})):_(``,!0)]),_:1},8,[`course-id`,`view-lookup-function`,`edit-mode`,`user-is-registered`])])}e(_sfc_render$1,`_sfc_render`);var st=u({name:`CourseRouter`,components:{CourseInformationWrapper:S(rt,[[`render`,_sfc_render$1],[`__scopeId`,`data-v-aa3214c2`]]),NewCourseDialog:T},props:{query:{type:String,required:!0}},data(){return{courseList:[],courseId:void 0,candidates:[],newCourseDialog:!1,initComplete:!1}},async created(){this.courseList=await v().getCoursesDB().getCourseList(),this.loadQuery()},methods:{update(e){e.courseID&&e.disambiguator&&v().getCoursesDB().disambiguateCourse(e.courseID,e.disambiguator)},loadQuery(e){let t;t=e?e.toLowerCase():this.query.toLowerCase(),this.candidates=this.courseList.filter(e=>{let n=e.name.replaceAll(` `,`_`).toLowerCase();return t===n||t===e.courseID||t===`${n}_(${e.disambiguator})`}),this.candidates.length===1?this.courseId=this.candidates[0].courseID:this.candidates.length===0&&(this.courseId=``),this.initComplete=!0}}}),ct={key:0},lt={class:`text-h3`},ut=[`onClick`];function _sfc_render(e,t,s,u,h,v){let y=o(`course-information-wrapper`),b=o(`v-row`),x=o(`v-divider`),S=o(`v-btn`),C=o(`new-course-dialog`),w=o(`v-dialog`),T=o(`v-container`),E=o(`v-text-field`);return i(),p(`div`,null,[e.initComplete?(i(),p(`div`,ct,[e.courseId!==void 0&&e.courseId!==``?(i(),g(y,{key:0,"course-id":e.courseId},null,8,[`course-id`])):e.candidates.length===0?(i(),g(T,{key:1},{default:n(()=>[r(b,{class:`text-h4`},{default:n(()=>[l(a(e.query),1)]),_:1}),r(x),r(b,{class:`ma-3 text-h5`},{default:n(()=>t[2]||(t[2]=[l(`Nothing here!`)])),_:1}),r(b,{class:`ma-3`},{default:n(()=>[r(w,{modelValue:e.newCourseDialog,"onUpdate:modelValue":t[1]||(t[1]=t=>e.newCourseDialog=t),fullscreen:``,transition:`dialog-bottom-transition`,overlay:!1},{activator:n(({props:e})=>[r(S,c({color:`primary`},e),{default:n(()=>t[3]||(t[3]=[l(`Start a new Quilt`)])),_:2},1040)]),default:n(()=>[r(C,{name:e.query,onCourseEditingComplete:t[0]||(t[0]=t=>e.newCourseDialog=!1)},null,8,[`name`])]),_:1},8,[`modelValue`])]),_:1})]),_:1})):(i(),g(T,{key:2},{default:n(()=>[f(`div`,null,[f(`span`,lt,a(e.query),1),t[5]||(t[5]=l()),t[6]||(t[6]=f(`span`,{class:`text-h5`},`could refer to:`,-1)),r(x),(i(!0),p(m,null,d(e.candidates,(o,s)=>(i(),p(`div`,{key:s,class:`ma-5`},[r(b,{class:`text-h5`},{default:n(()=>[f(`a`,{onClick:t=>e.loadQuery(o.courseID)},a(o.name),9,ut),t[4]||(t[4]=l(` - `)),r(E,{id:`${s}-disambiguator`,modelValue:o.disambiguator,"onUpdate:modelValue":e=>o.disambiguator=e,label:`Disambiguator`,onChange:t=>e.update(o)},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`onChange`]),l(` `+a(o.description),1)]),_:2},1024)]))),128))])]),_:1}))])):_(``,!0)])}var dt=S(st,[[`render`,_sfc_render]]);export{dt as default};
|
|
7
|
-
//# sourceMappingURL=CourseRouter-CMMxD9us.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/common-ui.es-j6sezLNk.js","assets/dist-V9Xbab2f.js","assets/chunk-D6hFPZc3.js","assets/common-ui.es-B9r6QiWN.js","assets/dist-BeppzTWu.js","assets/vue.runtime.esm-bundler--Fxmd6l9.js","assets/MarkdownRenderer-U_iPiA2x-DDruDu7E.js","assets/vue-router-HoUBO3s7.js","assets/common-ui-BY2Ut5jf.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e}from"./chunk-D6hFPZc3.js";import{$ as t,B as n,C as r,H as i,Ht as a,K as o,S as s,T as c,W as l,Z as u,_ as d,b as f,f as p,g as m,ut as h,v as g,w as _,y as v,z as y}from"./vue.runtime.esm-bundler--Fxmd6l9.js";import{E as b,b as x,n as S}from"./dist-V9Xbab2f.js";import{C,h as w,l as T,u as E,w as D,y as O}from"./MarkdownRenderer-U_iPiA2x-DDruDu7E.js";import{D as k,H as A,h as j}from"./common-ui.es-B9r6QiWN.js";var M=Object.create,N=Object.defineProperty,__name=(e,t)=>N(e,`name`,{value:t,configurable:!0}),P=Object.getOwnPropertyDescriptor,F=Object.getOwnPropertyNames,I=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty,__commonJSMin=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),__copyProps=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=F(t),a=0,o=i.length,s;a<o;a++)s=i[a],!L.call(e,s)&&s!==n&&N(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=P(t,s))||r.enumerable});return e},__toESM=(e,t,n)=>(n=e==null?{}:M(I(e)),__copyProps(t||!e||!e.__esModule?N(n,`default`,{value:e,enumerable:!0}):n,e)),R=(t=>typeof e<`u`?e:typeof Proxy<`u`?new Proxy(t,{get:(t,n)=>(typeof e<`u`?e:t)[n]}):t)(function(t){if(typeof e<`u`)return e.apply(this,arguments);throw Error('Calling `require` for "'+t+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")}),z=[{name:S.Blanks,fields:[{name:`Input`,type:b.MARKDOWN},{name:`Uploads`,type:b.MEDIA_UPLOADS}]}],B;function randomInt(e,t){return Math.floor(Math.random()*(t-e+1))+e}function shuffle(e){let t=[...e];for(let e=t.length-1;e>0;e--){let n=Math.floor(Math.random()*(e+1));[t[e],t[n]]=[t[n],t[e]]}return t}function cos(e){return Math.cos(toRadians(e))}function sin(e){return Math.sin(toRadians(e))}function toRadians(e){return e/360*2*Math.PI}function gradeSpellingAttempt(e,t){let n=Array(t.length).fill(`_`),r=e.split(``);console.log(e,t),console.log(`Attempt char codes:`,e.split(``).map(e=>e.charCodeAt(0))),console.log(`Answer char codes:`,t.split(``).map(e=>e.charCodeAt(0)));for(let e=0;e<t.length;e++)e<r.length&&r[e]===t[e]&&(n[e]=r[e],r[e]=``);for(let e=t.length-1;e>=0;e--)if(n[e]===`_`){let i=r.findIndex(n=>n===t[e]);i!==-1&&(n[e]=t[e],r[i]=``)}return console.log(n.join(` `)),n.join(` `)}var V=c({name:`FillInView`,components:{MarkdownRenderer:_(()=>A(()=>import(`./common-ui.es-j6sezLNk.js`).then(e=>e.MarkdownRenderer),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))),RadioMultipleChoice:k,AudioAutoPlayer:E},props:{data:{type:Array,required:!0},modifyDifficulty:{type:Number,required:!1,default:0}},setup(e,{emit:t}){let r=D(e,t,`FillInView`),i=C(r);i.question.value=new J(e.data);let a=h(),o=m(()=>{if(!i.question.value)throw r.logger.error(`Question not initialized`),Error(`Question not initialized`);return i.question.value});y(()=>{try{i.question.value||(i.question.value=new J(e.data)),i.question.value.options&&(a.value=shuffle(getTruncatedList()))}catch(e){r.logger.error(`Failed to initialize question:`,e)}}),n(()=>{i.question.value=void 0});let s=m(()=>a.value??[]),c=m(()=>!!e.data[0][`image-1`]),l=m(()=>{if(!c.value)return[``];let t=[],n=1;for(;e.data[0][`image-${n}`];)t.push(URL.createObjectURL(e.data[0][`image-${n}`])),n++;return t}),d=m(()=>!!e.data[0][`audio-1`]),f=m(()=>o.value?.mdText||``),p=m(()=>{if(!d.value)return[``];let t=[],n=1;for(;e.data[0][`audio-${n}`];)t.push(URL.createObjectURL(e.data[0][`audio-${n}`])),n++;return t}),g=m(()=>{if(o.value.answers)return o.value.answers[Math.floor(o.value.answers.length*Math.random())];throw Error(`No answers provided`)}),_=m(()=>{let e=g.value;if(console.log(`Prior answers: ${i.priorAnswers.value}`),e&&i.priorAnswers.value[0]?.[0]&&i.priorAnswers.value[0][1]===`UserInputString`)return gradeSpellingAttempt(i.priorAnswers.value[0][0],e);if(console.log(`found no UserInputString`),g.value){let e=``;for(let t=0;t<g.value.length;t++)e+=`_ `;return e}return``}),v=m(()=>!!(o.value.answers&&o.value.answers.length>0)),getTruncatedList=()=>{if(!o.value?.options)return;if(o.value.options.length<=6)return o.value.options;let t=[];t.push(o.value.answers[Math.floor(Math.random()*o.value.answers.length)]);let n=shuffle(o.value.options.filter(e=>o.value.answers?.indexOf(e)===-1));return e.modifyDifficulty&&(console.log(`Modifying difficulty: ${e.modifyDifficulty}`),n=e.modifyDifficulty<-200?n.slice(0,1):e.modifyDifficulty<-150?n.slice(0,2):e.modifyDifficulty<-100?n.slice(0,3):e.modifyDifficulty<-50?n.slice(0,4):n.slice(0,5)),t.push(...n.slice(0,5)),t},handleNext=()=>{i.submitAnswer(``)};return u(()=>e.data,e=>{try{i.question.value=new J(e),i.question.value?.options&&(a.value=shuffle(getTruncatedList()))}catch(e){r.logger.error(`Failed to initialize/update question:`,e)}},{deep:!0}),{...r,...i,question:o,truncatedOptions:s,hasImage:c,imageURLs:l,hasAudio:d,audioURL:p,obscuredAnswer:_,someAnswer:g,isQuestion:v,handleNext,markdownText:f}}}),H=__name((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},`default`),U={"data-viewable":`FillInView`},W=[`src`],G={key:4,class:`text-center text-h6`},K={key:5,class:`text-center text-h6`};function _sfc_render(e,n,c,u,m,h){let _=o(`audio-auto-player`),y=o(`markdown-renderer`),b=o(`radio-multiple-choice`),x=o(`v-spacer`),S=o(`v-btn`),C=o(`v-card-actions`);return i(),f(`div`,U,[e.hasAudio?(i(),g(_,{key:0,src:e.audioURL},null,8,[`src`])):v(``,!0),e.hasImage?(i(!0),f(p,{key:1},l(e.imageURLs,(e,t)=>(i(),f(`img`,{key:t,src:e},null,8,W))),128)):v(``,!0),e.markdownText?(i(),g(y,{key:2,md:e.markdownText},null,8,[`md`])):v(``,!0),e.question?.options?(i(),g(b,{key:3,"choice-list":e.truncatedOptions},null,8,[`choice-list`])):e.priorAttempts==1?(i(),f(`div`,G,[d(`span`,null,a(e.obscuredAnswer),1)])):e.priorAttempts==2?(i(),f(`div`,K,[d(`span`,null,a(e.someAnswer),1)])):v(``,!0),e.isQuestion?v(``,!0):(i(),g(C,{key:6},{default:t(()=>[r(x),r(S,{color:`primary`,autofocus:`autofocus`,onClick:e.handleNext},{default:t(()=>n[0]||(n[0]=[s(` Next `)])),_:1},8,[`onClick`])]),_:1}))])}var q=H(V,[[`render`,_sfc_render],[`__scopeId`,`data-v-f91502f8`]]);function splitText(e,t,n){let r=e.split(t),i=r[0],a=r[1].split(n);return{left:i,middle:a[0],right:a[1]}}var J=(B=class BlanksCard extends j{splitTextToken(e){if(T(e)){let t=splitText(e.text,`{{`,`}}`),n=splitText(e.raw,`{{`,`}}`),r=[];return n.left.length>0&&r.push({type:`text`,raw:n.left,text:t.left}),n.middle.length>0&&r.push({type:`text`,raw:`{{`+n.middle+`}}`,text:`{{`+t.middle+`}}`}),n.right.length>0&&r.push({type:`text`,raw:n.right,text:t.right}),r}else return[e]}optionsFromString(e){if(!e.startsWith(`{{`)||!e.endsWith(`}}`))throw Error(`string ${e} is not fill-in text - must look like "{{someText}}"`);e=e.substring(2,e.length-2);let t=e.split(`||`);if(t.length>1){let e=t[0].split(`|`).map(e=>e.trim()),n=t[1].split(`|`).map(e=>e.trim()).filter(t=>!e.includes(t));return n.push(e[randomInt(0,e.length-1)]),{answers:e,options:shuffle(n)}}else return{answers:[e.trim()],options:null}}constructor(e){var _super=(...e)=>(super(...e),x(this,`mdText`,``),x(this,`answers`,null),x(this,`options`,null),this);_super(e),this.mdText=e[0].Input,this.mdText===void 0&&(this.mdText=``);let t=O(this.mdText,`{{`,`}}`),n=[];for(let e=0;e<t.length;e++){let r=t[e],i=r.trim();if(i.startsWith(`{{`)&&i.endsWith(`}}`))if(w(i.slice(2,-2).trim()))n.push(r);else try{let e=this.optionsFromString(r);this.answers=e.answers,this.options=e.options,this.options?.length?n.push(`{{ || }}`):n.push(`{{ }}`)}catch{n.push(r)}else n.push(r)}this.mdText=n.join(``)}isCorrect(e){if(console.log(`answers:${this.answers}\nuser answer: ${JSON.stringify(e)}`),typeof e==`string`){if(this.answers)return this.answers.includes(e);if(e===``)return!0;throw Error(`Question has no configured answers!`)}else if(Array.isArray(e)){if(this.answers)return e.every(e=>this.answers.includes(e));throw Error(`Question has no configured answers!`)}else return this.isCorrectRadio(e)}dataShapes(){return BlanksCard.dataShapes}views(){return BlanksCard.views}isCorrectRadio(e){return this.answers?this.answers.includes(e.choiceList[e.selection]):!1}},x(B,`dataShapes`,z),x(B,`views`,[q]),B),CourseWare=class{get questions(){return this.questionList}get allViews(){let e=[];return this.questionList.forEach(t=>{t.views.forEach(t=>{e.push(t)})}),e}get allViewsMap(){let e={};return this.allViews.forEach(t=>{if(t.name)e[t.name]=t;else throw Error(`View has no name`)}),e}constructor(e,t){x(this,`name`,void 0),x(this,`questionList`,void 0),this.name=e,this.questionList=t,this.questionList=this.questionList.concat(this.getBaseQTypes())}getQuestion(e){let t=e.replace(/^_/,``).replace(/\d+$/,``),n=this.questionList.map(e=>e.name),r=this.questionList.find(n=>{let r=n.name.replace(/^_/,``).replace(/\d+$/,``);return n.name===e||r===t});if(r)return r.name!==e&&console.debug(`[CourseWare.getQuestion] stripped-exact: "${e}" → "${r.name}" (registered: ${n.join(`, `)})`),r;let i=this.questionList.filter(n=>{let r=n.name.replace(/^_/,``).replace(/\d+$/,``);return n.name.includes(t)||e.includes(r)});if(i.length===0){console.warn(`[CourseWare.getQuestion] NO MATCH: "${e}" (base: "${t}") not found in [${n.join(`, `)}]`);return}i.sort((t,n)=>Math.abs(t.name.length-e.length)-Math.abs(n.name.length-e.length));let a=i[0];return console.warn(`[CourseWare.getQuestion] FUZZY: "${e}" → "${a.name}" (candidates: ${i.map(e=>e.name).join(`, `)}; registered: ${n.join(`, `)})`),a}getBaseQTypes(){return[J]}};export{gradeSpellingAttempt as a,sin as c,__toESM as d,R as f,cos as i,__commonJSMin as l,CourseWare as n,randomInt as o,z as p,J as r,shuffle as s,H as t,__name as u};
|
|
3
|
-
//# sourceMappingURL=CourseWare-BTFRjgBR-C3wi5YHa.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./chunk-D6hFPZc3.js";import{$ as e,C as t,H as n,K as r,S as i,T as a,_ as o,v as s,y as c}from"./vue.runtime.esm-bundler--Fxmd6l9.js";import{m as l}from"./dist-V9Xbab2f.js";import"./MarkdownRenderer-U_iPiA2x-DDruDu7E.js";import{J as u}from"./dist-BeppzTWu.js";import{F as d}from"./common-ui.es-B9r6QiWN.js";import{t as f}from"./index-CDxzcoT1.js";import"./CourseWare-BTFRjgBR-C3wi5YHa.js";import"./chess-E2uOAyQS-C8213VIQ.js";import"./math-D_8HiEQR-DdtcYQLB.js";import"./piano-DF1g6yaX-B7f_kt1X.js";import"./sightsing-BFQ7HRig-CLh3Xcy7.js";import"./typing-BevtfWlp-B__x_Ia1.js";import{t as p}from"./dist-CKO_fXB-.js";var m=a({name:`ELOModerator`,components:{CardLoader:d},props:{courseId:{type:String,required:!0}},data(){return{courseDB:null,updatePending:!0,courseConfig:null,cards:[],id1:null,id2:null,elo1:null,elo2:null,viewLookup:p.getView}},async created(){this.courseDB=u().getCourseDB(this.courseId),this.courseConfig=await this.courseDB.getCourseConfig(),await this.getNewCards()},methods:{vote(e){if(!this.elo1||!this.elo2)return;let t=l(this.elo1,this.elo2,e===`a`?1:0,{globalOnly:!0});this.courseDB.updateCardElo(this.cards[0].cardId,t.userElo),this.courseDB.updateCardElo(this.cards[1].cardId,t.cardElo),this.getNewCards()},async getNewCards(){this.courseDB&&(this.updatePending=!0,this.cards=await this.courseDB.getInexperiencedCards(),this.id1=null,this.id2=null,this.id1={courseID:this.courseId,cardID:this.cards[0].cardId},this.id2={courseID:this.courseId,cardID:this.cards[1].cardId},this.elo1=this.cards[0].elo,this.elo2=this.cards[1].elo,this.updatePending=!1)}}});function _sfc_render(a,l,u,d,f,p){let m=r(`v-col`),h=r(`v-row`),g=r(`v-icon`),_=r(`v-btn`),v=r(`card-loader`),y=r(`v-container`);return a.updatePending?c(``,!0):(n(),s(y,{key:0},{default:e(()=>[t(h,null,{default:e(()=>[t(m,{cols:`12`},{default:e(()=>l[2]||(l[2]=[o(`h1`,null,[i(`Which seems `),o(`em`,null,`harder`),i(`?`)],-1)])),_:1})]),_:1}),t(h,null,{default:e(()=>[t(m,null,{default:e(()=>[t(_,{color:`success`,class:`ma-5`,onClick:l[0]||(l[0]=e=>a.vote(`a`))},{default:e(()=>[t(g,null,{default:e(()=>l[3]||(l[3]=[i(`mdi-check`)])),_:1})]),_:1}),t(v,{class:`ma-2`,qualified_id:a.id1,"view-lookup":a.viewLookup},null,8,[`qualified_id`,`view-lookup`])]),_:1})]),_:1}),t(h,null,{default:e(()=>[t(m,null,{default:e(()=>[t(_,{color:`success`,class:`ma-5`,onClick:l[1]||(l[1]=e=>a.vote(`b`))},{default:e(()=>[t(g,null,{default:e(()=>l[4]||(l[4]=[i(`mdi-check`)])),_:1})]),_:1}),t(v,{class:`ma-2`,qualified_id:a.id2,"view-lookup":a.viewLookup},null,8,[`qualified_id`,`view-lookup`])]),_:1})]),_:1})]),_:1}))}var h=f(m,[[`render`,_sfc_render],[`__scopeId`,`data-v-df68b8b6`]]);export{h as default};
|
|
2
|
-
//# sourceMappingURL=EloModeration-COgCrvb8.js.map
|