@vue-skuilder/platform-ui 0.1.34 → 0.1.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.
Files changed (114) hide show
  1. package/dist/assets/{About-BpqIdlZQ.js → About-eVevEMqh.js} +2 -2
  2. package/dist/assets/{About-BpqIdlZQ.js.map → About-eVevEMqh.js.map} +1 -1
  3. package/dist/assets/AdminDashboard-C_oJ8NGZ.js +2 -0
  4. package/dist/assets/{AdminDashboard-BObO6egG.js.map → AdminDashboard-C_oJ8NGZ.js.map} +1 -1
  5. package/dist/assets/{ClassroomCtrlPanel-lgN6cdTd.js → ClassroomCtrlPanel-DanEeAZ0.js} +2 -2
  6. package/dist/assets/{ClassroomCtrlPanel-lgN6cdTd.js.map → ClassroomCtrlPanel-DanEeAZ0.js.map} +1 -1
  7. package/dist/assets/{Classrooms-BWoQ4i1_.js → Classrooms-OrG6VOnx.js} +2 -2
  8. package/dist/assets/{Classrooms-BWoQ4i1_.js.map → Classrooms-OrG6VOnx.js.map} +1 -1
  9. package/dist/assets/{CourseRouter-CODD0Qm5.js → CourseRouter-CK8Xh2h2.js} +3 -3
  10. package/dist/assets/{CourseRouter-CODD0Qm5.js.map → CourseRouter-CK8Xh2h2.js.map} +1 -1
  11. package/dist/assets/CourseWare-BTFRjgBR-D750E7i0.css +1 -0
  12. package/dist/assets/CourseWare-BTFRjgBR-OzjKW1B2.js +3 -0
  13. package/dist/assets/CourseWare-BTFRjgBR-OzjKW1B2.js.map +1 -0
  14. package/dist/assets/{Courses-ClDdLQUO.js → Courses-DB0JFz1Q.js} +2 -2
  15. package/dist/assets/{Courses-ClDdLQUO.js.map → Courses-DB0JFz1Q.js.map} +1 -1
  16. package/dist/assets/EloModeration-BmU0CqZt.js +2 -0
  17. package/dist/assets/{EloModeration-B6LM11G_.js.map → EloModeration-BmU0CqZt.js.map} +1 -1
  18. package/dist/assets/{JoinCode-DgPD_OFL.js → JoinCode-KoSLXpUy.js} +2 -2
  19. package/dist/assets/{JoinCode-DgPD_OFL.js.map → JoinCode-KoSLXpUy.js.map} +1 -1
  20. package/dist/assets/{MarkdownRenderer-DoVbFpA6-BIbDxYC4.js → MarkdownRenderer-DoVbFpA6-CvaBjTS8.js} +2 -2
  21. package/dist/assets/{MarkdownRenderer-DoVbFpA6-BIbDxYC4.js.map → MarkdownRenderer-DoVbFpA6-CvaBjTS8.js.map} +1 -1
  22. package/dist/assets/MarkdownRenderer-DoVbFpA6-DZdbKtns.js +1 -0
  23. package/dist/assets/{NewCourseDialog-DhwvBT3y.js → NewCourseDialog-BXxQ1cvK.js} +2 -2
  24. package/dist/assets/{NewCourseDialog-DhwvBT3y.js.map → NewCourseDialog-BXxQ1cvK.js.map} +1 -1
  25. package/dist/assets/{ReleaseNotes-DtwDIIfH.js → ReleaseNotes-CERYwZro.js} +2 -2
  26. package/dist/assets/{ReleaseNotes-DtwDIIfH.js.map → ReleaseNotes-CERYwZro.js.map} +1 -1
  27. package/dist/assets/{RequestPasswordReset-DBv0XCIk.js → RequestPasswordReset-Bc4FHaYS.js} +2 -2
  28. package/dist/assets/{RequestPasswordReset-DBv0XCIk.js.map → RequestPasswordReset-Bc4FHaYS.js.map} +1 -1
  29. package/dist/assets/{ResetPassword-BtBplqsQ.js → ResetPassword-CeR_bmOz.js} +2 -2
  30. package/dist/assets/{ResetPassword-BtBplqsQ.js.map → ResetPassword-CeR_bmOz.js.map} +1 -1
  31. package/dist/assets/Study-voro05GB.js +2 -0
  32. package/dist/assets/{Study-D9W1DKes.js.map → Study-voro05GB.js.map} +1 -1
  33. package/dist/assets/TagInformation-1urKQaI-.js +2 -0
  34. package/dist/assets/{TagInformation-DgUkKxoU.js.map → TagInformation-1urKQaI-.js.map} +1 -1
  35. package/dist/assets/{User-DorFkRx_.js → User-26Hebdw-.js} +2 -2
  36. package/dist/assets/{User-DorFkRx_.js.map → User-26Hebdw-.js.map} +1 -1
  37. package/dist/assets/{UserStats-ck9Oh4qt.js → UserStats-DbWUnAPD.js} +2 -2
  38. package/dist/assets/{UserStats-ck9Oh4qt.js.map → UserStats-DbWUnAPD.js.map} +1 -1
  39. package/dist/assets/{VerifyEmail-BYt5xfhm.js → VerifyEmail-uix17ueS.js} +2 -2
  40. package/dist/assets/{VerifyEmail-BYt5xfhm.js.map → VerifyEmail-uix17ueS.js.map} +1 -1
  41. package/dist/assets/chess-BbHATAzk-BhFAwbgX.js +7 -0
  42. package/dist/assets/chess-BbHATAzk-BhFAwbgX.js.map +1 -0
  43. package/dist/assets/chess-BbHATAzk-DB7z_kWx.css +1 -0
  44. package/dist/assets/chess-X1bmWmh3-C7B3mHa1.js +1 -0
  45. package/dist/assets/common-ui.es-C18SEA_L.js +1 -0
  46. package/dist/assets/{common-ui.es-BrXWBn7p.js → common-ui.es-p3cgaI_b.js} +5 -5
  47. package/dist/assets/{common-ui.es-BrXWBn7p.js.map → common-ui.es-p3cgaI_b.js.map} +1 -1
  48. package/dist/assets/dist-CszlUrrD.js +1 -0
  49. package/dist/assets/dist-D2Tzeiyw.js +1 -0
  50. package/dist/assets/{dist-CzLl7g6t.js → dist-DA7EuQY2.js} +34 -12
  51. package/dist/assets/dist-DA7EuQY2.js.map +1 -0
  52. package/dist/assets/dist-DCY40cJ7.js +18 -0
  53. package/dist/assets/dist-DCY40cJ7.js.map +1 -0
  54. package/dist/assets/{dist-CrcJCHFk.js → dist-leWgtXBf.js} +2 -2
  55. package/dist/assets/dist-leWgtXBf.js.map +1 -0
  56. package/dist/assets/edit-ui.es-BIV0deYk.js +36 -0
  57. package/dist/assets/{edit-ui.es-C9MhXwkt.js.map → edit-ui.es-BIV0deYk.js.map} +1 -1
  58. package/dist/assets/edit-ui.es-BLMFpJm1.js +1 -0
  59. package/dist/assets/french-Dk7YG8Td-YK4jNZUN.js +2 -0
  60. package/dist/assets/french-Dk7YG8Td-YK4jNZUN.js.map +1 -0
  61. package/dist/assets/french-evUMlbbq-BbJDdRqK.js +1 -0
  62. package/dist/assets/index-B-cSF0fq.js +4 -0
  63. package/dist/assets/index-B-cSF0fq.js.map +1 -0
  64. package/dist/assets/{index-C8gy3Ea0.css → index-CmEEzdUX.css} +1 -1
  65. package/dist/assets/math-B4HbgYf6-CLJIZTjv.js +34 -0
  66. package/dist/assets/math-B4HbgYf6-CLJIZTjv.js.map +1 -0
  67. package/dist/assets/math-B4HbgYf6-CZyvKZtp.css +1 -0
  68. package/dist/assets/math-DYni7rRl-C6a4BDoN.js +1 -0
  69. package/dist/assets/piano-BN5Btq91-Cdn8kuW5.js +1 -0
  70. package/dist/assets/piano-DF1g6yaX-AR14jqWm.js +2 -0
  71. package/dist/assets/piano-DF1g6yaX-AR14jqWm.js.map +1 -0
  72. package/dist/assets/piano-DF1g6yaX-BLvDAgl1.css +1 -0
  73. package/dist/assets/pitch-CgGJFkZ1-DYkp_AV0.js +2 -0
  74. package/dist/assets/pitch-CgGJFkZ1-DYkp_AV0.js.map +1 -0
  75. package/dist/assets/pitch-Dn0iNqiS-CJ_97iB4.js +1 -0
  76. package/dist/assets/{server-Db_WegNj.js → server-Bq50faqp.js} +2 -2
  77. package/dist/assets/{server-Db_WegNj.js.map → server-Bq50faqp.js.map} +1 -1
  78. package/dist/assets/sightsing-BFQ7HRig-BNrrORP_.js +133 -0
  79. package/dist/assets/sightsing-BFQ7HRig-BNrrORP_.js.map +1 -0
  80. package/dist/assets/sightsing-BFQ7HRig-DkUGf5Yf.css +1 -0
  81. package/dist/assets/sightsing-CJX3k0Fd-l4fhB1Aj.js +1 -0
  82. package/dist/assets/typing-BevtfWlp-B7ZMUAQJ.css +1 -0
  83. package/dist/assets/typing-BevtfWlp-Cl6jtRmX.js +2 -0
  84. package/dist/assets/typing-BevtfWlp-Cl6jtRmX.js.map +1 -0
  85. package/dist/assets/typing-k-ojjO7G-CHgxm7Rx.js +1 -0
  86. package/dist/assets/word-work-BOnRlZgd-CGV2xRx9.js +2 -0
  87. package/dist/assets/word-work-BOnRlZgd-CGV2xRx9.js.map +1 -0
  88. package/dist/assets/word-work-Dd6tIKrt-BjF3-3lq.js +1 -0
  89. package/dist/index.html +6 -6
  90. package/dist/sw.js +1 -1
  91. package/dist/sw.js.map +1 -1
  92. package/package.json +7 -7
  93. package/src/dev/Playtest.vue +254 -0
  94. package/src/main.ts +13 -2
  95. package/src/router.ts +17 -17
  96. package/dist/assets/AdminDashboard-BObO6egG.js +0 -2
  97. package/dist/assets/DataInputFormTester-ywHjm2yC.js +0 -2
  98. package/dist/assets/DataInputFormTester-ywHjm2yC.js.map +0 -1
  99. package/dist/assets/EloModeration-B6LM11G_.js +0 -2
  100. package/dist/assets/MarkdownRenderer-DoVbFpA6-CQGwEJFh.js +0 -1
  101. package/dist/assets/Study-D9W1DKes.js +0 -2
  102. package/dist/assets/TagInformation-DgUkKxoU.js +0 -2
  103. package/dist/assets/common-ui.es-DKUQOgQx.js +0 -1
  104. package/dist/assets/dist-5cG6aSxW.js +0 -1
  105. package/dist/assets/dist-CrcJCHFk.js.map +0 -1
  106. package/dist/assets/dist-CzLl7g6t.js.map +0 -1
  107. package/dist/assets/dist-D5-LrzD6.js +0 -186
  108. package/dist/assets/dist-D5-LrzD6.js.map +0 -1
  109. package/dist/assets/dist-y6_rrqhr.js +0 -1
  110. package/dist/assets/edit-ui.es-C9MhXwkt.js +0 -36
  111. package/dist/assets/edit-ui.es-DT9CMaNG.js +0 -1
  112. package/dist/assets/index-DUZItsH-.js +0 -4
  113. package/dist/assets/index-DUZItsH-.js.map +0 -1
  114. package/src/dev/DataInputFormTester.vue +0 -117
