1"use strict";(self["webpackChunkclient"]=self["webpackChunkclient"]||[]).push([[1731,3395],{19442:function(s,e,t){t.d(e,{A:function(){return N}});t(18111),t(61701);var o=t(20641),l=t(53751),n=t(90033);const r={class:"course-grid"},i={class:"columns is-multiline"},a=["onClick"],u={key:0,class:"admin-buttons"},c={key:1,class:"tag is-rounded is-warning course-status"},d={class:"card-image"},h={key:1,class:"placeholder-thumbnail has-background-primary-light"},m={class:"card-content"},g={class:"media"},p={class:"media-content"},k={class:"title is-5"},v={class:"subtitle is-7 has-text-grey mt-2"},C={key:0},y={key:1},L={class:"content"},f={class:"is-size-7"},b={key:0,class:"tags mt-2"},_={key:1,class:"mt-3"},E={class:"is-size-7 mb-1"},$=["value"],w={class:"target-audience mt-3"},x={key:0,class:"is-flex is-align-items-center"},X={class:"is-size-7 has-text-grey ml-1"},Q={key:0},z={key:1},S={class:"tag is-rounded is-info is-light"},I={key:0,class:"has-text-centered py-6"},B={class:"mt-3"};function F(s,e,t,F,A,M){const P=(0,o.g2)("b-loading"),W=(0,o.g2)("b-button"),D=(0,o.g2)("LogoUpload"),N=(0,o.g2)("b-icon");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(P,{"is-full-page":!1,active:t.loading},null,8,["active"]),(0,o.Lk)("div",i,[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(t.courses,e=>((0,o.uX)(),(0,o.CE)("div",{key:e.id,class:"column is-4-desktop is-6-tablet"},[(0,o.Lk)("div",{class:"card course-card",style:{cursor:"pointer",position:"relative"},onClick:s=>M.handleCardClick(e)},[t.showAdminButtons&&M.canManageCourse(e)?((0,o.uX)(),(0,o.CE)("div",u,[(0,o.bF)(W,{type:"is-light",size:"is-small",class:"is-rounded",onClick:(0,l.D$)(s=>M.handleEditClick(e),["stop"])},{default:(0,o.k6)(()=>[(0,o.eW)((0,n.v_)(s.$t("edit")),1)]),_:1},8,["onClick"]),(0,o.bF)(W,{type:"is-light",size:"is-small",class:"is-rounded",onClick:(0,l.D$)(s=>M.handleLessonsClick(e),["stop"])},{default:(0,o.k6)(()=>[(0,o.eW)((0,n.v_)(s.$t("Lessons")),1)]),_:1},8,["onClick"]),(0,o.bF)(W,{type:"is-light",size:"is-small",class:"is-rounded",onClick:(0,l.D$)(s=>M.handleStudentsClick(e),["stop"])},{default:(0,o.k6)(()=>[(0,o.eW)((0,n.v_)(s.$t("Students")),1)]),_:1},8,["onClick"])])):(0,o.Q3)("",!0),t.showStatus&&"draft"===e.status&&M.canManageCourse(e)?((0,o.uX)(),(0,o.CE)("span",c,(0,n.v_)(s.$t("Draft")),1)):(0,o.Q3)("",!0),(0,o.Lk)("div",d,[e.thumbnail?((0,o.uX)(),(0,o.Wv)(D,{key:0,item:e,"disable-upload":!0,class:"course-thumbnail"},null,8,["item"])):((0,o.uX)(),(0,o.CE)("div",h,[(0,o.bF)(N,{icon:"book-open",size:"is-large",class:"has-text-primary"})]))]),(0,o.Lk)("div",m,[(0,o.Lk)("div",g,[(0,o.Lk)("div",p,[(0,o.Lk)("p",k,[(0,o.eW)((0,n.v_)(e.title)+" ",1),t.showProgress&&e.enrollment?((0,o.uX)(),(0,o.CE)("span",{key:0,class:(0,n.C4)(["tag is-rounded ml-2",M.getEnrollmentStatusClass(e.enrollment)])},(0,n.v_)(M.getEnrollmentStatusLabel(e.enrollment)),3)):(0,o.Q3)("",!0)]),(0,o.Lk)("p",v,[(0,o.eW)((0,n.v_)(e.totalLessons||0)+" "+(0,n.v_)(s.$t("lessons"))+" ",1),e.totalQuizzes?((0,o.uX)(),(0,o.CE)("span",C,"⢠"+(0,n.v_)(e.totalQuizzes)+" "+(0,n.v_)(s.$t("quizzes")),1)):(0,o.Q3)("",!0),void 0!==e.studentsNumber?((0,o.uX)(),(0,o.CE)("span",y,"⢠"+(0,n.v_)(e.studentsNumber)+" "+(0,n.v_)(s.$t("students")),1)):(0,o.Q3)("",!0)])])]),(0,o.Lk)("div",L,[(0,o.Lk)("p",f,(0,n.v_)(M.truncateText(e.description,100)),1),e.tags&&e.tags.length?((0,o.uX)(),(0,o.CE)("div",b,[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(e.tags.slice(0,3),s=>((0,o.uX)(),(0,o.CE)("span",{key:s.id,class:"tag is-small is-light"},(0,n.v_)(s.tag),1))),128))])):(0,o.Q3)("",!0),t.showProgress&&e.enrollment?((0,o.uX)(),(0,o.CE)("div",_,[(0,o.Lk)("p",E,(0,n.v_)(s.$t("Progress"))+": "+(0,n.v_)(Math.round(e.enrollment.progress))+"%",1),(0,o.Lk)("progress",{class:"progress is-small is-primary",value:e.enrollment.progress,max:"100"},null,8,$)])):(0,o.Q3)("",!0),(0,o.Lk)("div",w,[e.roles&&e.roles.length>0||!e.localCenter?((0,o.uX)(),(0,o.CE)("div",x,[(0,o.bF)(N,{icon:"users",size:"is-small",class:"has-text-grey mr-1"}),(0,o.Lk)("span",X,[e.roles&&e.roles.length>0?((0,o.uX)(),(0,o.CE)("span",Q,(0,n.v_)(e.roles.map(s=>s.name).join(", ")),1)):((0,o.uX)(),(0,o.CE)("span",z,(0,n.v_)(s.$t("All members")),1))])])):(0,o.Q3)("",!0),e.localCenter?((0,o.uX)(),(0,o.CE)("div",{key:1,class:(0,n.C4)(["is-flex is-align-items-center",{"mt-1":e.roles&&e.roles.length>0}])},[(0,o.bF)(N,{icon:"location-dot",size:"is-small",class:"has-text-grey mr-1"}),(0,o.Lk)("span",S,(0,n.v_)(e.localCenter.name),1)],2)):(0,o.Q3)("",!0)])])])],8,a)]))),128))]),t.loading||0!==t.courses.length?(0,o.Q3)("",!0):((0,o.uX)(),(0,o.CE)("div",I,[(0,o.bF)(N,{icon:"certificate",size:"is-large",class:"has-text-grey-light"}),(0,o.Lk)("p",B,(0,n.v_)(s.$t("No courses found")),1)]))])}t(44114);var A=t(40834),M=t(2594),P={name:"CourseGrid",components:{LogoUpload:M.A},props:{courses:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},showProgress:{type:Boolean,default:!1},showStatus:{type:Boolean,default:!1},showAdminButtons:{type:Boolean,default:!1}},computed:{...(0,A.L8)(["isGranted"])},methods:{canManageCourse(s){return!!this.isGranted("HR_TENANT")||!!s.localCenter&&this.isGranted("HR_LOCAL",s.localCenter)},truncateText(s,e){return s?s.length<=e?s:s.substring(0,e)+"...":""},getEnrollmentStatusClass(s){return"completed"===s.status?"is-success":"in_progress"===s.status||s.progress>0?"is-info":"is-light"},getEnrollmentStatusLabel(s){return"completed"===s.status?this.$t("Completed"):"in_progress"===s.status||s.progress>0?this.$t("In Progress"):this.$t("Enrolled")},handleCardClick(s){this.$emit("card-click",s)},handleEditClick(s){this.$router.push({name:"CourseUpdate",params:{id:s.uuid},query:{tab:0}})},handleLessonsClick(s){this.$router.push({name:"CourseUpdate",params:{id:s.uuid},query:{tab:1}})},handleStudentsClick(s){this.$router.push({name:"CourseUpdate",params:{id:s.uuid},query:{tab:2}})}}},W=t(66262);const D=(0,W.A)(P,[["render",F],["__scopeId","data-v-2d856242"]]);var N=D},43395:function(s,e,t){t.r(e),t.d(e,{default:function(){return Ps}});t(44114);
1var o=t(20641),l=t(90033),n=t(53751);const r={class:"o-maxwidth"},i={class:"CourseShow"},a={key:0,class:"hero is-primary is-small course-hero"},u={class:"hero-body"},c={key:0,class:"course-toprow mb-5"},d={class:"columns is-vcentered"},h={key:0,class:"column is-narrow"},m={class:"column"},g={class:"title is-3 mb-0"},p={key:0,class:"tag is-rounded is-warning mt-3"},k={key:1,class:"mt-5"},v={class:"columns"},C={class:"column is-8"},y={class:"box"},L={class:"card-label"},f={class:"content"},b={class:"box"},_={class:"card-label"},E={class:"is-flex is-align-items-center"},$={key:0},w={class:"tag is-rounded is-light mr-1"},x={key:1},X={class:"tag is-rounded is-light"},Q={key:2,class:"tag is-rounded is-info is-light ml-1"},z={key:0,class:"box"},S={class:"card-label"},I={class:"tags"},B={key:1,class:"box"},F={class:"card-label"},A={class:"course-author"},M={class:"is-size-6"},P={key:0,class:"is-size-7 has-text-grey"},W={class:"is-size-7 has-text-grey course-author-dates"},D={key:0},N={key:1},U={key:2},q={key:2,class:"box"},T={class:"card-label"},G={class:"media"},H={class:"media-left"},K={class:"media-content"},R={class:"is-size-6"},j={class:"is-size-7 has-text-grey"},O={key:0,class:"mt-2"},Y={class:"tag is-success is-rounded"},V={class:"column is-4"},J={class:"course-side"},Z={class:"buttons course-side-actions"},ss={key:0,class:"box"},es={class:"card-label"},ts={class:"mb-3"},os={class:"progress-info mb-3"},ls={class:"has-text-weight-semibold"},ns={class:"has-text-right has-text-weight-bold is-size-5"},rs=["value"],is={class:"box"},as={class:"level is-mobile mb-3"},us={class:"level-left"},cs={class:"level-item"},ds={class:"card-label mb-0"},hs={class:"level-right"},ms={class:"level-item"},gs={class:"has-text-grey mb-4"}
1,ps={key:0},ks={class:"section-header"},vs={class:"has-text-weight-semibold"},Cs={class:"has-text-grey"},ys={class:"section-content"},Ls={class:"is-flex is-align-items-center"},fs={key:0,class:"completion-indicator mr-2"},bs={key:0,class:"check-circle-filled"},_s={key:1,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",class:"has-text-grey-light",xmlns:"http://www.w3.org/2000/svg"},Es={key:0,class:"has-text-grey ml-4"},$s={class:"is-flex is-align-items-center"},ws={key:0,class:"completion-indicator mr-2"},xs={key:0,class:"check-circle-filled"},Xs={key:1,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",class:"has-text-grey-light",xmlns:"http://www.w3.org/2000/svg"},Qs={key:0,class:"has-text-grey ml-4"};function zs(s,e,t,zs,Ss,Is){const Bs=(0,o.g2)("b-loading"),Fs=(0,o.g2)("b-button"),As=(0,o.g2)("LogoUpload"),Ms=(0,o.g2)("LogoThumbnail"),Ps=(0,o.g2)("b-icon"),Ws=(0,o.gN)("safe-html");return(0,o.uX)(),(0,o.CE)("section",r,[(0,o.Lk)("div",i,[(0,o.bF)(Bs,{"is-full-page":!1,active:Ss.loading},null,8,["active"]),Ss.course?((0,o.uX)(),(0,o.CE)("div",a,[(0,o.Lk)("div",u,[(0,o.Lk)("div",null,[!t.isMandatory||Is.canManageCourse?((0,o.uX)(),(0,o.CE)("div",c,[t.isMandatory?(0,o.Q3)("",!0):((0,o.uX)(),(0,o.Wv)(Fs,{key:0,class:"is-rounded is-light",size:"is-small","icon-left":"arrow-left",onClick:e[0]||(e[0]=e=>s.$router.push({name:"CourseList"}))},{default:(0,o.k6)(()=>[(0,o.eW)((0,l.v_)(s.$t("Back to Courses")),1)]),_:1})),Is.canManageCourse?((0,o.uX)(),(0,o.Wv)(Fs,{key:1,class:"is-rounded is-light",size:"is-small","icon-left":"pen",onClick:e[1]||(e[1]=e=>s.$router.push({name:"CourseUpdate",params:{id:Ss.course.uuid}}))},{default:(0,o.k6)(()=>[(0,o.eW)((0,l.v_)(s.$t("Manage Course")),1)]),_:1})):(0,o.Q3)("",!0)])):(0,o.Q3)("",!0),(0,o.Lk)("div",d,[Ss.course.thumbnail?((0,o.uX)(),(0,o.CE)("div",h,[(0,o.bF)(As,{item:Ss.course,"disable-upload":!0,class:"course-hero-thumbnail"},null,8,["item"])])):(0,o.Q3)("",!0),(0,o.Lk)("div",m,[(0,o.Lk)("h1",g,(0,l.v_)(Ss.course.title),1),Is.canManageCourse&&"draft"===Ss.course.status?((0,o.uX)(),(0,o.CE)("span",p,(0,l.v_)(s.$t("Draft")),1)):(0,o.Q3)("",!0)])])])])])):(0,o.Q3)("",!0),Ss.course?((0,o.uX)(),(0,o.CE)("div",k,[(0,o.Lk)("div",v,[(0,o.Lk)("div",C,[(0,o.Lk)("div",y,[(0,o.Lk)("h2",L,(0,l.v_)(s.$t("Course Overview")),1),(0,o.Lk)("div",f,[(0,o.bo)((0,o.Lk)("p",null,null,512),[[Ws,Is.nl2br(Ss.course.description)]])])]),(0,o.Lk)("div",b,[(0,o.Lk)("h3",_,(0,l.v_)(s.$t("Target Audience")),1),(0,o.Lk)("div",E,[(0,o.Lk)("p",null,[Ss.course.roles&&Ss.course.roles.length>0?((0,o.uX)(),(0,o.CE)("span",$,[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(Ss.course.roles,s=>((0,o.uX)(),(0,o.CE)("span",{key:s.id},[(0,o.Lk)("span",w,(0,l.v_)(s.name),1)]))),128))])):Ss.course.localCenter?(0,o.Q3)("",!0):((0,o.uX)(),(0,o.CE)("span",x,[(0,o.Lk)("span",X,(0,l.v_)(s.$t("All members")),1)])),Ss.course.localCenter?((0,o.uX)(),(0,o.CE)("span",Q,(0,l.v_)(Ss.course.localCenter.name),1)):(0,o.Q3)("",!0)])])]),Is.canManageCourse&&Ss.course.tags&&Ss.course.tags.length?((0,o.uX)(),(0,o.CE)("div",z,[(0,o.Lk)("h3",S,(0,l.v_)(s.$t("Tags")),1),(0,o.Lk)("div",I,[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(Ss.course.tags,s=>((0,o.uX)(),(0,o.CE)("span",{key:s.id,class:"tag is-rounded"},(0,l.v_)(s.tag),1))),128))])])):(0,o.Q3)("",!0),Is.canManageCourse&&Ss.course.createdBy?((0,o.uX)(),(0,o.CE)("div",B,[(0,o.Lk)("h3",F,(0,l.v_)(s.$t("Created by")),1),(0,o.Lk)("div",A,[(0,o.bF)(Ms,{item:Ss.course.createdBy,"is-type":"roundMedium"},null,8,["item"]),(0,o.Lk)("div",null,[(0,o.Lk)("p",M,[(0,o.Lk)("strong",null,(0,l.v_)(Ss.course.createdBy.fullName),1)]),Ss.course.createdBy.title?((0,o.uX)(),(0,o.CE)("p",P,(0,l.v_)(Ss.course.createdBy.title),1)):(0,o.Q3)("",!0),(0,o.Lk)("p",W,[Ss.course.dateCreated?((0,o.uX)(),(0,o.CE)("span",D,(0,l.v_)(s.$t("Created"))+": "+(0,l.v_)(Is.formatDate(Ss.course.dateCreated)),1)):(0,o.Q3)("",!0),Ss.course.dateCreated&&Ss.course.dateUpdated?((0,o.uX)(),(0,o.CE)("span",N,"â¢")):(0,o.Q3)("",!0),Ss.course.dateUpdated?((0,o.uX)(),(0,o.CE)("span",U,(0,l.v_)(s.$t("Last updated"))+": "+(0,l.v_)(Is.formatDate(Ss.course.dateUpdated)),1)):(0,o.Q3)("",!0)])])])])):(0,o.Q3)("",!0),Ss.course.badge&&s.tenant?.settingFeatures?.gamification?.isActive?((0,o.uX)(),(0,o.CE)("div",q,[(0,o.Lk)("h3",T,(0,l.v_)(s.$t("Badge Award")),1),(0,o.Lk)("div",G,[(0,o.Lk)("div",H,[(0,o.bF)(Ms,{item:Ss.course.badge,"is-type":"roundMedium"},null,8,["item"])]),(0,o.Lk)("div",K,[(0,o.Lk)("p",R,[(0,o.Lk)("strong",null,(0,l.v_)(Ss.course.badge.name),1)]),(0,o.Lk)("p",j,(0,l.v_)(s.$t("Complete this course to earn this badge")),1),Ss.enrollment&&"completed"===Ss.enrollment.status&&Ss.userHasBadge?((0,o.uX)(),(0,o.CE)("div",O,[(0,o.Lk)("span",Y,[(0,o.bF)(Ps,{icon:"check",size:"is-small",class:"mr-1"}),(0,o.eW)(" "+(0,l.v_)(s.$t("Badge earned")),1)])])):(0,o.Q3)("",!0)])])])):(0,o.Q3)("",!0)]),(0,o.Lk)("div",V,[(0,o.Lk)("div",J,[(0,o.Lk)("div",Z,[Is.isEnrolled?((0,o.uX)(),(0,o.CE)(o.FK,{key:1},[(0,o.bF)(Fs,{type:"is-primary",class:"is-rounded",onClick:Is.continueLearning},{default:(0,o.k6)(()=>[(0,o.eW)((0,l.v_)("completed"===Ss.enrollment.status?s.$t("View Course"):s.$t("Continue learning")),1)]),_:1},8,["onClick"]),t.isMandatory||"self_paced"!==Ss.course.type||"completed"===Ss.enrollment.status?(0,o.Q3)("",!0):((0,o.uX)(),(0,o.Wv)(Fs,{key:0,t
1ype:"is-danger",class:"is-rounded is-light",loading:Ss.dropping,onClick:Is.dropCourse},{default:(0,o.k6)(()=>[(0,o.eW)((0,l.v_)(s.$t("Drop Course")),1)]),_:1},8,["loading","onClick"]))],64)):((0,o.uX)(),(0,o.Wv)(Fs,{key:0,type:"is-primary",class:"is-rounded",loading:Ss.enrolling,onClick:Is.enrollInCourse},{default:(0,o.k6)(()=>[(0,o.eW)((0,l.v_)(s.$t("Enroll in course")),1)]),_:1},8,["loading","onClick"]))]),Ss.enrollment?((0,o.uX)(),(0,o.CE)("div",ss,[(0,o.Lk)("h3",es,(0,l.v_)(s.$t("Progress")),1),(0,o.Lk)("div",ts,[(0,o.Lk)("span",{class:(0,l.C4)(["tag is-rounded",Is.enrollmentStatusClass])},(0,l.v_)(s.$t(Is.enrollmentStatusLabel)),3)]),(0,o.Lk)("div",os,[(0,o.Lk)("p",ls,(0,l.v_)(s.$t("Completed"))+" "+(0,l.v_)(Is.completedLessonsCount)+" "+(0,l.v_)(s.$t("of"))+" "+(0,l.v_)(Is.totalLessons)+" "+(0,l.v_)(s.$t("lessons")),1),(0,o.Lk)("p",ns,(0,l.v_)(Is.progressPercentage)+"%",1)]),(0,o.Lk)("progress",{class:"progress is-primary",value:Is.progressPercentage,max:"100"},(0,l.v_)(Is.progressPercentage)+"% ",9,rs)])):(0,o.Q3)("",!0),(0,o.Lk)("div",is,[(0,o.Lk)("div",as,[(0,o.Lk)("div",us,[(0,o.Lk)("div",cs,[(0,o.Lk)("h3",ds,(0,l.v_)(s.$t("Content")),1)])]),(0,o.Lk)("div",hs,[(0,o.Lk)("div",ms,[(0,o.Lk)("a",{class:"is-size-7",onClick:e[2]||(e[2]=(...s)=>Is.toggleAllSections&&Is.toggleAllSections(...s))},(0,l.v_)(Is.areAllSectionsExpanded?s.$t("Collapse all sections"):s.$t("Expand all sections")),1)])])]),(0,o.Lk)("p",gs,[(0,o.eW)((0,l.v_)(Is.totalSections)+" "+(0,l.v_)(s.$t("sections"))+" ⢠"+(0,l.v_)(Is.totalLessons)+" "+(0,l.v_)(s.$t("lessons"))+" ",1),void 0!==Ss.course.studentsNumber?((0,o.uX)(),(0,o.CE)("span",ps,"⢠"+(0,l.v_)(Ss.course.studentsNumber)+" "+(0,l.v_)(s.$t("students enrolled")),1)):(0,o.Q3)("",!0)]),((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(Ss.course.sections,t=>((0,o.uX)(),(0,o.CE)("div",{key:t.id,class:"section-item"},[(0,o.Lk)("div",ks,[(0,o.Lk)("span",vs,(0,l.v_)(t.title),1),(0,o.Lk)("small",Cs,(0,l.v_)(t.lessons?.length||0)+" "+(0,l.v_)(s.$t("lessons")),1)]),(0,o.bo)((0,o.Lk)("div",ys,[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(t.lessons,s=>((0,o.uX)(),(0,o.CE)("div",{key:s.id,class:"content-item"},[(0,o.Lk)("div",Ls,[Ss.enrollment?((0,o.uX)(),(0,o.CE)("span",fs,[Is.isLessonCompleted(s.id)?((0,o.uX)(),(0,o.CE)("span",bs,[...e[3]||(e[3]=[(0,o.Lk)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[(0,o.Lk)("circle",{cx:"10",cy:"10",r:"10",fill:"#48c78e"}),(0,o.Lk)("path",{d:"M14.5 7L8.5 13L5.5 10",stroke:"white","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])])):((0,o.uX)(),(0,o.CE)("svg",_s,[...e[4]||(e[4]=[(0,o.Lk)("circle",{cx:"10",cy:"10",r:"9",stroke:"currentColor","stroke-width":"1.5"},null,-1)])]))])):(0,o.Q3)("",!0),(0,o.Lk)("span",null,(0,l.v_)(s.title),1)]),s.estimatedDuration?((0,o.uX)(),(0,o.CE)("small",Es,(0,l.v_)(s.estimatedDuration)+" min ",1)):(0,o.Q3)("",!0)]))),128)),((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(t.quizzes,t=>((0,o.uX)(),(0,o.CE)("div",{key:t.id,class:"content-item"},[(0,o.Lk)("div",$s,[Ss.enrollment?((0,o.uX)(),(0,o.CE)("span",ws,[Is.isQuizCompleted(t.id)?((0,o.uX)(),(0,o.CE)("span",xs,[...e[5]||(e[5]=[(0,o.Lk)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[(0,o.Lk)("circle",{cx:"10",cy:"10",r:"10",fill:"#48c78e"}),(0,o.Lk)("path",{d:"M14.5 7L8.5 13L5.5 10",stroke:"white","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])])):((0,o.uX)(),(0,o.CE)("svg",Xs,[...e[6]||(e[6]=[(0,o.Lk)("circle",{cx:"10",cy:"10",r:"9",stroke:"currentColor","stroke-width":"1.5"},null,-1)])]))])):(0,o.Q3)("",!0),(0,o.Lk)("span",null,(0,l.v_)(t.title),1)]),t.questions?((0,o.uX)(),(0,o.CE)("small",Qs,(0,l.v_)(t.questions.length)+" "+(0,l.v_)(s.$t("questions")),1)):(0,o.Q3)("",!0)]))),128))],512),[[n.aG,Ss.expandedSections[t.id]]])]))),128))])])])])])):(0,o.Q3)("",!0)])])}t(18111),t(81148),t(20116),t(7588),t(18237);var Ss=t(40834),Is=t(2594),Bs=t(31823),Fs={name:"CourseView",components:{LogoUpload:Is.A,LogoThumbnail:Bs.A},props:{courseId:{type:String,default:null},isMandatory:{type:Boolean,default:!1}},data(){return{course:null,enrollment:null,loading:!1,enrolling:!1,dropping:!1,expandedSections:{},userProgress:{},userHasBadge:!1}},computed:{...(0,Ss.L8)(["tenant","user","isGranted"]),canManageCourse(){return this.isGranted("HR_TENANT")||!!this.course?.localCenter&&this.isGranted("HR_LOCAL",this.course.localCenter)},isEnrolled(){return!!this.enrollment},estimatedDuration(){if(!this.course||!this.course.sections)return"0 min";let s=0;
1if(this.course.sections.forEach(e=>{e.lessons&&e.lessons.forEach(e=>{s+=e.estimatedDuration||0})}),s<60)return`${s} min`;{const e=Math.floor(s/60),t=s%60;return`${e}h ${t}min`}},totalSections(){return this.course?.sections?.length||0},totalLessons(){return this.course?.sections?this.course.sections.reduce((s,e)=>s+(e.lessons?.length||0)+(e.quizzes?.length||0),0):0},completedLessonsCount(){let s=0;return this.course?.sections?(this.course.sections.forEach(e=>{e.lessons?.forEach(e=>{this.userProgress[e.uuid]?.completed&&s++}),e.quizzes?.forEach(e=>{this.userProgress[e.uuid]?.completed&&s++})}),s):0},areAllSectionsExpanded(){return!!this.course?.sections&&this.course.sections.every(s=>!1!==this.expandedSections[s.id])},progressPercentage(){return this.enrollment&&"number"===typeof this.enrollment.progress?Math.round(this.enrollment.progress):0===this.totalLessons?0:Math.round(this.completedLessonsCount/this.totalLessons*100)},enrollmentStatusClass(){if(!this.enrollment)return"";switch(this.enrollment.status){case"completed":return"is-success";case"in_progress":return"is-info";case"failed":return"is-danger";case"enrolled":default:return"is-light"}},enrollmentStatusLabel(){if(!this.enrollment)return"";switch(this.enrollment.status){case"completed":return"Completed";case"in_progress":return"In Progress";case"failed":return"Failed";case"enrolled":default:return"Enrolled"}}},created(){this.fetchCourse()},methods:{async fetchCourse(){this.loading=!0;try{const s=this.courseId||this.$route.params.id,e=await this.$http.plain.get(`/courses/${s}`);this.course=e.data,await this.checkEnrollment()}catch(s){this.$buefy.toast.open({message:this.$t("Error loading course"),type:"is-danger"}),this.isMandatory||this.$router.push({name:"CourseList"})}finally{this.loading=!1}},async checkEnrollment(){if(this.user)try{const s=await this.$http.plain.get("/course-enrollment-user-course",{params:{user:this.user.id,course:this.course.id}}),e=s.data["hydra:member"]||[];this.enrollment=e[0]||null,this.enrollment&&(this.loadProgressFromEnrollment(),this.course.badge&&"completed"===this.enrollment.status&&this.checkUserBadge()),this.initExpandedSections()}catch(s){console.log(s)}},async enrollInCourse(){if(this.user){this.enrolling=!0;try{const s=await this.$http.plain.post("/course_enrollments",{course:this.course["@id"],user:this.user["@id"]});this.enrollment=s.data,this.$buefy.toast.open({message:this.$t("Successfully enrolled in course"),type:"is-success"}),this.continueLearning()}catch(s){console.log(s),this.$buefy.toast.open({message:this.$t("Error enrolling in course"),type:"is-danger"})}finally{this.enrolling=!1}}else this.$buefy.toast.open({message:this.$t("Please log in to enroll"),type:"is-warning"})},continueLearning(){const s={name:"CourseLearn",params:{id:this.course.uuid}};this.isMandatory&&(s.query={mandatory:"true"}),this.$router.push(s)},async dropCourse(){this.$buefy.dialog.confirm({title:this.$t("Drop Course"),message:this.$t("Are you sure you want to drop this course? Your progress will be lost."),confirmText:this.$t("Drop Course"),type:"is-danger",hasIcon:!1,onConfirm:async()=>{this.dropping=!0;try{await this.$http.plain.delete(`/course_enrollments/${this.enrollment.uuid}`),this.enrollment=null,this.$buefy.toast.open({message:this.$t("Successfully dropped from course"),type:"is-success"})}catch(s){console.log(s),this.$buefy.toast.open({message:this.$t("Error dropping course"),type:"is-danger"})}finally{this.dropping=!1}}})},formatDate(s){if(!s)return"";const e=new Date(s);return e.toLocaleDateString(this.$i18n.locale,{year:"numeric",month:"long",day:"numeric"})},nl2br(s){return s?s.replace(/\n/g,"<br>"):""},initExpandedSections(){if(!this.course?.sections)return;const s={};this.course.sections.forEach(e=>{s[e.id]=!0}),this.expandedSections=s},toggleAllSections(){if(!this.course?.sections)return;const s=!this.areAllSectionsExpanded,e={};this.course.sections.forEach(t=>{e[t.id]=s}),this.expandedSections=e},isLessonCompleted(s){const e=this.findLessonById(s);return e&&this.userProgress[e.uuid]?.completed||!1},isQuizCompleted(s){const e=this.findQuizById(s);return e&&this.userProgress[e.uuid]?.completed||!1},findLessonById(s){if(!this.course?.sections)return null;for(const e of this.course.sections){const t=e.lessons?.find(e=>e.id===s);if(t)return t}return null},findQuizById(s){if(!this.course?.sections)return null;for(const e of this.course.sections){const t=e.quizzes?.find(e=>e.id===s);if(t)return t}return null},loadProgressFromEnrollment(){if(!this.enrollment)return;const s=this.enrollment.progressData||{},e=s.completedContent||[];this.userProgress={},e.forEach(s=>{this.userProgress[s]={completed:!0}})},async checkUserBadge(){if(this.course.badge&&this.user)try{const s=await this.$http.plain.get("/badge_users",{params:{user:this.user.id,badge:this.course.badge.id}}),e=s.data["hydra:member"]||[];this.userHasBadge=e.length>0}catch(s){console.log(s)}}}},As=t(66262);const Ms=(0,As.A)(Fs,[["render",zs],["__scopeId","data-v-1566f439"]]);var Ps=Ms},81731:function(s,e,t){t.r(e),t.d(e,{default:function(){return M}});
1var o=t(20641),l=t(90033);const n={class:"CourseEnforced"},r={class:"container is-max-desktop"},i={class:"has-text-centered mb-6 mt-5"},a={class:"subtitle is-4"},u={class:"subtitle is-4"},c={key:0},d={key:1},h={key:0,class:"course-show-wrapper"},m={key:0,class:"mb-4"},g={key:1},p={key:0,class:"box has-background-info-light mb-5"},k={class:"level is-mobile"},v={class:"level-item has-text-centered"},C={class:"heading"},y={class:"title"},L={class:"level-item has-text-centered"},f={class:"heading"},b={class:"title"},_={class:"level-item has-text-centered"},E={class:"heading"},$={class:"title"},w={class:"level-item has-text-centered"},x={class:"heading"},X={class:"title"};function Q(s,e,t,Q,z,S){const I=(0,o.g2)("b-button"),B=(0,o.g2)("CourseShow"),F=(0,o.g2)("CourseGrid");return(0,o.uX)(),(0,o.CE)("div",n,[(0,o.Lk)("div",r,[(0,o.Lk)("div",i,[(0,o.Lk)("p",a,(0,l.v_)(s.$t("Hi,"))+" "+(0,l.v_)(s.user.firstName),1),(0,o.Lk)("p",u,[1===z.mandatoryCourses.length?((0,o.uX)(),(0,o.CE)("span",c,(0,l.v_)(s.$t("You must complete the course below to continue using the platform of")),1)):((0,o.uX)(),(0,o.CE)("span",d,(0,l.v_)(s.$t("You must complete the courses below to continue using the platform of")),1)),(0,o.Lk)("strong",null,(0,l.v_)(s.tenant.shortName||s.tenant.name),1),e[1]||(e[1]=(0,o.eW)(" . ",-1))])]),z.selectedCourseId?((0,o.uX)(),(0,o.CE)("div",h,[z.mandatoryCourses.length>1?((0,o.uX)(),(0,o.CE)("div",m,[(0,o.bF)(I,{type:"is-light",class:"is-rounded","icon-left":"arrow-left",onClick:e[0]||(e[0]=s=>z.selectedCourseId=null)},{default:(0,o.k6)(()=>[(0,o.eW)((0,l.v_)(s.$t("Back to courses")),1)]),_:1})])):(0,o.Q3)("",!0),(0,o.bF)(B,{"course-id":z.selectedCourseId,"is-mandatory":!0},null,8,["course-id"])])):((0,o.uX)(),(0,o.CE)("div",g,[z.mandatoryCourses.length>1?((0,o.uX)(),(0,o.CE)("div",p,[(0,o.Lk)("div",k,[(0,o.Lk)("div",v,[(0,o.Lk)("div",null,[(0,o.Lk)("p",C,(0,l.v_)(s.$t("Total Courses")),1),(0,o.Lk)("p",y,(0,l.v_)(z.mandatoryCourses.length),1)])]),(0,o.Lk)("div",L,[(0,o.Lk)("div",null,[(0,o.Lk)("p",f,(0,l.v_)(s.$t("Completed")),1),(0,o.Lk)("p",b,(0,l.v_)(S.completedCount),1)])]),(0,o.Lk)("div",_,[(0,o.Lk)("div",null,[(0,o.Lk)("p",E,(0,l.v_)(s.$t("In Progress")),1),(0,o.Lk)("p",$,(0,l.v_)(S.inProgressCount),1)])]),(0,o.Lk)("div",w,[(0,o.Lk)("div",null,[(0,o.Lk)("p",x,(0,l.v_)(s.$t("Not Started")),1),(0,o.Lk)("p",X,(0,l.v_)(S.notStartedCount),1)])])])])):(0,o.Q3)("",!0),(0,o.bF)(F,{courses:z.mandatoryCourses,loading:z.loading,"show-progress":!0,onCardClick:S.handleCourseClick},null,8,["courses","loading","onCardClick"])]))])])}t(18111),t(22489),t(20116);var z=t(40834),S=t(43395),I=t(19442),B={name:"CourseEnforced",components:{CourseShow:S["default"],CourseGrid:I.A},data(){return{selectedCourseId:null,mandatoryCourses:[],loading:!1}},computed:{...(0,z.L8)(["tenant","user"]),completedCount(){return this.mandatoryCourses.filter(s=>"completed"===s.enrollment?.status).length},inProgressCount(){return this.mandatoryCourses.filter(s=>"in_progress"===s.enrollment?.status||s.enrollment&&s.enrollment.progress>0).length},notStartedCount(){return this.mandatoryCourses.filter(s=>!s.enrollment||"completed"!==s.enrollment.status&&"in_progress"!==s.enrollment.status&&0===s.enrollment.progress).length}},created(){const s=this.$route.params.id;if(this.user&&this.user.incompleteMandatoryCourses)if(this.mandatoryCourses=this.user.incompleteMandatoryCourses,s){const e=this.mandatoryCourses.find(e=>e.id===s||e.uuid===s);e?this.selectedCourseId=s:1===this.mandatoryCourses.length&&(this.selectedCourseId=this.mandatoryCourses[0].uuid||this.mandatoryCourses[0].id)}else 1===this.mandatoryCourses.length&&(this.selectedCourseId=this.mandatoryCourses[0].uuid||this.mandatoryCourses[0].id)},methods:{handleCourseClick(s){this.selectedCourseId=s.uuid||s.id}}},F=t(66262);const A=(0,F.A)(B,[["render",Q],["__scopeId","data-v-51a25e36"]]);var M=A}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.