@@ -1,2 +0,0 @@
1
- import{i as e}from"./chunk-D6hFPZc3.js";import{$ as t,C as n,H as r,It as i,K as a,S as o,T as s,Vt as c,W as l,_ as u,b as d,f,v as p,y as m}from"./vue.runtime.esm-bundler-C3q8JS9f.js";import{I as h,M as g,T as _,o as v,z as y}from"./common-ui.es-BrXWBn7p.js";import{o as b}from"./dist-CrcJCHFk.js";import{n as x}from"./MarkdownRenderer-DoVbFpA6-BIbDxYC4.js";import{k as S}from"./dist-CzLl7g6t.js";import{t as C}from"./index-DUZItsH-.js";import{g as w}from"./dist-D5-LrzD6.js";import{i as T}from"./edit-ui.es-C9MhXwkt.js";var E=s({name:`SessionConfiguration`,components:{SkMouseTrapToolTip:v,CourseTagFilterWidget:y},props:{initialTimeLimit:{type:Number,required:!0,default:5}},emits:[`initStudySession`],data(){return{registeredHotkeys:[],allSelected:!0,activeCourses:[],activeClasses:[],hasRegistrations:!0,user:null,timeLimit:this.initialTimeLimit,courseLoadError:!1,classroomLoadError:!1,expandedFilters:{}}},computed:{hasSelectedSources(){return this.activeCourses.some(e=>e.selected)||this.activeClasses.some(e=>e.selected)},hasAnyActiveFilter(){return this.activeCourses.some(e=>e.selected&&this.hasActiveTagFilter(e))},activeFilterCount(){return this.activeCourses.filter(e=>e.selected&&this.hasActiveTagFilter(e)).length}},watch:{timeLimit:{handler(){this.timeLimit<=0&&(this.timeLimit=1)}}},beforeUnmount(){this.registeredHotkeys&&this.registeredHotkeys.forEach(e=>{x.removeBinding(e)})},async created(){this.user=await _(),this.timeLimit=this.initialTimeLimit,this.setHotkeys();let[e,t]=await Promise.allSettled([this.getActiveCourses(),this.getActiveClassrooms()]);e.status===`rejected`&&(console.error(`Failed to load courses:`,e.reason),this.courseLoadError=!0),t.status===`rejected`&&(console.error(`Failed to load classrooms:`,t.reason),this.classroomLoadError=!0),this.activeCourses.length===0&&this.activeClasses.length===0&&!this.courseLoadError&&!this.classroomLoadError&&(this.hasRegistrations=!1)},mounted(){document.getElementById(`SelectAll`)?.focus()},unmounted(){this.registeredHotkeys&&this.registeredHotkeys.forEach(e=>{x.removeBinding(e)})},methods:{inc(){this.timeLimit+=1,console.log(`inc to ${this.timeLimit}`)},dec(){this.timeLimit--,console.log(`dec to ${this.timeLimit}`)},update(){console.log(JSON.stringify(this.activeCourses)),console.log(JSON.stringify(this.activeClasses))},toggleAll(){console.log(`Toggling all courses`),this.activeCourses.forEach(e=>{e.selected=this.allSelected}),this.activeClasses.forEach(e=>{e.selected=this.allSelected}),console.log(JSON.stringify(this.activeCourses))},toggleTagFilter(e){this.expandedFilters[e]=!this.expandedFilters[e]},hasActiveTagFilter(e){return b(e.tagFilter)},startSession(){this.registeredHotkeys&&this.registeredHotkeys.forEach(e=>{x.removeBinding(e)});let e=this.activeCourses.filter(e=>e.selected).map(e=>{let t={type:`course`,id:e.courseID};return b(e.tagFilter)&&(t.tagFilter=e.tagFilter),t}),t=this.activeClasses.filter(e=>e.selected).map(e=>({type:`classroom`,id:e.classID})),n=[...e,...t];this.$emit(`initStudySession`,n,this.timeLimit)},async getActiveClassrooms(){let e=await(await _()).getActiveClasses(),t=[];console.log(`Active classes: ${JSON.stringify(e)}`),await Promise.all(e.map(e=>(async e=>{let n=await S().getClassroomDB(e,`student`);t.push({classID:e,name:n.getConfig().name,selected:!0,reviews:0})})(e))),this.activeClasses=t},async getActiveCourses(){this.activeCourses=(await this.user.getActiveCourses()).map(e=>({...e,selected:!0,name:``,reviews:0,tagFilter:void 0})),Promise.all(this.activeCourses.map(async(e,t)=>{let n=await S().getCoursesDB().getCourseConfig(e.courseID),r=await this.user?.getCourseInterface(e.courseID);return(async()=>Promise.all([this.activeCourses[t].name=n.name,this.activeCourses[t].reviews=await r.getScheduledReviewCount()]))()}))},setHotkeys(){let e=[{hotkey:`right`,callback:()=>{this.timeLimit++},command:`Increase time limit`},{hotkey:`left`,callback:()=>{this.timeLimit--},command:`Decrease time limit`}];x.addBinding(e),this.registeredHotkeys=e.map(e=>e.hotkey)}}}),D={key:0},O={class:`session-layout`},k={class:`course-selection-container`},A={class:`course-row-header`},j={class:`course-row-header`},M={class:`course-row-actions`},N={class:`reviews-count`},P={key:0,class:`tag-filter-container`},F={class:`select-all-row mt-3`},I={class:`fixed-controls-container`},L={class:`fixed-controls`},R={class:`mb-5`},z={key:0,class:`filter-summary mb-4`},B={class:`text-caption`},V={key:1,class:`text-h4`},H={key:2,class:`text-h4`};function _sfc_render$1(e,i,s,h,g,_){let v=a(`v-alert`),y=a(`v-checkbox`),b=a(`v-icon`),x=a(`v-btn`),S=a(`CourseTagFilterWidget`),C=a(`v-expand-transition`),w=a(`v-text-field`),T=a(`SkMouseTrapToolTip`),E=a(`router-link`);return e.hasRegistrations||e.courseLoadError||e.classroomLoadError?(r(),d(`div`,D,[i[11]||(i[11]=u(`div`,{"data-cy":`select-quilts-header`,class:`text-h4 mb-4`},`Study Session Setup`,-1)),e.courseLoadError?(r(),p(v,{key:0,type:`warning`,class:`mb-4`},{default:t(()=>i[2]||(i[2]=[o(` Unable to load course data. Some features may be unavailable. `)])),_:1})):m(``,!0),e.classroomLoadError?(r(),p(v,{key:1,type:`warning`,class:`mb-4`},{default:t(()=>i[3]||(i[3]=[o(` Unable to load classroom data. You can still study individual courses. `)])),_:1})):m(``,!0),u(`div`,O,[u(`div`,k,[i[6]||(i[6]=u(`div`,{class:`text-h6 mb-3`},`Select Quilts to Study`,-1)),(r(!0),d(f,null,l(e.activeClasses,t=>(r(),d(`div`,{key:t.classID,class:`course-row`},[u(`div`,A,[n(y,{modelValue:t.selected,"onUpdate:modelValue":e=>t.selected=e,label:`Class: ${t.name}`,"hide-details":``,onClickCapture:e.update},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`onClickCapture`]),i[4]||(i[4]=u(`span`,{class:`reviews-count`},`-`,-1))])]))),128)),(r(!0),d(f,null,l(e.activeCourses,a=>(r(),d(`div`,{key:a.courseID,class:`course-row`},[u(`div`,j,[n(y,{modelValue:a.selected,"onUpdate:modelValue":e=>a.selected=e,"data-cy":`course-checkbox`,label:`q/${a.name}`,"hide-details":``,onClickCapture:e.update},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`onClickCapture`]),u(`div`,M,[u(`span`,N,c(a.reviews),1),a.selected?(r(),p(x,{key:0,variant:`text`,size:`small`,color:e.hasActiveTagFilter(a)?`primary`:`default`,onClick:t=>e.toggleTagFilter(a.courseID)},{default:t(()=>[n(b,{start:``,size:`small`},{default:t(()=>i[5]||(i[5]=[o(`mdi-filter-variant`)])),_:1}),o(` `+c(e.hasActiveTagFilter(a)?`Filtered`:`Filter`)+` `,1),n(b,{end:``,size:`small`},{default:t(()=>[o(c(e.expandedFilters[a.courseID]?`mdi-chevron-up`:`mdi-chevron-down`),1)]),_:2},1024)]),_:2},1032,[`color`,`onClick`])):m(``,!0)])]),n(C,null,{default:t(()=>[a.selected&&e.expandedFilters[a.courseID]?(r(),d(`div`,P,[n(S,{modelValue:a.tagFilter,"onUpdate:modelValue":e=>a.tagFilter=e,"course-id":a.courseID},null,8,[`modelValue`,`onUpdate:modelValue`,`course-id`])])):m(``,!0)]),_:2},1024)]))),128)),u(`div`,F,[n(y,{id:`SelectAll`,ref:`selectAll`,modelValue:e.allSelected,"onUpdate:modelValue":[i[0]||(i[0]=t=>e.allSelected=t),e.toggleAll],autofocus:``,label:`Select All`,"hide-details":``},null,8,[`modelValue`,`onUpdate:modelValue`])])]),u(`div`,I,[u(`div`,L,[i[10]||(i[10]=u(`div`,{class:`text-h6 mb-3`},`Session Settings`,-1)),u(`div`,R,[n(w,{ref:`numberField`,modelValue:e.timeLimit,"onUpdate:modelValue":i[1]||(i[1]=t=>e.timeLimit=t),class:`time-limit-field`,variant:`outlined`,label:`Study Session Timelimit`,"prepend-inner-icon":`mdi-clock-outline`,"prepend-icon":`mdi-minus`,"append-icon":`mdi-plus`,suffix:e.timeLimit>1?`minutes`:`minute`,mask:`##`,type:`number`,"onClick:prepend":e.dec,"onClick:append":e.inc},null,8,[`modelValue`,`suffix`,`onClick:prepend`,`onClick:append`])]),e.hasAnyActiveFilter?(r(),d(`div`,z,[n(b,{size:`small`,color:`primary`,class:`mr-1`},{default:t(()=>i[7]||(i[7]=[o(`mdi-filter`)])),_:1}),u(`span`,B,c(e.activeFilterCount)+` course`+c(e.activeFilterCount>1?`s`:``)+` with tag filters `,1)])):m(``,!0),n(T,{hotkey:`enter`,command:`Start Session`,disabled:!e.hasSelectedSources,"highlight-effect":`scale`},{default:t(()=>[n(x,{"data-cy":`start-studying-button`,color:`success`,size:`large`,block:``,class:`start-btn`,disabled:!e.hasSelectedSources,onClick:e.startSession},{default:t(()=>[n(b,{start:``},{default:t(()=>i[8]||(i[8]=[o(`mdi-play`)])),_:1}),i[9]||(i[9]=o(` Start! `))]),_:1},8,[`disabled`,`onClick`])]),_:1},8,[`disabled`])])])])])):!e.courseLoadError&&!e.classroomLoadError?(r(),d(`div`,V,[i[15]||(i[15]=u(`p`,null,`You don't have anything to study!`,-1)),u(`p`,null,[i[13]||(i[13]=o(`Head over to the `)),n(E,{to:`/quilts`},{default:t(()=>i[12]||(i[12]=[o(`Quilts`)])),_:1}),i[14]||(i[14]=o(` page to find something for you.`))])])):(r(),d(`div`,H,i[16]||(i[16]=[u(`p`,null,`Unable to load study data due to technical issues.`,-1),u(`p`,null,`Please try refreshing the page or contact support if the problem persists.`,-1)])))}e(_sfc_render$1,`_sfc_render`);var U=C(E,[[`render`,_sfc_render$1],[`__scopeId`,`data-v-c5ff4b5f`]]);function randomInt(e,t){return Math.floor(Math.random()*(t-e+1))+e}var W=s({name:`StudyView`,components:{SessionConfiguration:U,StudySession:g},inject:{router:{from:`router`}},props:{previewCourseID:{type:String,required:!1,default:``},randomPreview:{type:Boolean,required:!1},focusCourseID:{type:String,required:!1,default:``}},data(){return{user:null,studySessionConfig:void 0,previewCourseConfig:void 0,previewMode:!1,sessionTimeLimit:5,inSession:!1,sessionPrepared:!1,sessionError:!1,errorMessage:``,sessionContentSources:[],dataInputFormStore:T(),getViewComponent:e=>w.getView(e),dataLayer:S()}},async created(){this.user=await _(),this.studySessionConfig={likesConfetti:h().config.likesConfetti};let e=``;if(this.randomPreview){let t=await this.user.getCourseRegistrationsDoc(),n=(await S().getCoursesDB().getCourseList()).map(e=>e.courseID),r=n.filter(e=>!t.courses.some(t=>t.courseID===e));e=r.length>0?r[randomInt(0,r.length)]:n[randomInt(0,n.length)]}if(this.previewCourseID&&(this.previewMode=!0,S().getCoursesDB().getCourseList().then(e=>{e.forEach(e=>{e.courseID===this.previewCourseID&&(this.previewCourseConfig=e,this.previewCourseConfig.courseID=e.courseID)})}),console.log(`[Study] COURSE PREVIEW MODE FOR ${this.previewCourseID}`),await this.user.registerForCourse(this.previewCourseID,!0),e=this.previewCourseID),this.focusCourseID&&(console.log(`[Study] FOCUS study session: ${this.focusCourseID}`),e=this.focusCourseID),e){let t=this.parseTagFilterFromQuery(),n={type:`course`,id:e};b(t)&&(n.tagFilter=t,console.log(`[Study] Tag filter from query params:`,t)),this.initStudySession([n],this.sessionTimeLimit)}},methods:{refreshRoute(){this.router.go(0)},async initStudySession(e,t){console.log(`[Study] starting study session w/ sources: ${JSON.stringify(e)}`),this.sessionContentSources=e,this.sessionTimeLimit=t,this.inSession=!0,this.sessionPrepared=!1,console.log(`[Study] Waiting for session-prepared event from StudySession component`)},registerUserForPreviewCourse(){this.user.registerForCourse(this.previewCourseConfig.courseID).then(()=>this.router.push(`/quilts/${this.previewCourseConfig.courseID}`))},handleSessionFinished(){this.refreshRoute()},handleSessionPrepared(){console.log(`[Study] Session preparation complete - received session-prepared event`),this.sessionPrepared=!0,this.sessionError=!1,this.errorMessage=``},handleSessionError({message:e,error:t}){console.error(`[Study] Session error:`,e,t),this.sessionError=!0,this.errorMessage=e||`An error occurred while preparing your study session.`,this.sessionPrepared=!1},parseTagFilterFromQuery(){let e=this.$route.query.include,t=this.$route.query.exclude,parseParam=e=>e?Array.isArray(e)?e.flatMap(e=>e?e.split(`,`).map(e=>e.trim()):[]).filter(Boolean):e.split(`,`).map(e=>e.trim()).filter(Boolean):[];return{include:parseParam(e),exclude:parseParam(t)}}}}),G={key:0},K={key:1},q={key:0,align:`center`},J={class:`text-h5`},Y={key:1},X={key:2},Z={key:0,class:`session-loading`},Q={key:1,class:`session-error`},$={class:`text-subtitle-1 mt-2`};function _sfc_render(e,s,l,f,p,h){let g=a(`SessionConfiguration`),_=a(`v-btn`),v=a(`router-link`),y=a(`v-spacer`),b=a(`v-col`),x=a(`v-row`),S=a(`v-progress-circular`),C=a(`v-container`),w=a(`v-icon`),T=a(`StudySession`);return e.inSession?(r(),d(`div`,K,[e.previewMode&&e.previewCourseConfig?(r(),d(`div`,q,[n(x,null,{default:t(()=>[n(b,null,{default:t(()=>[u(`span`,J,[s[1]||(s[1]=o(` Quilt preview for `)),u(`em`,null,c(e.previewCourseConfig.name),1)]),n(_,{size:`small`,color:`primary`,onClick:e.registerUserForPreviewCourse},{default:t(()=>s[2]||(s[2]=[o(`Join`)])),_:1},8,[`onClick`]),n(v,{to:`/quilts/${e.previewCourseConfig.courseID}`},{default:t(()=>[n(_,{size:`small`,color:`secondary`},{default:t(()=>s[3]||(s[3]=[o(`More info`)])),_:1})]),_:1},8,[`to`]),n(y)]),_:1})]),_:1})])):e.previewMode?(r(),d(`div`,Y,[n(x,null,{default:t(()=>[n(b,null,{default:t(()=>s[4]||(s[4]=[u(`span`,{class:`text-h5`},`... No course was specified for the preview.`,-1),u(`div`,null,`(this shouldn't happen)...`,-1)])),_:1})]),_:1})])):m(``,!0),e.inSession?(r(),d(`div`,X,[!e.sessionPrepared&&!e.sessionError?(r(),d(`div`,Z,[n(C,{class:`text-center`},{default:t(()=>[n(x,{justify:`center`,align:`center`,style:{"min-height":`50vh`}},{default:t(()=>[n(b,{cols:`12`},{default:t(()=>[n(S,{size:`70`,width:`7`,color:`primary`,indeterminate:``}),s[5]||(s[5]=u(`div`,{class:`text-h5 mt-4`},`Preparing your study session...`,-1)),s[6]||(s[6]=u(`div`,{class:`text-subtitle-1 mt-2`},`Getting your learning materials ready`,-1))]),_:1})]),_:1})]),_:1})])):m(``,!0),e.sessionError?(r(),d(`div`,Q,[n(C,{class:`text-center`},{default:t(()=>[n(x,{justify:`center`,align:`center`,style:{"min-height":`50vh`}},{default:t(()=>[n(b,{cols:`12`},{default:t(()=>[n(w,{size:`64`,color:`error`},{default:t(()=>s[7]||(s[7]=[o(`mdi-alert-circle`)])),_:1}),s[9]||(s[9]=u(`div`,{class:`text-h5 mt-4 text-error`},`Session Preparation Failed`,-1)),u(`div`,$,c(e.errorMessage||`There was a problem preparing your study session.`),1),n(_,{color:`primary`,class:`mt-6`,onClick:e.refreshRoute},{default:t(()=>s[8]||(s[8]=[o(`Try Again`)])),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1})])):m(``,!0),n(T,{"content-sources":e.sessionContentSources,"session-time-limit":e.sessionTimeLimit,user:e.user,"session-config":e.studySessionConfig,"data-layer":e.dataLayer,"get-view-component":e.getViewComponent,class:i({"hidden-session":!e.sessionPrepared}),onSessionFinished:e.handleSessionFinished,onSessionPrepared:e.handleSessionPrepared,onSessionError:e.handleSessionError},null,8,[`content-sources`,`session-time-limit`,`user`,`session-config`,`data-layer`,`get-view-component`,`class`,`onSessionFinished`,`onSessionPrepared`,`onSessionError`])])):m(``,!0)])):(r(),d(`div`,G,[n(g,{"initial-time-limit":e.sessionTimeLimit,onInitStudySession:s[0]||(s[0]=(t,n)=>e.initStudySession(t,n))},null,8,[`initial-time-limit`])]))}var ee=C(W,[[`render`,_sfc_render],[`__scopeId`,`data-v-dcbc1fde`]]);export{ee as default};
2
- //# sourceMappingURL=Study-D9W1DKes.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,Vt as o,_ as s,b as c,v as l,y as u}from"./vue.runtime.esm-bundler-C3q8JS9f.js";import{P as d,v as f}from"./common-ui.es-BrXWBn7p.js";import{T as p}from"./dist-CrcJCHFk.js";import"./MarkdownRenderer-DoVbFpA6-BIbDxYC4.js";import{k as m,r as h}from"./dist-CzLl7g6t.js";import{t as g}from"./index-DUZItsH-.js";import{g as _}from"./dist-D5-LrzD6.js";var v=a({name:`TagInformation`,components:{CourseCardBrowser:d},props:{tagId:{type:String,required:!0},courseId:{type:String,required:!0}},data(){return{snippetModel:``,editingSnippet:!1,snippetSaving:!1,wikiModel:``,editingWiki:!1,wikiSaving:!1,courseDB:null,tag:{course:this.courseId,name:this.tagId,snippet:``,wiki:``,taggedCards:[],docType:h.TAG},course:{courseID:this.courseId,name:``,description:``,public:!1,deleted:!1,dataShapes:[],questionTypes:[],creator:``,admins:[],moderators:[]}}},async created(){this.courseDB=m().getCourseDB(this.courseId),this.tag=await this.courseDB.getTag(this.tagId),this.snippetModel=this.tag.snippet,this.wikiModel=this.tag.wiki,this.course=await this.courseDB.getCourseConfig()},methods:{viewLookup(e){return _.getView(e)},editSnippet(){console.log(`[TagInformation] EditSnip`),this.editingSnippet=!0,this.$refs.snippetEditor.focus()},editWiki(){console.log(`[TagInformation] EditWiki`),this.editingWiki=!0,this.$refs.wikiEditor.focus()},async saveSnippet(){this.snippetSaving=!0,(await this.courseDB.updateTag({...this.tag,snippet:this.snippetModel})).ok?(console.log(`[TagInformation] OK`),this.tag.snippet=this.snippetModel,f({text:`Updated applied - thanks!`,status:p.ok})):f({text:`error in applying update!`,status:p.error}),this.editingSnippet=!1,this.snippetSaving=!1},async saveWiki(){this.wikiSaving=!0,(await this.courseDB.updateTag({...this.tag,wiki:this.wikiModel})).ok?(this.tag.wiki=this.wikiModel,f({text:`Updated applied - thanks!`,status:p.ok})):f({text:`error in applying update!`,status:p.error}),this.editingWiki=!1,this.wikiSaving=!1},cancelEditSnippet(){console.log(`[TagInformation] Cancelling EditSnip`),this.editingSnippet=!1,this.snippetModel=this.tag.snippet},cancelEditWiki(){this.editingWiki=!1,this.wikiModel=this.tag.wiki}}}),y={key:0},b={key:0};function _sfc_render(a,d,f,p,m,h){let g=r(`router-link`),_=r(`v-icon`),v=r(`v-progress-circular`),x=r(`v-fade-transition`),S=r(`v-text-field`),C=r(`course-card-browser`);return n(),c(`div`,null,[s(`h1`,null,[t(g,{to:`/q/${a.course.name}`},{default:e(()=>[i(o(a.course.name),1)]),_:1},8,[`to`]),i(` > Tag: `+o(a.tag.name),1)]),d[8]||(d[8]=s(`br`,null,null,-1)),s(`p`,null,o(a.tag.taggedCards.length)+` card`+o(a.tag.taggedCards.length===1?``:`s`),1),t(S,{ref:`snippetEditor`,modelValue:a.snippetModel,"onUpdate:modelValue":d[0]||(d[0]=e=>a.snippetModel=e),variant:`outlined`,readonly:!a.editingSnippet,counter:a.editingSnippet,label:`Brief tag description:`,placeholder:`No snippet yet - add one!`,type:`text`},{prepend:e(()=>[a.editingSnippet?(n(),c(`span`,y,[t(_,{color:`primary`,onClick:a.saveSnippet},{default:e(()=>d[2]||(d[2]=[i(`mdi-content-save`)])),_:1},8,[`onClick`])])):(n(),l(_,{key:1,color:`primary`,onClick:a.editSnippet},{default:e(()=>d[3]||(d[3]=[i(`mdi-pencil`)])),_:1},8,[`onClick`]))]),append:e(()=>[a.editingSnippet?(n(),l(_,{key:0,onClick:a.cancelEditSnippet},{default:e(()=>d[4]||(d[4]=[i(`mdi-cancel`)])),_:1},8,[`onClick`])):u(``,!0),t(x,{"leave-absolute":``},{default:e(()=>[a.snippetSaving?(n(),l(v,{key:0,size:`20`,color:`info`,indeterminate:``})):u(``,!0)]),_:1})]),_:1},8,[`modelValue`,`readonly`,`counter`]),t(S,{ref:`wikiEditor`,modelValue:a.wikiModel,"onUpdate:modelValue":d[1]||(d[1]=e=>a.wikiModel=e),variant:`outlined`,readonly:!a.editingWiki,counter:a.editingWiki,label:`Extended tag description:`,placeholder:`No wiki yet - consider adding one!`,textarea:``},{prepend:e(()=>[a.editingWiki?(n(),c(`span`,b,[t(_,{color:`primary`,onClick:a.saveWiki},{default:e(()=>d[5]||(d[5]=[i(`mdi-content-save`)])),_:1},8,[`onClick`])])):(n(),l(_,{key:1,color:`primary`,onClick:a.editWiki},{default:e(()=>d[6]||(d[6]=[i(`mdi-pencil`)])),_:1},8,[`onClick`]))]),append:e(()=>[a.editingWiki?(n(),l(_,{key:0,onClick:a.cancelEditWiki},{default:e(()=>d[7]||(d[7]=[i(`mdi-cancel`)])),_:1},8,[`onClick`])):u(``,!0),t(x,{"leave-absolute":``},{default:e(()=>[a.wikiSaving?(n(),l(v,{key:0,size:`20`,color:`info`,indeterminate:``})):u(``,!0)]),_:1})]),_:1},8,[`modelValue`,`readonly`,`counter`]),t(C,{"course-id":a.courseId,"tag-id":a.tagId,"view-lookup-function":a.viewLookup},null,8,[`course-id`,`tag-id`,`view-lookup-function`])])}var x=g(v,[[`render`,_sfc_render]]);export{x as default};
2
- //# sourceMappingURL=TagInformation-DgUkKxoU.js.map
@@ -1 +0,0 @@
1
- import"./vue.runtime.esm-bundler-C3q8JS9f.js";import"./common-ui.es-BrXWBn7p.js";import"./dist-CrcJCHFk.js";import{T as e,m as t}from"./MarkdownRenderer-DoVbFpA6-BIbDxYC4.js";import"./dist-CzLl7g6t.js";export{e as MarkdownRenderer,t as piniaPlugin};
@@ -1 +0,0 @@
1
- import"./vue.runtime.esm-bundler-C3q8JS9f.js";import"./common-ui.es-BrXWBn7p.js";import"./dist-CrcJCHFk.js";import"./MarkdownRenderer-DoVbFpA6-BIbDxYC4.js";import"./dist-CzLl7g6t.js";import{g as e}from"./dist-D5-LrzD6.js";export{e as allCourseWare};